Merge cherrypicks of [4195647, 4186616, 4186617, 4186167, 4186168, 4186582, 4195648, 4195649, 4195818, 4195819, 4195820, 4195821, 4195858, 4195650, 4195577, 4195859, 4195860, 4195861, 4195862, 4195863, 4195864, 4195865, 4195525, 4195526, 4195527, 4195528, 4195529, 4195530, 4195531, 4195532, 4195533, 4195534, 4195535, 4195536, 4186409, 4186410, 4186411, 4195537, 4195880, 4195881, 4195822, 4195898, 4195866, 4195652, 4195653, 4195582, 4195583, 4195584, 4195585, 4195586, 4195587, 4195588, 4195589, 4195590, 4195591, 4195592, 4195593, 4195594, 4195595, 4195654, 4186583, 4195882, 4195628, 4195629, 4195630, 4195655] into sparse-4732991-L55400000176809537

Change-Id: I055c004c93ecf97a068c25129c8535b45ba05cc2
diff --git a/decoder/ih264d_dpb_mgr.c b/decoder/ih264d_dpb_mgr.c
index 525adef..b7ee498 100644
--- a/decoder/ih264d_dpb_mgr.c
+++ b/decoder/ih264d_dpb_mgr.c
@@ -375,9 +375,6 @@
         if((ps_dpb_info[i].ps_pic_buf == ps_pic_buf)
                         && ps_dpb_info[i].u1_used_as_ref)
         {
-            /* Can occur only for field bottom pictures */
-            ps_dpb_info[i].s_bot_field.u1_reference_info = IS_SHORT_TERM;
-
             /*signal an error in the case of frame pic*/
             if(ps_dpb_info[i].ps_pic_buf->u1_pic_type == FRM_PIC)
             {
@@ -385,6 +382,8 @@
             }
             else
             {
+                /* Can occur only for field bottom pictures */
+                ps_dpb_info[i].s_bot_field.u1_reference_info = IS_SHORT_TERM;
                 return OK;
             }
         }
diff --git a/encoder/ih264e_api.c b/encoder/ih264e_api.c
index 2ecfdf5..a996303 100644
--- a/encoder/ih264e_api.c
+++ b/encoder/ih264e_api.c
@@ -1147,6 +1147,24 @@
                         return (IV_FAIL);
                     }
 
+                    if(ps_ip->s_ive_ip.u4_wd & 1)
+                    {
+                        ps_op->s_ive_op.u4_error_code |= 1
+                                        << IVE_UNSUPPORTEDPARAM;
+                        ps_op->s_ive_op.u4_error_code |=
+                                        IH264E_WIDTH_NOT_SUPPORTED;
+                        return (IV_FAIL);
+                    }
+
+                    if(ps_ip->s_ive_ip.u4_ht & 1)
+                    {
+                        ps_op->s_ive_op.u4_error_code |= 1
+                                        << IVE_UNSUPPORTEDPARAM;
+                        ps_op->s_ive_op.u4_error_code |=
+                                        IH264E_HEIGHT_NOT_SUPPORTED;
+                        return (IV_FAIL);
+                    }
+
                     break;
                 }