> From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > James Almer > Sent: Wednesday, June 10, 2020 12:22 > To: ffmpeg-devel@ffmpeg.org > Subject: Re: [FFmpeg-devel] [PATCH 4/5] fftools/ffmpeg: flush and recreate > encoder instance if resolution changes > > On 6/9/2020 5:48 AM, Linjie Fu wrote: > > Signed-off-by: Linjie Fu <linjie...@intel.com> > > --- > > Should be squashed with: > > https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=1434 > > > > fftools/ffmpeg.c | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c > > index 5859781..8cdd532 100644 > > --- a/fftools/ffmpeg.c > > +++ b/fftools/ffmpeg.c > > @@ -130,6 +130,7 @@ static void do_video_stats(OutputStream *ost, int > frame_size); > > static BenchmarkTimeStamps get_benchmark_time_stamps(void); > > static int64_t getmaxrss(void); > > static int ifilter_has_all_input_formats(FilterGraph *fg); > > +static void flush_encoders(void); > > > > static int run_as_daemon = 0; > > static int nb_frames_dup = 0; > > @@ -1058,11 +1059,21 @@ static void do_video_out(OutputFile *of, > > > > if (next_picture && (enc->width != next_picture->width || > > enc->height != next_picture->height)) { > > + flush_encoders(); > > + avcodec_flush_buffers(enc); > > This only works for a limited amount of encoders that set the > AV_CODEC_CAP_ENCODER_FLUSH codec capability, and it's a no-op after > emitting a warning otherwise.
Yes, hence would like to declare VARIABLE_DIMENSIONS and ENCODER_FLUSH capability for encoders as well: https://patchwork.ffmpeg.org/project/ffmpeg/patch/1591692568-19385-1-git-send-email-linjie...@intel.com/ - Linjie _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".