X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Finternal.h;h=b101f20c40e1c7caae44d5ad18990bd2e74af1b3;hb=7c1f347b184b6738abdc22fdcda40baa9f932522;hp=65760368d6c07a478a8f10b27d672831fcaa0d06;hpb=9e30859cb60b915f237581e3ce91b0d31592edc0;p=ffmpeg diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 65760368d6c..b101f20c40e 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -28,6 +28,7 @@ #include "libavutil/buffer.h" #include "libavutil/channel_layout.h" +#include "libavutil/fifo.h" #include "libavutil/mathematics.h" #include "libavutil/pixfmt.h" #include "avcodec.h" @@ -73,6 +74,10 @@ * uses ff_thread_report/await_progress(). */ #define FF_CODEC_CAP_ALLOCATE_PROGRESS (1 << 6) +/** + * Codec handles avctx->thread_count == 0 (auto) internally. + */ +#define FF_CODEC_CAP_AUTO_THREADS (1 << 7) /** * AVCodec.codec_tags termination value @@ -131,10 +136,6 @@ typedef struct AVCodecInternal { */ int last_audio_frame; -#if FF_API_OLD_ENCDEC - AVFrame *to_free; -#endif - AVBufferRef *pool; void *thread_ctx; @@ -147,8 +148,7 @@ typedef struct AVCodecInternal { * for decoding. */ AVPacket *last_pkt_props; - AVPacketList *pkt_props; - AVPacketList *pkt_props_tail; + AVFifoBuffer *pkt_props; /** * temporary buffer used for encoders to store their bitstream @@ -182,18 +182,6 @@ typedef struct AVCodecInternal { AVFrame *buffer_frame; int draining_done; -#if FF_API_OLD_ENCDEC - int compat_decode_warned; - /* this variable is set by the decoder internals to signal to the old - * API compat wrappers the amount of data consumed from the last packet */ - size_t compat_decode_consumed; - /* when a partial packet has been consumed, this stores the remaining size - * of the packet (that should be submitted in the next decode call */ - size_t compat_decode_partial_size; - AVFrame *compat_decode_frame; - AVPacket *compat_encode_packet; -#endif - int showed_multi_packet_warning; int skip_samples_multiplier;