diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-06-09 08:40:20 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-06-20 18:58:38 +0200 |
commit | 952a32e9a0b10bac36a0a2fee631c97ef5175304 (patch) | |
tree | f0a4874e8ef85ddb77f022b5c96c8b2a65bd04a1 /libavcodec/mpegutils.c | |
parent | b2195a238c330e960700f8821e9c0751ee77946d (diff) | |
download | ffmpeg-952a32e9a0b10bac36a0a2fee631c97ef5175304.tar.gz |
avcodec/mpegutils: Don't output wrong mb skip values
The earlier code had two problems:
1. For reference frames that are not directly output (happens unless
low_delay is set), the mb skip values referred to the next reference
frame to be decoded.
2. For non-reference frames, every macroblock was always considered
skipped.
This makes the output (worse than) useless; that no one ever
complained about this shows that this feature is not really used.
It is therefore removed.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/mpegutils.c')
-rw-r--r-- | libavcodec/mpegutils.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/libavcodec/mpegutils.c b/libavcodec/mpegutils.c index a53996852f..73b6650b70 100644 --- a/libavcodec/mpegutils.c +++ b/libavcodec/mpegutils.c @@ -153,7 +153,7 @@ static char get_interlacement_char(int mb_type) } void ff_print_debug_info2(AVCodecContext *avctx, AVFrame *pict, - const uint8_t *mbskip_table, const uint32_t *mbtype_table, + const uint32_t *mbtype_table, const int8_t *qscale_table, int16_t (*const motion_val[2])[2], int mb_width, int mb_height, int mb_stride, int quarter_sample) { @@ -248,7 +248,7 @@ void ff_print_debug_info2(AVCodecContext *avctx, AVFrame *pict, return; - if (avctx->debug & (FF_DEBUG_SKIP | FF_DEBUG_QP | FF_DEBUG_MB_TYPE)) { + if (avctx->debug & (FF_DEBUG_QP | FF_DEBUG_MB_TYPE)) { int x,y; AVBPrint buf; int n; @@ -267,8 +267,6 @@ void ff_print_debug_info2(AVCodecContext *avctx, AVFrame *pict, av_bprint_chars(&buf, ' ', margin_left); n = 0; - if (avctx->debug & FF_DEBUG_SKIP) - n++; if (avctx->debug & FF_DEBUG_QP) n += 2; if (avctx->debug & FF_DEBUG_MB_TYPE) @@ -284,12 +282,6 @@ void ff_print_debug_info2(AVCodecContext *avctx, AVFrame *pict, for (x = 0; x < mb_width; x++) { if (x == 0) av_bprintf(&buf, "%*d ", margin_left - 1, y << 4); - if (avctx->debug & FF_DEBUG_SKIP) { - int count = mbskip_table ? mbskip_table[x + y * mb_stride] : 0; - if (count > 9) - count = 9; - av_bprintf(&buf, "%1d", count); - } if (avctx->debug & FF_DEBUG_QP) { av_bprintf(&buf, "%2d", qscale_table[x + y * mb_stride]); } |