On Sat, Apr 22, 2017 at 6:33 AM, Luca Barbato <[email protected]> wrote: > From: Paul B Mahol <[email protected]> > > Signed-off-by: Paul B Mahol <[email protected]> > Signed-off-by: Luca Barbato <[email protected]> > --- > libavcodec/utvideodec.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/utvideodec.c b/libavcodec/utvideodec.c > index 910d64b..0f58c83 100644 > --- a/libavcodec/utvideodec.c > +++ b/libavcodec/utvideodec.c > @@ -228,6 +228,16 @@ fail: > return AVERROR_INVALIDDATA; > } > > +static int compute_cmask(int plane_no, int interlaced, int pix_fmt) > +{ > + const int is_luma = (pix_fmt == AV_PIX_FMT_YUV420P) && !plane_no; > + > + if (interlaced) > + return ~(1 + 2 * is_luma); > + > + return ~is_luma; > +} > + > static int decode_plane(UtvideoContext *c, int plane_no, > uint8_t *dst, int step, ptrdiff_t stride, > int width, int height, > @@ -238,7 +248,7 @@ static int decode_plane(UtvideoContext *c, int plane_no, > VLC vlc; > BitstreamContext bc; > int prev, fsym; > - const int cmask = ~(!plane_no && c->avctx->pix_fmt == > AV_PIX_FMT_YUV420P); > + const int cmask = compute_cmask(plane_no, c->interlaced, > c->avctx->pix_fmt); > > if (build_huff(src, &vlc, &fsym)) { > av_log(c->avctx, AV_LOG_ERROR, "Cannot build Huffman codes\n"); > --
ok i think -- Vittorio _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
