diff options
author | Deb Mukherjee <debargha@google.com> | 2014-09-02 16:34:09 -0700 |
---|---|---|
committer | Deb Mukherjee <debargha@google.com> | 2014-09-11 19:56:33 -0700 |
commit | 10783d4f3a6188a01f9a993c56ab0013acd97214 (patch) | |
tree | 068914b26183a52c2cf7a084cfca333a94cf952f /vp9/encoder/vp9_block.h | |
parent | 1e4136d35d0323f64817a0d9ae333ba9f6f731c3 (diff) | |
download | libvpx-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.h | 12 |
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 |