diff options
author | John Koleszar <jkoleszar@google.com> | 2013-05-15 17:55:08 -0700 |
---|---|---|
committer | John Koleszar <jkoleszar@google.com> | 2013-05-16 22:21:09 -0700 |
commit | 679e4abdd5f733ab544689ce210b42d37e7ce164 (patch) | |
tree | b2afbb63f8dc55e5f3ba974617bdce10b5ab34e1 /vp9/common/vp9_onyxc_int.h | |
parent | 16ac5a5cde0472fc29719aab7ad0958d1492df43 (diff) | |
download | libvpx-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.h | 7 |
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; |