[FFmpeg-devel] [PATCH v2] avfilter/showinfo: support Content Light Level information

James Almer jamrial at gmail.com
Sat Aug 17 20:49:29 EEST 2019


On 8/17/2019 2:44 PM, James Almer wrote:
> On 8/10/2019 11:58 AM, lance.lmwang at gmail.com wrote:
>> From: Limin Wang <lance.lmwang at gmail.com>
>>
>> show real information instead of the unknown side data type message for HDR10 stream
>>
>> Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
>> ---
>>  libavfilter/vf_showinfo.c | 17 +++++++++++++++++
>>  1 file changed, 17 insertions(+)
>>
>> diff --git a/libavfilter/vf_showinfo.c b/libavfilter/vf_showinfo.c
>> index 9fa322e..94d17bf 100644
>> --- a/libavfilter/vf_showinfo.c
>> +++ b/libavfilter/vf_showinfo.c
>> @@ -160,6 +160,20 @@ static void dump_mastering_display(AVFilterContext *ctx, AVFrameSideData *sd)
>>             av_q2d(mastering_display->min_luminance), av_q2d(mastering_display->max_luminance));
>>  }
>>  
>> +static void dump_content_light_metadata(AVFilterContext *ctx, AVFrameSideData *sd)
>> +{
>> +    AVContentLightMetadata* metadata = (AVContentLightMetadata*)sd->data;
>> +
>> +    if (sd->size < sizeof(*metadata)) {
> 
> sizeof(AVContentLightMetadata) is not part of the ABI, so just remove
> this check.

Oh, your first version was like that, and this one is the result of
someone suggesting to add the check.

Pushed the correct version then.

> 
>> +        av_log(ctx, AV_LOG_ERROR, "invalid data");
>> +        return;
>> +    }
>> +
>> +    av_log(ctx, AV_LOG_INFO, "Content Light Level information: "
>> +           "MaxCLL=%d, MaxFALL=%d",
>> +           metadata->MaxCLL, metadata->MaxFALL);
>> +}
>> +
>>  static void dump_color_property(AVFilterContext *ctx, AVFrame *frame)
>>  {
>>      const char *color_range_str     = av_color_range_name(frame->color_range);
>> @@ -301,6 +315,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
>>          case AV_FRAME_DATA_MASTERING_DISPLAY_METADATA:
>>              dump_mastering_display(ctx, sd);
>>              break;
>> +        case AV_FRAME_DATA_CONTENT_LIGHT_LEVEL:
>> +            dump_content_light_metadata(ctx, sd);
>> +            break;
>>          default:
>>              av_log(ctx, AV_LOG_WARNING, "unknown side data type %d (%d bytes)",
>>                     sd->type, sd->size);
>>
> 



More information about the ffmpeg-devel mailing list