static int video_qscale = 0;
static int video_qmin = 2;
static int video_qmax = 31;
+static int video_mb_qmin = 2;
+static int video_mb_qmax = 31;
static int video_qdiff = 3;
static float video_qblur = 0.5;
static float video_qcomp = 0.5;
}
}
+void opt_mb_qmin(const char *arg)
+{
+ video_mb_qmin = atoi(arg);
+ if (video_mb_qmin < 0 ||
+ video_mb_qmin > 31) {
+ fprintf(stderr, "qmin must be >= 1 and <= 31\n");
+ exit(1);
+ }
+}
+
+void opt_mb_qmax(const char *arg)
+{
+ video_mb_qmax = atoi(arg);
+ if (video_mb_qmax < 0 ||
+ video_mb_qmax > 31) {
+ fprintf(stderr, "qmax must be >= 1 and <= 31\n");
+ exit(1);
+ }
+}
+
void opt_qdiff(const char *arg)
{
video_qdiff = atoi(arg);
video_enc->qmin = video_qmin;
video_enc->qmax = video_qmax;
+ video_enc->mb_qmin = video_mb_qmin;
+ video_enc->mb_qmax = video_mb_qmax;
video_enc->max_qdiff = video_qdiff;
video_enc->qblur = video_qblur;
video_enc->qcompress = video_qcomp;
{ "qscale", HAS_ARG | OPT_EXPERT, {(void*)opt_qscale}, "use fixed video quantiser scale (VBR)", "q" },
{ "qmin", HAS_ARG | OPT_EXPERT, {(void*)opt_qmin}, "min video quantiser scale (VBR)", "q" },
{ "qmax", HAS_ARG | OPT_EXPERT, {(void*)opt_qmax}, "max video quantiser scale (VBR)", "q" },
+ { "mbqmin", HAS_ARG | OPT_EXPERT, {(void*)opt_mb_qmin}, "min macroblock quantiser scale (VBR)", "q" },
+ { "mbqmax", HAS_ARG | OPT_EXPERT, {(void*)opt_mb_qmax}, "max macroblock quantiser scale (VBR)", "q" },
{ "qdiff", HAS_ARG | OPT_EXPERT, {(void*)opt_qdiff}, "max difference between the quantiser scale (VBR)", "q" },
{ "qblur", HAS_ARG | OPT_EXPERT, {(void*)opt_qblur}, "video quantiser scale blur (VBR)", "blur" },
{ "qcomp", HAS_ARG | OPT_EXPERT, {(void*)opt_qcomp}, "video quantiser scale compression (VBR)", "compression" },
#define LIBAVCODEC_VERSION_INT 0x000406
#define LIBAVCODEC_VERSION "0.4.6"
-#define LIBAVCODEC_BUILD 4645
-#define LIBAVCODEC_BUILD_STR "4645"
+#define LIBAVCODEC_BUILD 4646
+#define LIBAVCODEC_BUILD_STR "4646"
enum CodecID {
CODEC_ID_NONE,
#define FF_DEBUG_QP 16
#define FF_DEBUG_MV 32
#define FF_DEBUG_VIS_MV 64
+#define FF_DEBUG_SKIP 128
/**
* error
* decoding: unused
*/
uint64_t error[4];
+
+ /**
+ * minimum MB quantizer
+ * encoding: set by user.
+ * decoding: unused
+ */
+ int mb_qmin;
+
+ /**
+ * maximum MB quantizer
+ * encoding: set by user.
+ * decoding: unused
+ */
+ int mb_qmax;
} AVCodecContext;
typedef struct AVCodec {