Browse Source

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.
Anton Khirnov 1 year ago
parent
commit
8996945d45
2 changed files with 3 additions and 0 deletions
  1. 2 0
      fftools/ffmpeg_enc.c
  2. 1 0
      fftools/ffmpeg_mux.c

+ 2 - 0
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)

+ 1 - 0
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);