diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-04-24 20:40:12 +0200 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2013-05-28 13:55:55 +0300 |
commit | 28243b0d35b47bbf9abbd454fc444a6e0a9e7b71 (patch) | |
tree | b0be4ace4fa24868f42bf9da6e7566854e93f4a1 /libavcodec/vc1.h | |
parent | 93b1281264b87961f53c3e9c134cc2727ecd91ed (diff) | |
download | ffmpeg-28243b0d35b47bbf9abbd454fc444a6e0a9e7b71.tar.gz |
vc1dec: Redesign the intensity compensation
Use the intensity-compensated reference frame for subsequent
fields/B-frames.
Since we currently don't change the reference frame we have to
maintain lookup tables for intensity compensation in the following
dependent frames.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec/vc1.h')
-rw-r--r-- | libavcodec/vc1.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libavcodec/vc1.h b/libavcodec/vc1.h index 9d7743a9fd..8439203f88 100644 --- a/libavcodec/vc1.h +++ b/libavcodec/vc1.h @@ -298,8 +298,11 @@ typedef struct VC1Context{ int dmb_is_raw; ///< direct mb plane is raw int fmb_is_raw; ///< forward mb plane is raw int skip_is_raw; ///< skip mb plane is not coded - uint8_t luty[256], lutuv[256]; ///< lookup tables used for intensity compensation - int use_ic; ///< use intensity compensation in B-frames + uint8_t last_luty[2][256], last_lutuv[2][256]; ///< lookup tables used for intensity compensation + uint8_t aux_luty[2][256], aux_lutuv[2][256]; ///< lookup tables used for intensity compensation + uint8_t next_luty[2][256], next_lutuv[2][256]; ///< lookup tables used for intensity compensation + uint8_t (*curr_luty)[256] ,(*curr_lutuv)[256]; + int last_use_ic, curr_use_ic, next_use_ic, aux_use_ic; int rnd; ///< rounding control /** Frame decoding info for S/M profiles only */ @@ -342,7 +345,6 @@ typedef struct VC1Context{ int intcomp; uint8_t lumscale2; ///< for interlaced field P picture uint8_t lumshift2; - uint8_t luty2[256], lutuv2[256]; // lookup tables used for intensity compensation VLC* mbmode_vlc; VLC* imv_vlc; VLC* twomvbp_vlc; |