mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 04:48:04 +09:00
vmh264: fix frame mode playback not smooth issue [1/1]
PD#SWPL-5926 Problem: In frame mode and frmbase_cont_bitlevel > 0 case. with some stream driver will finish search start code until H264_SEARCH_BUFEMPTY. it will cost 2+ vsync time. decoder will be blocked. actually, in frame mode decoder don't need to wait for timeout. decoder should return with H264_SEARCH_BUFEMPTY once bitlevel is very low. Solution: skip search start code vsync timeout wait in frame mode ucode gerrit: 63873 63932 Verify: X301 Change-Id: Id7a8f08aef41c16f00b56745ac8ffbced632e97e Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
This commit is contained in:
@@ -5139,8 +5139,8 @@ pic_done_proc:
|
||||
(dec_dpb_status == H264_DECODE_TIMEOUT)) {
|
||||
empty_proc:
|
||||
reset_process_time(hw);
|
||||
|
||||
release_cur_decoding_buf(hw);
|
||||
if (!hw->frmbase_cont_flag)
|
||||
release_cur_decoding_buf(hw);
|
||||
|
||||
if (input_frame_based(vdec) ||
|
||||
(READ_VREG(VLD_MEM_VIFIFO_LEVEL) > 0x200)) {
|
||||
@@ -5171,8 +5171,8 @@ empty_proc:
|
||||
hw->decode_timeout_num++;
|
||||
else if (dec_dpb_status == H264_DECODE_BUFEMPTY)
|
||||
hw->decode_dataempty_num++;
|
||||
|
||||
hw->data_flag |= ERROR_FLAG;
|
||||
if (!hw->frmbase_cont_flag)
|
||||
hw->data_flag |= ERROR_FLAG;
|
||||
|
||||
vdec_schedule_work(&hw->work);
|
||||
} else {
|
||||
|
||||
BIN
firmware/video/video_ucode.bin
Normal file → Executable file
BIN
firmware/video/video_ucode.bin
Normal file → Executable file
Binary file not shown.
Reference in New Issue
Block a user