summaryrefslogtreecommitdiffstats
path: root/libvpx/vp8/decoder/onyxd_int.h
diff options
context:
space:
mode:
authorhkuang <hkuang@google.com>2013-06-19 15:33:45 -0700
committerhkuang <hkuang@google.com>2013-06-20 10:24:31 -0700
commitba164dffc5a6795bce97fae02b51ccf3330e15e4 (patch)
tree9b83fdf84e5bd8bb4d47ac37a7ea9ae3eef840b6 /libvpx/vp8/decoder/onyxd_int.h
parentca15b5fc158a9df465aaf1acfe38d8cb5042c81b (diff)
downloadandroid_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.h43
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_