Browse Source

avcodec/ffv1dec: Set packed_at_lsb for 16bit YUV

This avoids unneeded computations

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer 8 years ago
parent
commit
d1d18de6ad
1 changed files with 2 additions and 0 deletions
  1. 2 0
      libavcodec/ffv1dec.c

+ 2 - 0
libavcodec/ffv1dec.c

@@ -637,12 +637,14 @@ static int read_header(FFV1Context *f)
             case 0x11: f->avctx->pix_fmt = AV_PIX_FMT_YUVA420P10; break;
             }
         } else if (f->avctx->bits_per_raw_sample == 16 && !f->transparency){
+            f->packed_at_lsb = 1;
             switch(16 * f->chroma_h_shift + f->chroma_v_shift) {
             case 0x00: f->avctx->pix_fmt = AV_PIX_FMT_YUV444P16; break;
             case 0x10: f->avctx->pix_fmt = AV_PIX_FMT_YUV422P16; break;
             case 0x11: f->avctx->pix_fmt = AV_PIX_FMT_YUV420P16; break;
             }
         } else if (f->avctx->bits_per_raw_sample == 16 && f->transparency){
+            f->packed_at_lsb = 1;
             switch(16 * f->chroma_h_shift + f->chroma_v_shift) {
             case 0x00: f->avctx->pix_fmt = AV_PIX_FMT_YUVA444P16; break;
             case 0x10: f->avctx->pix_fmt = AV_PIX_FMT_YUVA422P16; break;