diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2011-11-15 15:34:50 -0500 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2011-11-19 10:01:05 -0500 |
commit | f3a29b750a5979ae6847879fba758faf1fae88d0 (patch) | |
tree | 0a5bf0e6822f0adf284a76c5d28ce55e3ad21d24 /libavcodec/internal.h | |
parent | 513b6919555b9e2b0c1f86fd5f02caaa14bcbe69 (diff) | |
download | ffmpeg-f3a29b750a5979ae6847879fba758faf1fae88d0.tar.gz |
avcodec: move some AVCodecContext fields to an internal struct.
A new field, AVCodecContext.internal is used to hold a new struct
AVCodecInternal, which has private fields that are not codec-specific and are
used by general libavcodec functions.
Moved internal_buffer, internal_buffer_count, and is_copy.
Diffstat (limited to 'libavcodec/internal.h')
-rw-r--r-- | libavcodec/internal.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 54d57d2bec..18e851c48e 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -25,8 +25,42 @@ #define AVCODEC_INTERNAL_H #include <stdint.h> + +#include "libavutil/pixfmt.h" #include "avcodec.h" +typedef struct InternalBuffer { + int last_pic_num; + uint8_t *base[4]; + uint8_t *data[4]; + int linesize[4]; + int width; + int height; + enum PixelFormat pix_fmt; +} InternalBuffer; + +typedef struct AVCodecInternal { + /** + * internal buffer count + * used by default get/release/reget_buffer(). + */ + int buffer_count; + + /** + * internal buffers + * used by default get/release/reget_buffer(). + */ + InternalBuffer *buffer; + + /** + * Whether the parent AVCodecContext is a copy of the context which had + * init() called on it. + * This is used by multithreading - shared tables and picture pointers + * should be freed from the original context only. + */ + int is_copy; +} AVCodecInternal; + struct AVCodecDefault { const uint8_t *key; const uint8_t *value; |