media_module: fix netflix test video freeze issue [1/1]

PD#SWPL-809

Problem:
in stream mode, decoder drivers with again check will be always in run_ready state.
because of again_threshold not reach. but acutally there is enough data in vbuf.
decoding hang up

Solution:
sync input buf status once again check appears

Verify:
QA test on ampere

Change-Id: I72dc98461865f296fe0c625f8ca60a11561976ac
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
This commit is contained in:
Hui Zhang
2018-10-30 19:31:01 +08:00
committed by Dongjin Kim
parent 84fbdcbe33
commit 3b5848f74e
2 changed files with 10 additions and 2 deletions

View File

@@ -6758,8 +6758,12 @@ static unsigned long run_ready(struct vdec_s *vdec, unsigned long mask)
READ_PARSER_REG(PARSER_VIDEO_WP);
if (parser_wr_ptr >= hw->pre_parser_wr_ptr &&
(parser_wr_ptr - hw->pre_parser_wr_ptr) <
again_threshold)
again_threshold) {
int r = vdec_sync_input(vdec);
dpb_print(DECODE_ID(hw), PRINT_FLAG_VDEC_DETAIL,
"%s buf lelvel:%x\n", __func__, r);
return 0;
}
}
if (h264_debug_flag & 0x20000000) {

View File

@@ -10179,8 +10179,12 @@ static unsigned long run_ready(struct vdec_s *vdec, unsigned long mask)
READ_PARSER_REG(PARSER_VIDEO_WP);
if (parser_wr_ptr >= hevc->pre_parser_wr_ptr &&
(parser_wr_ptr - hevc->pre_parser_wr_ptr) <
again_threshold)
again_threshold) {
int r = vdec_sync_input(vdec);
hevc_print(hevc,
PRINT_FLAG_VDEC_DETAIL, "%s buf lelvel:%x\n", __func__, r);
return 0;
}
}
#endif