On 26/04/2020 04:02, Fei Wang wrote:
> Use VAProcColorStandardExplicit only if the color properties all
> specificed.
> 
> Signed-off-by: Fei Wang <fei.w.w...@intel.com>
> ---
>  libavfilter/vaapi_vpp.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/libavfilter/vaapi_vpp.c b/libavfilter/vaapi_vpp.c
> index 6ffc09d..e1d3373 100644
> --- a/libavfilter/vaapi_vpp.c
> +++ b/libavfilter/vaapi_vpp.c
> @@ -278,10 +278,14 @@ static void 
> vaapi_vpp_fill_colour_standard(VAAPIColourProperties *props,
>      // use them and avoid doing any mapping.  (The driver may not support
>      // some particular code point, but it still has enough information to
>      // make a better fallback choice than we do in that case.)
> -    for (i = 0; i < nb_vacs; i++) {
> -        if (vacs[i] == VAProcColorStandardExplicit) {
> -            props->va_color_standard = VAProcColorStandardExplicit;
> -            return;
> +    if ((props->colorspace != AVCOL_SPC_UNSPECIFIED) &&
> +        (props->color_trc != AVCOL_TRC_UNSPECIFIED) &&
> +        (props->color_primaries != AVCOL_PRI_UNSPECIFIED)) {
> +        for (i = 0; i < nb_vacs; i++) {
> +            if (vacs[i] == VAProcColorStandardExplicit) {
> +                props->va_color_standard = VAProcColorStandardExplicit;
> +                return;
> +            }
>          }
>      }
>  #endif

This seems like it's throwing away information in a way you don't want.  For 
example, suppose the input was decoded from VP9: in that case you only know the 
matrix coefficients (props->colorspace) and the other values will be 
unspecified, but that's still better to know than nothing at all.

Alternatively: if you think this should be handled at a layer above VAAPI, 
maybe it should say that in the libva documentation?  Then here we would want 
to guess the other values and fill them in.

- Mark
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to