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

zozobreak zozobreak at 163.com
Thu Dec 30 04:54:28 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:40:23, "zozobreak" <zozobreak at 163.com> wrote:


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/20211230/37f5ee4b/attachment.obj>


More information about the ffmpeg-devel mailing list