This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 4eb56054c203a4e5139ef485ec51ffa214cb469f Author: James Almer <[email protected]> AuthorDate: Wed Jun 24 08:28:52 2026 -0300 Commit: James Almer <[email protected]> CommitDate: Mon Jul 6 13:27:29 2026 -0300 fftools/ffmpeg_demux: merge LCEVC enhancement payloads into the base stream This is a temporary implementation until support for bitstream filter graphs is generically added to the scheduler. The dual track tests are as such changed so their output is not affected by builds with liblcevc-dec enabled. Signed-off-by: James Almer <[email protected]> --- fftools/ffmpeg_demux.c | 246 ++++++++++++++++++++++++++-- tests/fate/mpegts.mak | 6 +- tests/ref/fate/mpegts-lcevc-h264-dual-track | 104 ++++-------- tests/ref/fate/mpegts-lcevc-hevc-dual-track | 102 ++++-------- tests/ref/fate/mpegts-lcevc-vvc-dual-track | 102 ++++-------- 5 files changed, 337 insertions(+), 223 deletions(-) diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c index 38bd580bfc..640744b88f 100644 --- a/fftools/ffmpeg_demux.c +++ b/fftools/ffmpeg_demux.c @@ -41,6 +41,19 @@ #include "libavformat/avformat.h" +typedef struct DemuxStreamGroup { + InputStreamGroup istg; + + // name used for logging + char log_name[32]; + + // Temporary fields for LCEVC merging + AVBitStreamFilterGraph *graph; + AVBitStreamFilterContext *lcevc[2]; + AVBitStreamFilterContext *sink; + int graph_enabled; +} DemuxStreamGroup; + typedef struct DemuxStream { InputStream ist; @@ -95,19 +108,15 @@ typedef struct DemuxStream { AVBSFContext *bsf; + DemuxStreamGroup **dsg; + int nb_dsg; + /* number of packets successfully read for this stream */ uint64_t nb_packets; // combined size of all the packets read uint64_t data_size; } DemuxStream; -typedef struct DemuxStreamGroup { - InputStreamGroup istg; - - // name used for logging - char log_name[32]; -} DemuxStreamGroup; - typedef struct Demuxer { InputFile f; @@ -164,6 +173,11 @@ typedef struct DemuxThreadContext { AVPacket *pkt_bsf; } DemuxThreadContext; +static DemuxStreamGroup *dsg_from_istg(InputStreamGroup *istg) +{ + return (DemuxStreamGroup*)istg; +} + static DemuxStream *ds_from_ist(InputStream *ist) { return (DemuxStream*)ist; @@ -598,14 +612,82 @@ static int do_send(Demuxer *d, DemuxStream *ds, AVPacket *pkt, unsigned flags, return 0; } +static int do_bsf_graph(Demuxer *d, DemuxThreadContext *dt, DemuxStreamGroup *dsg, + DemuxStream *ds, AVPacket *pkt) +{ + const AVStreamGroup *stg = dsg->istg.stg; + const AVStreamGroupLayeredVideo *lcevc = stg->params.layered_video; + const int enhancement = ds->ist.index == stg->streams[lcevc->el_index]->index; + AVBitStreamFilterContext *source = dsg->lcevc[enhancement]; + int ret, flags = AV_BSF_SOURCE_FLAG_PUSH; + + if (enhancement) + flags |= AV_BSF_SOURCE_FLAG_KEEP_REF; + + ret = av_bsf_source_add_packet(source, pkt, flags); + if (ret < 0) { + if (pkt) + av_packet_unref(pkt); + av_log(dsg, AV_LOG_ERROR, "Error submitting a packet for filtering: %s\n", + av_err2str(ret)); + return ret; + } + + if (pkt && enhancement) { + if (ds->discard) + av_packet_unref(pkt); + else { + ret = do_send(d, ds, pkt, 0, "filtered"); + if (ret < 0) { + av_packet_unref(pkt); + return ret; + } + } + return 0; + } + + while (1) { + ret = av_bsf_sink_get_packet(dsg->sink, dt->pkt_bsf, 0); + if (ret == AVERROR(EAGAIN)) + return 0; + else if (ret < 0) { + if (ret != AVERROR_EOF) + av_log(dsg, AV_LOG_ERROR, + "Error applying bitstream filters to a packet: %s\n", + av_err2str(ret)); + return ret; + } + + dt->pkt_bsf->time_base = av_bsf_sink_get_time_base(dsg->sink); + + ret = do_send(d, ds, dt->pkt_bsf, 0, "filtered"); + if (ret < 0) { + av_packet_unref(dt->pkt_bsf); + return ret; + } + } + + return 0; +} + static int demux_send(Demuxer *d, DemuxThreadContext *dt, DemuxStream *ds, AVPacket *pkt, unsigned flags) { InputFile *f = &d->f; + DemuxStreamGroup *dsg = NULL; int ret; + for (int i = 0; i < ds->nb_dsg; i++) { + const InputStreamGroup *istg = &ds->dsg[i]->istg; + + if (istg->stg->type != AV_STREAM_GROUP_PARAMS_LCEVC) + continue; + dsg = ds->dsg[i]; + break; + } + // pkt can be NULL only when flushing BSFs - av_assert0(ds->bsf || pkt); + av_assert0(ds->bsf || (dsg && dsg->graph) || pkt); // send heartbeat for sub2video streams if (d->pkt_heartbeat && pkt && pkt->pts != AV_NOPTS_VALUE) { @@ -625,6 +707,11 @@ static int demux_send(Demuxer *d, DemuxThreadContext *dt, DemuxStream *ds, } } + if (dsg && dsg->graph_enabled) { + ret = do_bsf_graph(d, dt, dsg, ds, pkt); + if (ret < 0) + return ret; + } if (ds->bsf) { if (pkt) av_packet_rescale_ts(pkt, pkt->time_base, ds->bsf->time_base_in); @@ -658,7 +745,9 @@ static int demux_send(Demuxer *d, DemuxThreadContext *dt, DemuxStream *ds, return ret; } } - } else { + } else if (ds->discard && pkt) { + av_packet_unref(pkt); + } else if (!dsg || !dsg->graph_enabled) { ret = do_send(d, ds, pkt, flags, "demuxed"); if (ret < 0) return ret; @@ -674,8 +763,18 @@ static int demux_bsf_flush(Demuxer *d, DemuxThreadContext *dt) for (unsigned i = 0; i < f->nb_streams; i++) { DemuxStream *ds = ds_from_ist(f->streams[i]); + DemuxStreamGroup *dsg = NULL; - if (!ds->bsf) + for (int j = 0; j < ds->nb_dsg; j++) { + const InputStreamGroup *istg = &ds->dsg[j]->istg; + + if (istg->stg->type != AV_STREAM_GROUP_PARAMS_LCEVC) + continue; + dsg = ds->dsg[j]; + break; + } + + if (!ds->bsf && (!dsg || !dsg->graph_enabled)) continue; ret = demux_send(d, dt, ds, NULL, 0); @@ -686,7 +785,8 @@ static int demux_bsf_flush(Demuxer *d, DemuxThreadContext *dt) return ret; } - av_bsf_flush(ds->bsf); + if (ds->bsf) + av_bsf_flush(ds->bsf); } return 0; @@ -809,7 +909,7 @@ static int input_thread(void *arg) dynamically in stream : we ignore them */ ds = dt.pkt_demux->stream_index < f->nb_streams ? ds_from_ist(f->streams[dt.pkt_demux->stream_index]) : NULL; - if (!ds || ds->discard || ds->finished) { + if (!ds || ds->finished) { report_new_stream(d, dt.pkt_demux); av_packet_unref(dt.pkt_demux); continue; @@ -915,10 +1015,15 @@ static void ist_free(InputStream **pist) static void istg_free(InputStreamGroup **pistg) { InputStreamGroup *istg = *pistg; + DemuxStreamGroup *dsg; if (!istg) return; + dsg = dsg_from_istg(istg); + + av_bsf_graph_free(&dsg->graph); + av_freep(pistg); } @@ -984,6 +1089,53 @@ int ist_use(InputStream *ist, int decoding_needed, ds->decoding_needed |= decoding_needed; ds->streamcopy_needed |= !decoding_needed; + for (int i = 0; i < ds->nb_dsg; i++) { + DemuxStreamGroup *dsg = ds->dsg[i]; + const InputStreamGroup *istg = &dsg->istg; + + if (!dsg->graph || istg->stg->type != AV_STREAM_GROUP_PARAMS_LCEVC) + continue; + const AVStreamGroupLayeredVideo *lcevc = istg->stg->params.layered_video; + if (ist->st->index == istg->stg->streams[lcevc->el_index]->index) + break; + + AVBitStreamFilterContext *lcevc_merge = av_bsf_graph_get_filter(dsg->graph, "lcevc_merge"); + + for (int j = 0; j < 2; j++) { + ret = av_bsf_init_dict(dsg->lcevc[j], NULL); + if (ret < 0) + return ret; + } + + ret = av_bsf_init_dict(lcevc_merge, NULL); + if (ret < 0) + return ret; + ret = av_bsf_init_dict(dsg->sink, NULL); + if (ret < 0) + return ret; + + ret = av_bsf_link(dsg->lcevc[0], 0, lcevc_merge, 0); + if (ret < 0) + return ret; + ret = av_bsf_link(dsg->lcevc[1], 0, lcevc_merge, 1); + if (ret < 0) + return ret; + ret = av_bsf_link(lcevc_merge, 0, dsg->sink, 0); + if (ret < 0) + return ret; + + ret = av_bsf_graph_config(dsg->graph, d); + if (ret < 0) + return ret; + + InputStream *lcevc_ist = d->f.streams[istg->stg->streams[lcevc->el_index]->index]; + lcevc_ist->st->discard = 0; + + dsg->graph_enabled = 1; + + break; + } + if (decoding_needed && ds->sch_idx_dec < 0) { int is_audio = ist->st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO; int is_unreliable = !!(d->f.ctx->iformat->flags & AVFMT_NOTIMESTAMPS); @@ -1873,8 +2025,60 @@ fail: return ret; } +static int istg_parse_lcevc(const OptionsContext *o, Demuxer *d, DemuxStreamGroup *dsg) +{ + InputFile *f = &d->f; + const AVStreamGroup *stg = dsg->istg.stg; + const AVStreamGroupLayeredVideo *lcevc = stg->params.layered_video; + const AVBitStreamFilter *filter, *lcevc_filter = av_bsf_get_by_name("lcevc_merge"); + const InputStream *lcevc_ist = f->streams[stg->streams[lcevc->el_index]->index]; + const InputStream *base_ist = f->streams[stg->streams[!lcevc->el_index]->index]; + int ret; + + if (!lcevc_filter || stg->nb_streams != 2) + return 0; + + dsg->graph = av_bsf_graph_alloc(); + if(!dsg->graph) + return AVERROR(ENOMEM); + + filter = av_bsf_get_by_name("source"); + if (!filter) + return AVERROR_BUG; + + ret = av_bsf_graph_alloc_filter(&dsg->lcevc[0], filter, "lcevc_merge_base", dsg->graph); + if (ret < 0) + return ret; + av_opt_set_q(dsg->lcevc[0]->priv_data, "time_base", base_ist->st->time_base, 0); + ret = av_bsf_source_parameters_set(dsg->lcevc[0], base_ist->par); + if (ret < 0) + return ret; + + ret = av_bsf_graph_alloc_filter(&dsg->lcevc[1], filter, "lcevc_merge_enhancement", dsg->graph); + if (ret < 0) + return ret; + av_opt_set_q(dsg->lcevc[1]->priv_data, "time_base", lcevc_ist->st->time_base, 0); + ret = av_bsf_source_parameters_set(dsg->lcevc[1], lcevc_ist->par); + if (ret < 0) + return ret; + + ret = av_bsf_graph_alloc_filter(NULL, lcevc_filter, "lcevc_merge", dsg->graph); + if (ret < 0) + return ret; + + filter = av_bsf_get_by_name("sink"); + if (!filter) + return AVERROR_BUG; + ret = av_bsf_graph_alloc_filter(&dsg->sink, filter, "lcevc_merge_sink", dsg->graph); + if (ret < 0) + return ret; + + return 0; +} + static int istg_add(const OptionsContext *o, Demuxer *d, AVStreamGroup *stg) { + InputFile *f = &d->f; DemuxStreamGroup *dsg; InputStreamGroup *istg; int ret; @@ -1885,12 +2089,30 @@ static int istg_add(const OptionsContext *o, Demuxer *d, AVStreamGroup *stg) istg = &dsg->istg; + switch (stg->type) { + case AV_STREAM_GROUP_PARAMS_LCEVC: + for (int i = 0; i < istg->stg->nb_streams; i++) { + DemuxStream *ds = ds_from_ist(f->streams[istg->stg->streams[i]->index]); + ret = av_dynarray_add_nofree(&ds->dsg, &ds->nb_dsg, dsg); + if (ret < 0) + return ret; + } + break; + default: + break; + } + switch (stg->type) { case AV_STREAM_GROUP_PARAMS_TILE_GRID: ret = istg_parse_tile_grid(o, d, istg); if (ret < 0) return ret; break; + case AV_STREAM_GROUP_PARAMS_LCEVC: + ret = istg_parse_lcevc(o, d, dsg); + if (ret < 0) + return ret; + break; default: break; } diff --git a/tests/fate/mpegts.mak b/tests/fate/mpegts.mak index e2b978e085..65aab40d69 100644 --- a/tests/fate/mpegts.mak +++ b/tests/fate/mpegts.mak @@ -36,17 +36,17 @@ fate-mpegts-lcevc-vvc-single-track: CMD = stream_demux mpegts $(TARGET_SAMPLES)/ FATE_MPEGTS_FFMPEG_FFPROBE-$(call FRAMECRC, MOV, H264, H264_PARSER LCEVC_PARSER) += fate-mpegts-lcevc-h264-dual-track fate-mpegts-lcevc-h264-dual-track: CMD = stream_demux mpegts $(TARGET_SAMPLES)/lcevc/L_H264_640x360p_8bit8bit_2D_dd_dualTrack.ts \ - "" "-c:v copy -map 0" \ + "" "-c:v copy -map 0:1" \ "-show_entries stream_group=index,id,nb_streams,type:stream=index,id,codec_name" FATE_MPEGTS_FFMPEG_FFPROBE-$(call FRAMECRC, MOV, HEVC, HEVC_PARSER LCEVC_PARSER) += fate-mpegts-lcevc-hevc-dual-track fate-mpegts-lcevc-hevc-dual-track: CMD = stream_demux mpegts $(TARGET_SAMPLES)/lcevc/L_HEVC_640x360p_8bit8bit_2D_dd_dualTrack.ts \ - "" "-c:v copy -map 0" \ + "" "-c:v copy -map 0:1" \ "-show_entries stream_group=index,id,nb_streams,type:stream=index,id,codec_name" FATE_MPEGTS_FFMPEG_FFPROBE-$(call FRAMECRC, MOV, VVC, VVC_PARSER LCEVC_PARSER) += fate-mpegts-lcevc-vvc-dual-track fate-mpegts-lcevc-vvc-dual-track: CMD = stream_demux mpegts $(TARGET_SAMPLES)/lcevc/L_VVC_640x360p_8bit8bit_2D_dd_dualTrack.ts \ - "" "-c:v copy -map 0" \ + "" "-c:v copy -map 0:1" \ "-show_entries stream_group=index,id,nb_streams,type:stream=index,id,codec_name" FATE_SAMPLES_FFPROBE += $(FATE_MPEGTS_PROBE-yes) diff --git a/tests/ref/fate/mpegts-lcevc-h264-dual-track b/tests/ref/fate/mpegts-lcevc-h264-dual-track index 6779d96ee5..73c6c7374a 100644 --- a/tests/ref/fate/mpegts-lcevc-h264-dual-track +++ b/tests/ref/fate/mpegts-lcevc-h264-dual-track @@ -1,75 +1,39 @@ -#extradata 0: 39, 0xbce50b14 -#extradata 1: 28, 0x62a0074d +#extradata 0: 28, 0x62a0074d #tb 0: 1/90000 #media_type 0: video -#codec_id 0: h264 -#dimensions 0: 320x180 -#sar 0: 1/1 -#tb 1: 1/90000 -#media_type 1: video -#codec_id 1: lcevc -#dimensions 1: 640x360 -#sar 1: 0/1 -0, -6000, 0, 3000, 13439, 0x9e68d19b, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, -6000, 0, 3000, 1965, 0xb8dab7cb, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, -3000, 15000, 3000, 990, 0x87a3dd36, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, -3000, 15000, 3000, 187, 0xd07d53eb, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 0, 6000, 3000, 36, 0x9c8e0b20, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 0, 6000, 3000, 29, 0x909a0a04, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 3000, 3000, 3000, 21, 0x21e90549, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 3000, 3000, 3000, 22, 0x4fce0846, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 6000, 9000, 3000, 26, 0x462f07f9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 6000, 9000, 3000, 152, 0x1f4345ba, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 9000, 12000, 3000, 51, 0xa052141d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 9000, 12000, 3000, 479, 0xf21fd21a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 12000, 30000, 3000, 1217, 0xad6057a9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 12000, 30000, 3000, 497, 0xccfbcea5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 15000, 21000, 3000, 134, 0xc4c73900, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 15000, 21000, 3000, 265, 0x83bc7f47, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 18000, 18000, 3000, 45, 0x47ce10e6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 18000, 18000, 3000, 285, 0x368f72bc, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 21000, 24000, 3000, 37, 0xdc250e18, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 21000, 24000, 3000, 226, 0x571257dd, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 24000, 27000, 3000, 65, 0x9bb81fce, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 24000, 27000, 3000, 243, 0xa96170fa, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 27000, 45000, 3000, 1263, 0x32f074ca, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 27000, 45000, 3000, 358, 0x45ffa1fb, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 30000, 36000, 3000, 70, 0xdfc71f4b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 30000, 36000, 3000, 167, 0x1af243de, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 33000, 33000, 3000, 56, 0x2e11158d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 33000, 33000, 3000, 210, 0x10ce596d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 36000, 39000, 3000, 64, 0x5bc12056, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 36000, 39000, 3000, 193, 0x997b4e2d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 39000, 42000, 3000, 44, 0x2cdf1172, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 39000, 42000, 3000, 167, 0xe1404217, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 42000, 60000, 3000, 1738, 0x526859bd, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 42000, 60000, 3000, 302, 0x7462828a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 45000, 51000, 3000, 110, 0x2e5030f1, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 45000, 51000, 3000, 978, 0xf712deca, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 48000, 48000, 3000, 57, 0x3b4e181f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 48000, 48000, 3000, 170, 0xeb414130, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 51000, 54000, 3000, 40, 0xb2410a90, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 51000, 54000, 3000, 79, 0x9d8616dc, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 54000, 57000, 3000, 48, 0xb22715eb, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 54000, 57000, 3000, 185, 0xb7954514, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 57000, 75000, 3000, 2098, 0x897a07e8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 57000, 75000, 3000, 230, 0x974b6ff8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 60000, 66000, 3000, 129, 0x81283362, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 60000, 66000, 3000, 264, 0xa27483da, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 63000, 63000, 3000, 57, 0x69a119c6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 63000, 63000, 3000, 175, 0xa678448a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 66000, 69000, 3000, 52, 0xa81a1463, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 66000, 69000, 3000, 160, 0x7d423c5c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 69000, 72000, 3000, 40, 0x05501073, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 69000, 72000, 3000, 302, 0x12788d97, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 72000, 87000, 3000, 609, 0xee9127a6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 72000, 87000, 3000, 122, 0xe5bf2b1f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 75000, 81000, 3000, 101, 0xf43d2b96, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 75000, 81000, 3000, 175, 0x17244a4e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 78000, 78000, 3000, 44, 0x18410f62, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 78000, 78000, 3000, 131, 0x1c0d2a8a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 81000, 84000, 3000, 83, 0x803a2817, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 81000, 84000, 3000, 391, 0xe4e0b1f6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +#codec_id 0: lcevc +#dimensions 0: 640x360 +#sar 0: 0/1 +0, -6000, 0, 3000, 1965, 0xb8dab7cb, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, -3000, 15000, 3000, 187, 0xd07d53eb, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 0, 6000, 3000, 29, 0x909a0a04, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 3000, 3000, 3000, 22, 0x4fce0846, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 6000, 9000, 3000, 152, 0x1f4345ba, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 9000, 12000, 3000, 479, 0xf21fd21a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 12000, 30000, 3000, 497, 0xccfbcea5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 15000, 21000, 3000, 265, 0x83bc7f47, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 18000, 18000, 3000, 285, 0x368f72bc, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 21000, 24000, 3000, 226, 0x571257dd, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 24000, 27000, 3000, 243, 0xa96170fa, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 27000, 45000, 3000, 358, 0x45ffa1fb, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 30000, 36000, 3000, 167, 0x1af243de, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 33000, 33000, 3000, 210, 0x10ce596d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 36000, 39000, 3000, 193, 0x997b4e2d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 39000, 42000, 3000, 167, 0xe1404217, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 42000, 60000, 3000, 302, 0x7462828a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 45000, 51000, 3000, 978, 0xf712deca, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 48000, 48000, 3000, 170, 0xeb414130, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 51000, 54000, 3000, 79, 0x9d8616dc, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 54000, 57000, 3000, 185, 0xb7954514, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 57000, 75000, 3000, 230, 0x974b6ff8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 60000, 66000, 3000, 264, 0xa27483da, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 63000, 63000, 3000, 175, 0xa678448a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 66000, 69000, 3000, 160, 0x7d423c5c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 69000, 72000, 3000, 302, 0x12788d97, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 72000, 87000, 3000, 122, 0xe5bf2b1f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 75000, 81000, 3000, 175, 0x17244a4e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 78000, 78000, 3000, 131, 0x1c0d2a8a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 81000, 84000, 3000, 391, 0xe4e0b1f6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 [PROGRAM] [STREAM] index=0 diff --git a/tests/ref/fate/mpegts-lcevc-hevc-dual-track b/tests/ref/fate/mpegts-lcevc-hevc-dual-track index 906e44a607..02c673c6b4 100644 --- a/tests/ref/fate/mpegts-lcevc-hevc-dual-track +++ b/tests/ref/fate/mpegts-lcevc-hevc-dual-track @@ -1,75 +1,39 @@ -#extradata 0: 85, 0x17ac0df1 -#extradata 1: 28, 0x62a0074d +#extradata 0: 28, 0x62a0074d #tb 0: 1/90000 #media_type 0: video -#codec_id 0: hevc -#dimensions 0: 320x180 +#codec_id 0: lcevc +#dimensions 0: 640x360 #sar 0: 0/1 -#tb 1: 1/90000 -#media_type 1: video -#codec_id 1: lcevc -#dimensions 1: 640x360 -#sar 1: 0/1 -0, -6000, 0, 3000, 15399, 0x8dd63be5, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, -6000, 0, 3000, 12989, 0xd4a4c6cb, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, -3000, 12000, 3000, 993, 0x231af19f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, -3000, 12000, 3000, 186, 0x785c535a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 0, 6000, 3000, 101, 0x85832a32, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 0, 6000, 3000, 49, 0x70680ea8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 3000, 3000, 3000, 66, 0xea761a13, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 3000, 3000, 3000, 78, 0xc9961670, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 6000, 9000, 3000, 63, 0xaf6617ba, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 6000, 9000, 3000, 372, 0x98bfb4e8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 9000, 24000, 3000, 1890, 0x8eb0acfb, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 9000, 24000, 3000, 324, 0x754c831b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 12000, 18000, 3000, 107, 0xbd3f284d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 12000, 18000, 3000, 467, 0x97b6e75e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 15000, 15000, 3000, 78, 0xf89c2343, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 15000, 15000, 3000, 330, 0x5fd3a240, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 18000, 21000, 3000, 73, 0xa6771d6b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 18000, 21000, 3000, 379, 0x5b8dadc0, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 21000, 27000, 3000, 1265, 0xce6a65de, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 21000, 27000, 3000, 590, 0x0c012d57, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 24000, 42000, 3000, 1843, 0xe3c5851c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 24000, 42000, 3000, 308, 0xe7ec8c9a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 27000, 36000, 3000, 93, 0x6cec297d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 27000, 36000, 3000, 263, 0x4aa76ee4, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 30000, 30000, 3000, 99, 0x35df2a03, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 30000, 30000, 3000, 360, 0x0534b318, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 33000, 33000, 3000, 85, 0xe1c9260d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 33000, 33000, 3000, 376, 0x9135a953, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 36000, 39000, 3000, 76, 0x1d361fb3, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 36000, 39000, 3000, 292, 0x3c64760f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 39000, 45000, 3000, 1078, 0xd29026a4, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 39000, 45000, 3000, 207, 0xed435817, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 42000, 60000, 3000, 1991, 0x7557e3f2, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 42000, 60000, 3000, 219, 0x20325656, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 45000, 54000, 3000, 121, 0x5cee350e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 45000, 54000, 3000, 173, 0x9b0052da, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 48000, 48000, 3000, 97, 0x9ce927ed, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 48000, 48000, 3000, 312, 0xea838992, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 51000, 51000, 3000, 91, 0x0c5525c2, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 51000, 51000, 3000, 267, 0x1c456ce5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 54000, 57000, 3000, 64, 0xaff51996, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 54000, 57000, 3000, 252, 0x82426c2c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 57000, 72000, 3000, 1483, 0xd2c2cbf4, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 57000, 72000, 3000, 141, 0x03383b3e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 60000, 66000, 3000, 98, 0x635028aa, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 60000, 66000, 3000, 168, 0xc99c43d0, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 63000, 63000, 3000, 69, 0x69541de5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 63000, 63000, 3000, 150, 0x6f153b07, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 66000, 69000, 3000, 71, 0x831a1e4a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 66000, 69000, 3000, 168, 0xe73b427c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 69000, 87000, 3000, 179, 0xdc325270, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 69000, 87000, 3000, 113, 0x6a621efe, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 72000, 81000, 3000, 320, 0x0c4391c6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 72000, 81000, 3000, 87, 0xf86a15ee, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 75000, 75000, 3000, 423, 0x8e4acade, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 75000, 75000, 3000, 139, 0xb0f93bbf, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 78000, 78000, 3000, 1048, 0x0a09ff27, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 78000, 78000, 3000, 103, 0x303b27b7, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 81000, 84000, 3000, 611, 0xf5f72936, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 81000, 84000, 3000, 136, 0x1f1a3853, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, -6000, 0, 3000, 12989, 0xd4a4c6cb, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, -3000, 12000, 3000, 186, 0x785c535a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 0, 6000, 3000, 49, 0x70680ea8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 3000, 3000, 3000, 78, 0xc9961670, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 6000, 9000, 3000, 372, 0x98bfb4e8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 9000, 24000, 3000, 324, 0x754c831b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 12000, 18000, 3000, 467, 0x97b6e75e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 15000, 15000, 3000, 330, 0x5fd3a240, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 18000, 21000, 3000, 379, 0x5b8dadc0, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 21000, 27000, 3000, 590, 0x0c012d57, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 24000, 42000, 3000, 308, 0xe7ec8c9a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 27000, 36000, 3000, 263, 0x4aa76ee4, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 30000, 30000, 3000, 360, 0x0534b318, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 33000, 33000, 3000, 376, 0x9135a953, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 36000, 39000, 3000, 292, 0x3c64760f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 39000, 45000, 3000, 207, 0xed435817, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 42000, 60000, 3000, 219, 0x20325656, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 45000, 54000, 3000, 173, 0x9b0052da, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 48000, 48000, 3000, 312, 0xea838992, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 51000, 51000, 3000, 267, 0x1c456ce5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 54000, 57000, 3000, 252, 0x82426c2c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 57000, 72000, 3000, 141, 0x03383b3e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 60000, 66000, 3000, 168, 0xc99c43d0, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 63000, 63000, 3000, 150, 0x6f153b07, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 66000, 69000, 3000, 168, 0xe73b427c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 69000, 87000, 3000, 113, 0x6a621efe, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 72000, 81000, 3000, 87, 0xf86a15ee, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 75000, 75000, 3000, 139, 0xb0f93bbf, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 78000, 78000, 3000, 103, 0x303b27b7, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 81000, 84000, 3000, 136, 0x1f1a3853, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 [PROGRAM] [STREAM] index=0 diff --git a/tests/ref/fate/mpegts-lcevc-vvc-dual-track b/tests/ref/fate/mpegts-lcevc-vvc-dual-track index e76306b7d6..67b9353515 100644 --- a/tests/ref/fate/mpegts-lcevc-vvc-dual-track +++ b/tests/ref/fate/mpegts-lcevc-vvc-dual-track @@ -1,75 +1,39 @@ -#extradata 0: 60, 0x43210bfe -#extradata 1: 28, 0x62a0074d +#extradata 0: 28, 0x62a0074d #tb 0: 1/90000 #media_type 0: video -#codec_id 0: vvc -#dimensions 0: 320x180 +#codec_id 0: lcevc +#dimensions 0: 640x360 #sar 0: 0/1 -#tb 1: 1/90000 -#media_type 1: video -#codec_id 1: lcevc -#dimensions 1: 640x360 -#sar 1: 0/1 -0, -9000, 0, 3000, 15194, 0x43c98187, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, -9000, 0, 3000, 15162, 0x3c04da92, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, -6000, 24000, 3000, 932, 0xf8d6cab5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, -6000, 24000, 3000, 444, 0x99acb8c2, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, -3000, 12000, 3000, 54, 0xca2d15c5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, -3000, 12000, 3000, 880, 0x7084b2e9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 0, 6000, 3000, 36, 0x88690ab9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 0, 6000, 3000, 130, 0xaea03202, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 3000, 3000, 3000, 29, 0x4217067b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 3000, 3000, 3000, 49, 0x96b90ebe, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 6000, 9000, 3000, 29, 0x45be06c0, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 6000, 9000, 3000, 169, 0x0f964069, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 9000, 18000, 3000, 49, 0x6f4513cb, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 9000, 18000, 3000, 525, 0xa5ca0a9a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 12000, 15000, 3000, 29, 0x534e098a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 12000, 15000, 3000, 336, 0xd8868c8d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 15000, 21000, 3000, 29, 0x4ae908b8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 15000, 21000, 3000, 399, 0xcd45b6e7, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 18000, 48000, 3000, 2619, 0x6ede2970, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 18000, 48000, 3000, 395, 0xd306bc8d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 21000, 36000, 3000, 55, 0xf05d175d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 21000, 36000, 3000, 407, 0xfaf2b293, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 24000, 30000, 3000, 50, 0x92bc1361, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 24000, 30000, 3000, 463, 0x6b67e5ee, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 27000, 27000, 3000, 29, 0x4c0d08d7, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 27000, 27000, 3000, 397, 0x2530adc5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 30000, 33000, 3000, 29, 0x4dd408ec, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 30000, 33000, 3000, 392, 0x9df6c9b1, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 33000, 42000, 3000, 46, 0x459c11f6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 33000, 42000, 3000, 377, 0x3259c303, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 36000, 39000, 3000, 29, 0x552e09aa, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 36000, 39000, 3000, 304, 0x0dd58540, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 39000, 45000, 3000, 29, 0x4cc908d8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 39000, 45000, 3000, 191, 0x47c74b4c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 42000, 72000, 3000, 2895, 0x0b5594d7, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 42000, 72000, 3000, 175, 0xb152476b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 45000, 60000, 3000, 66, 0x1c2b1e2d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 45000, 60000, 3000, 242, 0x446566a5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 48000, 54000, 3000, 47, 0x5b2e12e5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 48000, 54000, 3000, 267, 0xf9bc71af, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 51000, 51000, 3000, 31, 0x5ece0934, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 51000, 51000, 3000, 289, 0xfe8a780f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 54000, 57000, 3000, 29, 0x4fb4090c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 54000, 57000, 3000, 242, 0x015a74df, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 57000, 66000, 3000, 58, 0x0e8b14d9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 57000, 66000, 3000, 206, 0x7e7d624c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 60000, 63000, 3000, 30, 0x5b9a090f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 60000, 63000, 3000, 187, 0x4c1152d9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 63000, 69000, 3000, 31, 0x5fe60928, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 63000, 69000, 3000, 269, 0x7efe76d6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 66000, 87000, 3000, 3109, 0x1d561966, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 66000, 87000, 3000, 179, 0x573b422b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 69000, 78000, 3000, 46, 0x4f9e125a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 69000, 78000, 3000, 186, 0x6d12589a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 72000, 75000, 3000, 29, 0x585e09e2, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 72000, 75000, 3000, 169, 0xa24f49ea, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 75000, 81000, 3000, 29, 0x52e7095b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 75000, 81000, 3000, 64, 0xa66c143b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -0, 78000, 84000, 3000, 48, 0x77bc1384, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 -1, 78000, 84000, 3000, 184, 0xc61e46d9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, -9000, 0, 3000, 15162, 0x3c04da92, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, -6000, 24000, 3000, 444, 0x99acb8c2, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, -3000, 12000, 3000, 880, 0x7084b2e9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 0, 6000, 3000, 130, 0xaea03202, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 3000, 3000, 3000, 49, 0x96b90ebe, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 6000, 9000, 3000, 169, 0x0f964069, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 9000, 18000, 3000, 525, 0xa5ca0a9a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 12000, 15000, 3000, 336, 0xd8868c8d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 15000, 21000, 3000, 399, 0xcd45b6e7, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 18000, 48000, 3000, 395, 0xd306bc8d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 21000, 36000, 3000, 407, 0xfaf2b293, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 24000, 30000, 3000, 463, 0x6b67e5ee, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 27000, 27000, 3000, 397, 0x2530adc5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 30000, 33000, 3000, 392, 0x9df6c9b1, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 33000, 42000, 3000, 377, 0x3259c303, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 36000, 39000, 3000, 304, 0x0dd58540, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 39000, 45000, 3000, 191, 0x47c74b4c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 42000, 72000, 3000, 175, 0xb152476b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 45000, 60000, 3000, 242, 0x446566a5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 48000, 54000, 3000, 267, 0xf9bc71af, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 51000, 51000, 3000, 289, 0xfe8a780f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 54000, 57000, 3000, 242, 0x015a74df, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 57000, 66000, 3000, 206, 0x7e7d624c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 60000, 63000, 3000, 187, 0x4c1152d9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 63000, 69000, 3000, 269, 0x7efe76d6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 66000, 87000, 3000, 179, 0x573b422b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 69000, 78000, 3000, 186, 0x6d12589a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 72000, 75000, 3000, 169, 0xa24f49ea, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 75000, 81000, 3000, 64, 0xa66c143b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 +0, 78000, 84000, 3000, 184, 0xc61e46d9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0 [PROGRAM] [STREAM] index=0 _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
