From e3de309804d27d3ed41a45f37ca6a37ba3d4a267 Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 18 Oct 2015 18:37:24 +0200 Subject: vo_opengl: support all kinds of GBRP formats Adds support for AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP, and AV_PIX_FMT_GBRAP16. (Not that it matters, because nobody uses these anyway.) --- video/img_format.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'video/img_format.c') diff --git a/video/img_format.c b/video/img_format.c index 7ed4c722e8..c2bbf6bb01 100644 --- a/video/img_format.c +++ b/video/img_format.c @@ -231,15 +231,21 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt) if (pd->flags & (AV_PIX_FMT_FLAG_PAL | AV_PIX_FMT_FLAG_PSEUDOPAL)) desc.flags |= MP_IMGFLAG_PAL; - if ((desc.flags & MP_IMGFLAG_YUV) && (desc.flags & MP_IMGFLAG_BYTE_ALIGNED)) + if ((desc.flags & (MP_IMGFLAG_YUV | MP_IMGFLAG_RGB)) + && (desc.flags & MP_IMGFLAG_BYTE_ALIGNED)) { bool same_depth = true; for (int p = 0; p < desc.num_planes; p++) { same_depth &= planedepth[p] == planedepth[0] && desc.bpp[p] == desc.bpp[0]; } - if (same_depth && pd->nb_components == desc.num_planes) - desc.flags |= MP_IMGFLAG_YUV_P; + if (same_depth && pd->nb_components == desc.num_planes) { + if (desc.flags & MP_IMGFLAG_YUV) { + desc.flags |= MP_IMGFLAG_YUV_P; + } else { + desc.flags |= MP_IMGFLAG_RGB_P; + } + } } for (int p = 0; p < desc.num_planes; p++) { -- cgit v1.2.3