From 679e4abdd5f733ab544689ce210b42d37e7ce164 Mon Sep 17 00:00:00 2001 From: John Koleszar Date: Wed, 15 May 2013 17:55:08 -0700 Subject: 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 --- vp9/common/vp9_blockd.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'vp9/common/vp9_blockd.h') diff --git a/vp9/common/vp9_blockd.h b/vp9/common/vp9_blockd.h index 07607d895..c1e9800ec 100644 --- a/vp9/common/vp9_blockd.h +++ b/vp9/common/vp9_blockd.h @@ -298,7 +298,11 @@ struct scale_factors { convolve_fn_t predict[2][2][2]; // horiz, vert, avg }; +#if CONFIG_ALPHA +enum { MAX_MB_PLANE = 4 }; +#else enum { MAX_MB_PLANE = 3 }; +#endif struct buf_2d { uint8_t *buf; -- cgit v1.2.3