[FFmpeg-devel] [PATCH 9/9] ffmpeg: move quality parameter to do_video_out() scope.
Clément Bœsch
ubitux at gmail.com
Wed Feb 8 18:18:32 CET 2012
From: Clément Bœsch <clement.boesch at smartjog.com>
This make do_video_out() and do_audio_out() consistent. Also simplifies
callers.
---
ffmpeg.c | 17 ++++++-----------
1 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/ffmpeg.c b/ffmpeg.c
index 56f83f5..02f1420 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1489,11 +1489,8 @@ static void do_video_stats(AVFormatContext *os, OutputStream *ost,
}
-static void do_video_out(AVFormatContext *s,
- OutputStream *ost,
- InputStream *ist,
- AVFrame *in_picture,
- float quality)
+static void do_video_out(AVFormatContext *s, OutputStream *ost,
+ InputStream *ist, AVFrame *in_picture)
{
int nb_frames, i, ret, format_video_sync;
AVFrame *final_picture;
@@ -1501,6 +1498,8 @@ static void do_video_out(AVFormatContext *s,
double sync_ipts;
double duration = 0;
int frame_size = 0;
+ float quality = same_quant ? in_picture->quality
+ : ost->st->codec->global_quality;
enc = ost->st->codec;
@@ -2057,7 +2056,6 @@ static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int
AVFrame *decoded_frame;
void *buffer_to_free = NULL;
int i, ret = 0;
- float quality = 0;
int64_t *best_effort_timestamp;
AVRational *frame_sample_aspect;
@@ -2075,7 +2073,6 @@ static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int
if (ret < 0)
return ret;
- quality = same_quant ? decoded_frame->quality : 0;
if (!*got_output) {
/* no picture yet */
return ret;
@@ -2150,14 +2147,12 @@ static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int
}
if (ost->picref->video && !ost->frame_aspect_ratio)
ost->st->codec->sample_aspect_ratio = ost->picref->video->sample_aspect_ratio;
- do_video_out(output_files[ost->file_index].ctx, ost, ist, filtered_frame,
- same_quant ? quality : ost->st->codec->global_quality);
+ do_video_out(output_files[ost->file_index].ctx, ost, ist, filtered_frame);
cont:
avfilter_unref_buffer(ost->picref);
}
#else
- do_video_out(output_files[ost->file_index].ctx, ost, ist, decoded_frame,
- same_quant ? quality : ost->st->codec->global_quality);
+ do_video_out(output_files[ost->file_index].ctx, ost, ist, decoded_frame);
#endif
}
--
1.7.8.3
More information about the ffmpeg-devel
mailing list