ons 2020-08-12 klockan 13:43 +0100 skrev Harry Mallon:
> @@ -2492,6 +2504,18 @@ static int mxf_parse_structural_metadata(MXFContext 
> *mxf)
>              }
>              if (descriptor->aspect_ratio.num && descriptor->aspect_ratio.den)
>                  st->display_aspect_ratio = descriptor->aspect_ratio;
> +            if (descriptor->component_depth &&
> +                descriptor->black_ref_level == 0 &&
> +                descriptor->white_ref_level == 
> ((1<<descriptor->component_depth) - 1) &&
> +                descriptor->color_range     == 
> ((1<<descriptor->component_depth) - 1)) {
> +                st->codecpar->color_range = AVCOL_RANGE_JPEG;
> +            }
> +            else if (descriptor->component_depth >= 8 &&
> +                     descriptor->black_ref_level == (1  
> <<(descriptor->component_depth - 4)) &&
> +                     descriptor->white_ref_level == 
> (235<<(descriptor->component_depth - 8)) &&
> +                     descriptor->color_range     == 
> ((14<<(descriptor->component_depth - 4)) + 1)) {
> +                st->codecpar->color_range = AVCOL_RANGE_MPEG;
> +            }

Put a warning here in case levels are set but neither of these two ifs
are true, perhaps using avpriv_request_sample(). I can imagine there's
encoders that put off-by-one values in here. I'd like to see such files
first though before we widen these if clauses, so we can put the
samples in FATE.

I'm testing the previous patch. Will push that one once FATE passes.

/Tomas

_______________________________________________
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