Snap for 6356162 from 4392cb93d9de85dc47894dcc6e011acc6e311fe5 to r-keystone-qcom-release

Change-Id: I15c4e1e907640079c5c84b4f2110a7dbb0ea5bc6
diff --git a/decoder/ih264d_parse_slice.c b/decoder/ih264d_parse_slice.c
index 7e53a4a..5e6d64b 100644
--- a/decoder/ih264d_parse_slice.c
+++ b/decoder/ih264d_parse_slice.c
@@ -1037,7 +1037,6 @@
                         ps_st_next_dpb->ps_prev_short = ps_st_curr_dpb->ps_prev_short;
                     }
                     ps_dec->ps_dpb_mgr->u1_num_st_ref_bufs--;
-                    ps_dec->ps_dpb_mgr->u1_num_lt_ref_bufs++;
                     no_of_nodes_deleted++;
                     break;
                 }
@@ -1315,7 +1314,12 @@
 
     if(i1_is_end_of_poc || ps_dec->u1_first_slice_in_stream)
     {
-        if(u2_frame_num != ps_dec->u2_prv_frame_num
+        /* If the current slice is not a field or frame number of the current
+         * slice doesn't match with previous slice, and decoder is expecting
+         * to decode a field i.e. ps_dec->u1_top_bottom_decoded is not 0 and
+         * is not (TOP_FIELD_ONLY | BOT_FIELD_ONLY), treat it as a dangling
+         * field */
+        if((u1_field_pic_flag == 0 || u2_frame_num != ps_dec->u2_prv_frame_num)
                && ps_dec->u1_top_bottom_decoded != 0
                    && ps_dec->u1_top_bottom_decoded
                        != (TOP_FIELD_ONLY | BOT_FIELD_ONLY))