[FFmpeg-devel] [PATCH] Include field_mode information in NUT stream info
Michael Niedermayer
michael at niedermayer.cc
Sun Mar 9 20:08:13 EET 2025
Hi Anders
On Sat, Mar 08, 2025 at 10:00:34PM +0100, Anders Rein wrote:
> This will make it possible to transmit raw video over NUT without losing
> the field order information.
> ---
> libavformat/nutdec.c | 4 ++++
> libavformat/nutenc.c | 3 +++
> 2 files changed, 7 insertions(+)
>
> diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
> index 34b7e3cb9a..07eff23134 100644
> --- a/libavformat/nutdec.c
> +++ b/libavformat/nutdec.c
> @@ -607,6 +607,10 @@ static int decode_info_header(NUTContext *nut)
> continue;
> }
>
> + if (stream_id_plus1 && !strcmp(name, "field_order")) {
> + sscanf(str_value, "%d", &st->codecpar->field_order);
> + }
> +
indention is inconsistant, data is not checkecked for validity
> if (metadata && av_strcasecmp(name, "Uses") &&
> av_strcasecmp(name, "Depends") && av_strcasecmp(name, "Replaces")) {
> if (event_flags)
> diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
> index 55efb114c3..0853fecf5c 100644
> --- a/libavformat/nutenc.c
> +++ b/libavformat/nutenc.c
> @@ -566,6 +566,9 @@ static int write_streaminfo(NUTContext *nut, AVIOContext *bc, int stream_id) {
> else
> snprintf(buf, sizeof(buf), "%d/%d", st->avg_frame_rate.num, st->avg_frame_rate.den);
> count += add_info(dyn_bc, "r_frame_rate", buf);
> +
> + snprintf(buf, sizeof(buf), "%d", st->codecpar->field_order);
> + count += add_info(dyn_bc, "field_order", buf);
a numeric field order is not well defined. Also if you place this in
streaminfo. Please explain what shall be done if it changes
and it would need an update to fate tests (which break)
--- ./tests/ref/fate/ffmpeg-loopback-decoding 2025-03-03 01:18:34.299595988 +0100
+++ tests/data/fate/ffmpeg-loopback-decoding 2025-03-09 18:59:36.248837197 +0100
@@ -1,5 +1,5 @@
-e4e0e27eb8ed99eedc2458d92401c5e4 *tests/data/fate/ffmpeg-loopback-decoding.nut
-7435259 tests/data/fate/ffmpeg-loopback-decoding.nut
+460c64b2deef77f80c3afe6135c0a464 *tests/data/fate/ffmpeg-loopback-decoding.nut
+7435274 tests/data/fate/ffmpeg-loopback-decoding.nut
#tb 0: 1/25
#media_type 0: video
#codec_id 0: rawvideo
and update to nut.txt (which lists no field_order IIRC)
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I have often repented speaking, but never of holding my tongue.
-- Xenocrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250309/85629428/attachment.sig>
More information about the ffmpeg-devel
mailing list