[FFmpeg-devel] [PATCH v2 00/11] fix broken CC detection and ffprobe fields (cover letter)

James Almer jamrial at gmail.com
Sun Dec 1 21:59:10 EET 2024


On 11/28/2024 5:02 PM, Marton Balint wrote:
> 
> 
> On Wed, 27 Nov 2024, Marth64 wrote:
> 
>> As it stands today, ffprobe has two stream-level fields 
>> (closed_captions and film_grain)
>> that do not work. Their value is always 0 because ffprobe cannot 
>> access the internal
>> codec properties in the stream context when it is setting up its 
>> internal streams.
>>
>> Additionally, avformat/dump used to successfully print about the 
>> presence of
>> Closed Captions (EIA-608/CEA-708) and the presence of film grain. This 
>> does
>> not work either anymore, because avformat_find_stream_info() does not 
>> copy
>> them in the skeleton context it uses after calling codec_close().
>>
>> To clarify: the aforementioned features/code are broken.
>>
>> So, to the user, Closed Caption detection as a feature is broken, and 
>> ffprobe
>> and the dump is essentially having two fields that do not work.
>>
>> This patchset aims to fix the issue by:
>> (1) Adding a video stream disposition, AV_DISPOSITION_CAPTIONS_EIA608 
>> that
>>    can be set in avformat_find_stream_info(), and using it to express
>>    the presence of Closed Captions (EIA-608/CEA-708)
> 
> Manually mapping between different codec properties and stream 
> dispositions seems ugly, and I am not sure if we should even use the 
> disposition field for something like this.
> 
> I suggest you try adding the "properties" attribute to 
> AVCodecParameters, because as far as I see it is very similar to profile 
> or level. Can you see if that works? If it does, we might even promote 
> the FF_CODEC_PROPERTY flags to AV_CODEC_PROPERTY so they will become 
> properly public.

I don't agree it should be in codecpar. It's rarely (if ever) filled 
during header parsing (codec or container), and instead set when parsing 
a frame that contains the relevant characteristic that's exported here 
as a "property", like captions or film grain parameters. Therefore it's 
not a field used for initialization.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20241201/9ed00124/attachment.sig>


More information about the ffmpeg-devel mailing list