[FFmpeg-devel] [PATCH 2/5] avcodec/vc1: fix mquant calculation for interlace field pictures

Carl Eugen Hoyos ceffmpeg at gmail.com
Tue May 29 00:47:11 EEST 2018


2018-05-18 17:06 GMT+02:00, Jerome Borsboom <jerome.borsboom at carpalis.nl>:
> For interlace field pictures s->mb_height indicates the height of the full
> picture in MBs, i.e. the two fields combined. A single field is half this
> size. When calculating mquant for interlace field pictures, the bottom edge
> is the last MB row of the field.
>
> Signed-off-by: Jerome Borsboom <jerome.borsboom at carpalis.nl>
> ---
>  libavcodec/vc1_block.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/vc1_block.c b/libavcodec/vc1_block.c
> index daf30fdbfe..aa2ea5024e 100644
> --- a/libavcodec/vc1_block.c
> +++ b/libavcodec/vc1_block.c
> @@ -181,7 +181,8 @@ static void vc1_put_signed_blocks_clamped(VC1Context *v)
>              mquant = -v->altpq;                                \
>          if ((edges&4) && s->mb_x == (s->mb_width - 1))         \
>              mquant = -v->altpq;                                \
> -        if ((edges&8) && s->mb_y == (s->mb_height - 1))        \
> +        if ((edges&8) &&                                       \
> +            s->mb_y == ((s->mb_height >> v->field_mode) - 1))  \
>              mquant = -v->altpq;                                \
>          if (!mquant || mquant > 31) {                          \
>              av_log(v->s.avctx, AV_LOG_ERROR,                   \

Patch applied.

Thank you, Carl Eugen


More information about the ffmpeg-devel mailing list