summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2024-03-01 14:57:04 +0100
committerAnton Khirnov <anton@khirnov.net>2024-03-09 20:03:33 +0100
commit7fa9d0d007c7d592d13ec16118971f3065ca91ee (patch)
treed75c481878ce7da4c42b9db969cb445c1c602f57
parent1b546b5b343b535f88c983f459deeaee75d2df3d (diff)
fftools/ffmpeg_enc: set AV_PKT_FLAG_TRUSTED on encoded packets
This allows using WRAPPED_AVFRAME encoders with loopback decoders in order to connect multiple filtergraphs together. Clear the flag in muxers, since lavf does not need it for anything and it would change the results of framecrc FATE tests.
-rw-r--r--fftools/ffmpeg_enc.c2
-rw-r--r--fftools/ffmpeg_mux.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c
index d1dae558e1..c9a12af139 100644
--- a/fftools/ffmpeg_enc.c
+++ b/fftools/ffmpeg_enc.c
@@ -706,6 +706,8 @@ static int encode_frame(OutputFile *of, OutputStream *ost, AVFrame *frame,
return ret;
}
+ pkt->flags |= AV_PKT_FLAG_TRUSTED;
+
if (enc->codec_type == AVMEDIA_TYPE_VIDEO) {
ret = update_video_stats(ost, pkt, !!vstats_filename);
if (ret < 0)
diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c
index 59befefab2..e8e5c677b8 100644
--- a/fftools/ffmpeg_mux.c
+++ b/fftools/ffmpeg_mux.c
@@ -433,6 +433,7 @@ int muxer_thread(void *arg)
ost = of->streams[mux->sch_stream_idx[stream_idx]];
mt.pkt->stream_index = ost->index;
+ mt.pkt->flags &= ~AV_PKT_FLAG_TRUSTED;
ret = mux_packet_filter(mux, &mt, ost, ret < 0 ? NULL : mt.pkt, &stream_eof);
av_packet_unref(mt.pkt);