Re: [FFmpeg-devel] [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base.
Am 25.07.21 um 09:47 schrieb Thilo Borgmann: > Am 16.07.21 um 09:45 schrieb Thilo Borgmann: >> Hi, >> > when transcoding 608 cc, the cc stream frame pts is set to the same value > as its container frame's pts. However, the time_base is always set to > 1/9 (default) in the initialization stage. Which causes timing issues > when the container time_base is actually not 1/9. identical v2 attached that also includes updates to the FATE references affected by the patch (and failed with patchwork of course). -Thilo From 41b619e5d5083ca59a41cca9cb515190939d6573 Mon Sep 17 00:00:00 2001 From: Yun Zhang Date: Mon, 28 Jun 2021 15:09:42 +0200 Subject: [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base. Suggested-By: ffm...@fb.com --- libavdevice/lavfi.c| 3 +++ tests/ref/fate/sub-cc | 4 ++-- tests/ref/fate/sub-cc-realtime | 38 +++--- 3 files changed, 13 insertions(+), 32 deletions(-) diff --git a/libavdevice/lavfi.c b/libavdevice/lavfi.c index 57d977e7ce..e07f20c872 100644 --- a/libavdevice/lavfi.c +++ b/libavdevice/lavfi.c @@ -100,6 +100,7 @@ static int create_subcc_streams(AVFormatContext *avctx) LavfiContext *lavfi = avctx->priv_data; AVStream *st; int stream_idx, sink_idx; +AVRational *time_base; for (stream_idx = 0; stream_idx < lavfi->nb_sinks; stream_idx++) { sink_idx = lavfi->stream_sink_map[stream_idx]; @@ -109,6 +110,8 @@ static int create_subcc_streams(AVFormatContext *avctx) return AVERROR(ENOMEM); st->codecpar->codec_id = AV_CODEC_ID_EIA_608; st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; +time_base = &avctx->streams[stream_idx]->time_base; +avpriv_set_pts_info(st, 64, time_base->num, time_base->den); >>> >>> This look like an unnecessariily complicated way to write >>> st->time_base.{num,den} >> >> Changed patch attached. > > Will push soon (tm) if there are no further comments. Pushed, thanks! -Thilo ___ 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".
Re: [FFmpeg-devel] [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base.
Am 16.07.21 um 09:45 schrieb Thilo Borgmann: > Hi, > when transcoding 608 cc, the cc stream frame pts is set to the same value as its container frame's pts. However, the time_base is always set to 1/9 (default) in the initialization stage. Which causes timing issues when the container time_base is actually not 1/9. >>> >>> identical v2 attached that also includes updates to the FATE references >>> affected by the patch (and failed with patchwork of course). >>> >>> -Thilo >>> >>> From 41b619e5d5083ca59a41cca9cb515190939d6573 Mon Sep 17 00:00:00 2001 >>> From: Yun Zhang >>> Date: Mon, 28 Jun 2021 15:09:42 +0200 >>> Subject: [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container >>> time_base. >>> >>> Suggested-By: ffm...@fb.com >>> --- >>> libavdevice/lavfi.c| 3 +++ >>> tests/ref/fate/sub-cc | 4 ++-- >>> tests/ref/fate/sub-cc-realtime | 38 +++--- >>> 3 files changed, 13 insertions(+), 32 deletions(-) >>> >>> diff --git a/libavdevice/lavfi.c b/libavdevice/lavfi.c >>> index 57d977e7ce..e07f20c872 100644 >>> --- a/libavdevice/lavfi.c >>> +++ b/libavdevice/lavfi.c >>> @@ -100,6 +100,7 @@ static int create_subcc_streams(AVFormatContext *avctx) >>> LavfiContext *lavfi = avctx->priv_data; >>> AVStream *st; >>> int stream_idx, sink_idx; >>> +AVRational *time_base; >>> >>> for (stream_idx = 0; stream_idx < lavfi->nb_sinks; stream_idx++) { >>> sink_idx = lavfi->stream_sink_map[stream_idx]; >>> @@ -109,6 +110,8 @@ static int create_subcc_streams(AVFormatContext *avctx) >>> return AVERROR(ENOMEM); >>> st->codecpar->codec_id = AV_CODEC_ID_EIA_608; >>> st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; >>> +time_base = &avctx->streams[stream_idx]->time_base; >>> +avpriv_set_pts_info(st, 64, time_base->num, time_base->den); >> >> This look like an unnecessariily complicated way to write >> st->time_base.{num,den} > > Changed patch attached. Will push soon (tm) if there are no further comments. Thanks, Thilo ___ 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".
Re: [FFmpeg-devel] [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base.
Hi, >>> when transcoding 608 cc, the cc stream frame pts is set to the same value >>> as its container frame's pts. However, the time_base is always set to >>> 1/9 (default) in the initialization stage. Which causes timing issues >>> when the container time_base is actually not 1/9. >> >> identical v2 attached that also includes updates to the FATE references >> affected by the patch (and failed with patchwork of course). >> >> -Thilo >> >> From 41b619e5d5083ca59a41cca9cb515190939d6573 Mon Sep 17 00:00:00 2001 >> From: Yun Zhang >> Date: Mon, 28 Jun 2021 15:09:42 +0200 >> Subject: [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container >> time_base. >> >> Suggested-By: ffm...@fb.com >> --- >> libavdevice/lavfi.c| 3 +++ >> tests/ref/fate/sub-cc | 4 ++-- >> tests/ref/fate/sub-cc-realtime | 38 +++--- >> 3 files changed, 13 insertions(+), 32 deletions(-) >> >> diff --git a/libavdevice/lavfi.c b/libavdevice/lavfi.c >> index 57d977e7ce..e07f20c872 100644 >> --- a/libavdevice/lavfi.c >> +++ b/libavdevice/lavfi.c >> @@ -100,6 +100,7 @@ static int create_subcc_streams(AVFormatContext *avctx) >> LavfiContext *lavfi = avctx->priv_data; >> AVStream *st; >> int stream_idx, sink_idx; >> +AVRational *time_base; >> >> for (stream_idx = 0; stream_idx < lavfi->nb_sinks; stream_idx++) { >> sink_idx = lavfi->stream_sink_map[stream_idx]; >> @@ -109,6 +110,8 @@ static int create_subcc_streams(AVFormatContext *avctx) >> return AVERROR(ENOMEM); >> st->codecpar->codec_id = AV_CODEC_ID_EIA_608; >> st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; >> +time_base = &avctx->streams[stream_idx]->time_base; >> +avpriv_set_pts_info(st, 64, time_base->num, time_base->den); > > This look like an unnecessariily complicated way to write > st->time_base.{num,den} Changed patch attached. Thanks, Thilo From ca110e104f7fa8b18db92ba9c79a5f0093ba9719 Mon Sep 17 00:00:00 2001 From: Yun Zhang Date: Fri, 16 Jul 2021 09:43:54 +0200 Subject: [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base. Suggested-By: ffm...@fb.com --- libavdevice/lavfi.c| 4 tests/ref/fate/sub-cc | 4 ++-- tests/ref/fate/sub-cc-realtime | 38 +++--- 3 files changed, 14 insertions(+), 32 deletions(-) diff --git a/libavdevice/lavfi.c b/libavdevice/lavfi.c index 57d977e7ce..4eb1f56f7d 100644 --- a/libavdevice/lavfi.c +++ b/libavdevice/lavfi.c @@ -100,6 +100,7 @@ static int create_subcc_streams(AVFormatContext *avctx) LavfiContext *lavfi = avctx->priv_data; AVStream *st; int stream_idx, sink_idx; +AVRational *time_base; for (stream_idx = 0; stream_idx < lavfi->nb_sinks; stream_idx++) { sink_idx = lavfi->stream_sink_map[stream_idx]; @@ -109,6 +110,9 @@ static int create_subcc_streams(AVFormatContext *avctx) return AVERROR(ENOMEM); st->codecpar->codec_id = AV_CODEC_ID_EIA_608; st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; +time_base = &avctx->streams[stream_idx]->time_base; +st->time_base.num = time_base->num; +st->time_base.den = time_base->den; } else { lavfi->sink_stream_subcc_map[sink_idx] = -1; } diff --git a/tests/ref/fate/sub-cc b/tests/ref/fate/sub-cc index 2b30a35be0..13f393cc86 100644 --- a/tests/ref/fate/sub-cc +++ b/tests/ref/fate/sub-cc @@ -11,5 +11,5 @@ Style: Default,Monospace,16,&Hff,&Hff,&H0,&H0,0,0,0,0,100,100,0,0,3,1,0, [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text -Dialogue: 0,0:00:12.36,0:00:40.83,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radio chatter{\i0} ) -Dialogue: 0,0:00:40.83,0:00:59.07,Default,,0,0,0,,{\an7}{\pos(38,28)}({\i1} inaudible radio chatter{\i0} )\N{\an7}{\pos(38,44)}>> Safety remains our number one +Dialogue: 0,0:00:00.83,0:00:02.97,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radio chatter{\i0} ) +Dialogue: 0,0:00:02.97,0:00:04.34,Default,,0,0,0,,{\an7}{\pos(38,28)}({\i1} inaudible radio chatter{\i0} )\N{\an7}{\pos(38,44)}>> Safety remains our number one diff --git a/tests/ref/fate/sub-cc-realtime b/tests/ref/fate/sub-cc-realtime index 5a95ff5cb7..169361f540 100644 --- a/tests/ref/fate/sub-cc-realtime +++ b/tests/ref/fate/sub-cc-realtime @@ -11,33 +11,11 @@ Style: Default,Monospace,16,&Hff,&Hff,&H0,&H0,0,0,0,0,100,100,0,0,3,1,0, [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text -Dialogue: 0,0:00:14.14,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}( -Dialogue: 0,0:00:15.47,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} in -Dialogue: 0,0:00:15.92,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inau -Dialogue: 0,0:00:16.36,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudi -Dialogue: 0,0:00:16.81,9:
Re: [FFmpeg-devel] [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base.
Quoting Thilo Borgmann (2021-06-28 15:12:11) > Hi, > > > when transcoding 608 cc, the cc stream frame pts is set to the same value > > as its container frame's pts. However, the time_base is always set to > > 1/9 (default) in the initialization stage. Which causes timing issues > > when the container time_base is actually not 1/9. > > identical v2 attached that also includes updates to the FATE references > affected by the patch (and failed with patchwork of course). > > -Thilo > > From 41b619e5d5083ca59a41cca9cb515190939d6573 Mon Sep 17 00:00:00 2001 > From: Yun Zhang > Date: Mon, 28 Jun 2021 15:09:42 +0200 > Subject: [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container > time_base. > > Suggested-By: ffm...@fb.com > --- > libavdevice/lavfi.c| 3 +++ > tests/ref/fate/sub-cc | 4 ++-- > tests/ref/fate/sub-cc-realtime | 38 +++--- > 3 files changed, 13 insertions(+), 32 deletions(-) > > diff --git a/libavdevice/lavfi.c b/libavdevice/lavfi.c > index 57d977e7ce..e07f20c872 100644 > --- a/libavdevice/lavfi.c > +++ b/libavdevice/lavfi.c > @@ -100,6 +100,7 @@ static int create_subcc_streams(AVFormatContext *avctx) > LavfiContext *lavfi = avctx->priv_data; > AVStream *st; > int stream_idx, sink_idx; > +AVRational *time_base; > > for (stream_idx = 0; stream_idx < lavfi->nb_sinks; stream_idx++) { > sink_idx = lavfi->stream_sink_map[stream_idx]; > @@ -109,6 +110,8 @@ static int create_subcc_streams(AVFormatContext *avctx) > return AVERROR(ENOMEM); > st->codecpar->codec_id = AV_CODEC_ID_EIA_608; > st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; > +time_base = &avctx->streams[stream_idx]->time_base; > +avpriv_set_pts_info(st, 64, time_base->num, time_base->den); This look like an unnecessariily complicated way to write st->time_base.{num,den} -- Anton Khirnov ___ 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".
Re: [FFmpeg-devel] [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base.
Am 28.06.21 um 15:12 schrieb Thilo Borgmann: > Hi, > >> when transcoding 608 cc, the cc stream frame pts is set to the same value as >> its container frame's pts. However, the time_base is always set to 1/9 >> (default) in the initialization stage. Which causes timing issues when the >> container time_base is actually not 1/9. > > identical v2 attached that also includes updates to the FATE references > affected by the patch (and failed with patchwork of course). Ping for review. -Thilo ___ 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".
Re: [FFmpeg-devel] [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base.
Hi, > when transcoding 608 cc, the cc stream frame pts is set to the same value as > its container frame's pts. However, the time_base is always set to 1/9 > (default) in the initialization stage. Which causes timing issues when the > container time_base is actually not 1/9. identical v2 attached that also includes updates to the FATE references affected by the patch (and failed with patchwork of course). -Thilo From 41b619e5d5083ca59a41cca9cb515190939d6573 Mon Sep 17 00:00:00 2001 From: Yun Zhang Date: Mon, 28 Jun 2021 15:09:42 +0200 Subject: [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base. Suggested-By: ffm...@fb.com --- libavdevice/lavfi.c| 3 +++ tests/ref/fate/sub-cc | 4 ++-- tests/ref/fate/sub-cc-realtime | 38 +++--- 3 files changed, 13 insertions(+), 32 deletions(-) diff --git a/libavdevice/lavfi.c b/libavdevice/lavfi.c index 57d977e7ce..e07f20c872 100644 --- a/libavdevice/lavfi.c +++ b/libavdevice/lavfi.c @@ -100,6 +100,7 @@ static int create_subcc_streams(AVFormatContext *avctx) LavfiContext *lavfi = avctx->priv_data; AVStream *st; int stream_idx, sink_idx; +AVRational *time_base; for (stream_idx = 0; stream_idx < lavfi->nb_sinks; stream_idx++) { sink_idx = lavfi->stream_sink_map[stream_idx]; @@ -109,6 +110,8 @@ static int create_subcc_streams(AVFormatContext *avctx) return AVERROR(ENOMEM); st->codecpar->codec_id = AV_CODEC_ID_EIA_608; st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; +time_base = &avctx->streams[stream_idx]->time_base; +avpriv_set_pts_info(st, 64, time_base->num, time_base->den); } else { lavfi->sink_stream_subcc_map[sink_idx] = -1; } diff --git a/tests/ref/fate/sub-cc b/tests/ref/fate/sub-cc index 2b30a35be0..13f393cc86 100644 --- a/tests/ref/fate/sub-cc +++ b/tests/ref/fate/sub-cc @@ -11,5 +11,5 @@ Style: Default,Monospace,16,&Hff,&Hff,&H0,&H0,0,0,0,0,100,100,0,0,3,1,0, [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text -Dialogue: 0,0:00:12.36,0:00:40.83,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radio chatter{\i0} ) -Dialogue: 0,0:00:40.83,0:00:59.07,Default,,0,0,0,,{\an7}{\pos(38,28)}({\i1} inaudible radio chatter{\i0} )\N{\an7}{\pos(38,44)}>> Safety remains our number one +Dialogue: 0,0:00:00.83,0:00:02.97,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radio chatter{\i0} ) +Dialogue: 0,0:00:02.97,0:00:04.34,Default,,0,0,0,,{\an7}{\pos(38,28)}({\i1} inaudible radio chatter{\i0} )\N{\an7}{\pos(38,44)}>> Safety remains our number one diff --git a/tests/ref/fate/sub-cc-realtime b/tests/ref/fate/sub-cc-realtime index 5a95ff5cb7..169361f540 100644 --- a/tests/ref/fate/sub-cc-realtime +++ b/tests/ref/fate/sub-cc-realtime @@ -11,33 +11,11 @@ Style: Default,Monospace,16,&Hff,&Hff,&H0,&H0,0,0,0,0,100,100,0,0,3,1,0, [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text -Dialogue: 0,0:00:14.14,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}( -Dialogue: 0,0:00:15.47,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} in -Dialogue: 0,0:00:15.92,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inau -Dialogue: 0,0:00:16.36,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudi -Dialogue: 0,0:00:16.81,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudibl -Dialogue: 0,0:00:17.25,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible -Dialogue: 0,0:00:17.70,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible ra -Dialogue: 0,0:00:18.14,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radi -Dialogue: 0,0:00:18.59,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radio -Dialogue: 0,0:00:19.03,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radio ch -Dialogue: 0,0:00:19.48,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radio chat -Dialogue: 0,0:00:19.92,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radio chatte -Dialogue: 0,0:00:20.36,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radio chatter -Dialogue: 0,0:00:21.70,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,44)}({\i1} inaudible radio chatter{\i0} ) -Dialogue: 0,0:00:42.61,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,28)}({\i1} inaudible radio chatter{\i0} )\N{\an7}{\pos(38,44)}>> -Dialogue: 0,0:00:43.05,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,28)}({\i1} inaudible radio chatter{\i0} )\N{\an7}{\pos(38,44)}>> S -Dialogue: 0,0:00:43.50,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,28)}({\i1} inaudible radio chatter{\i0} )\N{\an7}{\pos(38,44)}>> Saf -Dialogue: 0,0:00:43.94,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,28)}({\i1} inaudible radio chatter{\i0} )\N{\an7}{\pos(38,44)}>> Safet -Dialogue: 0,0:00:44.39,9:59:59.99,Default,,0,0,0,,{\an7}{\pos(38,28)}({\i1} inaudible ra
[FFmpeg-devel] [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base.
Hi, when transcoding 608 cc, the cc stream frame pts is set to the same value as its container frame's pts. However, the time_base is always set to 1/9 (default) in the initialization stage. Which causes timing issues when the container time_base is actually not 1/9. -Thilo From 98e48c5c34edaefd5a9310dab3803259efdfd502 Mon Sep 17 00:00:00 2001 From: Yun Zhang Date: Sun, 20 Jun 2021 21:08:00 +0200 Subject: [PATCH] lavd/lavfi.c: Set time_base for 608 cc to container time_base. Suggested-By: ffm...@fb.com --- libavdevice/lavfi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavdevice/lavfi.c b/libavdevice/lavfi.c index 57d977e..e07f20c 100644 --- a/libavdevice/lavfi.c +++ b/libavdevice/lavfi.c @@ -100,6 +100,7 @@ static int create_subcc_streams(AVFormatContext *avctx) LavfiContext *lavfi = avctx->priv_data; AVStream *st; int stream_idx, sink_idx; +AVRational *time_base; for (stream_idx = 0; stream_idx < lavfi->nb_sinks; stream_idx++) { sink_idx = lavfi->stream_sink_map[stream_idx]; @@ -109,6 +110,8 @@ static int create_subcc_streams(AVFormatContext *avctx) return AVERROR(ENOMEM); st->codecpar->codec_id = AV_CODEC_ID_EIA_608; st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; +time_base = &avctx->streams[stream_idx]->time_base; +avpriv_set_pts_info(st, 64, time_base->num, time_base->den); } else { lavfi->sink_stream_subcc_map[sink_idx] = -1; } -- 1.8.3.2 ___ 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".