h264: CB1 H264 playback Stuck [1/1]
PD#SWPL-190850
Problem:
H264 playback Stuck
Solution:
Modify loop conditions
Verify:
s7d
Change-Id: Id3df92dca34ae27530493c86dfdd07a81f53bb4c
Signed-off-by: xing.xu <xing.xu@amlogic.com>
diff --git a/drivers/frame_provider/decoder/h264_multi/h264_dpb.c b/drivers/frame_provider/decoder/h264_multi/h264_dpb.c
index 8977a68..b8ace44 100644
--- a/drivers/frame_provider/decoder/h264_multi/h264_dpb.c
+++ b/drivers/frame_provider/decoder/h264_multi/h264_dpb.c
@@ -2305,7 +2305,7 @@
{
int poc, pos;
struct DecodedPictureBuffer *p_Dpb = &p_H264_Dpb->mDPB;
- int i;
+ int i,j;
int none_displayed_num = 0;
unsigned char fast_output_flag = 0;
int inner_dpb_size = 0;
@@ -2363,8 +2363,8 @@
(((long)p_Dpb->fs[i]->poc -
(long)p_Dpb->last_output_poc)
== 1)){
- for (i = 0; i < p_Dpb->used_size; i++) {
- if (p_Dpb->fs[i]->data_flag & ERROR_FLAG)
+ for (j = 0; j < p_Dpb->used_size; j++) {
+ if (p_Dpb->fs[j]->data_flag & ERROR_FLAG)
break;
fast_output_flag = 1;
diff --git a/drivers/frame_provider/decoder_v4l/h264_multi/h264_dpb.c b/drivers/frame_provider/decoder_v4l/h264_multi/h264_dpb.c
index 2a225e9..670089d 100644
--- a/drivers/frame_provider/decoder_v4l/h264_multi/h264_dpb.c
+++ b/drivers/frame_provider/decoder_v4l/h264_multi/h264_dpb.c
@@ -2024,7 +2024,7 @@
{
int poc, pos;
struct DecodedPictureBuffer *p_Dpb = &p_H264_Dpb->mDPB;
- int i;
+ int i,j;
int none_displayed_num = 0;
unsigned char fast_output_flag = 0;
int inner_dpb_size = 0;
@@ -2083,8 +2083,8 @@
(((long)p_Dpb->fs[i]->poc -
(long)p_Dpb->last_output_poc)
== 1)) {
- for (i = 0; i < p_Dpb->used_size; i++) {
- if (p_Dpb->fs[i]->data_flag & ERROR_FLAG)
+ for (j = 0; j < p_Dpb->used_size; j++) {
+ if (p_Dpb->fs[j]->data_flag & ERROR_FLAG)
break;
fast_output_flag = 1;