From b258327210766ce7a040a075abf681b2130bb80b Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 21 Feb 2017 10:34:26 +0100 Subject: [PATCH] mp_image: for hwaccel, use underlying fmt in mp_image_params_guess_csp() If imgfmt is a hwaccel format, hw_subfmt will contain the CPU equivalent of the data stored in the hw frames. Strictly speaking, not doing this was a bug, but since hwaccel formats were tagged with MP_IMGFLAG_YUV, it didn't have much of an impact. --- video/mp_image.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/video/mp_image.c b/video/mp_image.c index 7e0dd173b7..5e2726fd3a 100644 --- a/video/mp_image.c +++ b/video/mp_image.c @@ -614,7 +614,8 @@ void mp_image_set_attributes(struct mp_image *image, // the colorspace as implied by the pixel format. void mp_image_params_guess_csp(struct mp_image_params *params) { - struct mp_imgfmt_desc fmt = mp_imgfmt_get_desc(params->imgfmt); + int imgfmt = params->hw_subfmt ? params->hw_subfmt : params->imgfmt; + struct mp_imgfmt_desc fmt = mp_imgfmt_get_desc(imgfmt); if (!fmt.id) return; if (fmt.flags & MP_IMGFLAG_YUV) {