From e85d06baadeda6b63f315adfcdbdd7c56cd8cf9f Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 21 Feb 2017 10:35:38 +0100 Subject: img_format: stop setting some fields to dummy values for hwaccel formats Flags like MP_IMGFLAG_YUV were meaningless for hwaccel formats, and setting fields like component_bits made even less sense. --- video/img_format.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'video/img_format.c') diff --git a/video/img_format.c b/video/img_format.c index 0232f53890..395ba7e2d5 100644 --- a/video/img_format.c +++ b/video/img_format.c @@ -211,7 +211,9 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt) ? MP_IMGFLAG_BE : MP_IMGFLAG_LE; } - if (fmt == AV_PIX_FMT_XYZ12LE || fmt == AV_PIX_FMT_XYZ12BE) { + if ((pd->flags & AV_PIX_FMT_FLAG_HWACCEL)) { + desc.flags |= MP_IMGFLAG_HWACCEL; + } else if (fmt == AV_PIX_FMT_XYZ12LE || fmt == AV_PIX_FMT_XYZ12BE) { desc.flags |= MP_IMGFLAG_XYZ; } else if (!(pd->flags & AV_PIX_FMT_FLAG_RGB) && fmt != AV_PIX_FMT_MONOBLACK && @@ -290,11 +292,10 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt) if ((desc.bpp[0] % 8) != 0) desc.align_x = 8 / desc.bpp[0]; // expect power of 2 - if (pd->flags & AV_PIX_FMT_FLAG_HWACCEL) { - desc.flags |= MP_IMGFLAG_HWACCEL; - desc.component_bits = 8; // usually restricted to 8 bit; may change - desc.component_full_bits = desc.component_bits; - desc.plane_bits = desc.component_bits; + if (desc.flags & MP_IMGFLAG_HWACCEL) { + desc.component_bits = 0; + desc.component_full_bits = 0; + desc.plane_bits = 0; } if (desc.chroma_xs || desc.chroma_ys) -- cgit v1.2.3