diff options
author | hkuang <hkuang@google.com> | 2013-06-19 15:33:45 -0700 |
---|---|---|
committer | hkuang <hkuang@google.com> | 2013-06-20 10:24:31 -0700 |
commit | ba164dffc5a6795bce97fae02b51ccf3330e15e4 (patch) | |
tree | 9b83fdf84e5bd8bb4d47ac37a7ea9ae3eef840b6 /libvpx/vp8/decoder/onyxd_int.h | |
parent | ca15b5fc158a9df465aaf1acfe38d8cb5042c81b (diff) | |
download | android_external_libvpx-ba164dffc5a6795bce97fae02b51ccf3330e15e4.tar.gz android_external_libvpx-ba164dffc5a6795bce97fae02b51ccf3330e15e4.tar.bz2 android_external_libvpx-ba164dffc5a6795bce97fae02b51ccf3330e15e4.zip |
Updates libvpx to enable the VP9 decoder.
This change enables VP9 decoder for all build configurations.
Checkout is from master branch(hash:12180c8329d56d72e8d4424b8fd82b1b2f8e846a).
Change-Id: Ieaba85d0bc54e1ecdf9596398dafa03c43182f8c
Diffstat (limited to 'libvpx/vp8/decoder/onyxd_int.h')
-rw-r--r-- | libvpx/vp8/decoder/onyxd_int.h | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/libvpx/vp8/decoder/onyxd_int.h b/libvpx/vp8/decoder/onyxd_int.h index 0063beb..54a98f7 100644 --- a/libvpx/vp8/decoder/onyxd_int.h +++ b/libvpx/vp8/decoder/onyxd_int.h @@ -9,8 +9,9 @@ */ -#ifndef __INC_VP8D_INT_H -#define __INC_VP8D_INT_H +#ifndef ONYXD_INT_H_ +#define ONYXD_INT_H_ + #include "vpx_config.h" #include "vp8/common/onyxd.h" #include "treereader.h" @@ -33,6 +34,31 @@ typedef struct MACROBLOCKD mbd; } MB_ROW_DEC; + +typedef struct +{ + int enabled; + unsigned int count; + const unsigned char *ptrs[MAX_PARTITIONS]; + unsigned int sizes[MAX_PARTITIONS]; +} FRAGMENT_DATA; + +#define MAX_FB_MT_DEC 32 + +struct frame_buffers +{ + /* + * this struct will be populated with frame buffer management + * info in future commits. */ + + /* enable/disable frame-based threading */ + int use_frame_threads; + + /* decoder instances */ + struct VP8D_COMP *pbi[MAX_FB_MT_DEC]; + +}; + typedef struct VP8D_COMP { DECLARE_ALIGNED(16, MACROBLOCKD, mb); @@ -46,10 +72,7 @@ typedef struct VP8D_COMP VP8D_CONFIG oxcf; - - const unsigned char *fragments[MAX_PARTITIONS]; - unsigned int fragment_sizes[MAX_PARTITIONS]; - unsigned int num_fragments; + FRAGMENT_DATA fragments; #if CONFIG_MULTITHREAD /* variable for threading */ @@ -95,15 +118,19 @@ typedef struct VP8D_COMP #endif int ec_enabled; int ec_active; - int input_fragments; int decoded_key_frame; int independent_partitions; int frame_corrupt_residual; + vp8_decrypt_cb *decrypt_cb; + void *decrypt_state; } VP8D_COMP; int vp8_decode_frame(VP8D_COMP *cpi); +int vp8_create_decoder_instances(struct frame_buffers *fb, VP8D_CONFIG *oxcf); +int vp8_remove_decoder_instances(struct frame_buffers *fb); + #if CONFIG_DEBUG #define CHECK_MEM_ERROR(lval,expr) do {\ lval = (expr); \ @@ -121,4 +148,4 @@ int vp8_decode_frame(VP8D_COMP *cpi); } while(0) #endif -#endif +#endif // ONYXD_INT_H_ |