Merge cherrypicks of [3167927, 3167338, 3164932, 3167993, 3167994, 3167995, 3167505, 3167506, 3167507, 3167508, 3167509, 3167510, 3167511, 3167512, 3168013, 3168014, 3166332, 3168033, 3168034, 3168035, 3168036, 3168037, 3168038, 3168039, 3168040, 3167977, 3167979, 3167983, 3167717, 3167928, 3168068, 3168069] into nyc-bugfix-release

Change-Id: Ib6ae2d1924a3bdfb788c02a09bc8c66fa8c0255b
diff --git a/decoder/ihevcd_api.c b/decoder/ihevcd_api.c
index 1cd968e..3dac4f7 100644
--- a/decoder/ihevcd_api.c
+++ b/decoder/ihevcd_api.c
@@ -1187,7 +1187,7 @@
 
     /* Request memory for static bitstream buffer which holds bitstream after emulation prevention */
     size = MIN_BITSBUF_SIZE;
-    pv_buf = pf_aligned_alloc(pv_mem_ctxt, 128, size);
+    pv_buf = pf_aligned_alloc(pv_mem_ctxt, 128, size + 16); //Alloc extra for parse optimization
     RETURN_IF((NULL == pv_buf), IV_FAIL);
     ps_codec->pu1_bitsbuf_static = pv_buf;
     ps_codec->u4_bitsbuf_size_static = size;
@@ -1880,7 +1880,7 @@
     size = wd * ht;
     if(size > MIN_BITSBUF_SIZE)
     {
-        pv_buf = ps_codec->pf_aligned_alloc(pv_mem_ctxt, 128, size);
+        pv_buf = ps_codec->pf_aligned_alloc(pv_mem_ctxt, 128, size + 16); //Alloc extra for parse optimization
         RETURN_IF((NULL == pv_buf), IV_FAIL);
         ps_codec->pu1_bitsbuf_dynamic = pv_buf;
         ps_codec->u4_bitsbuf_size_dynamic = size;