aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2023-03-25 20:13:34 +0100
committerAnton Khirnov <anton@khirnov.net>2023-04-09 15:47:45 +0200
commitf098eaee56b5dd7707b572f9fd0512f8bc72ed77 (patch)
tree56aea7c1e9467be6264a9a9659eb215e62c6f477
parent2225134e7d4992eecd2be8ced90977877a138e90 (diff)
downloadffmpeg-f098eaee56b5dd7707b572f9fd0512f8bc72ed77.tar.gz
fftools/ffmpeg_enc: factorize calling enc_init()
It is done in the same way for both audio and video, so can be moved to enc_frame().
-rw-r--r--fftools/ffmpeg_enc.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c
index 1387e05cf6..2f1803a74c 100644
--- a/fftools/ffmpeg_enc.c
+++ b/fftools/ffmpeg_enc.c
@@ -762,10 +762,6 @@ static void do_audio_out(OutputFile *of, OutputStream *ost,
AVCodecContext *enc = ost->enc_ctx;
int ret;
- ret = enc_open(ost, frame);
- if (ret < 0)
- exit_program(1);
-
if (frame->pts == AV_NOPTS_VALUE)
frame->pts = ost->next_pts;
else {
@@ -967,10 +963,6 @@ static void do_video_out(OutputFile *of,
InputStream *ist = ost->ist;
AVFilterContext *filter = ost->filter->filter;
- ret = enc_open(ost, next_picture);
- if (ret < 0)
- exit_program(1);
-
frame_rate = av_buffersink_get_frame_rate(filter);
if (frame_rate.num > 0 && frame_rate.den > 0)
duration = 1/(av_q2d(frame_rate) * av_q2d(enc->time_base));
@@ -1062,6 +1054,11 @@ static void do_video_out(OutputFile *of,
void enc_frame(OutputStream *ost, AVFrame *frame)
{
OutputFile *of = output_files[ost->file_index];
+ int ret;
+
+ ret = enc_open(ost, frame);
+ if (ret < 0)
+ exit_program(1);
if (ost->enc_ctx->codec_type == AVMEDIA_TYPE_VIDEO) do_video_out(of, ost, frame);
else do_audio_out(of, ost, frame);