[FFmpeg-devel] [PATCH] avcodec/libx264: add warning log when droping picture at 'h264_select_output_frame'

zozobreak zozobreak at 163.com
Wed Dec 29 11:40:23 EET 2021


From 0da67d346a7901b572ac9ec5812634576b315d79 Mon Sep 17 00:00:00 2001

From: zourenyi <zozobreak at 163.com>

Date: Wed, 29 Dec 2021 17:33:50 +0800

Subject: [PATCH v3] avcodec/libx264: add warning log when droping picture at 'h264_select_output_frame'




since there is only debug log 'no picture ooo' when droping a picture,

I spent much time to troubleshooting a wrong sps 'num_reorder_frames' param changed by webrtc's 'ParseAndRewriteSps',

FFmpeg keeped silence about this error, so a warning log is much helpfull about this.




Signed-off-by: zourenyi <zozobreak at 163.com>

---

 libavcodec/h264_slice.c | 8 +++++++-

 1 file changed, 7 insertions(+), 1 deletion(-)




diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c

index c21004df97..f347d8ee1a 100644

--- a/libavcodec/h264_slice.c

+++ b/libavcodec/h264_slice.c

@@ -1533,7 +1533,13 @@ static int h264_select_output_frame(H264Context *h)

             }

         }

     } else {

-        av_log(h->avctx, AV_LOG_DEBUG, "no picture %s\n", out_of_order ? "ooo" : "");

+        if (out_of_order) {

+            av_log(h->avctx, AV_LOG_WARNING,

+                   "drop picture(%c, %d/%" PRId64 ") because out of order\n",

+                   av_get_picture_type_char(out->f->pict_type), out->poc, out->f->pts);

+        } else {

+            av_log(h->avctx, AV_LOG_DEBUG, "no picture\n");

+        }

     }

 

     return 0;

-- 

2.32.0.windows.2



















At 2021-12-29 17:21:53, "zozobreak" <zozobreak at 163.com> wrote:

From 4e148d5d0247e4e4ad927b9782a60fbd979065d3 Mon Sep 17 00:00:00 2001

From: zourenyi <zozobreak at 163.com>

Date: Wed, 29 Dec 2021 17:03:53 +0800

Subject: [PATCH v2] avcodec/libx264: add warning log when droping picture at 'h264_select_output_frame'




since there is only debug log 'no picture ooo' when droping a picture,

I spent much time to troubleshooting a wrong sps 'num_reorder_frames' param changed by webrtc's 'ParseAndRewriteSps',

FFmpeg keeped silence about this error, so a warning log is much helpfull about this.




Signed-off-by: zourenyi <zozobreak at 163.com>

---

 libavcodec/h264_slice.c | 8 +++++++-

 1 file changed, 7 insertions(+), 1 deletion(-)




diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c

index c21004df97..a98cb2a142 100644

--- a/libavcodec/h264_slice.c

+++ b/libavcodec/h264_slice.c

@@ -1533,7 +1533,13 @@ static int h264_select_output_frame(H264Context *h)

             }

         }

     } else {

-        av_log(h->avctx, AV_LOG_DEBUG, "no picture %s\n", out_of_order ? "ooo" : "");

+        if (out_of_order) {

+            av_log(h->avctx, AV_LOG_WARNING,

+                   "drop picture(%c, %d/%" PRId64 ") because of ooo\n",

+                   av_get_picture_type_char(out->f->pict_type), out->poc, out->f->pts);

+        } else {

+            av_log(h->avctx, AV_LOG_DEBUG, "no picture\n");

+        }

     }

 

     return 0;

-- 

2.32.0.windows.2




















At 2021-12-29 15:21:42, "Steven Liu" <lq at chinaffmpeg.org> wrote:
>
>
>> 2021年12月29日 下午2:59,zozobreak <zozobreak at 163.com> 写道:
>> 
>> since there is only debug log 'no picture ooo' when droping a picture,
>> I spent much time to troubleshooting a wrong sps 'num_reorder_frames' param changed by webrtc's 'ParseAndRewriteSps',
>> FFmpeg keeped silence about this error, so a warning log is much helpfull about this.
>> 
>> 
>> 
>> 
>> Signed-off-by: zourenyi <zozobreak at 163.com>
>> ---
>> libavcodec/h264_slice.c | 9 ++++++++-
>> 1 file changed, 8 insertions(+), 1 deletion(-)
>> 
>> 
>> 
>> 
>> diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
>> index c21004df97..f8bf8fe36e 100644
>> --- a/libavcodec/h264_slice.c
>> +++ b/libavcodec/h264_slice.c
>> @@ -1533,7 +1533,14 @@ static int h264_select_output_frame(H264Context *h)
>>             }
>>         }
>>     } else {
>> -        av_log(h->avctx, AV_LOG_DEBUG, "no picture %s\n", out_of_order ? "ooo" : "");
>> +        if (out_of_order) {
>> +            av_log(h->avctx, AV_LOG_WARNING,
>> +                   "drop picture(%c, %d) because of ooo\n",
>> +                   av_get_picture_type_char(out->f->pict_type), out->poc);
>> +        }
>> +        else {
>You shoulf fix code style, otherwise is ok.
>> +            av_log(h->avctx, AV_LOG_DEBUG, "no picture\n");
>> +        }
>>     }
>>     return 0;
>> --
>> 2.32.0.windows.2
>> 
>> <0001-avcodec-libx264-add-warning-log-when-droping-picture.patch>_______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> 
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>
>Thanks
>
>Steven Liu
>
>_______________________________________________
>ffmpeg-devel mailing list
>ffmpeg-devel at ffmpeg.org
>https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>To unsubscribe, visit link above, or email
>ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".





 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v3-0001-avcodec-libx264-add-warning-log-when-droping-picture.patch
Type: application/octet-stream
Size: 1400 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20211229/0903abb1/attachment.obj>


More information about the ffmpeg-devel mailing list