diff options
author | Christophe GISQUET <christophe.gisquet@gmail.com> | 2012-03-19 22:46:28 +0100 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2012-04-10 10:06:48 -0700 |
commit | 272b252c0110225188c7d7f31167941210aac197 (patch) | |
tree | 47bea5996c88057a418e8872a655bac8f261736e /libavcodec/rv34.h | |
parent | d3c59d5003a483f1a23e225fc71c19bd1116d11c (diff) | |
download | ffmpeg-272b252c0110225188c7d7f31167941210aac197.tar.gz |
rv40dsp: implement prescaled versions for biweight.
Quite often, the original weights are multiple of 512. By prescaling them
by 1/512 when they are computed (once per frame), no intermediate shifting
is needed, and no prescaling on each call either.
The x86 code already used that trick.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Diffstat (limited to 'libavcodec/rv34.h')
-rw-r--r-- | libavcodec/rv34.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/rv34.h b/libavcodec/rv34.h index 76232145c5..e7a59c4bed 100644 --- a/libavcodec/rv34.h +++ b/libavcodec/rv34.h @@ -106,7 +106,9 @@ typedef struct RV34DecContext{ int rpr; ///< one field size in RV30 slice header int cur_pts, last_pts, next_pts; + int scaled_weight; int weight1, weight2; ///< B frame distance fractions (0.14) used in motion compensation + int mv_weight1, mv_weight2; uint16_t *cbp_luma; ///< CBP values for luma subblocks uint8_t *cbp_chroma; ///< CBP values for chroma subblocks |