|
|
@@ -774,18 +774,6 @@ typedef struct AVCodecDescriptor { |
|
|
|
*/ |
|
|
|
#define AV_INPUT_BUFFER_MIN_SIZE 16384 |
|
|
|
|
|
|
|
#if FF_API_WITHOUT_PREFIX |
|
|
|
/** |
|
|
|
* @deprecated use AV_INPUT_BUFFER_PADDING_SIZE instead |
|
|
|
*/ |
|
|
|
#define FF_INPUT_BUFFER_PADDING_SIZE 32 |
|
|
|
|
|
|
|
/** |
|
|
|
* @deprecated use AV_INPUT_BUFFER_MIN_SIZE instead |
|
|
|
*/ |
|
|
|
#define FF_MIN_BUFFER_SIZE 16384 |
|
|
|
#endif /* FF_API_WITHOUT_PREFIX */ |
|
|
|
|
|
|
|
/** |
|
|
|
* @ingroup lavc_encoding |
|
|
|
* motion estimation type. |
|
|
@@ -1075,171 +1063,6 @@ typedef struct RcOverride{ |
|
|
|
*/ |
|
|
|
#define AV_CODEC_CAP_LOSSLESS 0x80000000 |
|
|
|
|
|
|
|
|
|
|
|
#if FF_API_WITHOUT_PREFIX |
|
|
|
/** |
|
|
|
* Allow decoders to produce frames with data planes that are not aligned |
|
|
|
* to CPU requirements (e.g. due to cropping). |
|
|
|
*/ |
|
|
|
#define CODEC_FLAG_UNALIGNED AV_CODEC_FLAG_UNALIGNED |
|
|
|
#define CODEC_FLAG_QSCALE AV_CODEC_FLAG_QSCALE |
|
|
|
#define CODEC_FLAG_4MV AV_CODEC_FLAG_4MV |
|
|
|
#define CODEC_FLAG_OUTPUT_CORRUPT AV_CODEC_FLAG_OUTPUT_CORRUPT |
|
|
|
#define CODEC_FLAG_QPEL AV_CODEC_FLAG_QPEL |
|
|
|
#if FF_API_GMC |
|
|
|
/** |
|
|
|
* @deprecated use the "gmc" private option of the libxvid encoder |
|
|
|
*/ |
|
|
|
#define CODEC_FLAG_GMC 0x0020 ///< Use GMC. |
|
|
|
#endif |
|
|
|
#if FF_API_MV0 |
|
|
|
/** |
|
|
|
* @deprecated use the flag "mv0" in the "mpv_flags" private option of the |
|
|
|
* mpegvideo encoders |
|
|
|
*/ |
|
|
|
#define CODEC_FLAG_MV0 0x0040 |
|
|
|
#endif |
|
|
|
#if FF_API_INPUT_PRESERVED |
|
|
|
/** |
|
|
|
* @deprecated passing reference-counted frames to the encoders replaces this |
|
|
|
* flag |
|
|
|
*/ |
|
|
|
#define CODEC_FLAG_INPUT_PRESERVED 0x0100 |
|
|
|
#endif |
|
|
|
#define CODEC_FLAG_PASS1 AV_CODEC_FLAG_PASS1 |
|
|
|
#define CODEC_FLAG_PASS2 AV_CODEC_FLAG_PASS2 |
|
|
|
#define CODEC_FLAG_GRAY AV_CODEC_FLAG_GRAY |
|
|
|
#define CODEC_FLAG_PSNR AV_CODEC_FLAG_PSNR |
|
|
|
#define CODEC_FLAG_TRUNCATED AV_CODEC_FLAG_TRUNCATED |
|
|
|
|
|
|
|
#if FF_API_NORMALIZE_AQP |
|
|
|
/** |
|
|
|
* @deprecated use the flag "naq" in the "mpv_flags" private option of the |
|
|
|
* mpegvideo encoders |
|
|
|
*/ |
|
|
|
#define CODEC_FLAG_NORMALIZE_AQP 0x00020000 |
|
|
|
#endif |
|
|
|
#define CODEC_FLAG_INTERLACED_DCT AV_CODEC_FLAG_INTERLACED_DCT |
|
|
|
#define CODEC_FLAG_LOW_DELAY AV_CODEC_FLAG_LOW_DELAY |
|
|
|
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER |
|
|
|
#define CODEC_FLAG_BITEXACT AV_CODEC_FLAG_BITEXACT |
|
|
|
#define CODEC_FLAG_AC_PRED AV_CODEC_FLAG_AC_PRED |
|
|
|
#define CODEC_FLAG_LOOP_FILTER AV_CODEC_FLAG_LOOP_FILTER |
|
|
|
#define CODEC_FLAG_INTERLACED_ME AV_CODEC_FLAG_INTERLACED_ME |
|
|
|
#define CODEC_FLAG_CLOSED_GOP AV_CODEC_FLAG_CLOSED_GOP |
|
|
|
#define CODEC_FLAG2_FAST AV_CODEC_FLAG2_FAST |
|
|
|
#define CODEC_FLAG2_NO_OUTPUT AV_CODEC_FLAG2_NO_OUTPUT |
|
|
|
#define CODEC_FLAG2_LOCAL_HEADER AV_CODEC_FLAG2_LOCAL_HEADER |
|
|
|
#define CODEC_FLAG2_DROP_FRAME_TIMECODE AV_CODEC_FLAG2_DROP_FRAME_TIMECODE |
|
|
|
#define CODEC_FLAG2_IGNORE_CROP AV_CODEC_FLAG2_IGNORE_CROP |
|
|
|
|
|
|
|
#define CODEC_FLAG2_CHUNKS AV_CODEC_FLAG2_CHUNKS |
|
|
|
#define CODEC_FLAG2_SHOW_ALL AV_CODEC_FLAG2_SHOW_ALL |
|
|
|
#define CODEC_FLAG2_EXPORT_MVS AV_CODEC_FLAG2_EXPORT_MVS |
|
|
|
#define CODEC_FLAG2_SKIP_MANUAL AV_CODEC_FLAG2_SKIP_MANUAL |
|
|
|
|
|
|
|
/* Unsupported options : |
|
|
|
* Syntax Arithmetic coding (SAC) |
|
|
|
* Reference Picture Selection |
|
|
|
* Independent Segment Decoding */ |
|
|
|
/* /Fx */ |
|
|
|
/* codec capabilities */ |
|
|
|
|
|
|
|
#define CODEC_CAP_DRAW_HORIZ_BAND AV_CODEC_CAP_DRAW_HORIZ_BAND ///< Decoder can use draw_horiz_band callback. |
|
|
|
/** |
|
|
|
* Codec uses get_buffer() for allocating buffers and supports custom allocators. |
|
|
|
* If not set, it might not use get_buffer() at all or use operations that |
|
|
|
* assume the buffer was allocated by avcodec_default_get_buffer. |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_DR1 AV_CODEC_CAP_DR1 |
|
|
|
#define CODEC_CAP_TRUNCATED AV_CODEC_CAP_TRUNCATED |
|
|
|
/** |
|
|
|
* Encoder or decoder requires flushing with NULL input at the end in order to |
|
|
|
* give the complete and correct output. |
|
|
|
* |
|
|
|
* NOTE: If this flag is not set, the codec is guaranteed to never be fed with |
|
|
|
* with NULL data. The user can still send NULL data to the public encode |
|
|
|
* or decode function, but libavcodec will not pass it along to the codec |
|
|
|
* unless this flag is set. |
|
|
|
* |
|
|
|
* Decoders: |
|
|
|
* The decoder has a non-zero delay and needs to be fed with avpkt->data=NULL, |
|
|
|
* avpkt->size=0 at the end to get the delayed data until the decoder no longer |
|
|
|
* returns frames. |
|
|
|
* |
|
|
|
* Encoders: |
|
|
|
* The encoder needs to be fed with NULL data at the end of encoding until the |
|
|
|
* encoder no longer returns data. |
|
|
|
* |
|
|
|
* NOTE: For encoders implementing the AVCodec.encode2() function, setting this |
|
|
|
* flag also means that the encoder must set the pts and duration for |
|
|
|
* each output packet. If this flag is not set, the pts and duration will |
|
|
|
* be determined by libavcodec from the input frame. |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_DELAY AV_CODEC_CAP_DELAY |
|
|
|
/** |
|
|
|
* Codec can be fed a final frame with a smaller size. |
|
|
|
* This can be used to prevent truncation of the last audio samples. |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_SMALL_LAST_FRAME AV_CODEC_CAP_SMALL_LAST_FRAME |
|
|
|
|
|
|
|
/** |
|
|
|
* Codec can output multiple frames per AVPacket |
|
|
|
* Normally demuxers return one frame at a time, demuxers which do not do |
|
|
|
* are connected to a parser to split what they return into proper frames. |
|
|
|
* This flag is reserved to the very rare category of codecs which have a |
|
|
|
* bitstream that cannot be split into frames without timeconsuming |
|
|
|
* operations like full decoding. Demuxers carrying such bitstreams thus |
|
|
|
* may return multiple frames in a packet. This has many disadvantages like |
|
|
|
* prohibiting stream copy in many cases thus it should only be considered |
|
|
|
* as a last resort. |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_SUBFRAMES AV_CODEC_CAP_SUBFRAMES |
|
|
|
/** |
|
|
|
* Codec is experimental and is thus avoided in favor of non experimental |
|
|
|
* encoders |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_EXPERIMENTAL AV_CODEC_CAP_EXPERIMENTAL |
|
|
|
/** |
|
|
|
* Codec should fill in channel configuration and samplerate instead of container |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_CHANNEL_CONF AV_CODEC_CAP_CHANNEL_CONF |
|
|
|
/** |
|
|
|
* Codec supports frame-level multithreading. |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_FRAME_THREADS AV_CODEC_CAP_FRAME_THREADS |
|
|
|
/** |
|
|
|
* Codec supports slice-based (or partition-based) multithreading. |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_SLICE_THREADS AV_CODEC_CAP_SLICE_THREADS |
|
|
|
/** |
|
|
|
* Codec supports changed parameters at any point. |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_PARAM_CHANGE AV_CODEC_CAP_PARAM_CHANGE |
|
|
|
/** |
|
|
|
* Codec supports avctx->thread_count == 0 (auto). |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_AUTO_THREADS AV_CODEC_CAP_AUTO_THREADS |
|
|
|
/** |
|
|
|
* Audio encoder supports receiving a different number of samples in each call. |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_VARIABLE_FRAME_SIZE AV_CODEC_CAP_VARIABLE_FRAME_SIZE |
|
|
|
/** |
|
|
|
* Codec is intra only. |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_INTRA_ONLY AV_CODEC_CAP_INTRA_ONLY |
|
|
|
/** |
|
|
|
* Codec is lossless. |
|
|
|
*/ |
|
|
|
#define CODEC_CAP_LOSSLESS AV_CODEC_CAP_LOSSLESS |
|
|
|
|
|
|
|
/** |
|
|
|
* HWAccel is experimental and is thus avoided in favor of non experimental |
|
|
|
* codecs |
|
|
|
*/ |
|
|
|
#define HWACCEL_CODEC_CAP_EXPERIMENTAL 0x0200 |
|
|
|
#endif /* FF_API_WITHOUT_PREFIX */ |
|
|
|
|
|
|
|
/** |
|
|
|
* Pan Scan area. |
|
|
|
* This specifies the area which should be displayed. |
|
|
|