From f4ad238c6c696f021e53eae8f255c2d1b79fefbb Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 9 Aug 2011 11:32:16 +0200 Subject: [PATCH] avconv: rename sameq to same_quant It's often mistakenly used as 'same quality', emphasize that it's not true in the manual. --- avconv.c | 12 ++++++------ doc/avconv.texi | 10 ++++------ tests/codec-regression.sh | 2 +- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/avconv.c b/avconv.c index 31bfa190b5..4341414108 100644 --- a/avconv.c +++ b/avconv.c @@ -140,7 +140,7 @@ static int video_disable = 0; static int video_discard = 0; static unsigned int video_codec_tag = 0; static char *video_language = NULL; -static int same_quality = 0; +static int same_quant = 0; static int do_deinterlace = 0; static int top_field_first = -1; static int me_threshold = 0; @@ -1294,7 +1294,7 @@ static void do_video_out(AVFormatContext *s, big_picture.top_field_first = top_field_first; } - /* handles sameq here. This is not correct because it may + /* handles same_quant here. This is not correct because it may not be a global option */ big_picture.quality = quality; if(!me_threshold) @@ -1612,7 +1612,7 @@ static int output_packet(InputStream *ist, int ist_index, ret = avcodec_decode_video2(ist->st->codec, &picture, &got_output, &avpkt); - quality = same_quality ? picture.quality : 0; + quality = same_quant ? picture.quality : 0; if (ret < 0) return ret; if (!got_output) { @@ -1738,7 +1738,7 @@ static int output_packet(InputStream *ist, int ist_index, ost->st->codec->sample_aspect_ratio = ost->picref->video->pixel_aspect; #endif do_video_out(os, ost, ist, &picture, &frame_size, - same_quality ? quality : ost->st->codec->global_quality); + same_quant ? quality : ost->st->codec->global_quality); if (vstats_filename && frame_size) do_video_stats(os, ost, frame_size); break; @@ -3239,7 +3239,7 @@ static OutputStream *new_video_stream(AVFormatContext *oc, int file_idx) if (intra_only) video_enc->gop_size = 0; - if (video_qscale || same_quality) { + if (video_qscale || same_quant) { video_enc->flags |= CODEC_FLAG_QSCALE; video_enc->global_quality = FF_QP2LAMBDA * video_qscale; } @@ -4085,7 +4085,7 @@ static const OptionDef options[] = { { "rc_override", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_video_rc_override_string}, "rate control override for specific intervals", "override" }, { "vcodec", HAS_ARG | OPT_VIDEO, {(void*)opt_video_codec}, "force video codec ('copy' to copy stream)", "codec" }, { "me_threshold", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_me_threshold}, "motion estimaton threshold", "threshold" }, - { "sameq", OPT_BOOL | OPT_VIDEO, {(void*)&same_quality}, + { "same_quant", OPT_BOOL | OPT_VIDEO, {(void*)&same_quant}, "use same quantizer as source (implies VBR)" }, { "pass", HAS_ARG | OPT_VIDEO, {(void*)opt_pass}, "select the pass number (1 or 2)", "n" }, { "passlogfile", HAS_ARG | OPT_STRING | OPT_VIDEO, {(void*)&pass_logfilename_prefix}, "select two pass log file name prefix", "prefix" }, diff --git a/doc/avconv.texi b/doc/avconv.texi index ba1c1a06a5..d3d85e0a7c 100644 --- a/doc/avconv.texi +++ b/doc/avconv.texi @@ -308,9 +308,12 @@ It is of little use elsewise. Set video buffer verifier buffer size (in bits). @item -vcodec @var{codec} Set the video codec. This is an alias for @code{-codec:v}. -@item -sameq +@item -same_quant Use same quantizer as source (implies VBR). +Note that this is NOT SAME QUALITY. Do not use this option unless you know you +need it. + @item -pass @var{n} Select the pass number (1 or 2). It is used to do two-pass video encoding. The statistics of the video are recorded in the first @@ -848,11 +851,6 @@ To have a constant quality (but a variable bitrate), use the option '-qscale n' when 'n' is between 1 (excellent quality) and 31 (worst quality). -@item -When converting video files, you can use the '-sameq' option which -uses the same quality factor in the encoder as in the decoder. -It allows almost lossless encoding. - @end itemize @c man end TIPS diff --git a/tests/codec-regression.sh b/tests/codec-regression.sh index a44f6320ea..902e37d1d2 100755 --- a/tests/codec-regression.sh +++ b/tests/codec-regression.sh @@ -58,7 +58,7 @@ do_video_decoding # mpeg2 encoding interlaced file=${outfile}mpeg2reuse.mpg -do_avconv $file $DEC_OPTS -me_threshold 256 -i ${target_path}/${outfile}mpeg2thread.mpg $ENC_OPTS -sameq -me_threshold 256 -mb_threshold 1024 -vcodec mpeg2video -f mpeg1video -bf 2 -flags +ildct+ilme -threads 4 +do_avconv $file $DEC_OPTS -me_threshold 256 -i ${target_path}/${outfile}mpeg2thread.mpg $ENC_OPTS -same_quant -me_threshold 256 -mb_threshold 1024 -vcodec mpeg2video -f mpeg1video -bf 2 -flags +ildct+ilme -threads 4 do_video_decoding fi