summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_block.h
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2014-09-02 16:34:09 -0700
committerDeb Mukherjee <debargha@google.com>2014-09-11 19:56:33 -0700
commit10783d4f3a6188a01f9a993c56ab0013acd97214 (patch)
tree068914b26183a52c2cf7a084cfca333a94cf952f /vp9/encoder/vp9_block.h
parent1e4136d35d0323f64817a0d9ae333ba9f6f731c3 (diff)
downloadlibvpx-10783d4f3a6188a01f9a993c56ab0013acd97214.tar
libvpx-10783d4f3a6188a01f9a993c56ab0013acd97214.tar.gz
libvpx-10783d4f3a6188a01f9a993c56ab0013acd97214.tar.bz2
libvpx-10783d4f3a6188a01f9a993c56ab0013acd97214.zip
Adds high bitdepth transform functions and tests
Adds various high bitdepth transform functions and tests. Much of the changes are related to using typedefs tran_low_t and tran_high_t for the final transform cofficients and intermediate stages of the transform computation respectively rather than fixed types int16_t/int. When vp9_highbitdepth configure flag is off, these map tp int16_t/int32_t, but when the flag is on, they map to int32_t/int64_t to make space for needed extra precision. Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
Diffstat (limited to 'vp9/encoder/vp9_block.h')
-rw-r--r--vp9/encoder/vp9_block.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/vp9/encoder/vp9_block.h b/vp9/encoder/vp9_block.h
index b72638322..767bd7f91 100644
--- a/vp9/encoder/vp9_block.h
+++ b/vp9/encoder/vp9_block.h
@@ -28,8 +28,8 @@ typedef struct {
struct macroblock_plane {
DECLARE_ALIGNED(16, int16_t, src_diff[64 * 64]);
- int16_t *qcoeff;
- int16_t *coeff;
+ tran_low_t *qcoeff;
+ tran_low_t *coeff;
uint16_t *eobs;
struct buf_2d src;
@@ -119,8 +119,12 @@ struct macroblock {
// Used to store sub partition's choices.
MV pred_mv[MAX_REF_FRAMES];
- void (*fwd_txm4x4)(const int16_t *input, int16_t *output, int stride);
- void (*itxm_add)(const int16_t *input, uint8_t *dest, int stride, int eob);
+ void (*fwd_txm4x4)(const int16_t *input, tran_low_t *output, int stride);
+ void (*itxm_add)(const tran_low_t *input, uint8_t *dest, int stride, int eob);
+#if CONFIG_VP9_HIGHBITDEPTH
+ void (*high_itxm_add)(const tran_low_t *input, uint8_t *dest, int stride,
+ int eob, int bd);
+#endif
};
#ifdef __cplusplus