[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