[FFmpeg-devel] [PATCH 5/5] avcodec/vc1: store zero MVs for all blocks in a MB

Michael Niedermayer michael at niedermayer.cc
Sun May 20 00:40:26 EEST 2018


On Fri, May 18, 2018 at 05:06:36PM +0200, Jerome Borsboom wrote:
> Direct prediction for interlace frame B pictures references the mv in the
> second block in an MB in the backward reference frame for the twomv case.
> When the backward reference frame is an I frame, this value may be unset.
> 
> Signed-off-by: Jerome Borsboom <jerome.borsboom at carpalis.nl>
> ---
>  libavcodec/vc1_block.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/vc1_block.c b/libavcodec/vc1_block.c
> index 74935ec9e9..9c170a1e3c 100644
> --- a/libavcodec/vc1_block.c
> +++ b/libavcodec/vc1_block.c
> @@ -2678,8 +2678,10 @@ static void vc1_decode_i_blocks_adv(VC1Context *v)
>              s->bdsp.clear_blocks(block[0]);
>              mb_pos = s->mb_x + s->mb_y * s->mb_stride;
>              s->current_picture.mb_type[mb_pos + v->mb_off]                         = MB_TYPE_INTRA;
> -            s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][0] = 0;
> -            s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][1] = 0;
> +            for (int i = 0; i < 4; i++) {
> +                s->current_picture.motion_val[1][s->block_index[i] + v->blocks_off][0] = 0;
> +                s->current_picture.motion_val[1][s->block_index[i] + v->blocks_off][1] = 0;
> +            }

see AV_ZERO*

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

What does censorship reveal? It reveals fear. -- Julian Assange
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180519/c5df6d65/attachment.sig>


More information about the ffmpeg-devel mailing list