1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-15 14:13:16 +02:00

prores: use natural integer type for the codebook index

The operations that use it require it to be promoted to a larger (natural)
type and thus perform sign extension on it.

While an optimal compiler may account for this, gcc 4.6 (for x86 Windows)
fails. Using the natural integer type provides a 2% speedup for Win64
and 1% for Win32.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
This commit is contained in:
Christophe GISQUET
2012-02-21 22:36:15 +01:00
committed by Diego Biurrun
parent 0ad522afb3
commit b5696ff2b8
2 changed files with 3 additions and 3 deletions

View File

@@ -289,7 +289,7 @@ static int decode_picture_header(ProresContext *ctx, const uint8_t *buf,
/** /**
* Read an unsigned rice/exp golomb codeword. * Read an unsigned rice/exp golomb codeword.
*/ */
static inline int decode_vlc_codeword(GetBitContext *gb, uint8_t codebook) static inline int decode_vlc_codeword(GetBitContext *gb, unsigned codebook)
{ {
unsigned int rice_order, exp_order, switch_bits; unsigned int rice_order, exp_order, switch_bits;
unsigned int buf, code; unsigned int buf, code;

View File

@@ -229,7 +229,7 @@ static void get_slice_data(ProresContext *ctx, const uint16_t *src,
/** /**
* Write an unsigned rice/exp golomb codeword. * Write an unsigned rice/exp golomb codeword.
*/ */
static inline void encode_vlc_codeword(PutBitContext *pb, uint8_t codebook, int val) static inline void encode_vlc_codeword(PutBitContext *pb, unsigned codebook, int val)
{ {
unsigned int rice_order, exp_order, switch_bits, switch_val; unsigned int rice_order, exp_order, switch_bits, switch_val;
int exponent; int exponent;
@@ -393,7 +393,7 @@ static int encode_slice(AVCodecContext *avctx, const AVFrame *pic,
return total_size; return total_size;
} }
static inline int estimate_vlc(uint8_t codebook, int val) static inline int estimate_vlc(unsigned codebook, int val)
{ {
unsigned int rice_order, exp_order, switch_bits, switch_val; unsigned int rice_order, exp_order, switch_bits, switch_val;
int exponent; int exponent;