[FFmpeg-devel] [PATCH] fftools/ffplay: 240M matrix is not the same as BT.601

Marton Balint cus at passwd.hu
Mon Jun 7 22:37:13 EEST 2021



On Mon, 7 Jun 2021, Valerii Zapodovnikov wrote:

> Signed-off-by: Valerii Zapodovnikov <val.zapod.vz at gmail.com>
> ---
> fftools/ffplay.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fftools/ffplay.c b/fftools/ffplay.c
> index 0be1d90bf9..53bd9362fa 100644
> --- a/fftools/ffplay.c
> +++ b/fftools/ffplay.c
> @@ -963,12 +963,12 @@ static void set_sdl_yuv_conversion_mode(AVFrame *frame)
>     if (frame && (frame->format == AV_PIX_FMT_YUV420P || frame->format == AV_PIX_FMT_YUYV422 || frame->format == AV_PIX_FMT_UYVY422)) {
>         if (frame->color_range == AVCOL_RANGE_JPEG)
>             mode = SDL_YUV_CONVERSION_JPEG;
> -        else if (frame->colorspace == AVCOL_SPC_BT709)
> +        else if (frame->colorspace == AVCOL_SPC_BT709) /* FIXME: sometimes it selects this even for BT.601 matrix, see issue 8862 */

I still dont understand, what can be fixed in ffplay and how. This FIXME 
helps very little regarding what needs to be done, what is missing and 
when. Either remove it or make it more exact.

Thanks,
Marton

>             mode = SDL_YUV_CONVERSION_BT709;
> -        else if (frame->colorspace == AVCOL_SPC_BT470BG || frame->colorspace == AVCOL_SPC_SMPTE170M || frame->colorspace == AVCOL_SPC_SMPTE240M)
> +        else if (frame->colorspace == AVCOL_SPC_BT470BG || frame->colorspace == AVCOL_SPC_SMPTE170M)
>             mode = SDL_YUV_CONVERSION_BT601;
>     }
> -    SDL_SetYUVConversionMode(mode);
> +    SDL_SetYUVConversionMode(mode); /* FIXME: no support for linear transfer */
> #endif
> }
>
> -- 
> 2.30.2
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-devel mailing list