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

Soft Works softworkz at hotmail.com
Mon Jan 27 12:00:03 EET 2025


> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Kieran Kunhya via ffmpeg-devel
> Sent: Monday, January 27, 2025 10:40 AM
> To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> Cc: Kieran Kunhya <kieran618 at googlemail.com>; Marth64
> <marth64 at proxyid.net>
> Subject: Re: [FFmpeg-devel] [PATCH v2 00/11] fix broken CC detection
> and ffprobe fields (cover letter)
> 
> >
> > While this is a very valid concern for some kinds of frame side
> data, it
> > does not apply to CC data. It's either in every frame or none. If a
> > provider generally broadcasts CC, then it's always present in every
> frame,
> > even during programs for which no CC is available - it's always
> there. Like
> > I mentioned at the top, we're using the properties field from the
> codec
> > (via codec_par) and there hasn’t been a single case reported where
> the CC
> > detection this way would have been incorrect.
> >
> 
> This isn't true, CC data is sparse.
> I have no opinions about the rest of the text.
> 
> Kieran



Hi Kieran,

Thanks for your reply.

In expectation of doubt, I had yesterday slightly modified ffprobe to count frames with and without CC side data like this:

if (par->codec_type == AVMEDIA_TYPE_VIDEO) {
    if (!is_sub && do_analyze_frames) {
        int has_cc = 0;

        for (int i = 0; i < frame->nb_side_data; i++) {
            if (frame->side_data[i]->type == AV_FRAME_DATA_A53_CC) {
                streams_with_closed_captions[pkt->stream_index]++;
                has_cc = 1;
            }
            else if (frame->side_data[i]->type == AV_FRAME_DATA_FILM_GRAIN_PARAMS)
                streams_with_film_grain[pkt->stream_index] = 1;
        }

        if (!has_cc) {
            streams_without_closed_captions[pkt->stream_index]++;
        }
    }
}


Then I ran it on all kinds of mpegts recordings I had at hand, and that's the result:

All video streams only, some were from the same file, others recorded in the same way, hence the duplications.

+--------+----------------+-------------------+
|        | Frames with CC | Frames without CC |
+--------+----------------+-------------------+
| stream |            786 |                 0 |
+--------+----------------+-------------------+
| stream |            786 |                 0 |
+--------+----------------+-------------------+
| stream |            786 |                 0 |
+--------+----------------+-------------------+
| stream |              0 |               232 |
+--------+----------------+-------------------+
| stream |              0 |               238 |
+--------+----------------+-------------------+
| stream |              0 |               239 |
+--------+----------------+-------------------+
| stream |              0 |               237 |
+--------+----------------+-------------------+
| stream |              0 |               235 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            112 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |            118 |                 0 |
+--------+----------------+-------------------+
| stream |             58 |                 0 |
+--------+----------------+-------------------+
| stream |             51 |                 0 |
+--------+----------------+-------------------+
| stream |             42 |                 0 |
+--------+----------------+-------------------+
| stream |             45 |                 0 |
+--------+----------------+-------------------+
| stream |             42 |                 0 |
+--------+----------------+-------------------+
| stream |            102 |                 0 |
+--------+----------------+-------------------+
| stream |             45 |                 0 |
+--------+----------------+-------------------+
| stream |            104 |                 0 |
+--------+----------------+-------------------+
| stream |             42 |                 0 |
+--------+----------------+-------------------+
| stream |            102 |                 0 |
+--------+----------------+-------------------+
| stream |             44 |                 0 |
+--------+----------------+-------------------+
| stream |            104 |                 0 |
+--------+----------------+-------------------+
| stream |             42 |                 0 |
+--------+----------------+-------------------+
| stream |            106 |                 0 |
+--------+----------------+-------------------+
| stream |             44 |                 0 |
+--------+----------------+-------------------+
| stream |             99 |                 0 |
+--------+----------------+-------------------+
| stream |             41 |                 0 |
+--------+----------------+-------------------+
| stream |            101 |                 0 |
+--------+----------------+-------------------+
| stream |             45 |                 0 |
+--------+----------------+-------------------+
| stream |             99 |                 0 |
+--------+----------------+-------------------+
| stream |             32 |                 0 |
+--------+----------------+-------------------+
| stream |             92 |                 0 |
+--------+----------------+-------------------+
| stream |             40 |                 0 |
+--------+----------------+-------------------+
| stream |             95 |                 0 |
+--------+----------------+-------------------+
| stream |             37 |                 0 |
+--------+----------------+-------------------+
| stream |             97 |                 0 |
+--------+----------------+-------------------+
| stream |             34 |                 0 |
+--------+----------------+-------------------+
| stream |             94 |                 0 |
+--------+----------------+-------------------+
| stream |             37 |                 0 |
+--------+----------------+-------------------+
| stream |             96 |                 0 |
+--------+----------------+-------------------+
| stream |             34 |                 0 |
+--------+----------------+-------------------+
| stream |             94 |                 0 |
+--------+----------------+-------------------+
| stream |             35 |                 0 |
+--------+----------------+-------------------+
| stream |             91 |                 0 |
+--------+----------------+-------------------+
| stream |             43 |                 0 |
+--------+----------------+-------------------+
| stream |            103 |                 0 |
+--------+----------------+-------------------+
| stream |             40 |                 0 |
+--------+----------------+-------------------+
| stream |            101 |                 0 |
+--------+----------------+-------------------+
| stream |             43 |                 0 |
+--------+----------------+-------------------+
| stream |             59 |                 0 |
+--------+----------------+-------------------+
| stream |              0 |              5002 |
+--------+----------------+-------------------+
| stream |              0 |               725 |
+--------+----------------+-------------------+
| stream |              0 |               528 |
+--------+----------------+-------------------+
| stream |              0 |              7423 |
+--------+----------------+-------------------+
| stream |              0 |              3532 |
+--------+----------------+-------------------+
| stream |              0 |              9088 |
+--------+----------------+-------------------+
| stream |              0 |            105006 |
+--------+----------------+-------------------+
| stream |              0 |            104868 |
+--------+----------------+-------------------+
| stream |              0 |             50770 |
+--------+----------------+-------------------+
| stream |          74595 |                 0 |
+--------+----------------+-------------------+
| stream |              0 |                90 |
+--------+----------------+-------------------+
| stream |              0 |                90 |
+--------+----------------+-------------------+
| stream |              0 |             95652 |
+--------+----------------+-------------------+
| stream |              0 |              8745 |
+--------+----------------+-------------------+
| stream |              0 |              2832 |
+--------+----------------+-------------------+
| stream |              0 |              7204 |
+--------+----------------+-------------------+
| stream |              0 |              7204 |
+--------+----------------+-------------------+
| stream |              0 |              7204 |
+--------+----------------+-------------------+
| stream |              0 |              7197 |
+--------+----------------+-------------------+
| stream |              0 |              7197 |
+--------+----------------+-------------------+

I can provide all (most) files privately. Happy to look into any examples if you have.

Best
sw


More information about the ffmpeg-devel mailing list