Nov 26, 2020, 16:21 by jamr...@gmail.com:

> On 11/17/2020 8:15 AM, Lynne wrote:
>
>> Nov 17, 2020, 10:58 by an...@khirnov.net:
>>
>>> Quoting Lynne (2020-11-17 00:21:43)
>>>
>>>> Nov 16, 2020, 15:56 by ffm...@haasn.xyz:
>>>>
>>>>> In terms of an API user needing this functionality, the way I see it
>>>>> working is that presence of the side-data will imply that it still needs
>>>>> to be applied, with the side data being removed the moment grain
>>>>> actually is applied. So that means that decoders applying film grain
>>>>> must never export this side data, and decoders not applying film grain
>>>>> must always export this side data.
>>>>>
>>>>> A decoder both applying grain and exporting the side data is
>>>>> nonsensical, and would only result in double-grain-application. In terms
>>>>> of the capability checking, I don't need you to tell me whether or not
>>>>> the decoder can apply/export side data or not, rather, I need to tell
>>>>> *you* whether or not I can apply film grain myself. This is what I
>>>>> understand AV_CODEC_EXPORT_DATA_FILM_GRAIN to be. Whether or not it's
>>>>> actually exported when that flag is present is irrelevant to me, all I'm
>>>>> trying to do is signaling that I'd prefer film grain to be exported
>>>>> rather than applied.
>>>>>
>>>>
>>>> Yup, that's my idea of how this should work as well.
>>>> Maybe even analyzers should want to skip applying film grain in a majority
>>>> of cases or apply it independently. So I still think of having an export
>>>> flag control the decoder behavior is acceptable in this case.
>>>>
>>>
>>> It's not about majority vs. minority, the question is
>>> "is there EVER a valid reason to apply AND export?"
>>> If the answer is yes, then there needs to be a way to do that. The flag
>>> you're proposing explicitly says you can do either one or the other, but
>>> never both.
>>>
>>
>> That's a kinda black and white view. We have both APIs that don't allow very
>> common cases to be handled and are creating us problems and we have APIs
>> which allow for completely unreasonable things to happen and are creating
>> us problems as well.
>> I don't think there's a reasonable non-contrived case in which you'd want to
>> both export and apply film grain. But I also didn't think there's a 
>> reasonable
>> case to ever need to chain demuxers and decoders.
>>
>
> Just to check, The existence of this flag as it was defined implies there 
> should not be an "apply grain" avoption in decoders that can export such 
> params as side data, to avoid conflicts, right? The flag alone is meant to 
> control if film grain is applied, or exported.
>
> Now, what about decoders that can't export film grain params as side data? 
> Take for example QSV, which may not allow it. Should such decoders offer an 
> avoption to apply film grain or not? For those, the export flag can't be used 
> to disable applying film grain because it can't also fulfill the "export" 
> part of its purpose.
>

I think if the decoder doesn't support exporting it, it should apply it under 
all circumstances,
as otherwise correct presentation would be affected.
I think this is a pretty fringe problem right now as it only affects decoders 
independent of
av1dec, and given its meant to be applied during presentation time, I think 
those decoders
should implement support for exporting it while its not too late rather than 
having debugging
options for disabling it, which aren't really useful outside of debugging.
_______________________________________________
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