* [FFmpeg-devel] [PATCH 1/5] avformat/demux: Copy AVCodecContext properties in codec_close()
2024-07-05 5:25 [FFmpeg-devel] [PATCH 0/5] Fix probing display of stream codec properties Marth64
@ 2024-07-05 5:25 ` Marth64
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 2/5] avformat/avformat: Add av_stream_get_codec_properties() to expose internal properties Marth64
` (3 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Marth64 @ 2024-07-05 5:25 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Marth64
After avformat_find_stream_info() calls codec_close(), the
properties are not copied in the newly created skeleton context
returned by codec_close(). This breaks display of the properties
when viewing stream information afterward e.g. via av_dump_format().
Copy the old properties over, thus fixing printing of the properties
(such as Closed Captions) in av_dump_format() that broke sometime
after 4.4.2.
Signed-off-by: Marth64 <marth64@proxyid.net>
---
libavformat/demux.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libavformat/demux.c b/libavformat/demux.c
index dc65f9ad91..72d4ae7593 100644
--- a/libavformat/demux.c
+++ b/libavformat/demux.c
@@ -1298,6 +1298,7 @@ static int codec_close(FFStream *sti)
if (ret < 0)
goto fail;
+ avctx_new->properties = sti->avctx->properties;
avctx_new->pkt_timebase = sti->avctx->pkt_timebase;
#if FF_API_TICKS_PER_FRAME
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 10+ messages in thread
* [FFmpeg-devel] [PATCH 2/5] avformat/avformat: Add av_stream_get_codec_properties() to expose internal properties
2024-07-05 5:25 [FFmpeg-devel] [PATCH 0/5] Fix probing display of stream codec properties Marth64
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 1/5] avformat/demux: Copy AVCodecContext properties in codec_close() Marth64
@ 2024-07-05 5:25 ` Marth64
2024-07-05 6:09 ` Anton Khirnov
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 3/5] doc/APIchanges: Bump for av_stream_get_codec_properties() Marth64
` (2 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Marth64 @ 2024-07-05 5:25 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Marth64
Signed-off-by: Marth64 <marth64@proxyid.net>
---
libavformat/avformat.c | 5 +++++
libavformat/avformat.h | 7 +++++++
2 files changed, 12 insertions(+)
diff --git a/libavformat/avformat.c b/libavformat/avformat.c
index 140fb5b6aa..35eb0f3b62 100644
--- a/libavformat/avformat.c
+++ b/libavformat/avformat.c
@@ -850,6 +850,11 @@ AVRational av_stream_get_codec_timebase(const AVStream *st)
return cffstream(st)->avctx ? cffstream(st)->avctx->time_base : cffstream(st)->transferred_mux_tb;
}
+unsigned av_stream_get_codec_properties(const AVStream *st)
+{
+ return cffstream(st)->avctx ? cffstream(st)->avctx->properties : 0;
+}
+
void avpriv_set_pts_info(AVStream *st, int pts_wrap_bits,
unsigned int pts_num, unsigned int pts_den)
{
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 8afdcd9fd0..f611f7a4a4 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -3072,6 +3072,13 @@ int avformat_transfer_internal_stream_timing_info(const AVOutputFormat *ofmt,
*/
AVRational av_stream_get_codec_timebase(const AVStream *st);
+/**
+ * Get the internal codec properties from a stream.
+ *
+ * @param st input stream to extract the properties from
+ */
+unsigned av_stream_get_codec_properties(const AVStream *st);
+
/**
* @}
*/
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 10+ messages in thread
* [FFmpeg-devel] [PATCH 3/5] doc/APIchanges: Bump for av_stream_get_codec_properties()
2024-07-05 5:25 [FFmpeg-devel] [PATCH 0/5] Fix probing display of stream codec properties Marth64
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 1/5] avformat/demux: Copy AVCodecContext properties in codec_close() Marth64
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 2/5] avformat/avformat: Add av_stream_get_codec_properties() to expose internal properties Marth64
@ 2024-07-05 5:25 ` Marth64
2024-07-05 6:02 ` Marth64
2024-07-05 6:02 ` [FFmpeg-devel] [PATCH v2] " Marth64
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 4/5] fftools/ffprobe: Copy codec properties when creating the ffprobe InputStream Marth64
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 5/5] tests/ref/fate/ts-demux: Update the expectation to expect closed_captions Marth64
4 siblings, 2 replies; 10+ messages in thread
From: Marth64 @ 2024-07-05 5:25 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Marth64
Signed-off-by: Marth64 <marth64@proxyid.net>
---
doc/APIchanges | 3 +++
1 file changed, 3 insertions(+)
diff --git a/doc/APIchanges b/doc/APIchanges
index ac7953a49c..3d2039647b 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07
API changes, most recent first:
+2024-07-04 - xxxxxxxxxx - lavu 59.29.100 - avformat.h
+ Add av_stream_get_codec_properties().
+
2024-07-02 - xxxxxxxxxx - lavu 59.28.100 - hwcontext_d3d12va.h
Add AVD3D12VAFramesContext.flags
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [FFmpeg-devel] [PATCH 3/5] doc/APIchanges: Bump for av_stream_get_codec_properties()
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 3/5] doc/APIchanges: Bump for av_stream_get_codec_properties() Marth64
@ 2024-07-05 6:02 ` Marth64
2024-07-05 6:02 ` [FFmpeg-devel] [PATCH v2] " Marth64
1 sibling, 0 replies; 10+ messages in thread
From: Marth64 @ 2024-07-05 6:02 UTC (permalink / raw)
To: Marth64; +Cc: ffmpeg-devel
My bad, sending correct version update for lavf now.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 10+ messages in thread
* [FFmpeg-devel] [PATCH v2] doc/APIchanges: Bump for av_stream_get_codec_properties()
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 3/5] doc/APIchanges: Bump for av_stream_get_codec_properties() Marth64
2024-07-05 6:02 ` Marth64
@ 2024-07-05 6:02 ` Marth64
1 sibling, 0 replies; 10+ messages in thread
From: Marth64 @ 2024-07-05 6:02 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Marth64
Signed-off-by: Marth64 <marth64@proxyid.net>
---
doc/APIchanges | 3 +++
1 file changed, 3 insertions(+)
diff --git a/doc/APIchanges b/doc/APIchanges
index ac7953a49c..80285d432d 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07
API changes, most recent first:
+2024-07-04 - xxxxxxxxxx - lavf 61.4.100 - avformat.h
+ Add av_stream_get_codec_properties().
+
2024-07-02 - xxxxxxxxxx - lavu 59.28.100 - hwcontext_d3d12va.h
Add AVD3D12VAFramesContext.flags
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 10+ messages in thread
* [FFmpeg-devel] [PATCH 4/5] fftools/ffprobe: Copy codec properties when creating the ffprobe InputStream
2024-07-05 5:25 [FFmpeg-devel] [PATCH 0/5] Fix probing display of stream codec properties Marth64
` (2 preceding siblings ...)
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 3/5] doc/APIchanges: Bump for av_stream_get_codec_properties() Marth64
@ 2024-07-05 5:25 ` Marth64
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 5/5] tests/ref/fate/ts-demux: Update the expectation to expect closed_captions Marth64
4 siblings, 0 replies; 10+ messages in thread
From: Marth64 @ 2024-07-05 5:25 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Marth64
Fixes the closed_captions and other properties fields emitted via
ffprobe's outputs.
Signed-off-by: Marth64 <marth64@proxyid.net>
---
fftools/ffprobe.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index 71d1ffc21f..ed2edcd638 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -3948,6 +3948,7 @@ static int open_input_file(InputFile *ifile, const char *filename,
av_dict_set(&opts, "flags", "+copy_opaque", AV_DICT_MULTIKEY);
+ ist->dec_ctx->properties = av_stream_get_codec_properties(stream);
ist->dec_ctx->pkt_timebase = stream->time_base;
if (avcodec_open2(ist->dec_ctx, codec, &opts) < 0) {
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 10+ messages in thread
* [FFmpeg-devel] [PATCH 5/5] tests/ref/fate/ts-demux: Update the expectation to expect closed_captions
2024-07-05 5:25 [FFmpeg-devel] [PATCH 0/5] Fix probing display of stream codec properties Marth64
` (3 preceding siblings ...)
2024-07-05 5:25 ` [FFmpeg-devel] [PATCH 4/5] fftools/ffprobe: Copy codec properties when creating the ffprobe InputStream Marth64
@ 2024-07-05 5:25 ` Marth64
4 siblings, 0 replies; 10+ messages in thread
From: Marth64 @ 2024-07-05 5:25 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Marth64
With the patchset and with RCWT demuxer as validation, the source
mp3ac325-4864-small.ts is confirmed to have eia_608 bytes.
Signed-off-by: Marth64 <marth64@proxyid.net>
---
tests/ref/fate/ts-demux | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/ref/fate/ts-demux b/tests/ref/fate/ts-demux
index ec4aeb2034..745c3cffec 100644
--- a/tests/ref/fate/ts-demux
+++ b/tests/ref/fate/ts-demux
@@ -23,7 +23,7 @@ packet|codec_type=audio|stream_index=2|pts=3912642700|pts_time=43473.807778|dts=
packet|codec_type=video|stream_index=0|pts=3912686363|pts_time=43474.292922|dts=3912686363|dts_time=43474.292922|duration=1501|duration_time=0.016678|size=4944|pos=506660|flags=___|data_hash=CRC32:54a86cbb
packet|codec_type=audio|stream_index=1|pts=3912644825|pts_time=43473.831389|dts=3912644825|dts_time=43473.831389|duration=2880|duration_time=0.032000|size=906|pos=474888|flags=K__|data_hash=CRC32:0893d398
packet|codec_type=audio|stream_index=2|pts=3912645580|pts_time=43473.839778|dts=3912645580|dts_time=43473.839778|duration=2880|duration_time=0.032000|size=354|pos=491808|flags=K__|data_hash=CRC32:f5963fa6
-stream|index=0|codec_name=mpeg2video|profile=4|codec_type=video|codec_tag_string=[2][0][0][0]|codec_tag=0x0002|width=1280|height=720|coded_width=0|coded_height=0|closed_captions=0|film_grain=0|has_b_frames=1|sample_aspect_ratio=1:1|display_aspect_ratio=16:9|pix_fmt=yuv420p|level=4|color_range=tv|color_space=unknown|color_transfer=unknown|color_primaries=unknown|chroma_location=left|field_order=progressive|refs=1|ts_id=32776|ts_packetsize=188|id=0x31|r_frame_rate=60000/1001|avg_frame_rate=60000/1001|time_base=1/90000|start_pts=3912669846|start_time=43474.109400|duration_ts=19519|duration=0.216878|bit_rate=15000000|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=15|extradata_size=150|extradata_hash=CRC32:53134fa8|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effect
s=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|side_datum/cpb_properties:side_data_type=CPB properties|side_datum/cpb_properties:max_bitrate=15000000|side_datum/cpb_properties:min_bitrate=0|side_datum/cpb_properties:avg_bitrate=0|side_datum/cpb_properties:buffer_size=9781248|side_datum/cpb_properties:vbv_delay=-1
+stream|index=0|codec_name=mpeg2video|profile=4|codec_type=video|codec_tag_string=[2][0][0][0]|codec_tag=0x0002|width=1280|height=720|coded_width=0|coded_height=0|closed_captions=1|film_grain=0|has_b_frames=1|sample_aspect_ratio=1:1|display_aspect_ratio=16:9|pix_fmt=yuv420p|level=4|color_range=tv|color_space=unknown|color_transfer=unknown|color_primaries=unknown|chroma_location=left|field_order=progressive|refs=1|ts_id=32776|ts_packetsize=188|id=0x31|r_frame_rate=60000/1001|avg_frame_rate=60000/1001|time_base=1/90000|start_pts=3912669846|start_time=43474.109400|duration_ts=19519|duration=0.216878|bit_rate=15000000|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=15|extradata_size=150|extradata_hash=CRC32:53134fa8|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effect
s=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|side_datum/cpb_properties:side_data_type=CPB properties|side_datum/cpb_properties:max_bitrate=15000000|side_datum/cpb_properties:min_bitrate=0|side_datum/cpb_properties:avg_bitrate=0|side_datum/cpb_properties:buffer_size=9781248|side_datum/cpb_properties:vbv_delay=-1
stream|index=1|codec_name=ac3|profile=unknown|codec_type=audio|codec_tag_string=[4][0][0][0]|codec_tag=0x0004|sample_fmt=fltp|sample_rate=48000|channels=6|channel_layout=5.1(side)|bits_per_sample=0|initial_padding=0|ts_id=32776|ts_packetsize=188|id=0x34|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/90000|start_pts=3912633305|start_time=43473.703389|duration_ts=14400|duration=0.160000|bit_rate=384000|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=5|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|tag:language=eng
stream|index=2|codec_name=ac3|profile=unknown|codec_type=audio|codec_tag_string=[4][0][0][0]|codec_tag=0x0004|sample_fmt=fltp|sample_rate=48000|channels=2|channel_layout=stereo|bits_per_sample=0|initial_padding=0|ts_id=32776|ts_packetsize=188|id=0x35|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/90000|start_pts=3912634060|start_time=43473.711778|duration_ts=14400|duration=0.160000|bit_rate=192000|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=5|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|tag:language=es
format|filename=mp3ac325-4864-small.ts|nb_streams=3|nb_programs=1|nb_stream_groups=0|format_name=mpegts|start_time=43473.703389|duration=0.622889|size=512000|bit_rate=6575810|probe_score=50
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 10+ messages in thread