2012-03-14 13:18:20 +01:00
/*
2012-03-21 00:15:18 +01:00
* Copyright (c) 2001 Fabrice Bellard
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
2012-03-14 13:18:20 +01:00
*
2012-03-21 00:15:18 +01:00
* This file is part of FFmpeg.
2012-03-14 13:18:20 +01:00
*
2012-03-21 00:15:18 +01:00
* FFmpeg is free software; you can redistribute it and/or
2012-03-14 13:18:20 +01:00
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
2012-03-21 00:15:18 +01:00
* FFmpeg is distributed in the hope that it will be useful,
2012-03-14 13:18:20 +01:00
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
2012-03-21 00:15:18 +01:00
* License along with FFmpeg; if not, write to the Free Software
2012-03-14 13:18:20 +01:00
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
2012-12-09 13:35:21 +01:00
#ifndef AVCODEC_OPTIONS_TABLE_H
#define AVCODEC_OPTIONS_TABLE_H
2012-03-14 13:18:20 +01:00
2012-05-07 16:25:12 -07:00
#include <float.h>
#include <limits.h>
2013-11-23 21:32:55 +01:00
#include <stdint.h>
2012-05-07 16:25:12 -07:00
#include "libavutil/opt.h"
#include "avcodec.h"
2012-10-11 16:48:27 +02:00
#include "version.h"
2012-05-07 16:25:12 -07:00
2012-03-14 13:18:20 +01:00
#define OFFSET(x) offsetof(AVCodecContext,x)
#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
//these names are too long to be readable
#define V AV_OPT_FLAG_VIDEO_PARAM
#define A AV_OPT_FLAG_AUDIO_PARAM
#define S AV_OPT_FLAG_SUBTITLE_PARAM
#define E AV_OPT_FLAG_ENCODING_PARAM
#define D AV_OPT_FLAG_DECODING_PARAM
#define AV_CODEC_DEFAULT_BITRATE 200*1000
2013-08-01 14:35:01 +02:00
static const AVOption avcodec_options [] = {
2016-02-10 15:22:59 +00:00
{ "b" , "set bitrate (in bits/s)" , OFFSET ( bit_rate ), AV_OPT_TYPE_INT64 , {. i64 = AV_CODEC_DEFAULT_BITRATE }, 0 , INT64_MAX , A | V | E },
2015-09-15 18:01:32 +02:00
{ "ab" , "set bitrate (in bits/s)" , OFFSET ( bit_rate ), AV_OPT_TYPE_INT64 , {. i64 = 128 * 1000 }, 0 , INT_MAX , A | E },
2012-03-15 08:17:05 +01:00
{ "bt" , "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far "
"ratecontrol is willing to deviate from the target average bitrate value. This is not related "
2012-12-07 16:07:51 +01:00
"to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality." ,
2012-08-31 13:22:31 +03:00
OFFSET ( bit_rate_tolerance ), AV_OPT_TYPE_INT , {. i64 = AV_CODEC_DEFAULT_BITRATE * 20 }, 1 , INT_MAX , V | E },
2012-09-05 14:09:09 +02:00
{ "flags" , NULL , OFFSET ( flags ), AV_OPT_TYPE_FLAGS , {. i64 = DEFAULT }, 0 , UINT_MAX , V | A | S | E | D , "flags" },
2015-06-29 21:59:37 +02:00
{ "unaligned" , "allow decoders to produce unaligned output" , 0 , AV_OPT_TYPE_CONST , { . i64 = AV_CODEC_FLAG_UNALIGNED }, INT_MIN , INT_MAX , V | D , "flags" },
{ "mv4" , "use four motion vectors per macroblock (MPEG-4)" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_4MV }, INT_MIN , INT_MAX , V | E , "flags" },
{ "qpel" , "use 1/4-pel motion compensation" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_QPEL }, INT_MIN , INT_MAX , V | E , "flags" },
{ "loop" , "use loop filter" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_LOOP_FILTER }, INT_MIN , INT_MAX , V | E , "flags" },
{ "qscale" , "use fixed qscale" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_QSCALE }, INT_MIN , INT_MAX , 0 , "flags" },
{ "pass1" , "use internal 2-pass ratecontrol in first pass mode" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_PASS1 }, INT_MIN , INT_MAX , 0 , "flags" },
{ "pass2" , "use internal 2-pass ratecontrol in second pass mode" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_PASS2 }, INT_MIN , INT_MAX , 0 , "flags" },
{ "gray" , "only decode/encode grayscale" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_GRAY }, INT_MIN , INT_MAX , V | E | D , "flags" },
{ "psnr" , "error[?] variables will be set during encoding" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_PSNR }, INT_MIN , INT_MAX , V | E , "flags" },
2015-10-03 16:24:00 +02:00
{ "truncated" , "Input bitstream might be randomly truncated" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_TRUNCATED }, INT_MIN , INT_MAX , V | D , "flags" },
2015-06-29 21:59:37 +02:00
{ "ildct" , "use interlaced DCT" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_INTERLACED_DCT }, INT_MIN , INT_MAX , V | E , "flags" },
{ "low_delay" , "force low delay" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_LOW_DELAY }, INT_MIN , INT_MAX , V | D | E , "flags" },
{ "global_header" , "place global headers in extradata instead of every keyframe" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_GLOBAL_HEADER }, INT_MIN , INT_MAX , V | A | E , "flags" },
{ "bitexact" , "use only bitexact functions (except (I)DCT)" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_BITEXACT }, INT_MIN , INT_MAX , A | V | S | D | E , "flags" },
{ "aic" , "H.263 advanced intra coding / MPEG-4 AC prediction" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_AC_PRED }, INT_MIN , INT_MAX , V | E , "flags" },
{ "ilme" , "interlaced motion estimation" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_INTERLACED_ME }, INT_MIN , INT_MAX , V | E , "flags" },
{ "cgop" , "closed GOP" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_CLOSED_GOP }, INT_MIN , INT_MAX , V | E , "flags" },
{ "output_corrupt" , "Output even potentially corrupted frames" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG_OUTPUT_CORRUPT }, INT_MIN , INT_MAX , V | D , "flags" },
{ "fast" , "allow non-spec-compliant speedup tricks" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG2_FAST }, INT_MIN , INT_MAX , V | E , "flags2" },
{ "noout" , "skip bitstream encoding" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG2_NO_OUTPUT }, INT_MIN , INT_MAX , V | E , "flags2" },
2015-07-27 21:14:31 +02:00
{ "ignorecrop" , "ignore cropping information from sps" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG2_IGNORE_CROP }, INT_MIN , INT_MAX , V | D , "flags2" },
2015-06-29 21:59:37 +02:00
{ "local_header" , "place global headers at every keyframe instead of in extradata" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG2_LOCAL_HEADER }, INT_MIN , INT_MAX , V | E , "flags2" },
2015-07-27 21:14:31 +02:00
{ "chunks" , "Frame data might be split into multiple chunks" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG2_CHUNKS }, INT_MIN , INT_MAX , V | D , "flags2" },
{ "showall" , "Show all frames before the first keyframe" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG2_SHOW_ALL }, INT_MIN , INT_MAX , V | D , "flags2" },
{ "export_mvs" , "export motion vectors through frame side data" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG2_EXPORT_MVS }, INT_MIN , INT_MAX , V | D , "flags2" },
{ "skip_manual" , "do not skip samples and export skip information as frame side data" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG2_SKIP_MANUAL }, INT_MIN , INT_MAX , V | D , "flags2" },
2016-02-20 21:27:45 +01:00
{ "ass_ro_flush_noop" , "do not reset ASS ReadOrder field on flush" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_CODEC_FLAG2_RO_FLUSH_NOOP }, INT_MIN , INT_MAX , S | D , "flags2" },
2016-11-17 19:25:50 +01:00
{ "time_base" , NULL , OFFSET ( time_base ), AV_OPT_TYPE_RATIONAL , {. dbl = 0 }, 0 , INT_MAX },
2012-12-07 16:07:51 +01:00
{ "g" , "set the group of picture (GOP) size" , OFFSET ( gop_size ), AV_OPT_TYPE_INT , {. i64 = 12 }, INT_MIN , INT_MAX , V | E },
2014-11-03 13:20:24 +01:00
{ "ar" , "set audio sampling rate (in Hz)" , OFFSET ( sample_rate ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , INT_MAX , A | D | E },
{ "ac" , "set number of audio channels" , OFFSET ( channels ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , INT_MAX , A | D | E },
2012-08-31 13:22:31 +03:00
{ "cutoff" , "set cutoff bandwidth" , OFFSET ( cutoff ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , A | E },
2016-11-17 19:25:50 +01:00
{ "frame_size" , NULL , OFFSET ( frame_size ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , INT_MAX , A | E },
2012-08-31 13:22:31 +03:00
{ "frame_number" , NULL , OFFSET ( frame_number ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
{ "delay" , NULL , OFFSET ( delay ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
2012-03-15 08:17:05 +01:00
{ "qcomp" , "video quantizer scale compression (VBR). Constant of ratecontrol equation. "
"Recommended range for default rc_eq: 0.0-1.0" ,
OFFSET ( qcompress ), AV_OPT_TYPE_FLOAT , {. dbl = 0.5 }, - FLT_MAX , FLT_MAX , V | E },
2012-03-14 13:18:20 +01:00
{ "qblur" , "video quantizer scale blur (VBR)" , OFFSET ( qblur ), AV_OPT_TYPE_FLOAT , {. dbl = 0.5 }, - 1 , FLT_MAX , V | E },
2012-12-07 16:07:51 +01:00
{ "qmin" , "minimum video quantizer scale (VBR)" , OFFSET ( qmin ), AV_OPT_TYPE_INT , {. i64 = 2 }, - 1 , 69 , V | E },
2012-12-19 14:28:58 +01:00
{ "qmax" , "maximum video quantizer scale (VBR)" , OFFSET ( qmax ), AV_OPT_TYPE_INT , {. i64 = 31 }, - 1 , 1024 , V | E },
2012-12-07 16:07:51 +01:00
{ "qdiff" , "maximum difference between the quantizer scales (VBR)" , OFFSET ( max_qdiff ), AV_OPT_TYPE_INT , {. i64 = 3 }, INT_MIN , INT_MAX , V | E },
2016-06-21 21:55:20 +02:00
{ "bf" , "set maximum number of B-frames between non-B-frames" , OFFSET ( max_b_frames ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, - 1 , INT_MAX , V | E },
2012-12-07 16:07:51 +01:00
{ "b_qfactor" , "QP factor between P- and B-frames" , OFFSET ( b_quant_factor ), AV_OPT_TYPE_FLOAT , {. dbl = 1.25 }, - FLT_MAX , FLT_MAX , V | E },
2015-09-09 04:18:26 +02:00
#if FF_API_PRIVATE_OPT
2012-08-31 13:22:31 +03:00
{ "b_strategy" , "strategy to choose between I/P/B-frames" , OFFSET ( b_frame_strategy ), AV_OPT_TYPE_INT , {. i64 = 0 }, INT_MIN , INT_MAX , V | E },
2012-12-07 16:07:51 +01:00
{ "ps" , "RTP payload size in bytes" , OFFSET ( rtp_payload_size ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
2015-09-13 23:45:24 +02:00
#endif
2015-11-30 12:19:36 -05:00
#if FF_API_STAT_BITS
2012-08-31 13:22:31 +03:00
{ "mv_bits" , NULL , OFFSET ( mv_bits ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
{ "header_bits" , NULL , OFFSET ( header_bits ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
{ "i_tex_bits" , NULL , OFFSET ( i_tex_bits ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
{ "p_tex_bits" , NULL , OFFSET ( p_tex_bits ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
{ "i_count" , NULL , OFFSET ( i_count ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
{ "p_count" , NULL , OFFSET ( p_count ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
{ "skip_count" , NULL , OFFSET ( skip_count ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
{ "misc_bits" , NULL , OFFSET ( misc_bits ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
{ "frame_bits" , NULL , OFFSET ( frame_bits ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
2015-11-30 12:19:36 -05:00
#endif
2012-08-31 13:22:31 +03:00
{ "codec_tag" , NULL , OFFSET ( codec_tag ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
2012-12-07 16:07:51 +01:00
{ "bug" , "work around not autodetected encoder bugs" , OFFSET ( workaround_bugs ), AV_OPT_TYPE_FLAGS , {. i64 = FF_BUG_AUTODETECT }, INT_MIN , INT_MAX , V | D , "bug" },
2012-08-31 12:45:52 +03:00
{ "autodetect" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_AUTODETECT }, INT_MIN , INT_MAX , V | D , "bug" },
2012-12-07 16:07:51 +01:00
{ "xvid_ilace" , "Xvid interlacing bug (autodetected if FOURCC == XVIX)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_XVID_ILACE }, INT_MIN , INT_MAX , V | D , "bug" },
{ "ump4" , "(autodetected if FOURCC == UMP4)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_UMP4 }, INT_MIN , INT_MAX , V | D , "bug" },
2012-08-31 12:45:52 +03:00
{ "no_padding" , "padding bug (autodetected)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_NO_PADDING }, INT_MIN , INT_MAX , V | D , "bug" },
{ "amv" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_AMV }, INT_MIN , INT_MAX , V | D , "bug" },
{ "qpel_chroma" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_QPEL_CHROMA }, INT_MIN , INT_MAX , V | D , "bug" },
2012-12-07 16:07:51 +01:00
{ "std_qpel" , "old standard qpel (autodetected per FOURCC/version)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_STD_QPEL }, INT_MIN , INT_MAX , V | D , "bug" },
2012-08-31 12:45:52 +03:00
{ "qpel_chroma2" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_QPEL_CHROMA2 }, INT_MIN , INT_MAX , V | D , "bug" },
2012-12-07 16:07:51 +01:00
{ "direct_blocksize" , "direct-qpel-blocksize bug (autodetected per FOURCC/version)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_DIRECT_BLOCKSIZE }, INT_MIN , INT_MAX , V | D , "bug" },
{ "edge" , "edge padding bug (autodetected per FOURCC/version)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_EDGE }, INT_MIN , INT_MAX , V | D , "bug" },
2012-08-31 12:45:52 +03:00
{ "hpel_chroma" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_HPEL_CHROMA }, INT_MIN , INT_MAX , V | D , "bug" },
{ "dc_clip" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_DC_CLIP }, INT_MIN , INT_MAX , V | D , "bug" },
2012-12-07 16:07:51 +01:00
{ "ms" , "work around various bugs in Microsoft's broken decoders" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_MS }, INT_MIN , INT_MAX , V | D , "bug" },
{ "trunc" , "truncated frames" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_TRUNCATED }, INT_MIN , INT_MAX , V | D , "bug" },
2016-11-12 12:31:35 +01:00
{ "iedge" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_BUG_IEDGE }, INT_MIN , INT_MAX , V | D , "bug" },
2012-08-31 13:22:31 +03:00
{ "strict" , "how strictly to follow the standards" , OFFSET ( strict_std_compliance ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , A | V | D | E , "strict" },
2016-05-02 22:01:49 +02:00
{ "very" , "strictly conform to a older more strict version of the spec or reference software" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_COMPLIANCE_VERY_STRICT }, INT_MIN , INT_MAX , A | V | D | E , "strict" },
{ "strict" , "strictly conform to all the things in the spec no matter what the consequences" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_COMPLIANCE_STRICT }, INT_MIN , INT_MAX , A | V | D | E , "strict" },
{ "normal" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_COMPLIANCE_NORMAL }, INT_MIN , INT_MAX , A | V | D | E , "strict" },
{ "unofficial" , "allow unofficial extensions" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_COMPLIANCE_UNOFFICIAL }, INT_MIN , INT_MAX , A | V | D | E , "strict" },
{ "experimental" , "allow non-standardized experimental things" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_COMPLIANCE_EXPERIMENTAL }, INT_MIN , INT_MAX , A | V | D | E , "strict" },
2012-12-07 16:07:51 +01:00
{ "b_qoffset" , "QP offset between P- and B-frames" , OFFSET ( b_quant_offset ), AV_OPT_TYPE_FLOAT , {. dbl = 1.25 }, - FLT_MAX , FLT_MAX , V | E },
2013-10-28 12:47:10 +01:00
{ "err_detect" , "set error detection flags" , OFFSET ( err_recognition ), AV_OPT_TYPE_FLAGS , {. i64 = 0 }, INT_MIN , INT_MAX , A | V | D , "err_detect" },
2012-09-05 13:58:11 +02:00
{ "crccheck" , "verify embedded CRCs" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_EF_CRCCHECK }, INT_MIN , INT_MAX , A | V | D , "err_detect" },
{ "bitstream" , "detect bitstream specification deviations" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_EF_BITSTREAM }, INT_MIN , INT_MAX , A | V | D , "err_detect" },
{ "buffer" , "detect improper bitstream length" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_EF_BUFFER }, INT_MIN , INT_MAX , A | V | D , "err_detect" },
{ "explode" , "abort decoding on minor error detection" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_EF_EXPLODE }, INT_MIN , INT_MAX , A | V | D , "err_detect" },
2014-05-02 16:33:32 +02:00
{ "ignore_err" , "ignore errors" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_EF_IGNORE_ERR }, INT_MIN , INT_MAX , A | V | D , "err_detect" },
2013-10-27 19:28:31 +01:00
{ "careful" , "consider things that violate the spec, are fast to check and have not been seen in the wild as errors" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_EF_CAREFUL }, INT_MIN , INT_MAX , A | V | D , "err_detect" },
2012-09-05 13:58:11 +02:00
{ "compliant" , "consider all spec non compliancies as errors" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_EF_COMPLIANT }, INT_MIN , INT_MAX , A | V | D , "err_detect" },
{ "aggressive" , "consider things that a sane encoder should not do as an error" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_EF_AGGRESSIVE }, INT_MIN , INT_MAX , A | V | D , "err_detect" },
2016-11-17 19:25:50 +01:00
{ "has_b_frames" , NULL , OFFSET ( has_b_frames ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , INT_MAX },
{ "block_align" , NULL , OFFSET ( block_align ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , INT_MAX },
2015-09-13 23:45:24 +02:00
#if FF_API_PRIVATE_OPT
2012-08-31 13:22:31 +03:00
{ "mpeg_quant" , "use MPEG quantizers instead of H.263" , OFFSET ( mpeg_quant ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
2015-09-13 23:45:24 +02:00
#endif
2012-08-31 13:22:31 +03:00
{ "rc_override_count" , NULL , OFFSET ( rc_override_count ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
2015-09-15 18:01:32 +02:00
{ "maxrate" , "maximum bitrate (in bits/s). Used for VBV together with bufsize." , OFFSET ( rc_max_rate ), AV_OPT_TYPE_INT64 , {. i64 = DEFAULT }, 0 , INT_MAX , V | A | E },
{ "minrate" , "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise." ,
OFFSET ( rc_min_rate ), AV_OPT_TYPE_INT64 , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | A | E },
2012-08-31 13:22:31 +03:00
{ "bufsize" , "set ratecontrol buffer size (in bits)" , OFFSET ( rc_buffer_size ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , A | V | E },
2012-12-07 16:07:51 +01:00
{ "i_qfactor" , "QP factor between P- and I-frames" , OFFSET ( i_quant_factor ), AV_OPT_TYPE_FLOAT , {. dbl = - 0.8 }, - FLT_MAX , FLT_MAX , V | E },
{ "i_qoffset" , "QP offset between P- and I-frames" , OFFSET ( i_quant_offset ), AV_OPT_TYPE_FLOAT , {. dbl = 0.0 }, - FLT_MAX , FLT_MAX , V | E },
2012-08-31 13:22:31 +03:00
{ "dct" , "DCT algorithm" , OFFSET ( dct_algo ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , INT_MAX , V | E , "dct" },
2015-10-26 11:18:37 +01:00
{ "auto" , "autoselect a good one" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DCT_AUTO }, INT_MIN , INT_MAX , V | E , "dct" },
2012-08-31 12:45:52 +03:00
{ "fastint" , "fast integer" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DCT_FASTINT }, INT_MIN , INT_MAX , V | E , "dct" },
{ "int" , "accurate integer" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DCT_INT }, INT_MIN , INT_MAX , V | E , "dct" },
{ "mmx" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DCT_MMX }, INT_MIN , INT_MAX , V | E , "dct" },
{ "altivec" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DCT_ALTIVEC }, INT_MIN , INT_MAX , V | E , "dct" },
{ "faan" , "floating point AAN DCT" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DCT_FAAN }, INT_MIN , INT_MAX , V | E , "dct" },
2012-03-14 13:18:20 +01:00
{ "lumi_mask" , "compresses bright areas stronger than medium ones" , OFFSET ( lumi_masking ), AV_OPT_TYPE_FLOAT , {. dbl = 0 }, - FLT_MAX , FLT_MAX , V | E },
{ "tcplx_mask" , "temporal complexity masking" , OFFSET ( temporal_cplx_masking ), AV_OPT_TYPE_FLOAT , {. dbl = 0 }, - FLT_MAX , FLT_MAX , V | E },
{ "scplx_mask" , "spatial complexity masking" , OFFSET ( spatial_cplx_masking ), AV_OPT_TYPE_FLOAT , {. dbl = 0 }, - FLT_MAX , FLT_MAX , V | E },
{ "p_mask" , "inter masking" , OFFSET ( p_masking ), AV_OPT_TYPE_FLOAT , {. dbl = 0 }, - FLT_MAX , FLT_MAX , V | E },
{ "dark_mask" , "compresses dark areas stronger than medium ones" , OFFSET ( dark_masking ), AV_OPT_TYPE_FLOAT , {. dbl = 0 }, - FLT_MAX , FLT_MAX , V | E },
2012-08-31 13:22:31 +03:00
{ "idct" , "select IDCT implementation" , OFFSET ( idct_algo ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , INT_MAX , V | E | D , "idct" },
2012-08-31 12:45:52 +03:00
{ "auto" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_AUTO }, INT_MIN , INT_MAX , V | E | D , "idct" },
{ "int" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_INT }, INT_MIN , INT_MAX , V | E | D , "idct" },
{ "simple" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_SIMPLE }, INT_MIN , INT_MAX , V | E | D , "idct" },
{ "simplemmx" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_SIMPLEMMX }, INT_MIN , INT_MAX , V | E | D , "idct" },
{ "arm" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_ARM }, INT_MIN , INT_MAX , V | E | D , "idct" },
{ "altivec" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_ALTIVEC }, INT_MIN , INT_MAX , V | E | D , "idct" },
{ "simplearm" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_SIMPLEARM }, INT_MIN , INT_MAX , V | E | D , "idct" },
{ "simplearmv5te" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_SIMPLEARMV5TE }, INT_MIN , INT_MAX , V | E | D , "idct" },
{ "simplearmv6" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_SIMPLEARMV6 }, INT_MIN , INT_MAX , V | E | D , "idct" },
{ "simpleneon" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_SIMPLENEON }, INT_MIN , INT_MAX , V | E | D , "idct" },
2014-08-06 06:19:15 -07:00
{ "xvid" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_XVID }, INT_MIN , INT_MAX , V | E | D , "idct" },
2014-08-09 14:49:32 +02:00
{ "xvidmmx" , "deprecated, for compatibility only" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_XVID }, INT_MIN , INT_MAX , V | E | D , "idct" },
2012-08-31 12:45:52 +03:00
{ "faani" , "floating point AAN IDCT" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_FAAN }, INT_MIN , INT_MAX , V | D | E , "idct" },
2014-06-14 18:55:27 +02:00
{ "simpleauto" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_IDCT_SIMPLEAUTO }, INT_MIN , INT_MAX , V | E | D , "idct" },
2012-08-31 13:22:31 +03:00
{ "slice_count" , NULL , OFFSET ( slice_count ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
2012-08-31 12:52:18 +03:00
{ "ec" , "set error concealment strategy" , OFFSET ( error_concealment ), AV_OPT_TYPE_FLAGS , {. i64 = 3 }, INT_MIN , INT_MAX , V | D , "ec" },
2012-08-31 12:45:52 +03:00
{ "guess_mvs" , "iterative motion vector (MV) search (slow)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_EC_GUESS_MVS }, INT_MIN , INT_MAX , V | D , "ec" },
{ "deblock" , "use strong deblock filter for damaged MBs" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_EC_DEBLOCK }, INT_MIN , INT_MAX , V | D , "ec" },
2014-05-02 18:24:22 +02:00
{ "favor_inter" , "favor predicting from the previous frame" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_EC_FAVOR_INTER }, INT_MIN , INT_MAX , V | D , "ec" },
2016-11-17 19:25:50 +01:00
{ "bits_per_coded_sample" , NULL , OFFSET ( bits_per_coded_sample ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , INT_MAX },
2015-11-09 03:15:06 +01:00
#if FF_API_PRIVATE_OPT
2012-08-31 13:22:31 +03:00
{ "pred" , "prediction method" , OFFSET ( prediction_method ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E , "pred" },
2012-08-31 12:45:52 +03:00
{ "left" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PRED_LEFT }, INT_MIN , INT_MAX , V | E , "pred" },
{ "plane" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PRED_PLANE }, INT_MIN , INT_MAX , V | E , "pred" },
{ "median" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PRED_MEDIAN }, INT_MIN , INT_MAX , V | E , "pred" },
2015-11-09 03:15:06 +01:00
#endif
2012-03-14 13:18:20 +01:00
{ "aspect" , "sample aspect ratio" , OFFSET ( sample_aspect_ratio ), AV_OPT_TYPE_RATIONAL , {. dbl = 0 }, 0 , 10 , V | E },
2016-05-05 15:37:49 +03:00
{ "sar" , "sample aspect ratio" , OFFSET ( sample_aspect_ratio ), AV_OPT_TYPE_RATIONAL , {. dbl = 0 }, 0 , 10 , V | E },
2012-08-31 12:52:18 +03:00
{ "debug" , "print specific debug info" , OFFSET ( debug ), AV_OPT_TYPE_FLAGS , {. i64 = DEFAULT }, 0 , INT_MAX , V | A | S | E | D , "debug" },
2012-08-31 12:45:52 +03:00
{ "pict" , "picture info" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_PICT_INFO }, INT_MIN , INT_MAX , V | D , "debug" },
{ "rc" , "rate control" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_RC }, INT_MIN , INT_MAX , V | E , "debug" },
{ "bitstream" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_BITSTREAM }, INT_MIN , INT_MAX , V | D , "debug" },
{ "mb_type" , "macroblock (MB) type" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_MB_TYPE }, INT_MIN , INT_MAX , V | D , "debug" },
{ "qp" , "per-block quantization parameter (QP)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_QP }, INT_MIN , INT_MAX , V | D , "debug" },
2013-10-27 11:19:52 +01:00
#if FF_API_DEBUG_MV
2012-08-31 12:45:52 +03:00
{ "mv" , "motion vector" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_MV }, INT_MIN , INT_MAX , V | D , "debug" },
2013-10-27 11:19:52 +01:00
#endif
2012-08-31 12:45:52 +03:00
{ "dct_coeff" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_DCT_COEFF }, INT_MIN , INT_MAX , V | D , "debug" },
2015-06-30 15:17:59 +02:00
{ "green_metadata" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_GREEN_MD }, INT_MIN , INT_MAX , V | D , "debug" },
2012-08-31 12:45:52 +03:00
{ "skip" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_SKIP }, INT_MIN , INT_MAX , V | D , "debug" },
{ "startcode" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_STARTCODE }, INT_MIN , INT_MAX , V | D , "debug" },
{ "er" , "error recognition" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_ER }, INT_MIN , INT_MAX , V | D , "debug" },
{ "mmco" , "memory management control operations (H.264)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_MMCO }, INT_MIN , INT_MAX , V | D , "debug" },
{ "bugs" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_BUGS }, INT_MIN , INT_MAX , V | D , "debug" },
2017-08-25 13:44:52 -03:00
#if FF_API_DEBUG_MV
2012-08-31 12:45:52 +03:00
{ "vis_qp" , "visualize quantization parameter (QP), lower QP are tinted greener" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_VIS_QP }, INT_MIN , INT_MAX , V | D , "debug" },
{ "vis_mb_type" , "visualize block types" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_VIS_MB_TYPE }, INT_MIN , INT_MAX , V | D , "debug" },
2017-08-25 13:44:52 -03:00
#endif
2012-08-31 12:45:52 +03:00
{ "buffers" , "picture buffer allocations" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_BUFFERS }, INT_MIN , INT_MAX , V | D , "debug" },
2013-06-03 14:43:18 +00:00
{ "thread_ops" , "threading operations" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_THREADS }, INT_MIN , INT_MAX , V | A | D , "debug" },
2014-05-02 15:57:59 +02:00
{ "nomc" , "skip motion compensation" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_DEBUG_NOMC }, INT_MIN , INT_MAX , V | A | D , "debug" },
2012-12-07 16:07:51 +01:00
{ "cmp" , "full-pel ME compare function" , OFFSET ( me_cmp ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "subcmp" , "sub-pel ME compare function" , OFFSET ( me_sub_cmp ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E , "cmp_func" },
2012-08-31 13:22:31 +03:00
{ "mbcmp" , "macroblock compare function" , OFFSET ( mb_cmp ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E , "cmp_func" },
2012-12-07 16:07:51 +01:00
{ "ildctcmp" , "interlaced DCT compare function" , OFFSET ( ildct_cmp ), AV_OPT_TYPE_INT , {. i64 = FF_CMP_VSAD }, INT_MIN , INT_MAX , V | E , "cmp_func" },
2012-08-31 13:22:31 +03:00
{ "dia_size" , "diamond type & size for motion estimation" , OFFSET ( dia_size ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
{ "last_pred" , "amount of motion predictors from the previous frame" , OFFSET ( last_predictor_count ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
2015-11-09 03:15:06 +01:00
#if FF_API_PRIVATE_OPT
2012-08-31 13:22:31 +03:00
{ "preme" , "pre motion estimation" , OFFSET ( pre_me ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
2015-11-09 03:15:06 +01:00
#endif
2012-08-31 13:22:31 +03:00
{ "precmp" , "pre motion estimation compare function" , OFFSET ( me_pre_cmp ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E , "cmp_func" },
2015-10-26 11:17:03 +01:00
{ "sad" , "sum of absolute differences, fast" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_SAD }, INT_MIN , INT_MAX , V | E , "cmp_func" },
2012-08-31 12:45:52 +03:00
{ "sse" , "sum of squared errors" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_SSE }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "satd" , "sum of absolute Hadamard transformed differences" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_SATD }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "dct" , "sum of absolute DCT transformed differences" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_DCT }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "psnr" , "sum of squared quantization errors (avoid, low quality)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_PSNR }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "bit" , "number of bits needed for the block" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_BIT }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "rd" , "rate distortion optimal, slow" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_RD }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "zero" , "0" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_ZERO }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "vsad" , "sum of absolute vertical differences" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_VSAD }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "vsse" , "sum of squared vertical differences" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_VSSE }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "nsse" , "noise preserving sum of squared differences" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_NSSE }, INT_MIN , INT_MAX , V | E , "cmp_func" },
2012-03-14 13:18:20 +01:00
#if CONFIG_SNOW_ENCODER
2012-08-31 12:45:52 +03:00
{ "w53" , "5/3 wavelet, only used in snow" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_W53 }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "w97" , "9/7 wavelet, only used in snow" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_W97 }, INT_MIN , INT_MAX , V | E , "cmp_func" },
2012-03-14 13:18:20 +01:00
#endif
2012-08-31 12:45:52 +03:00
{ "dctmax" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_DCTMAX }, INT_MIN , INT_MAX , V | E , "cmp_func" },
{ "chroma" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_CHROMA }, INT_MIN , INT_MAX , V | E , "cmp_func" },
2016-08-18 14:40:09 +03:00
{ "msad" , "sum of absolute differences, median predicted" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CMP_MEDIAN_SAD }, INT_MIN , INT_MAX , V | E , "cmp_func" },
2012-08-31 13:22:31 +03:00
{ "pre_dia_size" , "diamond type & size for motion estimation pre-pass" , OFFSET ( pre_dia_size ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
2012-12-07 16:07:51 +01:00
{ "subq" , "sub-pel motion estimation quality" , OFFSET ( me_subpel_quality ), AV_OPT_TYPE_INT , {. i64 = 8 }, INT_MIN , INT_MAX , V | E },
2012-08-31 13:22:31 +03:00
{ "me_range" , "limit motion vectors range (1023 for DivX player)" , OFFSET ( me_range ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
{ "global_quality" , NULL , OFFSET ( global_quality ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | A | E },
2015-11-30 12:17:31 -05:00
#if FF_API_CODER_TYPE
2012-08-31 13:22:31 +03:00
{ "coder" , NULL , OFFSET ( coder_type ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E , "coder" },
2012-12-07 16:07:51 +01:00
{ "vlc" , "variable length coder / Huffman coder" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CODER_TYPE_VLC }, INT_MIN , INT_MAX , V | E , "coder" },
2012-08-31 12:45:52 +03:00
{ "ac" , "arithmetic coder" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CODER_TYPE_AC }, INT_MIN , INT_MAX , V | E , "coder" },
{ "raw" , "raw (no encoding)" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CODER_TYPE_RAW }, INT_MIN , INT_MAX , V | E , "coder" },
{ "rle" , "run-length coder" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_CODER_TYPE_RLE }, INT_MIN , INT_MAX , V | E , "coder" },
2015-11-30 12:17:31 -05:00
#endif /* FF_API_CODER_TYPE */
2015-09-13 23:45:24 +02:00
#if FF_API_PRIVATE_OPT
2012-08-31 13:22:31 +03:00
{ "context" , "context model" , OFFSET ( context_model ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
2015-09-13 23:45:24 +02:00
#endif
2012-08-31 13:22:31 +03:00
{ "slice_flags" , NULL , OFFSET ( slice_flags ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX },
2013-02-27 03:04:04 +01:00
{ "mbd" , "macroblock decision algorithm (high quality mode)" , OFFSET ( mb_decision ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , 2 , V | E , "mbd" },
2015-10-26 11:18:37 +01:00
{ "simple" , "use mbcmp" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_MB_DECISION_SIMPLE }, INT_MIN , INT_MAX , V | E , "mbd" },
2012-08-31 12:45:52 +03:00
{ "bits" , "use fewest bits" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_MB_DECISION_BITS }, INT_MIN , INT_MAX , V | E , "mbd" },
{ "rd" , "use best rate distortion" , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_MB_DECISION_RD }, INT_MIN , INT_MAX , V | E , "mbd" },
2015-09-12 22:27:59 +02:00
#if FF_API_PRIVATE_OPT
2012-08-31 13:22:31 +03:00
{ "sc_threshold" , "scene change threshold" , OFFSET ( scenechange_threshold ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
2015-09-12 22:27:59 +02:00
#endif
2015-09-13 23:45:24 +02:00
#if FF_API_PRIVATE_OPT
2012-08-31 13:22:31 +03:00
{ "nr" , "noise reduction" , OFFSET ( noise_reduction ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
2015-09-13 23:45:24 +02:00
#endif
2012-08-31 13:22:31 +03:00
{ "rc_init_occupancy" , "number of bits which should be loaded into the rc buffer before decoding starts" , OFFSET ( rc_initial_buffer_occupancy ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
2012-08-31 12:52:18 +03:00
{ "flags2" , NULL , OFFSET ( flags2 ), AV_OPT_TYPE_FLAGS , {. i64 = DEFAULT }, 0 , UINT_MAX , V | A | E | D , "flags2" },
2015-09-08 15:54:53 +02:00
{ "threads" , "set the number of threads" , OFFSET ( thread_count ), AV_OPT_TYPE_INT , {. i64 = 1 }, 0 , INT_MAX , V | A | E | D , "threads" },
2012-12-07 16:07:51 +01:00
{ "auto" , "autodetect a suitable number of threads to use" , 0 , AV_OPT_TYPE_CONST , {. i64 = 0 }, INT_MIN , INT_MAX , V | E | D , "threads" },
2014-07-15 19:04:51 +02:00
{ "dc" , "intra_dc_precision" , OFFSET ( intra_dc_precision ), AV_OPT_TYPE_INT , {. i64 = 0 }, - 8 , 16 , V | E },
2012-08-31 13:22:31 +03:00
{ "nssew" , "nsse weight" , OFFSET ( nsse_weight ), AV_OPT_TYPE_INT , {. i64 = 8 }, INT_MIN , INT_MAX , V | E },
{ "skip_top" , "number of macroblock rows at the top which are skipped" , OFFSET ( skip_top ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | D },
{ "skip_bottom" , "number of macroblock rows at the bottom which are skipped" , OFFSET ( skip_bottom ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | D },
{ "profile" , NULL , OFFSET ( profile ), AV_OPT_TYPE_INT , {. i64 = FF_PROFILE_UNKNOWN }, INT_MIN , INT_MAX , V | A | E , "profile" },
2012-08-31 12:45:52 +03:00
{ "unknown" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_UNKNOWN }, INT_MIN , INT_MAX , V | A | E , "profile" },
{ "aac_main" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_AAC_MAIN }, INT_MIN , INT_MAX , A | E , "profile" },
{ "aac_low" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_AAC_LOW }, INT_MIN , INT_MAX , A | E , "profile" },
{ "aac_ssr" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_AAC_SSR }, INT_MIN , INT_MAX , A | E , "profile" },
{ "aac_ltp" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_AAC_LTP }, INT_MIN , INT_MAX , A | E , "profile" },
{ "aac_he" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_AAC_HE }, INT_MIN , INT_MAX , A | E , "profile" },
{ "aac_he_v2" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_AAC_HE_V2 }, INT_MIN , INT_MAX , A | E , "profile" },
{ "aac_ld" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_AAC_LD }, INT_MIN , INT_MAX , A | E , "profile" },
{ "aac_eld" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_AAC_ELD }, INT_MIN , INT_MAX , A | E , "profile" },
2013-06-22 10:16:11 -05:00
{ "mpeg2_aac_low" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_MPEG2_AAC_LOW }, INT_MIN , INT_MAX , A | E , "profile" },
{ "mpeg2_aac_he" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_MPEG2_AAC_HE }, INT_MIN , INT_MAX , A | E , "profile" },
2012-08-31 12:45:52 +03:00
{ "dts" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_DTS }, INT_MIN , INT_MAX , A | E , "profile" },
{ "dts_es" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_DTS_ES }, INT_MIN , INT_MAX , A | E , "profile" },
{ "dts_96_24" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_DTS_96_24 }, INT_MIN , INT_MAX , A | E , "profile" },
{ "dts_hd_hra" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_DTS_HD_HRA }, INT_MIN , INT_MAX , A | E , "profile" },
{ "dts_hd_ma" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_DTS_HD_MA }, INT_MIN , INT_MAX , A | E , "profile" },
2014-12-29 02:13:28 +01:00
{ "mpeg4_sp" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_MPEG4_SIMPLE }, INT_MIN , INT_MAX , V | E , "profile" },
{ "mpeg4_core" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_MPEG4_CORE }, INT_MIN , INT_MAX , V | E , "profile" },
{ "mpeg4_main" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_MPEG4_MAIN }, INT_MIN , INT_MAX , V | E , "profile" },
{ "mpeg4_asp" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_MPEG4_ADVANCED_SIMPLE }, INT_MIN , INT_MAX , V | E , "profile" },
2016-11-01 19:17:37 -04:00
{ "main10" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_HEVC_MAIN_10 }, INT_MIN , INT_MAX , V | E , "profile" },
2017-12-17 19:59:30 +01:00
{ "msbc" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_PROFILE_SBC_MSBC }, INT_MIN , INT_MAX , A | E , "profile" },
2012-08-31 13:22:31 +03:00
{ "level" , NULL , OFFSET ( level ), AV_OPT_TYPE_INT , {. i64 = FF_LEVEL_UNKNOWN }, INT_MIN , INT_MAX , V | A | E , "level" },
2012-08-31 12:45:52 +03:00
{ "unknown" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_LEVEL_UNKNOWN }, INT_MIN , INT_MAX , V | A | E , "level" },
2012-09-05 14:26:01 +02:00
{ "lowres" , "decode at 1= 1/2, 2=1/4, 3=1/8 resolutions" , OFFSET ( lowres ), AV_OPT_TYPE_INT , {. i64 = 0 }, 0 , INT_MAX , V | A | D },
2015-09-11 03:30:38 +02:00
#if FF_API_PRIVATE_OPT
2012-08-31 13:22:31 +03:00
{ "skip_threshold" , "frame skip threshold" , OFFSET ( frame_skip_threshold ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
{ "skip_factor" , "frame skip factor" , OFFSET ( frame_skip_factor ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
{ "skip_exp" , "frame skip exponent" , OFFSET ( frame_skip_exp ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
{ "skipcmp" , "frame skip compare function" , OFFSET ( frame_skip_cmp ), AV_OPT_TYPE_INT , {. i64 = FF_CMP_DCTMAX }, INT_MIN , INT_MAX , V | E , "cmp_func" },
2015-09-11 03:30:38 +02:00
#endif
2012-12-07 16:07:51 +01:00
{ "mblmin" , "minimum macroblock Lagrange factor (VBR)" , OFFSET ( mb_lmin ), AV_OPT_TYPE_INT , {. i64 = FF_QP2LAMBDA * 2 }, 1 , FF_LAMBDA_MAX , V | E },
{ "mblmax" , "maximum macroblock Lagrange factor (VBR)" , OFFSET ( mb_lmax ), AV_OPT_TYPE_INT , {. i64 = FF_QP2LAMBDA * 31 }, 1 , FF_LAMBDA_MAX , V | E },
2015-11-09 03:15:06 +01:00
#if FF_API_PRIVATE_OPT
2012-08-31 13:22:31 +03:00
{ "mepc" , "motion estimation bitrate penalty compensation (1.0 = 256)" , OFFSET ( me_penalty_compensation ), AV_OPT_TYPE_INT , {. i64 = 256 }, INT_MIN , INT_MAX , V | E },
2015-11-09 03:15:06 +01:00
#endif
2013-03-10 16:15:48 +01:00
{ "skip_loop_filter" , "skip loop filtering process for the selected frames" , OFFSET ( skip_loop_filter ), AV_OPT_TYPE_INT , {. i64 = AVDISCARD_DEFAULT }, INT_MIN , INT_MAX , V | D , "avdiscard" },
{ "skip_idct" , "skip IDCT/dequantization for the selected frames" , OFFSET ( skip_idct ), AV_OPT_TYPE_INT , {. i64 = AVDISCARD_DEFAULT }, INT_MIN , INT_MAX , V | D , "avdiscard" },
{ "skip_frame" , "skip decoding for the selected frames" , OFFSET ( skip_frame ), AV_OPT_TYPE_INT , {. i64 = AVDISCARD_DEFAULT }, INT_MIN , INT_MAX , V | D , "avdiscard" },
{ "none" , "discard no frame" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVDISCARD_NONE }, INT_MIN , INT_MAX , V | D , "avdiscard" },
{ "default" , "discard useless frames" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVDISCARD_DEFAULT }, INT_MIN , INT_MAX , V | D , "avdiscard" },
{ "noref" , "discard all non-reference frames" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVDISCARD_NONREF }, INT_MIN , INT_MAX , V | D , "avdiscard" },
{ "bidir" , "discard all bidirectional frames" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVDISCARD_BIDIR }, INT_MIN , INT_MAX , V | D , "avdiscard" },
{ "nokey" , "discard all frames except keyframes" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVDISCARD_NONKEY }, INT_MIN , INT_MAX , V | D , "avdiscard" },
2014-06-07 20:56:17 +02:00
{ "nointra" , "discard all frames except I frames" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVDISCARD_NONINTRA }, INT_MIN , INT_MAX , V | D , "avdiscard" },
2013-03-10 16:15:48 +01:00
{ "all" , "discard all frames" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVDISCARD_ALL }, INT_MIN , INT_MAX , V | D , "avdiscard" },
2012-08-31 13:22:31 +03:00
{ "bidir_refine" , "refine the two motion vectors used in bidirectional macroblocks" , OFFSET ( bidir_refine ), AV_OPT_TYPE_INT , {. i64 = 1 }, 0 , 4 , V | E },
2015-09-11 00:01:12 +02:00
#if FF_API_PRIVATE_OPT
2012-12-07 16:07:51 +01:00
{ "brd_scale" , "downscale frames for dynamic B-frame decision" , OFFSET ( brd_scale ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , 10 , V | E },
2015-09-11 00:01:12 +02:00
#endif
2012-09-05 14:26:01 +02:00
{ "keyint_min" , "minimum interval between IDR-frames" , OFFSET ( keyint_min ), AV_OPT_TYPE_INT , {. i64 = 25 }, INT_MIN , INT_MAX , V | E },
{ "refs" , "reference frames to consider for motion compensation" , OFFSET ( refs ), AV_OPT_TYPE_INT , {. i64 = 1 }, INT_MIN , INT_MAX , V | E },
2015-09-12 14:40:29 +02:00
#if FF_API_PRIVATE_OPT
2012-12-07 16:07:51 +01:00
{ "chromaoffset" , "chroma QP offset from luma" , OFFSET ( chromaoffset ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | E },
2015-09-12 14:40:29 +02:00
#endif
2012-08-31 13:22:31 +03:00
{ "trellis" , "rate-distortion optimal quantization" , OFFSET ( trellis ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, INT_MIN , INT_MAX , V | A | E },
{ "mv0_threshold" , NULL , OFFSET ( mv0_threshold ), AV_OPT_TYPE_INT , {. i64 = 256 }, 0 , INT_MAX , V | E },
2015-09-09 04:18:26 +02:00
#if FF_API_PRIVATE_OPT
2012-12-07 16:07:51 +01:00
{ "b_sensitivity" , "adjust sensitivity of b_frame_strategy 1" , OFFSET ( b_sensitivity ), AV_OPT_TYPE_INT , {. i64 = 40 }, 1 , INT_MAX , V | E },
2015-09-09 04:18:26 +02:00
#endif
2012-08-31 13:22:31 +03:00
{ "compression_level" , NULL , OFFSET ( compression_level ), AV_OPT_TYPE_INT , {. i64 = FF_COMPRESSION_DEFAULT }, INT_MIN , INT_MAX , V | A | E },
2015-09-13 23:45:24 +02:00
#if FF_API_PRIVATE_OPT
2012-08-31 13:22:31 +03:00
{ "min_prediction_order" , NULL , OFFSET ( min_prediction_order ), AV_OPT_TYPE_INT , {. i64 = - 1 }, INT_MIN , INT_MAX , A | E },
{ "max_prediction_order" , NULL , OFFSET ( max_prediction_order ), AV_OPT_TYPE_INT , {. i64 = - 1 }, INT_MIN , INT_MAX , A | E },
2014-11-15 20:27:17 +01:00
{ "timecode_frame_start" , "GOP timecode frame start number, in non-drop-frame format" , OFFSET ( timecode_frame_start ), AV_OPT_TYPE_INT64 , {. i64 = - 1 }, - 1 , INT64_MAX , V | E },
2015-09-13 23:45:24 +02:00
#endif
2016-11-17 19:25:50 +01:00
{ "bits_per_raw_sample" , NULL , OFFSET ( bits_per_raw_sample ), AV_OPT_TYPE_INT , {. i64 = DEFAULT }, 0 , INT_MAX },
2016-11-20 12:22:08 +01:00
{ "channel_layout" , NULL , OFFSET ( channel_layout ), AV_OPT_TYPE_UINT64 , {. i64 = DEFAULT }, 0 , UINT64_MAX , A | E | D , "channel_layout" },
{ "request_channel_layout" , NULL , OFFSET ( request_channel_layout ), AV_OPT_TYPE_UINT64 , {. i64 = DEFAULT }, 0 , UINT64_MAX , A | D , "request_channel_layout" },
2012-09-11 17:38:31 +02:00
{ "rc_max_vbv_use" , NULL , OFFSET ( rc_max_available_vbv_use ), AV_OPT_TYPE_FLOAT , {. dbl = 0 }, 0.0 , FLT_MAX , V | E },
2012-03-14 13:18:20 +01:00
{ "rc_min_vbv_use" , NULL , OFFSET ( rc_min_vbv_overflow_use ), AV_OPT_TYPE_FLOAT , {. dbl = 3 }, 0.0 , FLT_MAX , V | E },
2012-08-31 13:22:31 +03:00
{ "ticks_per_frame" , NULL , OFFSET ( ticks_per_frame ), AV_OPT_TYPE_INT , {. i64 = 1 }, 1 , INT_MAX , A | V | E | D },
2016-11-30 17:09:34 -05:00
{ "color_primaries" , "color primaries" , OFFSET ( color_primaries ), AV_OPT_TYPE_INT , {. i64 = AVCOL_PRI_UNSPECIFIED }, 1 , INT_MAX , V | E | D , "color_primaries_type" },
2015-09-01 09:32:42 +01:00
{ "bt709" , "BT.709" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_BT709 }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
2016-11-13 22:29:04 +01:00
{ "unknown" , "Unspecified" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_UNSPECIFIED }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
2015-09-01 09:32:42 +01:00
{ "bt470m" , "BT.470 M" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_BT470M }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
{ "bt470bg" , "BT.470 BG" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_BT470BG }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
{ "smpte170m" , "SMPTE 170 M" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_SMPTE170M }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
{ "smpte240m" , "SMPTE 240 M" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_SMPTE240M }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
{ "film" , "Film" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_FILM }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
{ "bt2020" , "BT.2020" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_BT2020 }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
2016-11-13 18:32:07 +01:00
{ "smpte428" , "SMPTE 428-1" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_SMPTE428 }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
{ "smpte428_1" , "SMPTE 428-1" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_SMPTE428 }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
2016-09-28 13:12:18 -03:00
{ "smpte431" , "SMPTE 431-2" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_SMPTE431 }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
{ "smpte432" , "SMPTE 422-1" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_SMPTE432 }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
2017-03-24 11:20:41 +01:00
{ "jedec-p22" , "JEDEC P22" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_JEDEC_P22 }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
2016-11-13 22:29:04 +01:00
{ "unspecified" , "Unspecified" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_PRI_UNSPECIFIED }, INT_MIN , INT_MAX , V | E | D , "color_primaries_type" },
2016-11-30 17:09:34 -05:00
{ "color_trc" , "color transfer characteristics" , OFFSET ( color_trc ), AV_OPT_TYPE_INT , {. i64 = AVCOL_TRC_UNSPECIFIED }, 1 , INT_MAX , V | E | D , "color_trc_type" },
2014-06-03 11:53:21 +02:00
{ "bt709" , "BT.709" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_BT709 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
2016-06-21 10:22:59 -04:00
{ "unknown" , "Unspecified" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_UNSPECIFIED }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
2014-09-23 16:16:19 +02:00
{ "gamma22" , "BT.470 M" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_GAMMA22 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "gamma28" , "BT.470 BG" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_GAMMA28 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
2014-06-03 11:53:21 +02:00
{ "smpte170m" , "SMPTE 170 M" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_SMPTE170M }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "smpte240m" , "SMPTE 240 M" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_SMPTE240M }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "linear" , "Linear" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_LINEAR }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
2016-06-21 10:22:59 -04:00
{ "log100" , "Log" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_LOG }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "log316" , "Log square root" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_LOG_SQRT }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "iec61966-2-4" , "IEC 61966-2-4" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_IEC61966_2_4 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "bt1361e" , "BT.1361" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_BT1361_ECG }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "iec61966-2-1" , "IEC 61966-2-1" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_IEC61966_2_1 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "bt2020-10" , "BT.2020 - 10 bit" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_BT2020_10 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "bt2020-12" , "BT.2020 - 12 bit" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_BT2020_12 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "smpte2084" , "SMPTE 2084" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_SMPTE2084 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "smpte428" , "SMPTE 428-1" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_SMPTE428 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "arib-std-b67" , "ARIB STD-B67" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_ARIB_STD_B67 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "unspecified" , "Unspecified" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_UNSPECIFIED }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
2014-09-23 16:16:19 +02:00
{ "log" , "Log" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_LOG }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "log_sqrt" , "Log square root" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_LOG_SQRT }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "iec61966_2_4" , "IEC 61966-2-4" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_IEC61966_2_4 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
2014-06-03 11:53:21 +02:00
{ "bt1361" , "BT.1361" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_BT1361_ECG }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
2014-09-23 16:16:19 +02:00
{ "iec61966_2_1" , "IEC 61966-2-1" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_IEC61966_2_1 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
2014-06-03 11:53:21 +02:00
{ "bt2020_10bit" , "BT.2020 - 10 bit" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_BT2020_10 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
{ "bt2020_12bit" , "BT.2020 - 12 bit" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_BT2020_12 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
2016-11-13 18:32:07 +01:00
{ "smpte428_1" , "SMPTE 428-1" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_TRC_SMPTE428 }, INT_MIN , INT_MAX , V | E | D , "color_trc_type" },
2016-11-30 17:09:34 -05:00
{ "colorspace" , "color space" , OFFSET ( colorspace ), AV_OPT_TYPE_INT , {. i64 = AVCOL_SPC_UNSPECIFIED }, 0 , INT_MAX , V | E | D , "colorspace_type" },
2014-06-03 11:52:11 +02:00
{ "rgb" , "RGB" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_RGB }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
{ "bt709" , "BT.709" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_BT709 }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
2016-06-21 10:22:59 -04:00
{ "unknown" , "Unspecified" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_UNSPECIFIED }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
2014-09-30 14:51:23 +01:00
{ "fcc" , "FCC" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_FCC }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
2014-06-03 11:52:11 +02:00
{ "bt470bg" , "BT.470 BG" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_BT470BG }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
{ "smpte170m" , "SMPTE 170 M" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_SMPTE170M }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
{ "smpte240m" , "SMPTE 240 M" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_SMPTE240M }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
2016-10-31 14:50:59 -04:00
{ "ycgco" , "YCGCO" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_YCGCO }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
2016-06-21 10:22:59 -04:00
{ "bt2020nc" , "BT.2020 NCL" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_BT2020_NCL }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
{ "bt2020c" , "BT.2020 CL" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_BT2020_CL }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
{ "smpte2085" , "SMPTE 2085" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_SMPTE2085 }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
{ "unspecified" , "Unspecified" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_UNSPECIFIED }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
2016-10-31 14:50:59 -04:00
{ "ycocg" , "YCGCO" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_YCGCO }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
2014-06-03 11:52:11 +02:00
{ "bt2020_ncl" , "BT.2020 NCL" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_BT2020_NCL }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
{ "bt2020_cl" , "BT.2020 CL" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_SPC_BT2020_CL }, INT_MIN , INT_MAX , V | E | D , "colorspace_type" },
2016-11-30 17:09:34 -05:00
{ "color_range" , "color range" , OFFSET ( color_range ), AV_OPT_TYPE_INT , {. i64 = AVCOL_RANGE_UNSPECIFIED }, 0 , INT_MAX , V | E | D , "color_range_type" },
2016-06-21 10:22:59 -04:00
{ "unknown" , "Unspecified" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_RANGE_UNSPECIFIED }, INT_MIN , INT_MAX , V | E | D , "color_range_type" },
{ "tv" , "MPEG (219*2^(n-8))" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_RANGE_MPEG }, INT_MIN , INT_MAX , V | E | D , "color_range_type" },
{ "pc" , "JPEG (2^n-1)" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_RANGE_JPEG }, INT_MIN , INT_MAX , V | E | D , "color_range_type" },
2014-06-04 10:32:19 +02:00
{ "unspecified" , "Unspecified" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_RANGE_UNSPECIFIED }, INT_MIN , INT_MAX , V | E | D , "color_range_type" },
{ "mpeg" , "MPEG (219*2^(n-8))" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_RANGE_MPEG }, INT_MIN , INT_MAX , V | E | D , "color_range_type" },
{ "jpeg" , "JPEG (2^n-1)" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCOL_RANGE_JPEG }, INT_MIN , INT_MAX , V | E | D , "color_range_type" },
2016-11-30 17:09:34 -05:00
{ "chroma_sample_location" , "chroma sample location" , OFFSET ( chroma_sample_location ), AV_OPT_TYPE_INT , {. i64 = AVCHROMA_LOC_UNSPECIFIED }, 0 , INT_MAX , V | E | D , "chroma_sample_location_type" },
2016-11-13 22:29:04 +01:00
{ "unknown" , "Unspecified" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCHROMA_LOC_UNSPECIFIED }, INT_MIN , INT_MAX , V | E | D , "chroma_sample_location_type" },
2014-09-23 16:17:42 +02:00
{ "left" , "Left" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCHROMA_LOC_LEFT }, INT_MIN , INT_MAX , V | E | D , "chroma_sample_location_type" },
{ "center" , "Center" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCHROMA_LOC_CENTER }, INT_MIN , INT_MAX , V | E | D , "chroma_sample_location_type" },
{ "topleft" , "Top-left" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCHROMA_LOC_TOPLEFT }, INT_MIN , INT_MAX , V | E | D , "chroma_sample_location_type" },
{ "top" , "Top" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCHROMA_LOC_TOP }, INT_MIN , INT_MAX , V | E | D , "chroma_sample_location_type" },
{ "bottomleft" , "Bottom-left" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCHROMA_LOC_BOTTOMLEFT }, INT_MIN , INT_MAX , V | E | D , "chroma_sample_location_type" },
{ "bottom" , "Bottom" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCHROMA_LOC_BOTTOM }, INT_MIN , INT_MAX , V | E | D , "chroma_sample_location_type" },
2016-06-21 10:22:59 -04:00
{ "unspecified" , "Unspecified" , 0 , AV_OPT_TYPE_CONST , {. i64 = AVCHROMA_LOC_UNSPECIFIED }, INT_MIN , INT_MAX , V | E | D , "chroma_sample_location_type" },
2012-08-31 13:22:31 +03:00
{ "log_level_offset" , "set the log level offset" , OFFSET ( log_level_offset ), AV_OPT_TYPE_INT , {. i64 = 0 }, INT_MIN , INT_MAX },
2015-09-08 15:54:53 +02:00
{ "slices" , "set the number of slices, used in parallelized encoding" , OFFSET ( slices ), AV_OPT_TYPE_INT , {. i64 = 0 }, 0 , INT_MAX , V | E },
2013-06-03 14:43:18 +00:00
{ "thread_type" , "select multithreading type" , OFFSET ( thread_type ), AV_OPT_TYPE_FLAGS , {. i64 = FF_THREAD_SLICE | FF_THREAD_FRAME }, 0 , INT_MAX , V | A | E | D , "thread_type" },
2012-08-31 12:45:52 +03:00
{ "slice" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_THREAD_SLICE }, INT_MIN , INT_MAX , V | E | D , "thread_type" },
{ "frame" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_THREAD_FRAME }, INT_MIN , INT_MAX , V | E | D , "thread_type" },
2012-08-31 13:22:31 +03:00
{ "audio_service_type" , "audio service type" , OFFSET ( audio_service_type ), AV_OPT_TYPE_INT , {. i64 = AV_AUDIO_SERVICE_TYPE_MAIN }, 0 , AV_AUDIO_SERVICE_TYPE_NB - 1 , A | E , "audio_service_type" },
2012-08-31 12:45:52 +03:00
{ "ma" , "Main Audio Service" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_AUDIO_SERVICE_TYPE_MAIN }, INT_MIN , INT_MAX , A | E , "audio_service_type" },
{ "ef" , "Effects" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_AUDIO_SERVICE_TYPE_EFFECTS }, INT_MIN , INT_MAX , A | E , "audio_service_type" },
{ "vi" , "Visually Impaired" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED }, INT_MIN , INT_MAX , A | E , "audio_service_type" },
{ "hi" , "Hearing Impaired" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED }, INT_MIN , INT_MAX , A | E , "audio_service_type" },
{ "di" , "Dialogue" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_AUDIO_SERVICE_TYPE_DIALOGUE }, INT_MIN , INT_MAX , A | E , "audio_service_type" },
{ "co" , "Commentary" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_AUDIO_SERVICE_TYPE_COMMENTARY }, INT_MIN , INT_MAX , A | E , "audio_service_type" },
{ "em" , "Emergency" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_AUDIO_SERVICE_TYPE_EMERGENCY }, INT_MIN , INT_MAX , A | E , "audio_service_type" },
{ "vo" , "Voice Over" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_AUDIO_SERVICE_TYPE_VOICE_OVER }, INT_MIN , INT_MAX , A | E , "audio_service_type" },
{ "ka" , "Karaoke" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_AUDIO_SERVICE_TYPE_KARAOKE }, INT_MIN , INT_MAX , A | E , "audio_service_type" },
2013-12-16 16:29:44 +01:00
{ "request_sample_fmt" , "sample format audio decoders should prefer" , OFFSET ( request_sample_fmt ), AV_OPT_TYPE_SAMPLE_FMT , {. i64 = AV_SAMPLE_FMT_NONE }, - 1 , INT_MAX , A | D , "request_sample_fmt" },
2012-07-12 22:17:10 +02:00
{ "pkt_timebase" , NULL , OFFSET ( pkt_timebase ), AV_OPT_TYPE_RATIONAL , {. dbl = 0 }, 0 , INT_MAX , 0 },
2013-01-07 18:08:56 +01:00
{ "sub_charenc" , "set input text subtitles character encoding" , OFFSET ( sub_charenc ), AV_OPT_TYPE_STRING , {. str = NULL }, CHAR_MIN , CHAR_MAX , S | D },
{ "sub_charenc_mode" , "set input text subtitles character encoding mode" , OFFSET ( sub_charenc_mode ), AV_OPT_TYPE_FLAGS , {. i64 = FF_SUB_CHARENC_MODE_AUTOMATIC }, - 1 , INT_MAX , S | D , "sub_charenc_mode" },
{ "do_nothing" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_SUB_CHARENC_MODE_DO_NOTHING }, INT_MIN , INT_MAX , S | D , "sub_charenc_mode" },
{ "auto" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_SUB_CHARENC_MODE_AUTOMATIC }, INT_MIN , INT_MAX , S | D , "sub_charenc_mode" },
{ "pre_decoder" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_SUB_CHARENC_MODE_PRE_DECODER }, INT_MIN , INT_MAX , S | D , "sub_charenc_mode" },
2018-03-24 13:37:00 +01:00
{ "ignore" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_SUB_CHARENC_MODE_IGNORE }, INT_MIN , INT_MAX , S | D , "sub_charenc_mode" },
2016-02-21 12:58:36 +01:00
#if FF_API_ASS_TIMING
2016-01-06 13:43:23 +01:00
{ "sub_text_format" , "set decoded text subtitle format" , OFFSET ( sub_text_format ), AV_OPT_TYPE_INT , {. i64 = FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS }, 0 , 1 , S | D , "sub_text_format" },
2016-02-21 12:58:36 +01:00
#else
{ "sub_text_format" , "set decoded text subtitle format" , OFFSET ( sub_text_format ), AV_OPT_TYPE_INT , {. i64 = FF_SUB_TEXT_FMT_ASS }, 0 , 1 , S | D , "sub_text_format" },
#endif
2016-01-06 13:43:23 +01:00
{ "ass" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_SUB_TEXT_FMT_ASS }, INT_MIN , INT_MAX , S | D , "sub_text_format" },
2016-02-21 12:58:36 +01:00
#if FF_API_ASS_TIMING
2016-01-06 13:43:23 +01:00
{ "ass_with_timings" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS }, INT_MIN , INT_MAX , S | D , "sub_text_format" },
2016-02-21 12:58:36 +01:00
#endif
2015-09-11 20:45:15 +02:00
{ "refcounted_frames" , NULL , OFFSET ( refcounted_frames ), AV_OPT_TYPE_BOOL , {. i64 = 0 }, 0 , 1 , A | V | D },
2015-09-11 17:47:29 +02:00
#if FF_API_SIDEDATA_ONLY_PKT
2015-09-11 20:45:15 +02:00
{ "side_data_only_packets" , NULL , OFFSET ( side_data_only_packets ), AV_OPT_TYPE_BOOL , { . i64 = 1 }, 0 , 1 , A | V | E },
2015-09-11 17:47:29 +02:00
#endif
2017-05-08 13:11:17 -03:00
{ "apply_cropping" , NULL , OFFSET ( apply_cropping ), AV_OPT_TYPE_BOOL , { . i64 = 1 }, 0 , 1 , V | D },
2015-09-11 20:45:15 +02:00
{ "skip_alpha" , "Skip processing alpha" , OFFSET ( skip_alpha ), AV_OPT_TYPE_BOOL , {. i64 = 0 }, 0 , 1 , V | D },
2013-10-07 17:34:01 +02:00
{ "field_order" , "Field order" , OFFSET ( field_order ), AV_OPT_TYPE_INT , {. i64 = AV_FIELD_UNKNOWN }, 0 , 5 , V | D | E , "field_order" },
{ "progressive" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_FIELD_PROGRESSIVE }, 0 , 0 , V | D | E , "field_order" },
{ "tt" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_FIELD_TT }, 0 , 0 , V | D | E , "field_order" },
{ "bb" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_FIELD_BB }, 0 , 0 , V | D | E , "field_order" },
{ "tb" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_FIELD_TB }, 0 , 0 , V | D | E , "field_order" },
{ "bt" , NULL , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_FIELD_BT }, 0 , 0 , V | D | E , "field_order" },
2014-10-08 23:48:32 +02:00
{ "dump_separator" , "set information dump field separator" , OFFSET ( dump_separator ), AV_OPT_TYPE_STRING , {. str = NULL }, CHAR_MIN , CHAR_MAX , A | V | S | D | E },
2014-10-23 23:02:48 +02:00
{ "codec_whitelist" , "List of decoders that are allowed to be used" , OFFSET ( codec_whitelist ), AV_OPT_TYPE_STRING , { . str = NULL }, CHAR_MIN , CHAR_MAX , A | V | S | D },
2014-11-11 08:17:26 +01:00
{ "pixel_format" , "set pixel format" , OFFSET ( pix_fmt ), AV_OPT_TYPE_PIXEL_FMT , {. i64 = AV_PIX_FMT_NONE }, - 1 , INT_MAX , 0 },
{ "video_size" , "set video size" , OFFSET ( width ), AV_OPT_TYPE_IMAGE_SIZE , {. str = NULL }, 0 , INT_MAX , 0 },
2016-12-10 21:40:44 +01:00
{ "max_pixels" , "Maximum number of pixels" , OFFSET ( max_pixels ), AV_OPT_TYPE_INT64 , {. i64 = INT_MAX }, 0 , INT_MAX , A | V | S | D | E },
2017-10-09 15:49:58 +08:00
{ "hwaccel_flags" , NULL , OFFSET ( hwaccel_flags ), AV_OPT_TYPE_FLAGS , {. i64 = AV_HWACCEL_FLAG_IGNORE_LEVEL }, 0 , UINT_MAX , V | D , "hwaccel_flags" },
{ "ignore_level" , "ignore level even if the codec level used is unknown or higher than the maximum supported level reported by the hardware driver" , 0 , AV_OPT_TYPE_CONST , { . i64 = AV_HWACCEL_FLAG_IGNORE_LEVEL }, INT_MIN , INT_MAX , V | D , "hwaccel_flags" },
{ "allow_high_depth" , "allow to output YUV pixel formats with a different chroma sampling than 4:2:0 and/or other than 8 bits per component" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH }, INT_MIN , INT_MAX , V | D , "hwaccel_flags" },
{ "allow_profile_mismatch" , "attempt to decode anyway if HW accelerated decoder's supported profiles do not exactly match the stream" , 0 , AV_OPT_TYPE_CONST , {. i64 = AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH }, INT_MIN , INT_MAX , V | D , "hwaccel_flags" },
2018-01-29 22:18:00 +00:00
{ "extra_hw_frames" , "Number of extra hardware frames to allocate for the user" , OFFSET ( extra_hw_frames ), AV_OPT_TYPE_INT , { . i64 = - 1 }, - 1 , INT_MAX , V | D },
2012-03-14 13:18:20 +01:00
{ NULL },
};
#undef A
#undef V
#undef S
#undef E
#undef D
#undef DEFAULT
#undef OFFSET
2012-12-09 13:35:21 +01:00
#endif /* AVCODEC_OPTIONS_TABLE_H */