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