summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_onyxc_int.h
diff options
context:
space:
mode:
authorJohn Koleszar <jkoleszar@google.com>2013-05-15 17:55:08 -0700
committerJohn Koleszar <jkoleszar@google.com>2013-05-16 22:21:09 -0700
commit679e4abdd5f733ab544689ce210b42d37e7ce164 (patch)
treeb2afbb63f8dc55e5f3ba974617bdce10b5ab34e1 /vp9/common/vp9_onyxc_int.h
parent16ac5a5cde0472fc29719aab7ad0958d1492df43 (diff)
downloadlibvpx-679e4abdd5f733ab544689ce210b42d37e7ce164.tar
libvpx-679e4abdd5f733ab544689ce210b42d37e7ce164.tar.gz
libvpx-679e4abdd5f733ab544689ce210b42d37e7ce164.tar.bz2
libvpx-679e4abdd5f733ab544689ce210b42d37e7ce164.zip
Initial version of alpha channel support
This is a mostly-working implementation of an extra channel in the bitstream. Configure with --enable-alpha to test. Notable TODOs: - Add extra channel to all mismatch tests, PSNR, SSIM, etc - Configurable subsampling - Variable number of planes (currently always uses all 4) - Loop filtering - Per-plane lossless quantizer - ARNR support This implementation just uses the same contents as the Y channel for the A channel, due to lack of content and general pain in playing back 4 channel content. A later patch will use the actual alpha channel passed in from outside the codec. Change-Id: Ibf81f023b1c570bd84b3064e9b4b8ae52e087592
Diffstat (limited to 'vp9/common/vp9_onyxc_int.h')
-rw-r--r--vp9/common/vp9_onyxc_int.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/vp9/common/vp9_onyxc_int.h b/vp9/common/vp9_onyxc_int.h
index 2d4cd30cc..51bdb196b 100644
--- a/vp9/common/vp9_onyxc_int.h
+++ b/vp9/common/vp9_onyxc_int.h
@@ -124,6 +124,9 @@ typedef struct VP9Common {
DECLARE_ALIGNED(16, int16_t, y_dequant[QINDEX_RANGE][2]);
DECLARE_ALIGNED(16, int16_t, uv_dequant[QINDEX_RANGE][2]);
+#if CONFIG_ALPHA
+ DECLARE_ALIGNED(16, int16_t, a_dequant[QINDEX_RANGE][2]);
+#endif
int width;
int height;
@@ -187,6 +190,10 @@ typedef struct VP9Common {
int y_dc_delta_q;
int uv_dc_delta_q;
int uv_ac_delta_q;
+#if CONFIG_ALPHA
+ int a_dc_delta_q;
+ int a_ac_delta_q;
+#endif
unsigned int frames_since_golden;
unsigned int frames_till_alt_ref_frame;