mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-03-20 09:57:57 +00:00
avcodec/ffv1dec: Set packed_at_lsb for 16bit YUV
This avoids unneeded computations Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
d7a3bb2088
commit
d1d18de6ad
@ -637,12 +637,14 @@ static int read_header(FFV1Context *f)
|
|||||||
case 0x11: f->avctx->pix_fmt = AV_PIX_FMT_YUVA420P10; break;
|
case 0x11: f->avctx->pix_fmt = AV_PIX_FMT_YUVA420P10; break;
|
||||||
}
|
}
|
||||||
} else if (f->avctx->bits_per_raw_sample == 16 && !f->transparency){
|
} 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) {
|
switch(16 * f->chroma_h_shift + f->chroma_v_shift) {
|
||||||
case 0x00: f->avctx->pix_fmt = AV_PIX_FMT_YUV444P16; break;
|
case 0x00: f->avctx->pix_fmt = AV_PIX_FMT_YUV444P16; break;
|
||||||
case 0x10: f->avctx->pix_fmt = AV_PIX_FMT_YUV422P16; break;
|
case 0x10: f->avctx->pix_fmt = AV_PIX_FMT_YUV422P16; break;
|
||||||
case 0x11: f->avctx->pix_fmt = AV_PIX_FMT_YUV420P16; break;
|
case 0x11: f->avctx->pix_fmt = AV_PIX_FMT_YUV420P16; break;
|
||||||
}
|
}
|
||||||
} else if (f->avctx->bits_per_raw_sample == 16 && f->transparency){
|
} 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) {
|
switch(16 * f->chroma_h_shift + f->chroma_v_shift) {
|
||||||
case 0x00: f->avctx->pix_fmt = AV_PIX_FMT_YUVA444P16; break;
|
case 0x00: f->avctx->pix_fmt = AV_PIX_FMT_YUVA444P16; break;
|
||||||
case 0x10: f->avctx->pix_fmt = AV_PIX_FMT_YUVA422P16; break;
|
case 0x10: f->avctx->pix_fmt = AV_PIX_FMT_YUVA422P16; break;
|
||||||
|
Loading…
Reference in New Issue
Block a user