annotate options.c @ 12530:63edd10ad4bc libavcodec tip

Try to fix crashes introduced by r25218 r25218 made assumptions about the existence of past reference frames that weren't necessarily true.
author darkshikari
date Tue, 28 Sep 2010 09:06:22 +0000
parents 776789af0304
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
1 /*
8629
04423b2f6e0b cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents: 8619
diff changeset
2 * Copyright (c) 2001 Fabrice Bellard
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
3 * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
4 *
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
5 * This file is part of FFmpeg.
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
6 *
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
11 *
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
15 * Lesser General Public License for more details.
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
16 *
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
20 */
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
21
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
22 /**
11644
7dd2a45249a9 Remove explicit filename from Doxygen @file commands.
diego
parents: 11578
diff changeset
23 * @file
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
24 * Options definition for AVCodecContext.
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
25 */
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
26
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
27 #include "avcodec.h"
12522
776789af0304 Move AVOptions from libavcodec to libavutil
michael
parents: 12481
diff changeset
28 #include "libavutil/opt.h"
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
29 #include <float.h> /* FLT_MIN, FLT_MAX */
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
30
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
31 static const char* context_to_name(void* ptr) {
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
32 AVCodecContext *avc= ptr;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
33
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
34 if(avc && avc->codec && avc->codec->name)
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
35 return avc->codec->name;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
36 else
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
37 return "NULL";
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
38 }
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
39
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
40 #define OFFSET(x) offsetof(AVCodecContext,x)
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
41 #define DEFAULT 0 //should be NAN but it does not work as it is not a constant in glibc as required by ANSI/ISO C
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
42 //these names are too long to be readable
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
43 #define V AV_OPT_FLAG_VIDEO_PARAM
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
44 #define A AV_OPT_FLAG_AUDIO_PARAM
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
45 #define S AV_OPT_FLAG_SUBTITLE_PARAM
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
46 #define E AV_OPT_FLAG_ENCODING_PARAM
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
47 #define D AV_OPT_FLAG_DECODING_PARAM
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
48
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
49 #define AV_CODEC_DEFAULT_BITRATE 200*1000
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
50
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
51 static const AVOption options[]={
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
52 {"b", "set bitrate (in bits/s)", OFFSET(bit_rate), FF_OPT_TYPE_INT, AV_CODEC_DEFAULT_BITRATE, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
53 {"ab", "set bitrate (in bits/s)", OFFSET(bit_rate), FF_OPT_TYPE_INT, 64*1000, INT_MIN, INT_MAX, A|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
54 {"bt", "set video bitrate tolerance (in bits/s)", OFFSET(bit_rate_tolerance), FF_OPT_TYPE_INT, AV_CODEC_DEFAULT_BITRATE*20, 1, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
55 {"flags", NULL, OFFSET(flags), FF_OPT_TYPE_FLAGS, DEFAULT, 0, UINT_MAX, V|A|E|D, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
56 {"mv4", "use four motion vector by macroblock (mpeg4)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_4MV, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
57 {"obmc", "use overlapped block motion compensation (h263+)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_OBMC, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
58 {"qpel", "use 1/4 pel motion compensation", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_QPEL, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
59 {"loop", "use loop filter", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_LOOP_FILTER, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
60 {"qscale", "use fixed qscale", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_QSCALE, INT_MIN, INT_MAX, 0, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
61 {"gmc", "use gmc", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_GMC, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
62 {"mv0", "always try a mb with mv=<0,0>", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_MV0, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
63 {"part", "use data partitioning", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_PART, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
64 {"input_preserved", NULL, 0, FF_OPT_TYPE_CONST, CODEC_FLAG_INPUT_PRESERVED, INT_MIN, INT_MAX, 0, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
65 {"pass1", "use internal 2pass ratecontrol in first pass mode", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_PASS1, INT_MIN, INT_MAX, 0, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
66 {"pass2", "use internal 2pass ratecontrol in second pass mode", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_PASS2, INT_MIN, INT_MAX, 0, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
67 {"extern_huff", "use external huffman table (for mjpeg)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_EXTERN_HUFF, INT_MIN, INT_MAX, 0, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
68 {"gray", "only decode/encode grayscale", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_GRAY, INT_MIN, INT_MAX, V|E|D, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
69 {"emu_edge", "don't draw edges", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_EMU_EDGE, INT_MIN, INT_MAX, 0, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
70 {"psnr", "error[?] variables will be set during encoding", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_PSNR, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
71 {"truncated", NULL, 0, FF_OPT_TYPE_CONST, CODEC_FLAG_TRUNCATED, INT_MIN, INT_MAX, 0, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
72 {"naq", "normalize adaptive quantization", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_NORMALIZE_AQP, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
73 {"ildct", "use interlaced dct", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_INTERLACED_DCT, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
74 {"low_delay", "force low delay", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_LOW_DELAY, INT_MIN, INT_MAX, V|D|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
75 {"alt", "enable alternate scantable (mpeg2/mpeg4)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_ALT_SCAN, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
76 {"global_header", "place global headers in extradata instead of every keyframe", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_GLOBAL_HEADER, INT_MIN, INT_MAX, V|A|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
77 {"bitexact", "use only bitexact stuff (except (i)dct)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_BITEXACT, INT_MIN, INT_MAX, A|V|S|D|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
78 {"aic", "h263 advanced intra coding / mpeg4 ac prediction", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_AC_PRED, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
79 {"umv", "use unlimited motion vectors", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_H263P_UMV, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
80 {"cbp", "use rate distortion optimization for cbp", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_CBP_RD, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
81 {"qprd", "use rate distortion optimization for qp selection", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_QP_RD, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
82 {"aiv", "h263 alternative inter vlc", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_H263P_AIV, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
83 {"slice", NULL, 0, FF_OPT_TYPE_CONST, CODEC_FLAG_H263P_SLICE_STRUCT, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
84 {"ilme", "interlaced motion estimation", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_INTERLACED_ME, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
85 {"scan_offset", "will reserve space for svcd scan offset user data", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_SVCD_SCAN_OFFSET, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
86 {"cgop", "closed gop", 0, FF_OPT_TYPE_CONST, CODEC_FLAG_CLOSED_GOP, INT_MIN, INT_MAX, V|E, "flags"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
87 {"fast", "allow non spec compliant speedup tricks", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_FAST, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
88 {"sgop", "strictly enforce gop size", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_STRICT_GOP, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
89 {"noout", "skip bitstream encoding", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_NO_OUTPUT, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
90 {"local_header", "place global headers at every keyframe instead of in extradata", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_LOCAL_HEADER, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
91 {"sub_id", NULL, OFFSET(sub_id), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
92 {"me_method", "set motion estimation method", OFFSET(me_method), FF_OPT_TYPE_INT, ME_EPZS, INT_MIN, INT_MAX, V|E, "me_method"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
93 {"zero", "zero motion estimation (fastest)", 0, FF_OPT_TYPE_CONST, ME_ZERO, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
94 {"full", "full motion estimation (slowest)", 0, FF_OPT_TYPE_CONST, ME_FULL, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
95 {"epzs", "EPZS motion estimation (default)", 0, FF_OPT_TYPE_CONST, ME_EPZS, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
96 {"esa", "esa motion estimation (alias for full)", 0, FF_OPT_TYPE_CONST, ME_FULL, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
97 {"tesa", "tesa motion estimation", 0, FF_OPT_TYPE_CONST, ME_TESA, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
98 {"dia", "dia motion estimation (alias for epzs)", 0, FF_OPT_TYPE_CONST, ME_EPZS, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
99 {"log", "log motion estimation", 0, FF_OPT_TYPE_CONST, ME_LOG, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
100 {"phods", "phods motion estimation", 0, FF_OPT_TYPE_CONST, ME_PHODS, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
101 {"x1", "X1 motion estimation", 0, FF_OPT_TYPE_CONST, ME_X1, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
102 {"hex", "hex motion estimation", 0, FF_OPT_TYPE_CONST, ME_HEX, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
103 {"umh", "umh motion estimation", 0, FF_OPT_TYPE_CONST, ME_UMH, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
104 {"iter", "iter motion estimation", 0, FF_OPT_TYPE_CONST, ME_ITER, INT_MIN, INT_MAX, V|E, "me_method" },
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
105 {"extradata_size", NULL, OFFSET(extradata_size), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
106 {"time_base", NULL, OFFSET(time_base), FF_OPT_TYPE_RATIONAL, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
107 {"g", "set the group of picture size", OFFSET(gop_size), FF_OPT_TYPE_INT, 12, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
108 {"rate_emu", "frame rate emulation", OFFSET(rate_emu), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
109 {"ar", "set audio sampling rate (in Hz)", OFFSET(sample_rate), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
110 {"ac", "set number of audio channels", OFFSET(channels), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
111 {"cutoff", "set cutoff bandwidth", OFFSET(cutoff), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, A|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
112 {"frame_size", NULL, OFFSET(frame_size), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, A|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
113 {"frame_number", NULL, OFFSET(frame_number), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
9722
0bfb23c7633d remove apparently unused real_pict_num from AVCodecContext
bcoudurier
parents: 9626
diff changeset
114 #if LIBAVCODEC_VERSION_MAJOR < 53
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
115 {"real_pict_num", NULL, OFFSET(real_pict_num), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
9722
0bfb23c7633d remove apparently unused real_pict_num from AVCodecContext
bcoudurier
parents: 9626
diff changeset
116 #endif
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
117 {"delay", NULL, OFFSET(delay), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
118 {"qcomp", "video quantizer scale compression (VBR)", OFFSET(qcompress), FF_OPT_TYPE_FLOAT, 0.5, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
119 {"qblur", "video quantizer scale blur (VBR)", OFFSET(qblur), FF_OPT_TYPE_FLOAT, 0.5, 0, FLT_MAX, V|E},
12152
d102b12f69dc Do not map video quantizer scale (from 1-51 to 0-63) for libvpx anymore.
cehoyos
parents: 12139
diff changeset
120 {"qmin", "min video quantizer scale (VBR)", OFFSET(qmin), FF_OPT_TYPE_INT, 2, 0, 63, V|E},
d102b12f69dc Do not map video quantizer scale (from 1-51 to 0-63) for libvpx anymore.
cehoyos
parents: 12139
diff changeset
121 {"qmax", "max video quantizer scale (VBR)", OFFSET(qmax), FF_OPT_TYPE_INT, 31, 0, 63, V|E},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
122 {"qdiff", "max difference between the quantizer scale (VBR)", OFFSET(max_qdiff), FF_OPT_TYPE_INT, 3, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
123 {"bf", "use 'frames' B frames", OFFSET(max_b_frames), FF_OPT_TYPE_INT, DEFAULT, 0, FF_MAX_B_FRAMES, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
124 {"b_qfactor", "qp factor between p and b frames", OFFSET(b_quant_factor), FF_OPT_TYPE_FLOAT, 1.25, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
125 {"rc_strategy", "ratecontrol method", OFFSET(rc_strategy), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
126 {"b_strategy", "strategy to choose between I/P/B-frames", OFFSET(b_frame_strategy), FF_OPT_TYPE_INT, 0, INT_MIN, INT_MAX, V|E},
10566
7ca185b4bc42 Add weightp support in API for libx264.
darkshikari
parents: 10386
diff changeset
127 {"wpredp", "weighted prediction analysis method", OFFSET(weighted_p_pred), FF_OPT_TYPE_INT, 0, INT_MIN, INT_MAX, V|E},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
128 {"hurry_up", NULL, OFFSET(hurry_up), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|D},
9377
e1962586d2db Fix documentation for the "-ps" option
lucabe
parents: 9172
diff changeset
129 {"ps", "rtp payload size in bytes", OFFSET(rtp_payload_size), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
130 {"mv_bits", NULL, OFFSET(mv_bits), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
131 {"header_bits", NULL, OFFSET(header_bits), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
132 {"i_tex_bits", NULL, OFFSET(i_tex_bits), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
133 {"p_tex_bits", NULL, OFFSET(p_tex_bits), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
134 {"i_count", NULL, OFFSET(i_count), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
135 {"p_count", NULL, OFFSET(p_count), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
136 {"skip_count", NULL, OFFSET(skip_count), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
137 {"misc_bits", NULL, OFFSET(misc_bits), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
138 {"frame_bits", NULL, OFFSET(frame_bits), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
139 {"codec_tag", NULL, OFFSET(codec_tag), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
140 {"bug", "workaround not auto detected encoder bugs", OFFSET(workaround_bugs), FF_OPT_TYPE_FLAGS, FF_BUG_AUTODETECT, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
141 {"autodetect", NULL, 0, FF_OPT_TYPE_CONST, FF_BUG_AUTODETECT, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
142 {"old_msmpeg4", "some old lavc generated msmpeg4v3 files (no autodetection)", 0, FF_OPT_TYPE_CONST, FF_BUG_OLD_MSMPEG4, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
143 {"xvid_ilace", "Xvid interlacing bug (autodetected if fourcc==XVIX)", 0, FF_OPT_TYPE_CONST, FF_BUG_XVID_ILACE, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
144 {"ump4", "(autodetected if fourcc==UMP4)", 0, FF_OPT_TYPE_CONST, FF_BUG_UMP4, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
145 {"no_padding", "padding bug (autodetected)", 0, FF_OPT_TYPE_CONST, FF_BUG_NO_PADDING, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
146 {"amv", NULL, 0, FF_OPT_TYPE_CONST, FF_BUG_AMV, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
147 {"ac_vlc", "illegal vlc bug (autodetected per fourcc)", 0, FF_OPT_TYPE_CONST, FF_BUG_AC_VLC, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
148 {"qpel_chroma", NULL, 0, FF_OPT_TYPE_CONST, FF_BUG_QPEL_CHROMA, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
149 {"std_qpel", "old standard qpel (autodetected per fourcc/version)", 0, FF_OPT_TYPE_CONST, FF_BUG_STD_QPEL, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
150 {"qpel_chroma2", NULL, 0, FF_OPT_TYPE_CONST, FF_BUG_QPEL_CHROMA2, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
151 {"direct_blocksize", "direct-qpel-blocksize bug (autodetected per fourcc/version)", 0, FF_OPT_TYPE_CONST, FF_BUG_DIRECT_BLOCKSIZE, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
152 {"edge", "edge padding bug (autodetected per fourcc/version)", 0, FF_OPT_TYPE_CONST, FF_BUG_EDGE, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
153 {"hpel_chroma", NULL, 0, FF_OPT_TYPE_CONST, FF_BUG_HPEL_CHROMA, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
154 {"dc_clip", NULL, 0, FF_OPT_TYPE_CONST, FF_BUG_DC_CLIP, INT_MIN, INT_MAX, V|D, "bug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
155 {"ms", "workaround various bugs in microsofts broken decoders", 0, FF_OPT_TYPE_CONST, FF_BUG_MS, INT_MIN, INT_MAX, V|D, "bug"},
11125
1f13ac0e696b Try to support truncated h264 frames mixed with mpeg pes headers in mkv.
michael
parents: 11070
diff changeset
156 {"trunc", "trancated frames", 0, FF_OPT_TYPE_CONST,FF_BUG_TRUNCATED, INT_MIN, INT_MAX, V|D, "bug"},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
157 {"lelim", "single coefficient elimination threshold for luminance (negative values also consider dc coefficient)", OFFSET(luma_elim_threshold), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
158 {"celim", "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)", OFFSET(chroma_elim_threshold), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
159 {"strict", "how strictly to follow the standards", OFFSET(strict_std_compliance), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, A|V|D|E, "strict"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
160 {"very", "strictly conform to a older more strict version of the spec or reference software", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_VERY_STRICT, INT_MIN, INT_MAX, V|D|E, "strict"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
161 {"strict", "strictly conform to all the things in the spec no matter what consequences", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_STRICT, INT_MIN, INT_MAX, V|D|E, "strict"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
162 {"normal", NULL, 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_NORMAL, INT_MIN, INT_MAX, V|D|E, "strict"},
12084
b6cf19580e47 Change all occurences of "inofficial" to "unofficial" in code, comments
cehoyos
parents: 11780
diff changeset
163 #if LIBAVCODEC_VERSION_MAJOR < 53
b6cf19580e47 Change all occurences of "inofficial" to "unofficial" in code, comments
cehoyos
parents: 11780
diff changeset
164 {"inofficial", "allow unofficial extensions (deprecated - use unofficial)", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_UNOFFICIAL, INT_MIN, INT_MAX, V|D|E, "strict"},
b6cf19580e47 Change all occurences of "inofficial" to "unofficial" in code, comments
cehoyos
parents: 11780
diff changeset
165 #endif
b6cf19580e47 Change all occurences of "inofficial" to "unofficial" in code, comments
cehoyos
parents: 11780
diff changeset
166 {"unofficial", "allow unofficial extensions", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_UNOFFICIAL, INT_MIN, INT_MAX, V|D|E, "strict"},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
167 {"experimental", "allow non standardized experimental things", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_EXPERIMENTAL, INT_MIN, INT_MAX, V|D|E, "strict"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
168 {"b_qoffset", "qp offset between P and B frames", OFFSET(b_quant_offset), FF_OPT_TYPE_FLOAT, 1.25, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
169 {"er", "set error detection aggressivity", OFFSET(error_recognition), FF_OPT_TYPE_INT, FF_ER_CAREFUL, INT_MIN, INT_MAX, A|V|D, "er"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
170 {"careful", NULL, 0, FF_OPT_TYPE_CONST, FF_ER_CAREFUL, INT_MIN, INT_MAX, V|D, "er"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
171 {"compliant", NULL, 0, FF_OPT_TYPE_CONST, FF_ER_COMPLIANT, INT_MIN, INT_MAX, V|D, "er"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
172 {"aggressive", NULL, 0, FF_OPT_TYPE_CONST, FF_ER_AGGRESSIVE, INT_MIN, INT_MAX, V|D, "er"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
173 {"very_aggressive", NULL, 0, FF_OPT_TYPE_CONST, FF_ER_VERY_AGGRESSIVE, INT_MIN, INT_MAX, V|D, "er"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
174 {"has_b_frames", NULL, OFFSET(has_b_frames), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
175 {"block_align", NULL, OFFSET(block_align), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
176 {"parse_only", NULL, OFFSET(parse_only), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
177 {"mpeg_quant", "use MPEG quantizers instead of H.263", OFFSET(mpeg_quant), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
178 {"stats_out", NULL, OFFSET(stats_out), FF_OPT_TYPE_STRING, DEFAULT, CHAR_MIN, CHAR_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
179 {"stats_in", NULL, OFFSET(stats_in), FF_OPT_TYPE_STRING, DEFAULT, CHAR_MIN, CHAR_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
180 {"qsquish", "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)", OFFSET(rc_qsquish), FF_OPT_TYPE_FLOAT, DEFAULT, 0, 99, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
181 {"rc_qmod_amp", "experimental quantizer modulation", OFFSET(rc_qmod_amp), FF_OPT_TYPE_FLOAT, DEFAULT, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
182 {"rc_qmod_freq", "experimental quantizer modulation", OFFSET(rc_qmod_freq), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
183 {"rc_override_count", NULL, OFFSET(rc_override_count), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
184 {"rc_eq", "set rate control equation", OFFSET(rc_eq), FF_OPT_TYPE_STRING, DEFAULT, CHAR_MIN, CHAR_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
185 {"maxrate", "set max video bitrate tolerance (in bits/s)", OFFSET(rc_max_rate), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
186 {"minrate", "set min video bitrate tolerance (in bits/s)", OFFSET(rc_min_rate), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
187 {"bufsize", "set ratecontrol buffer size (in bits)", OFFSET(rc_buffer_size), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, A|V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
188 {"rc_buf_aggressivity", "currently useless", OFFSET(rc_buffer_aggressivity), FF_OPT_TYPE_FLOAT, 1.0, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
189 {"i_qfactor", "qp factor between P and I frames", OFFSET(i_quant_factor), FF_OPT_TYPE_FLOAT, -0.8, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
190 {"i_qoffset", "qp offset between P and I frames", OFFSET(i_quant_offset), FF_OPT_TYPE_FLOAT, 0.0, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
191 {"rc_init_cplx", "initial complexity for 1-pass encoding", OFFSET(rc_initial_cplx), FF_OPT_TYPE_FLOAT, DEFAULT, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
192 {"dct", "DCT algorithm", OFFSET(dct_algo), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, V|E, "dct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
193 {"auto", "autoselect a good one (default)", 0, FF_OPT_TYPE_CONST, FF_DCT_AUTO, INT_MIN, INT_MAX, V|E, "dct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
194 {"fastint", "fast integer", 0, FF_OPT_TYPE_CONST, FF_DCT_FASTINT, INT_MIN, INT_MAX, V|E, "dct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
195 {"int", "accurate integer", 0, FF_OPT_TYPE_CONST, FF_DCT_INT, INT_MIN, INT_MAX, V|E, "dct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
196 {"mmx", NULL, 0, FF_OPT_TYPE_CONST, FF_DCT_MMX, INT_MIN, INT_MAX, V|E, "dct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
197 {"mlib", NULL, 0, FF_OPT_TYPE_CONST, FF_DCT_MLIB, INT_MIN, INT_MAX, V|E, "dct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
198 {"altivec", NULL, 0, FF_OPT_TYPE_CONST, FF_DCT_ALTIVEC, INT_MIN, INT_MAX, V|E, "dct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
199 {"faan", "floating point AAN DCT", 0, FF_OPT_TYPE_CONST, FF_DCT_FAAN, INT_MIN, INT_MAX, V|E, "dct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
200 {"lumi_mask", "compresses bright areas stronger than medium ones", OFFSET(lumi_masking), FF_OPT_TYPE_FLOAT, 0, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
201 {"tcplx_mask", "temporal complexity masking", OFFSET(temporal_cplx_masking), FF_OPT_TYPE_FLOAT, 0, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
202 {"scplx_mask", "spatial complexity masking", OFFSET(spatial_cplx_masking), FF_OPT_TYPE_FLOAT, 0, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
203 {"p_mask", "inter masking", OFFSET(p_masking), FF_OPT_TYPE_FLOAT, 0, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
204 {"dark_mask", "compresses dark areas stronger than medium ones", OFFSET(dark_masking), FF_OPT_TYPE_FLOAT, 0, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
205 {"idct", "select IDCT implementation", OFFSET(idct_algo), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
206 {"auto", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_AUTO, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
207 {"int", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_INT, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
208 {"simple", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLE, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
209 {"simplemmx", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEMMX, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
210 {"libmpeg2mmx", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_LIBMPEG2MMX, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
211 {"ps2", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_PS2, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
212 {"mlib", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_MLIB, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
213 {"arm", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_ARM, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
214 {"altivec", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_ALTIVEC, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
215 {"sh4", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SH4, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
216 {"simplearm", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEARM, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
217 {"simplearmv5te", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEARMV5TE, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
218 {"simplearmv6", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEARMV6, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
219 {"simpleneon", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLENEON, INT_MIN, INT_MAX, V|E|D, "idct"},
8619
ce9b3d6a0abf Alpha: proper IDCT selection
mru
parents: 8590
diff changeset
220 {"simplealpha", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEALPHA, INT_MIN, INT_MAX, V|E|D, "idct"},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
221 {"h264", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_H264, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
222 {"vp3", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_VP3, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
223 {"ipp", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_IPP, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
224 {"xvidmmx", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_XVIDMMX, INT_MIN, INT_MAX, V|E|D, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
225 {"faani", "floating point AAN IDCT", 0, FF_OPT_TYPE_CONST, FF_IDCT_FAAN, INT_MIN, INT_MAX, V|D|E, "idct"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
226 {"slice_count", NULL, OFFSET(slice_count), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
227 {"ec", "set error concealment strategy", OFFSET(error_concealment), FF_OPT_TYPE_FLAGS, 3, INT_MIN, INT_MAX, V|D, "ec"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
228 {"guess_mvs", "iterative motion vector (MV) search (slow)", 0, FF_OPT_TYPE_CONST, FF_EC_GUESS_MVS, INT_MIN, INT_MAX, V|D, "ec"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
229 {"deblock", "use strong deblock filter for damaged MBs", 0, FF_OPT_TYPE_CONST, FF_EC_DEBLOCK, INT_MIN, INT_MAX, V|D, "ec"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
230 {"bits_per_coded_sample", NULL, OFFSET(bits_per_coded_sample), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
231 {"pred", "prediction method", OFFSET(prediction_method), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E, "pred"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
232 {"left", NULL, 0, FF_OPT_TYPE_CONST, FF_PRED_LEFT, INT_MIN, INT_MAX, V|E, "pred"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
233 {"plane", NULL, 0, FF_OPT_TYPE_CONST, FF_PRED_PLANE, INT_MIN, INT_MAX, V|E, "pred"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
234 {"median", NULL, 0, FF_OPT_TYPE_CONST, FF_PRED_MEDIAN, INT_MIN, INT_MAX, V|E, "pred"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
235 {"aspect", "sample aspect ratio", OFFSET(sample_aspect_ratio), FF_OPT_TYPE_RATIONAL, DEFAULT, 0, 10, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
236 {"debug", "print specific debug info", OFFSET(debug), FF_OPT_TYPE_FLAGS, DEFAULT, 0, INT_MAX, V|A|S|E|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
237 {"pict", "picture info", 0, FF_OPT_TYPE_CONST, FF_DEBUG_PICT_INFO, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
238 {"rc", "rate control", 0, FF_OPT_TYPE_CONST, FF_DEBUG_RC, INT_MIN, INT_MAX, V|E, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
239 {"bitstream", NULL, 0, FF_OPT_TYPE_CONST, FF_DEBUG_BITSTREAM, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
240 {"mb_type", "macroblock (MB) type", 0, FF_OPT_TYPE_CONST, FF_DEBUG_MB_TYPE, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
241 {"qp", "per-block quantization parameter (QP)", 0, FF_OPT_TYPE_CONST, FF_DEBUG_QP, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
242 {"mv", "motion vector", 0, FF_OPT_TYPE_CONST, FF_DEBUG_MV, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
243 {"dct_coeff", NULL, 0, FF_OPT_TYPE_CONST, FF_DEBUG_DCT_COEFF, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
244 {"skip", NULL, 0, FF_OPT_TYPE_CONST, FF_DEBUG_SKIP, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
245 {"startcode", NULL, 0, FF_OPT_TYPE_CONST, FF_DEBUG_STARTCODE, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
246 {"pts", NULL, 0, FF_OPT_TYPE_CONST, FF_DEBUG_PTS, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
247 {"er", "error recognition", 0, FF_OPT_TYPE_CONST, FF_DEBUG_ER, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
248 {"mmco", "memory management control operations (H.264)", 0, FF_OPT_TYPE_CONST, FF_DEBUG_MMCO, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
249 {"bugs", NULL, 0, FF_OPT_TYPE_CONST, FF_DEBUG_BUGS, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
250 {"vis_qp", "visualize quantization parameter (QP), lower QP are tinted greener", 0, FF_OPT_TYPE_CONST, FF_DEBUG_VIS_QP, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
251 {"vis_mb_type", "visualize block types", 0, FF_OPT_TYPE_CONST, FF_DEBUG_VIS_MB_TYPE, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
252 {"buffers", "picture buffer allocations", 0, FF_OPT_TYPE_CONST, FF_DEBUG_BUFFERS, INT_MIN, INT_MAX, V|D, "debug"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
253 {"vismv", "visualize motion vectors (MVs)", OFFSET(debug_mv), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, V|D, "debug_mv"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
254 {"pf", "forward predicted MVs of P-frames", 0, FF_OPT_TYPE_CONST, FF_DEBUG_VIS_MV_P_FOR, INT_MIN, INT_MAX, V|D, "debug_mv"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
255 {"bf", "forward predicted MVs of B-frames", 0, FF_OPT_TYPE_CONST, FF_DEBUG_VIS_MV_B_FOR, INT_MIN, INT_MAX, V|D, "debug_mv"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
256 {"bb", "backward predicted MVs of B-frames", 0, FF_OPT_TYPE_CONST, FF_DEBUG_VIS_MV_B_BACK, INT_MIN, INT_MAX, V|D, "debug_mv"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
257 {"mb_qmin", "obsolete, use qmin", OFFSET(mb_qmin), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
258 {"mb_qmax", "obsolete, use qmax", OFFSET(mb_qmax), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
259 {"cmp", "full pel me compare function", OFFSET(me_cmp), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
260 {"subcmp", "sub pel me compare function", OFFSET(me_sub_cmp), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
261 {"mbcmp", "macroblock compare function", OFFSET(mb_cmp), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
262 {"ildctcmp", "interlaced dct compare function", OFFSET(ildct_cmp), FF_OPT_TYPE_INT, FF_CMP_VSAD, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
263 {"dia_size", "diamond type & size for motion estimation", OFFSET(dia_size), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
264 {"last_pred", "amount of motion predictors from the previous frame", OFFSET(last_predictor_count), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
265 {"preme", "pre motion estimation", OFFSET(pre_me), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
266 {"precmp", "pre motion estimation compare function", OFFSET(me_pre_cmp), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
267 {"sad", "sum of absolute differences, fast (default)", 0, FF_OPT_TYPE_CONST, FF_CMP_SAD, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
268 {"sse", "sum of squared errors", 0, FF_OPT_TYPE_CONST, FF_CMP_SSE, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
269 {"satd", "sum of absolute Hadamard transformed differences", 0, FF_OPT_TYPE_CONST, FF_CMP_SATD, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
270 {"dct", "sum of absolute DCT transformed differences", 0, FF_OPT_TYPE_CONST, FF_CMP_DCT, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
271 {"psnr", "sum of squared quantization errors (avoid, low quality)", 0, FF_OPT_TYPE_CONST, FF_CMP_PSNR, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
272 {"bit", "number of bits needed for the block", 0, FF_OPT_TYPE_CONST, FF_CMP_BIT, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
273 {"rd", "rate distortion optimal, slow", 0, FF_OPT_TYPE_CONST, FF_CMP_RD, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
274 {"zero", "0", 0, FF_OPT_TYPE_CONST, FF_CMP_ZERO, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
275 {"vsad", "sum of absolute vertical differences", 0, FF_OPT_TYPE_CONST, FF_CMP_VSAD, INT_MIN, INT_MAX, V|E, "cmp_func"},
12359
565ccbf26015 Cosmetics: add missing space to options.c
darkshikari
parents: 12152
diff changeset
276 {"vsse", "sum of squared vertical differences", 0, FF_OPT_TYPE_CONST, FF_CMP_VSSE, INT_MIN, INT_MAX, V|E, "cmp_func"},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
277 {"nsse", "noise preserving sum of squared differences", 0, FF_OPT_TYPE_CONST, FF_CMP_NSSE, INT_MIN, INT_MAX, V|E, "cmp_func"},
8590
7a463923ecd1 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 8559
diff changeset
278 #if CONFIG_SNOW_ENCODER
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
279 {"w53", "5/3 wavelet, only used in snow", 0, FF_OPT_TYPE_CONST, FF_CMP_W53, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
280 {"w97", "9/7 wavelet, only used in snow", 0, FF_OPT_TYPE_CONST, FF_CMP_W97, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
281 #endif
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
282 {"dctmax", NULL, 0, FF_OPT_TYPE_CONST, FF_CMP_DCTMAX, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
283 {"chroma", NULL, 0, FF_OPT_TYPE_CONST, FF_CMP_CHROMA, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
284 {"pre_dia_size", "diamond type & size for motion estimation pre-pass", OFFSET(pre_dia_size), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
285 {"subq", "sub pel motion estimation quality", OFFSET(me_subpel_quality), FF_OPT_TYPE_INT, 8, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
286 {"dtg_active_format", NULL, OFFSET(dtg_active_format), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
287 {"me_range", "limit motion vectors range (1023 for DivX player)", OFFSET(me_range), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
288 {"ibias", "intra quant bias", OFFSET(intra_quant_bias), FF_OPT_TYPE_INT, FF_DEFAULT_QUANT_BIAS, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
289 {"pbias", "inter quant bias", OFFSET(inter_quant_bias), FF_OPT_TYPE_INT, FF_DEFAULT_QUANT_BIAS, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
290 {"color_table_id", NULL, OFFSET(color_table_id), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
291 {"internal_buffer_count", NULL, OFFSET(internal_buffer_count), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
292 {"global_quality", NULL, OFFSET(global_quality), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
293 {"coder", NULL, OFFSET(coder_type), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E, "coder"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
294 {"vlc", "variable length coder / huffman coder", 0, FF_OPT_TYPE_CONST, FF_CODER_TYPE_VLC, INT_MIN, INT_MAX, V|E, "coder"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
295 {"ac", "arithmetic coder", 0, FF_OPT_TYPE_CONST, FF_CODER_TYPE_AC, INT_MIN, INT_MAX, V|E, "coder"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
296 {"raw", "raw (no encoding)", 0, FF_OPT_TYPE_CONST, FF_CODER_TYPE_RAW, INT_MIN, INT_MAX, V|E, "coder"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
297 {"rle", "run-length coder", 0, FF_OPT_TYPE_CONST, FF_CODER_TYPE_RLE, INT_MIN, INT_MAX, V|E, "coder"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
298 {"deflate", "deflate-based coder", 0, FF_OPT_TYPE_CONST, FF_CODER_TYPE_DEFLATE, INT_MIN, INT_MAX, V|E, "coder"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
299 {"context", "context model", OFFSET(context_model), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
300 {"slice_flags", NULL, OFFSET(slice_flags), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
301 {"xvmc_acceleration", NULL, OFFSET(xvmc_acceleration), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
302 {"mbd", "macroblock decision algorithm (high quality mode)", OFFSET(mb_decision), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E, "mbd"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
303 {"simple", "use mbcmp (default)", 0, FF_OPT_TYPE_CONST, FF_MB_DECISION_SIMPLE, INT_MIN, INT_MAX, V|E, "mbd"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
304 {"bits", "use fewest bits", 0, FF_OPT_TYPE_CONST, FF_MB_DECISION_BITS, INT_MIN, INT_MAX, V|E, "mbd"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
305 {"rd", "use best rate distortion", 0, FF_OPT_TYPE_CONST, FF_MB_DECISION_RD, INT_MIN, INT_MAX, V|E, "mbd"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
306 {"stream_codec_tag", NULL, OFFSET(stream_codec_tag), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
307 {"sc_threshold", "scene change threshold", OFFSET(scenechange_threshold), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
308 {"lmin", "min lagrange factor (VBR)", OFFSET(lmin), FF_OPT_TYPE_INT, 2*FF_QP2LAMBDA, 0, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
309 {"lmax", "max lagrange factor (VBR)", OFFSET(lmax), FF_OPT_TYPE_INT, 31*FF_QP2LAMBDA, 0, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
310 {"nr", "noise reduction", OFFSET(noise_reduction), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
311 {"rc_init_occupancy", "number of bits which should be loaded into the rc buffer before decoding starts", OFFSET(rc_initial_buffer_occupancy), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
312 {"inter_threshold", NULL, OFFSET(inter_threshold), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
11539
afe2ac7b175c Enable mbtree by default, and remove it from presets
bcoudurier
parents: 11538
diff changeset
313 {"flags2", NULL, OFFSET(flags2), FF_OPT_TYPE_FLAGS, CODEC_FLAG2_FASTPSKIP|CODEC_FLAG2_BIT_RESERVOIR|CODEC_FLAG2_PSY|CODEC_FLAG2_MBTREE, 0, UINT_MAX, V|A|E|D, "flags2"},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
314 {"error", NULL, OFFSET(error_rate), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
315 {"antialias", "MP3 antialias algorithm", OFFSET(antialias_algo), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|D, "aa"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
316 {"auto", NULL, 0, FF_OPT_TYPE_CONST, FF_AA_AUTO, INT_MIN, INT_MAX, V|D, "aa"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
317 {"fastint", NULL, 0, FF_OPT_TYPE_CONST, FF_AA_FASTINT, INT_MIN, INT_MAX, V|D, "aa"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
318 {"int", NULL, 0, FF_OPT_TYPE_CONST, FF_AA_INT, INT_MIN, INT_MAX, V|D, "aa"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
319 {"float", NULL, 0, FF_OPT_TYPE_CONST, FF_AA_FLOAT, INT_MIN, INT_MAX, V|D, "aa"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
320 {"qns", "quantizer noise shaping", OFFSET(quantizer_noise_shaping), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
321 {"threads", NULL, OFFSET(thread_count), FF_OPT_TYPE_INT, 1, INT_MIN, INT_MAX, V|E|D},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
322 {"me_threshold", "motion estimaton threshold", OFFSET(me_threshold), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
323 {"mb_threshold", "macroblock threshold", OFFSET(mb_threshold), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
324 {"dc", "intra_dc_precision", OFFSET(intra_dc_precision), FF_OPT_TYPE_INT, 0, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
325 {"nssew", "nsse weight", OFFSET(nsse_weight), FF_OPT_TYPE_INT, 8, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
326 {"skip_top", "number of macroblock rows at the top which are skipped", OFFSET(skip_top), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|D},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
327 {"skip_bottom", "number of macroblock rows at the bottom which are skipped", OFFSET(skip_bottom), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|D},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
328 {"profile", NULL, OFFSET(profile), FF_OPT_TYPE_INT, FF_PROFILE_UNKNOWN, INT_MIN, INT_MAX, V|A|E, "profile"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
329 {"unknown", NULL, 0, FF_OPT_TYPE_CONST, FF_PROFILE_UNKNOWN, INT_MIN, INT_MAX, V|A|E, "profile"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
330 {"aac_main", NULL, 0, FF_OPT_TYPE_CONST, FF_PROFILE_AAC_MAIN, INT_MIN, INT_MAX, A|E, "profile"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
331 {"aac_low", NULL, 0, FF_OPT_TYPE_CONST, FF_PROFILE_AAC_LOW, INT_MIN, INT_MAX, A|E, "profile"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
332 {"aac_ssr", NULL, 0, FF_OPT_TYPE_CONST, FF_PROFILE_AAC_SSR, INT_MIN, INT_MAX, A|E, "profile"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
333 {"aac_ltp", NULL, 0, FF_OPT_TYPE_CONST, FF_PROFILE_AAC_LTP, INT_MIN, INT_MAX, A|E, "profile"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
334 {"level", NULL, OFFSET(level), FF_OPT_TYPE_INT, FF_LEVEL_UNKNOWN, INT_MIN, INT_MAX, V|A|E, "level"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
335 {"unknown", NULL, 0, FF_OPT_TYPE_CONST, FF_LEVEL_UNKNOWN, INT_MIN, INT_MAX, V|A|E, "level"},
12481
e9a1e1ba768f Allow the lowres option to affect audio codecs, too
mstorsjo
parents: 12359
diff changeset
336 {"lowres", "decode at 1= 1/2, 2=1/4, 3=1/8 resolutions", OFFSET(lowres), FF_OPT_TYPE_INT, 0, 0, INT_MAX, V|A|D},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
337 {"skip_threshold", "frame skip threshold", OFFSET(frame_skip_threshold), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
338 {"skip_factor", "frame skip factor", OFFSET(frame_skip_factor), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
339 {"skip_exp", "frame skip exponent", OFFSET(frame_skip_exp), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
340 {"skipcmp", "frame skip compare function", OFFSET(frame_skip_cmp), FF_OPT_TYPE_INT, FF_CMP_DCTMAX, INT_MIN, INT_MAX, V|E, "cmp_func"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
341 {"border_mask", "increases the quantizer for macroblocks close to borders", OFFSET(border_masking), FF_OPT_TYPE_FLOAT, DEFAULT, -FLT_MAX, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
342 {"mblmin", "min macroblock lagrange factor (VBR)", OFFSET(mb_lmin), FF_OPT_TYPE_INT, FF_QP2LAMBDA * 2, 1, FF_LAMBDA_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
343 {"mblmax", "max macroblock lagrange factor (VBR)", OFFSET(mb_lmax), FF_OPT_TYPE_INT, FF_QP2LAMBDA * 31, 1, FF_LAMBDA_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
344 {"mepc", "motion estimation bitrate penalty compensation (1.0 = 256)", OFFSET(me_penalty_compensation), FF_OPT_TYPE_INT, 256, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
345 {"skip_loop_filter", NULL, OFFSET(skip_loop_filter), FF_OPT_TYPE_INT, AVDISCARD_DEFAULT, INT_MIN, INT_MAX, V|D, "avdiscard"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
346 {"skip_idct" , NULL, OFFSET(skip_idct) , FF_OPT_TYPE_INT, AVDISCARD_DEFAULT, INT_MIN, INT_MAX, V|D, "avdiscard"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
347 {"skip_frame" , NULL, OFFSET(skip_frame) , FF_OPT_TYPE_INT, AVDISCARD_DEFAULT, INT_MIN, INT_MAX, V|D, "avdiscard"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
348 {"none" , NULL, 0, FF_OPT_TYPE_CONST, AVDISCARD_NONE , INT_MIN, INT_MAX, V|D, "avdiscard"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
349 {"default" , NULL, 0, FF_OPT_TYPE_CONST, AVDISCARD_DEFAULT, INT_MIN, INT_MAX, V|D, "avdiscard"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
350 {"noref" , NULL, 0, FF_OPT_TYPE_CONST, AVDISCARD_NONREF , INT_MIN, INT_MAX, V|D, "avdiscard"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
351 {"bidir" , NULL, 0, FF_OPT_TYPE_CONST, AVDISCARD_BIDIR , INT_MIN, INT_MAX, V|D, "avdiscard"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
352 {"nokey" , NULL, 0, FF_OPT_TYPE_CONST, AVDISCARD_NONKEY , INT_MIN, INT_MAX, V|D, "avdiscard"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
353 {"all" , NULL, 0, FF_OPT_TYPE_CONST, AVDISCARD_ALL , INT_MIN, INT_MAX, V|D, "avdiscard"},
11578
6bc036ad8ff9 Change default for bidir_refine to 1.
michael
parents: 11565
diff changeset
354 {"bidir_refine", "refine the two motion vectors used in bidirectional macroblocks", OFFSET(bidir_refine), FF_OPT_TYPE_INT, 1, 0, 4, V|E},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
355 {"brd_scale", "downscales frames for dynamic B-frame decision", OFFSET(brd_scale), FF_OPT_TYPE_INT, DEFAULT, 0, 10, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
356 {"crf", "enables constant quality mode, and selects the quality (x264)", OFFSET(crf), FF_OPT_TYPE_FLOAT, DEFAULT, 0, 51, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
357 {"cqp", "constant quantization parameter rate control method", OFFSET(cqp), FF_OPT_TYPE_INT, -1, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
358 {"keyint_min", "minimum interval between IDR-frames (x264)", OFFSET(keyint_min), FF_OPT_TYPE_INT, 25, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
359 {"refs", "reference frames to consider for motion compensation (Snow)", OFFSET(refs), FF_OPT_TYPE_INT, 1, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
360 {"chromaoffset", "chroma qp offset from luma", OFFSET(chromaoffset), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
361 {"bframebias", "influences how often B-frames are used", OFFSET(bframebias), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
362 {"trellis", "rate-distortion optimal quantization", OFFSET(trellis), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|A|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
363 {"directpred", "direct mv prediction mode - 0 (none), 1 (spatial), 2 (temporal), 3 (auto)", OFFSET(directpred), FF_OPT_TYPE_INT, 2, INT_MIN, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
364 {"bpyramid", "allows B-frames to be used as references for predicting", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_BPYRAMID, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
365 {"wpred", "weighted biprediction for b-frames (H.264)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_WPRED, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
366 {"mixed_refs", "one reference per partition, as opposed to one reference per macroblock", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_MIXED_REFS, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
367 {"dct8x8", "high profile 8x8 transform (H.264)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_8X8DCT, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
368 {"fastpskip", "fast pskip (H.264)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_FASTPSKIP, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
369 {"aud", "access unit delimiters (H.264)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_AUD, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
370 {"skiprd", "RD optimal MB level residual skipping", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_SKIP_RD, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
371 {"complexityblur", "reduce fluctuations in qp (before curve compression)", OFFSET(complexityblur), FF_OPT_TYPE_FLOAT, 20.0, FLT_MIN, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
372 {"deblockalpha", "in-loop deblocking filter alphac0 parameter", OFFSET(deblockalpha), FF_OPT_TYPE_INT, DEFAULT, -6, 6, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
373 {"deblockbeta", "in-loop deblocking filter beta parameter", OFFSET(deblockbeta), FF_OPT_TYPE_INT, DEFAULT, -6, 6, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
374 {"partitions", "macroblock subpartition sizes to consider", OFFSET(partitions), FF_OPT_TYPE_FLAGS, DEFAULT, INT_MIN, INT_MAX, V|E, "partitions"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
375 {"parti4x4", NULL, 0, FF_OPT_TYPE_CONST, X264_PART_I4X4, INT_MIN, INT_MAX, V|E, "partitions"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
376 {"parti8x8", NULL, 0, FF_OPT_TYPE_CONST, X264_PART_I8X8, INT_MIN, INT_MAX, V|E, "partitions"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
377 {"partp4x4", NULL, 0, FF_OPT_TYPE_CONST, X264_PART_P4X4, INT_MIN, INT_MAX, V|E, "partitions"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
378 {"partp8x8", NULL, 0, FF_OPT_TYPE_CONST, X264_PART_P8X8, INT_MIN, INT_MAX, V|E, "partitions"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
379 {"partb8x8", NULL, 0, FF_OPT_TYPE_CONST, X264_PART_B8X8, INT_MIN, INT_MAX, V|E, "partitions"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
380 {"sc_factor", "multiplied by qscale for each frame and added to scene_change_score", OFFSET(scenechange_factor), FF_OPT_TYPE_INT, 6, 0, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
381 {"mv0_threshold", NULL, OFFSET(mv0_threshold), FF_OPT_TYPE_INT, 256, 0, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
382 {"ivlc", "intra vlc table", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_INTRA_VLC, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
383 {"b_sensitivity", "adjusts sensitivity of b_frame_strategy 1", OFFSET(b_sensitivity), FF_OPT_TYPE_INT, 40, 1, INT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
384 {"compression_level", NULL, OFFSET(compression_level), FF_OPT_TYPE_INT, FF_COMPRESSION_DEFAULT, INT_MIN, INT_MAX, V|A|E},
12139
e59926e2c50c Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
jbr
parents: 12123
diff changeset
385 #if LIBAVCODEC_VERSION_MAJOR < 53
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
386 {"use_lpc", "sets whether to use LPC mode (FLAC)", OFFSET(use_lpc), FF_OPT_TYPE_INT, -1, INT_MIN, INT_MAX, A|E},
12139
e59926e2c50c Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
jbr
parents: 12123
diff changeset
387 #endif
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
388 {"lpc_coeff_precision", "LPC coefficient precision (FLAC)", OFFSET(lpc_coeff_precision), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, A|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
389 {"min_prediction_order", NULL, OFFSET(min_prediction_order), FF_OPT_TYPE_INT, -1, INT_MIN, INT_MAX, A|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
390 {"max_prediction_order", NULL, OFFSET(max_prediction_order), FF_OPT_TYPE_INT, -1, INT_MIN, INT_MAX, A|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
391 {"prediction_order_method", "search method for selecting prediction order", OFFSET(prediction_order_method), FF_OPT_TYPE_INT, -1, INT_MIN, INT_MAX, A|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
392 {"min_partition_order", NULL, OFFSET(min_partition_order), FF_OPT_TYPE_INT, -1, INT_MIN, INT_MAX, A|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
393 {"max_partition_order", NULL, OFFSET(max_partition_order), FF_OPT_TYPE_INT, -1, INT_MIN, INT_MAX, A|E},
9172
f99fb6054999 1 km^3 cola, timecode_frame_start is a 64 bit integer, this resulted in
reimar
parents: 9059
diff changeset
394 {"timecode_frame_start", "GOP timecode frame start number, in non drop frame format", OFFSET(timecode_frame_start), FF_OPT_TYPE_INT64, 0, 0, INT64_MAX, V|E},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
395 {"drop_frame_timecode", NULL, 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_DROP_FRAME_TIMECODE, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
396 {"non_linear_q", "use non linear quantizer", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_NON_LINEAR_QUANT, INT_MIN, INT_MAX, V|E, "flags2"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
397 {"request_channels", "set desired number of audio channels", OFFSET(request_channels), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, A|D},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
398 {"drc_scale", "percentage of dynamic range compression to apply", OFFSET(drc_scale), FF_OPT_TYPE_FLOAT, 1.0, 0.0, 1.0, A|D},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
399 {"reservoir", "use bit reservoir", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_BIT_RESERVOIR, INT_MIN, INT_MAX, A|E, "flags2"},
10658
8a7d79132993 Add MBtree support for libx264
darkshikari
parents: 10578
diff changeset
400 {"mbtree", "use macroblock tree ratecontrol (x264 only)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_MBTREE, INT_MIN, INT_MAX, V|E, "flags2"},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
401 {"bits_per_raw_sample", NULL, OFFSET(bits_per_raw_sample), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
402 {"channel_layout", NULL, OFFSET(channel_layout), FF_OPT_TYPE_INT64, DEFAULT, 0, INT64_MAX, A|E|D, "channel_layout"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
403 {"request_channel_layout", NULL, OFFSET(request_channel_layout), FF_OPT_TYPE_INT64, DEFAULT, 0, INT64_MAX, A|D, "request_channel_layout"},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
404 {"rc_max_vbv_use", NULL, OFFSET(rc_max_available_vbv_use), FF_OPT_TYPE_FLOAT, 1.0/3, 0.0, FLT_MAX, V|E},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
405 {"rc_min_vbv_use", NULL, OFFSET(rc_min_vbv_overflow_use), FF_OPT_TYPE_FLOAT, 3, 0.0, FLT_MAX, V|E},
9059
3c5920f57063 Add ticks_per_frame, this should hopefully fix the regressions caused
michael
parents: 8718
diff changeset
406 {"ticks_per_frame", NULL, OFFSET(ticks_per_frame), FF_OPT_TYPE_INT, 1, 1, INT_MAX, A|V|E|D},
9600
b59a8ed50f36 Add colorspace fields to AVCodecContext.
michael
parents: 9377
diff changeset
407 {"color_primaries", NULL, OFFSET(color_primaries), FF_OPT_TYPE_INT, AVCOL_PRI_UNSPECIFIED, 1, AVCOL_PRI_NB-1, V|E|D},
b59a8ed50f36 Add colorspace fields to AVCodecContext.
michael
parents: 9377
diff changeset
408 {"color_trc", NULL, OFFSET(color_trc), FF_OPT_TYPE_INT, AVCOL_TRC_UNSPECIFIED, 1, AVCOL_TRC_NB-1, V|E|D},
b59a8ed50f36 Add colorspace fields to AVCodecContext.
michael
parents: 9377
diff changeset
409 {"colorspace", NULL, OFFSET(colorspace), FF_OPT_TYPE_INT, AVCOL_SPC_UNSPECIFIED, 1, AVCOL_SPC_NB-1, V|E|D},
b59a8ed50f36 Add colorspace fields to AVCodecContext.
michael
parents: 9377
diff changeset
410 {"color_range", NULL, OFFSET(color_range), FF_OPT_TYPE_INT, AVCOL_RANGE_UNSPECIFIED, 0, AVCOL_RANGE_NB-1, V|E|D},
9626
bd3e11b60ccd Add a chroma_sample_location field to define positioning of chroma samples
conrad
parents: 9600
diff changeset
411 {"chroma_sample_location", NULL, OFFSET(chroma_sample_location), FF_OPT_TYPE_INT, AVCHROMA_LOC_UNSPECIFIED, 0, AVCHROMA_LOC_NB-1, V|E|D},
11538
9beb570426f4 Enable more libx264 options, aq, psy, rc lookahead and ssim
bcoudurier
parents: 11125
diff changeset
412 {"psy", "use psycho visual optimization", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_PSY, INT_MIN, INT_MAX, V|E, "flags2"},
9beb570426f4 Enable more libx264 options, aq, psy, rc lookahead and ssim
bcoudurier
parents: 11125
diff changeset
413 {"psy_rd", "specify psycho visual strength", OFFSET(psy_rd), FF_OPT_TYPE_FLOAT, 1.0, 0, FLT_MAX, V|E},
9beb570426f4 Enable more libx264 options, aq, psy, rc lookahead and ssim
bcoudurier
parents: 11125
diff changeset
414 {"psy_trellis", "specify psycho visual trellis", OFFSET(psy_trellis), FF_OPT_TYPE_FLOAT, 0, 0, FLT_MAX, V|E},
9beb570426f4 Enable more libx264 options, aq, psy, rc lookahead and ssim
bcoudurier
parents: 11125
diff changeset
415 {"aq_mode", "specify aq method", OFFSET(aq_mode), FF_OPT_TYPE_INT, 1, 0, INT_MAX, V|E},
9beb570426f4 Enable more libx264 options, aq, psy, rc lookahead and ssim
bcoudurier
parents: 11125
diff changeset
416 {"aq_strength", "specify aq strength", OFFSET(aq_strength), FF_OPT_TYPE_FLOAT, 1.0, 0, FLT_MAX, V|E},
9beb570426f4 Enable more libx264 options, aq, psy, rc lookahead and ssim
bcoudurier
parents: 11125
diff changeset
417 {"rc_lookahead", "specify number of frames to look ahead for frametype", OFFSET(rc_lookahead), FF_OPT_TYPE_INT, 40, 0, INT_MAX, V|E},
9beb570426f4 Enable more libx264 options, aq, psy, rc lookahead and ssim
bcoudurier
parents: 11125
diff changeset
418 {"ssim", "ssim will be calculated during encoding", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_SSIM, INT_MIN, INT_MAX, V|E, "flags2"},
11689
2312dfbe9251 Add intra refresh and crf-max support to the libavcodec libx264 wrapper.
darkshikari
parents: 11664
diff changeset
419 {"intra_refresh", "use periodic insertion of intra blocks instead of keyframes", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_INTRA_REFRESH, INT_MIN, INT_MAX, V|E, "flags2"},
2312dfbe9251 Add intra refresh and crf-max support to the libavcodec libx264 wrapper.
darkshikari
parents: 11664
diff changeset
420 {"crf_max", "in crf mode, prevents vbv from lowering quality beyond this point", OFFSET(crf_max), FF_OPT_TYPE_FLOAT, DEFAULT, 0, 51, V|E},
11741
872971445121 Add log_level_offset to AVCodecContext.
stefano
parents: 11689
diff changeset
421 {"log_level_offset", "set the log level offset", OFFSET(log_level_offset), FF_OPT_TYPE_INT, 0, INT_MIN, INT_MAX },
12139
e59926e2c50c Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
jbr
parents: 12123
diff changeset
422 {"lpc_type", "specify LPC algorithm", OFFSET(lpc_type), FF_OPT_TYPE_INT, AV_LPC_TYPE_DEFAULT, AV_LPC_TYPE_DEFAULT, AV_LPC_TYPE_NB-1, A|E},
e59926e2c50c Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
jbr
parents: 12123
diff changeset
423 {"none", NULL, 0, FF_OPT_TYPE_CONST, AV_LPC_TYPE_NONE, INT_MIN, INT_MAX, A|E, "lpc_type"},
e59926e2c50c Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
jbr
parents: 12123
diff changeset
424 {"fixed", NULL, 0, FF_OPT_TYPE_CONST, AV_LPC_TYPE_FIXED, INT_MIN, INT_MAX, A|E, "lpc_type"},
e59926e2c50c Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
jbr
parents: 12123
diff changeset
425 {"levinson", NULL, 0, FF_OPT_TYPE_CONST, AV_LPC_TYPE_LEVINSON, INT_MIN, INT_MAX, A|E, "lpc_type"},
e59926e2c50c Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
jbr
parents: 12123
diff changeset
426 {"cholesky", NULL, 0, FF_OPT_TYPE_CONST, AV_LPC_TYPE_CHOLESKY, INT_MIN, INT_MAX, A|E, "lpc_type"},
e59926e2c50c Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
jbr
parents: 12123
diff changeset
427 {"lpc_passes", "number of passes to use for Cholesky factorization during LPC analysis", OFFSET(lpc_passes), FF_OPT_TYPE_INT, -1, INT_MIN, INT_MAX, A|E},
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
428 {NULL},
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
429 };
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
430
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
431 #undef A
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
432 #undef V
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
433 #undef S
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
434 #undef E
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
435 #undef D
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
436 #undef DEFAULT
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
437
11741
872971445121 Add log_level_offset to AVCodecContext.
stefano
parents: 11689
diff changeset
438 static const AVClass av_codec_context_class = { "AVCodecContext", context_to_name, options, LIBAVUTIL_VERSION_INT, OFFSET(log_level_offset) };
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
439
11560
8a4984c5cacc Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 11539
diff changeset
440 void avcodec_get_context_defaults2(AVCodecContext *s, enum AVMediaType codec_type){
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
441 int flags=0;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
442 memset(s, 0, sizeof(AVCodecContext));
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
443
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
444 s->av_class= &av_codec_context_class;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
445
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
446 s->codec_type = codec_type;
11560
8a4984c5cacc Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 11539
diff changeset
447 if(codec_type == AVMEDIA_TYPE_AUDIO)
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
448 flags= AV_OPT_FLAG_AUDIO_PARAM;
11560
8a4984c5cacc Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 11539
diff changeset
449 else if(codec_type == AVMEDIA_TYPE_VIDEO)
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
450 flags= AV_OPT_FLAG_VIDEO_PARAM;
11560
8a4984c5cacc Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 11539
diff changeset
451 else if(codec_type == AVMEDIA_TYPE_SUBTITLE)
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
452 flags= AV_OPT_FLAG_SUBTITLE_PARAM;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
453 av_opt_set_defaults2(s, flags, flags);
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
454
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
455 s->time_base= (AVRational){0,1};
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
456 s->get_buffer= avcodec_default_get_buffer;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
457 s->release_buffer= avcodec_default_release_buffer;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
458 s->get_format= avcodec_default_get_format;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
459 s->execute= avcodec_default_execute;
10386
98501365c3aa Add an execute2 function that is more flexible and allows to use parallel
reimar
parents: 9722
diff changeset
460 s->execute2= avcodec_default_execute2;
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
461 s->sample_aspect_ratio= (AVRational){0,1};
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
462 s->pix_fmt= PIX_FMT_NONE;
10578
1368ec7cca5b Allow decoders to correctly set the sample format by defaulting to
jai_menon
parents: 10566
diff changeset
463 s->sample_fmt= SAMPLE_FMT_NONE;
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
464
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
465 s->palctrl = NULL;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
466 s->reget_buffer= avcodec_default_reget_buffer;
11070
b28afc181754 Set reordered_opaque during context alloc by default to AV_NOPTS_VALUE.
michael
parents: 11024
diff changeset
467 s->reordered_opaque= AV_NOPTS_VALUE;
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
468 }
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
469
11560
8a4984c5cacc Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 11539
diff changeset
470 AVCodecContext *avcodec_alloc_context2(enum AVMediaType codec_type){
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
471 AVCodecContext *avctx= av_malloc(sizeof(AVCodecContext));
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
472
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
473 if(avctx==NULL) return NULL;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
474
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
475 avcodec_get_context_defaults2(avctx, codec_type);
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
476
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
477 return avctx;
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
478 }
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
479
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
480 void avcodec_get_context_defaults(AVCodecContext *s){
11560
8a4984c5cacc Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 11539
diff changeset
481 avcodec_get_context_defaults2(s, AVMEDIA_TYPE_UNKNOWN);
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
482 }
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
483
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
484 AVCodecContext *avcodec_alloc_context(void){
11560
8a4984c5cacc Define AVMediaType enum, and use it instead of enum CodecType, which
stefano
parents: 11539
diff changeset
485 return avcodec_alloc_context2(AVMEDIA_TYPE_UNKNOWN);
8559
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
486 }
0a7fd7dbea1a Move the AVCodecContext options definition to a dedicated file, reduce
stefano
parents:
diff changeset
487
11565
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
488 int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
489 {
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
490 if (dest->codec) { // check that the dest context is uninitialized
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
491 av_log(dest, AV_LOG_ERROR,
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
492 "Tried to copy AVCodecContext %p into already-initialized %p\n",
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
493 src, dest);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
494 return AVERROR(EINVAL);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
495 }
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
496 memcpy(dest, src, sizeof(*dest));
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
497
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
498 /* set values specific to opened codecs back to their default state */
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
499 dest->priv_data = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
500 dest->codec = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
501 dest->palctrl = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
502 dest->slice_offset = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
503 dest->internal_buffer = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
504 dest->hwaccel = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
505 dest->thread_opaque = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
506
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
507 /* reallocate values that should be allocated separately */
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
508 dest->rc_eq = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
509 dest->extradata = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
510 dest->intra_matrix = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
511 dest->inter_matrix = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
512 dest->rc_override = NULL;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
513 if (src->rc_eq) {
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
514 dest->rc_eq = av_strdup(src->rc_eq);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
515 if (!dest->rc_eq)
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
516 return AVERROR(ENOMEM);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
517 }
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
518
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
519 #define alloc_and_copy_or_fail(obj, size, pad) \
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
520 if (src->obj && size > 0) { \
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
521 dest->obj = av_malloc(size + pad); \
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
522 if (!dest->obj) \
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
523 goto fail; \
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
524 memcpy(dest->obj, src->obj, size); \
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
525 if (pad) \
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
526 memset(((uint8_t *) dest->obj) + size, 0, pad); \
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
527 }
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
528 alloc_and_copy_or_fail(extradata, src->extradata_size,
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
529 FF_INPUT_BUFFER_PADDING_SIZE);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
530 alloc_and_copy_or_fail(intra_matrix, 64 * sizeof(int16_t), 0);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
531 alloc_and_copy_or_fail(inter_matrix, 64 * sizeof(int16_t), 0);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
532 alloc_and_copy_or_fail(rc_override, src->rc_override_count * sizeof(*src->rc_override), 0);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
533 #undef alloc_and_copy_or_fail
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
534
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
535 return 0;
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
536
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
537 fail:
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
538 av_freep(&dest->rc_override);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
539 av_freep(&dest->intra_matrix);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
540 av_freep(&dest->inter_matrix);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
541 av_freep(&dest->extradata);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
542 av_freep(&dest->rc_eq);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
543 return AVERROR(ENOMEM);
2baae9246958 Add avcodec_copy_context().
rbultje
parents: 11560
diff changeset
544 }