aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarish Mahendrakar <harish.mahendrakar@ittiam.com>2020-04-02 05:17:42 +0530
committerWonsik Kim <wonsik@google.com>2020-04-06 15:33:53 -0700
commite0ad0016f0f545ab1c15c3769b5e69a80a8b4c0e (patch)
tree003bd20a15ba378c92143ab41e55e32fffbb1b40
parent7286f5f02166585585ba6d31916f802a64ad8b31 (diff)
downloadlibavc-e0ad0016f0f545ab1c15c3769b5e69a80a8b4c0e.tar.gz
Revert "decoder: set u4_frame_decoded to true only after both fields are decoded"
This reverts commit f76370c67166496742be22568b27e3d4e01b6267. Reason: This breaks interlaced clips which are sent one field at a time C2 plugin for avc decoder is now updated to appropriately handle both types of interlaced content, i.e. sent as one field per one input buffer and sent as two fields per one input Bug: 135146280 Bug: 152087140 Test: poc in bugs Test: atest android.media.cts.DecoderTest Change-Id: Ic79d13a4bd93573767c86ed31264e8780da8d9a5
-rw-r--r--decoder/ih264d_parse_slice.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/decoder/ih264d_parse_slice.c b/decoder/ih264d_parse_slice.c
index 5e6d64b..927f1c0 100644
--- a/decoder/ih264d_parse_slice.c
+++ b/decoder/ih264d_parse_slice.c
@@ -843,7 +843,12 @@ WORD32 ih264d_end_of_pic_dispbuf_mgr(dec_struct_t * ps_dec)
if(ret != OK)
return ret;
+ {
+ ivd_video_decode_op_t * ps_dec_output =
+ (ivd_video_decode_op_t *)ps_dec->pv_dec_out;
+ ps_dec_output->u4_frame_decoded_flag = 1;
+ }
if(ps_dec->au1_pic_buf_ref_flag[ps_dec->u1_pic_buf_id] == 0)
{
ih264_buf_mgr_release((buf_mgr_t *)ps_dec->pv_mv_buf_mgr,
@@ -864,11 +869,6 @@ WORD32 ih264d_end_of_pic_dispbuf_mgr(dec_struct_t * ps_dec)
|| ((TOP_FIELD_ONLY | BOT_FIELD_ONLY)
== ps_dec->u1_top_bottom_decoded))
{
- ivd_video_decode_op_t * ps_dec_output =
- (ivd_video_decode_op_t *)ps_dec->pv_dec_out;
- /* u4_frame_decoded_flag is set to 1 only after both fields
- * are decoded or it is not a field */
- ps_dec_output->u4_frame_decoded_flag = 1;
if(IVD_DECODE_FRAME_OUT == ps_dec->e_frm_out_mode)
{
ret = ih264d_assign_display_seq(ps_dec);