From 548b4dd5f2ace8d1ee9487f166f456621663ff87 Mon Sep 17 00:00:00 2001 From: Dmitry Kovalev Date: Fri, 22 Feb 2013 11:03:14 -0800 Subject: [PATCH] Code cleanup. Removing redundant 'extern' keywords and parentheses, fixing indentation, making variable names lower case, using short expressions x *= c instead of x = x * c, minor code simplifications. Change-Id: If6a25fcf306d1db26e90d27e3c24a32735c607de --- vp9/common/vp9_idct.h | 4 ++-- vp9/common/vp9_idctllm.c | 32 ++++++++++++-------------------- vp9/common/vp9_textblit.c | 37 ++++++++++++++++++++----------------- vp9/common/vp9_textblit.h | 8 ++++---- vp9/common/vp9_tile_common.h | 8 ++++---- vp9/decoder/vp9_dboolhuff.c | 13 +++++++++---- vp9/decoder/vp9_dboolhuff.h | 35 +---------------------------------- vp9/decoder/vp9_dequantize.c | 35 +++++++++++++++++------------------ vp9/encoder/vp9_ratectrl.c | 6 +++--- vp9/encoder/vp9_ratectrl.h | 26 +++++++++++++------------- vp9/encoder/vp9_temporal_filter.c | 11 +++-------- vp9/encoder/vp9_temporal_filter.h | 2 +- vp9/encoder/vp9_tokenize.h | 33 +++++++++++++++++---------------- vp9/encoder/vp9_treewriter.h | 14 ++++++-------- 14 files changed, 112 insertions(+), 152 deletions(-) diff --git a/vp9/common/vp9_idct.h b/vp9/common/vp9_idct.h index a9e6634..ac95748 100644 --- a/vp9/common/vp9_idct.h +++ b/vp9/common/vp9_idct.h @@ -16,8 +16,8 @@ // Constants and Macros used by all idct/dct functions #define DCT_CONST_BITS 14 #define DCT_CONST_ROUNDING (1 << (DCT_CONST_BITS - 1)) -// Constants are 16384 * cos(kPi/64) where k = 1 to 31. -// Note: sin(kPi/64) = cos((32-k)Pi/64) +// Constants are round(16384 * cos(k*Pi/64)) where k = 1 to 31. +// Note: sin(k*Pi/64) = cos((32-k)*Pi/64) static const int cospi_1_64 = 16364; static const int cospi_2_64 = 16305; static const int cospi_3_64 = 16207; diff --git a/vp9/common/vp9_idctllm.c b/vp9/common/vp9_idctllm.c index 8eb9801..f8ac288 100644 --- a/vp9/common/vp9_idctllm.c +++ b/vp9/common/vp9_idctllm.c @@ -530,8 +530,8 @@ void vp9_short_idct8x8_c(int16_t *input, int16_t *output, int pitch) { temp_in[j] = out[j * 8 + i]; idct8_1d(temp_in, temp_out); for (j = 0; j < 8; ++j) - output[j * short_pitch + i] = (temp_out[j] + 16) >> 5; - } + output[j * short_pitch + i] = (temp_out[j] + 16) >> 5; + } } #if CONFIG_INTHT4X4 @@ -782,18 +782,14 @@ void vp9_short_idct10_8x8_c(int16_t *input, int16_t *output, int pitch) { temp_in[j] = out[j * 8 + i]; idct8_1d(temp_in, temp_out); for (j = 0; j < 8; ++j) - output[j * short_pitch + i] = (temp_out[j] + 16) >> 5; - } + output[j * short_pitch + i] = (temp_out[j] + 16) >> 5; + } } void vp9_short_idct1_8x8_c(int16_t *input, int16_t *output) { - int tmp; - int16_t out; - tmp = input[0] * cospi_16_64; - out = dct_const_round_shift(tmp); - tmp = out * cospi_16_64; - out = dct_const_round_shift(tmp); - *output = (out + 16) >> 5; + int16_t out = dct_const_round_shift(input[0] * cospi_16_64); + out = dct_const_round_shift(out * cospi_16_64); + output[0] = (out + 16) >> 5; } void idct16_1d(int16_t *input, int16_t *output) { @@ -980,8 +976,8 @@ void vp9_short_idct16x16_c(int16_t *input, int16_t *output, int pitch) { temp_in[j] = out[j * 16 + i]; idct16_1d(temp_in, temp_out); for (j = 0; j < 16; ++j) - output[j * 16 + i] = (temp_out[j] + 32) >> 6; - } + output[j * 16 + i] = (temp_out[j] + 32) >> 6; + } } #if CONFIG_INTHT16X16 @@ -1638,11 +1634,7 @@ void vp9_short_idct32x32_c(int16_t *input, int16_t *output, int pitch) { } void vp9_short_idct1_32x32_c(int16_t *input, int16_t *output) { - int tmp; - int16_t out; - tmp = input[0] * cospi_16_64; - out = dct_const_round_shift(tmp); - tmp = out * cospi_16_64; - out = dct_const_round_shift(tmp); - *output = (out + 32) >> 6; + int16_t out = dct_const_round_shift(input[0] * cospi_16_64); + out = dct_const_round_shift(out * cospi_16_64); + output[0] = (out + 32) >> 6; } diff --git a/vp9/common/vp9_textblit.c b/vp9/common/vp9_textblit.c index 52c6b87..60e95e0 100644 --- a/vp9/common/vp9_textblit.c +++ b/vp9/common/vp9_textblit.c @@ -12,22 +12,26 @@ #include "vp9/common/vp9_textblit.h" +static const int font[] = { + 0x0, 0x5C00, 0x8020, 0xAFABEA, 0xD7EC0, 0x1111111, 0x1855740, 0x18000, + 0x45C0, 0x74400, 0x51140, 0x23880, 0xC4000, 0x21080, 0x80000, 0x111110, + 0xE9D72E, 0x87E40, 0x12AD732, 0xAAD62A, 0x4F94C4, 0x4D6B7, 0x456AA, + 0x3E8423, 0xAAD6AA, 0xAAD6A2, 0x2800, 0x2A00, 0x8A880, 0x52940, 0x22A20, + 0x15422, 0x6AD62E, 0x1E4A53E, 0xAAD6BF, 0x8C62E, 0xE8C63F, 0x118D6BF, + 0x1094BF, 0xCAC62E, 0x1F2109F, 0x118FE31, 0xF8C628, 0x8A89F, 0x108421F, + 0x1F1105F, 0x1F4105F, 0xE8C62E, 0x2294BF, 0x164C62E, 0x12694BF, 0x8AD6A2, + 0x10FC21, 0x1F8421F, 0x744107, 0xF8220F, 0x1151151, 0x117041, 0x119D731, + 0x47E0, 0x1041041, 0xFC400, 0x10440, 0x1084210, 0x820 +}; + +static void plot(int x, int y, unsigned char *image, int pitch) { + image[x + y * pitch] ^= 255; +} + void vp9_blit_text(const char *msg, unsigned char *address, const int pitch) { int letter_bitmap; unsigned char *output_pos = address; - int colpos; - const int font[] = { - 0x0, 0x5C00, 0x8020, 0xAFABEA, 0xD7EC0, 0x1111111, 0x1855740, 0x18000, - 0x45C0, 0x74400, 0x51140, 0x23880, 0xC4000, 0x21080, 0x80000, 0x111110, - 0xE9D72E, 0x87E40, 0x12AD732, 0xAAD62A, 0x4F94C4, 0x4D6B7, 0x456AA, - 0x3E8423, 0xAAD6AA, 0xAAD6A2, 0x2800, 0x2A00, 0x8A880, 0x52940, 0x22A20, - 0x15422, 0x6AD62E, 0x1E4A53E, 0xAAD6BF, 0x8C62E, 0xE8C63F, 0x118D6BF, - 0x1094BF, 0xCAC62E, 0x1F2109F, 0x118FE31, 0xF8C628, 0x8A89F, 0x108421F, - 0x1F1105F, 0x1F4105F, 0xE8C62E, 0x2294BF, 0x164C62E, 0x12694BF, 0x8AD6A2, - 0x10FC21, 0x1F8421F, 0x744107, 0xF8220F, 0x1151151, 0x117041, 0x119D731, - 0x47E0, 0x1041041, 0xFC400, 0x10440, 0x1084210, 0x820 - }; - colpos = 0; + int colpos = 0; while (msg[colpos] != 0) { char letter = msg[colpos]; @@ -50,12 +54,11 @@ void vp9_blit_text(const char *msg, unsigned char *address, const int pitch) { } } -static void plot(const int x, const int y, unsigned char *image, const int pitch) { - image [x + y * pitch] ^= 255; -} + /* Bresenham line algorithm */ -void vp9_blit_line(int x0, int x1, int y0, int y1, unsigned char *image, const int pitch) { +void vp9_blit_line(int x0, int x1, int y0, int y1, unsigned char *image, + int pitch) { int steep = abs(y1 - y0) > abs(x1 - x0); int deltax, deltay; int error, ystep, y, x; diff --git a/vp9/common/vp9_textblit.h b/vp9/common/vp9_textblit.h index 8285aa7..c968628 100644 --- a/vp9/common/vp9_textblit.h +++ b/vp9/common/vp9_textblit.h @@ -11,9 +11,9 @@ #ifndef VP9_COMMON_VP9_TEXTBLIT_H_ #define VP9_COMMON_VP9_TEXTBLIT_H_ -extern void vp9_blit_text(const char *msg, unsigned char *address, - const int pitch); -extern void vp9_blit_line(int x0, int x1, int y0, int y1, - unsigned char *image, const int pitch); +void vp9_blit_text(const char *msg, unsigned char *address, int pitch); + +void vp9_blit_line(int x0, int x1, int y0, int y1, unsigned char *image, + int pitch); #endif // VP9_COMMON_VP9_TEXTBLIT_H_ diff --git a/vp9/common/vp9_tile_common.h b/vp9/common/vp9_tile_common.h index 92bf508..ea69356 100644 --- a/vp9/common/vp9_tile_common.h +++ b/vp9/common/vp9_tile_common.h @@ -16,11 +16,11 @@ #define MIN_TILE_WIDTH 256 #define MAX_TILE_WIDTH 4096 -extern void vp9_get_tile_col_offsets(VP9_COMMON *cm, int tile_col_idx); +void vp9_get_tile_col_offsets(VP9_COMMON *cm, int tile_col_idx); -extern void vp9_get_tile_row_offsets(VP9_COMMON *cm, int tile_row_idx); +void vp9_get_tile_row_offsets(VP9_COMMON *cm, int tile_row_idx); -extern void vp9_get_tile_n_bits(VP9_COMMON *cm, int *min_log2_n_tiles, - int *delta_log2_n_tiles); +void vp9_get_tile_n_bits(VP9_COMMON *cm, int *min_log2_n_tiles, + int *delta_log2_n_tiles); #endif // VP9_COMMON_VP9_TILE_COMMON_H_ diff --git a/vp9/decoder/vp9_dboolhuff.c b/vp9/decoder/vp9_dboolhuff.c index 82d6321..99c3664 100644 --- a/vp9/decoder/vp9_dboolhuff.c +++ b/vp9/decoder/vp9_dboolhuff.c @@ -63,7 +63,9 @@ void vp9_bool_decoder_fill(BOOL_DECODER *br) { static int get_unsigned_bits(unsigned num_values) { int cat = 0; - if ((num_values--) <= 1) return 0; + if (num_values <= 1) + return 0; + num_values--; while (num_values > 0) { cat++; num_values >>= 1; @@ -72,9 +74,12 @@ static int get_unsigned_bits(unsigned num_values) { } int vp9_inv_recenter_nonneg(int v, int m) { - if (v > (m << 1)) return v; - else if ((v & 1) == 0) return (v >> 1) + m; - else return m - ((v + 1) >> 1); + if (v > (m << 1)) + return v; + else if ((v & 1) == 0) + return (v >> 1) + m; + else + return m - ((v + 1) >> 1); } int vp9_decode_uniform(BOOL_DECODER *br, int n) { diff --git a/vp9/decoder/vp9_dboolhuff.h b/vp9/decoder/vp9_dboolhuff.h index bded159..cf31d38 100644 --- a/vp9/decoder/vp9_dboolhuff.h +++ b/vp9/decoder/vp9_dboolhuff.h @@ -45,46 +45,13 @@ int vp9_decode_uniform(BOOL_DECODER *br, int n); int vp9_decode_term_subexp(BOOL_DECODER *br, int k, int num_syms); int vp9_inv_recenter_nonneg(int v, int m); -/*The refill loop is used in several places, so define it in a macro to make - sure they're all consistent. - An inline function would be cleaner, but has a significant penalty, because - multiple BOOL_DECODER fields must be modified, and the compiler is not smart - enough to eliminate the stores to those fields and the subsequent reloads - from them when inlining the function.*/ -#define VP9DX_BOOL_DECODER_FILL(_count,_value,_bufptr,_bufend) \ - do \ - { \ - int shift = VP9_BD_VALUE_SIZE - 8 - ((_count) + 8); \ - int loop_end, x; \ - int bits_left = (int)(((_bufend)-(_bufptr))*CHAR_BIT); \ - \ - x = shift + CHAR_BIT - bits_left; \ - loop_end = 0; \ - if(x >= 0) \ - { \ - (_count) += VP9_LOTS_OF_BITS; \ - loop_end = x; \ - if(!bits_left) break; \ - } \ - while(shift >= loop_end) \ - { \ - (_count) += CHAR_BIT; \ - (_value) |= (VP9_BD_VALUE)*(_bufptr)++ << shift; \ - shift -= CHAR_BIT; \ - } \ - } \ - while(0) \ - - static int decode_bool(BOOL_DECODER *br, int probability) { unsigned int bit = 0; VP9_BD_VALUE value; - unsigned int split; VP9_BD_VALUE bigsplit; int count; unsigned int range; - - split = 1 + (((br->range - 1) * probability) >> 8); + unsigned int split = 1 + (((br->range - 1) * probability) >> 8); if (br->count < 0) vp9_bool_decoder_fill(br); diff --git a/vp9/decoder/vp9_dequantize.c b/vp9/decoder/vp9_dequantize.c index 19918db..f66a57d 100644 --- a/vp9/decoder/vp9_dequantize.c +++ b/vp9/decoder/vp9_dequantize.c @@ -45,14 +45,13 @@ static void add_constant_residual(const int16_t diff, const uint8_t *pred, } void vp9_dequantize_b_c(BLOCKD *d) { - int i; - int16_t *DQ = d->dqcoeff; - const int16_t *Q = d->qcoeff; - const int16_t *DQC = d->dequant; + int16_t *dq = d->dqcoeff; + const int16_t *q = d->qcoeff; + const int16_t *dqc = d->dequant; for (i = 0; i < 16; i++) { - DQ[i] = Q[i] * DQC[i]; + dq[i] = q[i] * dqc[i]; } } @@ -91,9 +90,9 @@ void vp9_ht_dequant_idct_add_8x8_c(TX_TYPE tx_type, int16_t *input, /* All 0 DCT coefficient */ vp9_copy_mem8x8(pred, pitch, dest, stride); } else if (eob > 0) { - input[0] = dq[0] * input[0]; + input[0] *= dq[0]; for (i = 1; i < 64; i++) { - input[i] = dq[1] * input[i]; + input[i] *= dq[1]; } #if CONFIG_INTHT @@ -114,7 +113,7 @@ void vp9_dequant_idct_add_c(int16_t *input, const int16_t *dq, uint8_t *pred, int i; for (i = 0; i < 16; i++) { - input[i] = dq[i] * input[i]; + input[i] *= dq[i]; } /* the idct halves ( >> 1) the pitch */ @@ -126,15 +125,15 @@ void vp9_dequant_idct_add_c(int16_t *input, const int16_t *dq, uint8_t *pred, } void vp9_dequant_dc_idct_add_c(int16_t *input, const int16_t *dq, uint8_t *pred, - uint8_t *dest, int pitch, int stride, int Dc) { + uint8_t *dest, int pitch, int stride, int dc) { int i; int16_t output[16]; int16_t *diff_ptr = output; - input[0] = (int16_t)Dc; + input[0] = dc; for (i = 1; i < 16; i++) { - input[i] = dq[i] * input[i]; + input[i] *= dq[i]; } /* the idct halves ( >> 1) the pitch */ @@ -153,7 +152,7 @@ void vp9_dequant_idct_add_lossless_c(int16_t *input, const int16_t *dq, int i; for (i = 0; i < 16; i++) { - input[i] = dq[i] * input[i]; + input[i] *= dq[i]; } vp9_short_inv_walsh4x4_x8_c(input, output, 4 << 1); @@ -174,7 +173,7 @@ void vp9_dequant_dc_idct_add_lossless_c(int16_t *input, const int16_t *dq, input[0] = (int16_t)dc; for (i = 1; i < 16; i++) { - input[i] = dq[i] * input[i]; + input[i] *= dq[i]; } vp9_short_inv_walsh4x4_x8_c(input, output, 4 << 1); @@ -235,7 +234,7 @@ void vp9_dequant_idct_add_8x8_c(int16_t *input, const int16_t *dq, } else { // recover quantizer for 4 4x4 blocks for (i = 1; i < 64; i++) { - input[i] = input[i] * dq[1]; + input[i] *= dq[1]; } // the idct halves ( >> 1) the pitch vp9_short_idct8x8_c(input, output, 16); @@ -258,11 +257,11 @@ void vp9_ht_dequant_idct_add_16x16_c(TX_TYPE tx_type, int16_t *input, /* All 0 DCT coefficient */ vp9_copy_mem16x16(pred, pitch, dest, stride); } else if (eob > 0) { - input[0]= input[0] * dq[0]; + input[0] *= dq[0]; // recover quantizer for 4 4x4 blocks for (i = 1; i < 256; i++) - input[i] = input[i] * dq[1]; + input[i] *= dq[1]; // inverse hybrid transform #if CONFIG_INTHT16X16 @@ -324,11 +323,11 @@ void vp9_dequant_idct_add_16x16_c(int16_t *input, const int16_t *dq, add_residual(diff_ptr, pred, pitch, dest, stride, 16, 16); } else { - input[0]= input[0] * dq[0]; + input[0] *= dq[0]; // recover quantizer for 4 4x4 blocks for (i = 1; i < 256; i++) - input[i] = input[i] * dq[1]; + input[i] *= dq[1]; // the idct halves ( >> 1) the pitch vp9_short_idct16x16_c(input, output, 32); diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c index bb608ab..b4adb67 100644 --- a/vp9/encoder/vp9_ratectrl.c +++ b/vp9/encoder/vp9_ratectrl.c @@ -14,8 +14,8 @@ #include #include #include +#include -#include "math.h" #include "vp9/common/vp9_alloccommon.h" #include "vp9/common/vp9_modecont.h" #include "vp9/common/vp9_common.h" @@ -27,8 +27,8 @@ #include "vp9/common/vp9_quant_common.h" #include "vp9/common/vp9_seg_common.h" -#define MIN_BPB_FACTOR 0.005 -#define MAX_BPB_FACTOR 50 +#define MIN_BPB_FACTOR 0.005 +#define MAX_BPB_FACTOR 50 #ifdef MODE_STATS extern unsigned int y_modes[VP9_YMODES]; diff --git a/vp9/encoder/vp9_ratectrl.h b/vp9/encoder/vp9_ratectrl.h index c648481..c5817d7 100644 --- a/vp9/encoder/vp9_ratectrl.h +++ b/vp9/encoder/vp9_ratectrl.h @@ -16,23 +16,23 @@ #define FRAME_OVERHEAD_BITS 200 -extern void vp9_save_coding_context(VP9_COMP *cpi); -extern void vp9_restore_coding_context(VP9_COMP *cpi); +void vp9_save_coding_context(VP9_COMP *cpi); +void vp9_restore_coding_context(VP9_COMP *cpi); -extern void vp9_setup_key_frame(VP9_COMP *cpi); -extern void vp9_update_rate_correction_factors(VP9_COMP *cpi, int damp_var); -extern int vp9_regulate_q(VP9_COMP *cpi, int target_bits_per_frame); -extern void vp9_adjust_key_frame_context(VP9_COMP *cpi); -extern void vp9_compute_frame_size_bounds(VP9_COMP *cpi, - int *frame_under_shoot_limit, - int *frame_over_shoot_limit); +void vp9_setup_key_frame(VP9_COMP *cpi); +void vp9_update_rate_correction_factors(VP9_COMP *cpi, int damp_var); +int vp9_regulate_q(VP9_COMP *cpi, int target_bits_per_frame); +void vp9_adjust_key_frame_context(VP9_COMP *cpi); +void vp9_compute_frame_size_bounds(VP9_COMP *cpi, + int *frame_under_shoot_limit, + int *frame_over_shoot_limit); // return of 0 means drop frame -extern int vp9_pick_frame_size(VP9_COMP *cpi); +int vp9_pick_frame_size(VP9_COMP *cpi); -extern double vp9_convert_qindex_to_q(int qindex); -extern int vp9_gfboost_qadjust(int qindex); -extern int vp9_bits_per_mb(FRAME_TYPE frame_type, int qindex); +double vp9_convert_qindex_to_q(int qindex); +int vp9_gfboost_qadjust(int qindex); +int vp9_bits_per_mb(FRAME_TYPE frame_type, int qindex); void vp9_setup_inter_frame(VP9_COMP *cpi); #endif // VP9_ENCODER_VP9_RATECTRL_H_ diff --git a/vp9/encoder/vp9_temporal_filter.c b/vp9/encoder/vp9_temporal_filter.c index 1647090..d016e52 100644 --- a/vp9/encoder/vp9_temporal_filter.c +++ b/vp9/encoder/vp9_temporal_filter.c @@ -8,6 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ +#include +#include #include "vp9/common/vp9_onyxc_int.h" #include "vp9/encoder/vp9_onyx_int.h" @@ -26,9 +28,6 @@ #include "vp9/common/vp9_swapyv12buffer.h" #include "vpx_ports/vpx_timer.h" -#include -#include - #define ALT_REF_MC_ENABLED 1 // dis/enable MC in AltRef filtering #define ALT_REF_SUBPEL_ENABLED 1 // dis/enable subpel in MC AltRef filtering @@ -376,11 +375,7 @@ static void temporal_filter_iterate_c(VP9_COMP *cpi, mbd->pre.v_buffer = v_buffer; } -void vp9_temporal_filter_prepare -( - VP9_COMP *cpi, - int distance -) { +void vp9_temporal_filter_prepare(VP9_COMP *cpi, int distance) { int frame = 0; int num_frames_backward = 0; diff --git a/vp9/encoder/vp9_temporal_filter.h b/vp9/encoder/vp9_temporal_filter.h index 27fc35f..f3ca8c6 100644 --- a/vp9/encoder/vp9_temporal_filter.h +++ b/vp9/encoder/vp9_temporal_filter.h @@ -11,6 +11,6 @@ #ifndef VP9_ENCODER_VP9_TEMPORAL_FILTER_H_ #define VP9_ENCODER_VP9_TEMPORAL_FILTER_H_ -extern void vp9_temporal_filter_prepare(VP9_COMP *cpi, int distance); +void vp9_temporal_filter_prepare(VP9_COMP *cpi, int distance); #endif // VP9_ENCODER_VP9_TEMPORAL_FILTER_H_ diff --git a/vp9/encoder/vp9_tokenize.h b/vp9/encoder/vp9_tokenize.h index 01aa7fb..8d1daff 100644 --- a/vp9/encoder/vp9_tokenize.h +++ b/vp9/encoder/vp9_tokenize.h @@ -31,27 +31,28 @@ typedef struct { typedef int64_t vp9_coeff_accum[COEF_BANDS][PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; -extern int vp9_mby_is_skippable_4x4(MACROBLOCKD *xd); -extern int vp9_mbuv_is_skippable_4x4(MACROBLOCKD *xd); -extern int vp9_mby_is_skippable_8x8(MACROBLOCKD *xd); -extern int vp9_mbuv_is_skippable_8x8(MACROBLOCKD *xd); -extern int vp9_mby_is_skippable_16x16(MACROBLOCKD *xd); -extern int vp9_sby_is_skippable_32x32(MACROBLOCKD *xd); -extern int vp9_sbuv_is_skippable_16x16(MACROBLOCKD *xd); +int vp9_mby_is_skippable_4x4(MACROBLOCKD *xd); +int vp9_mbuv_is_skippable_4x4(MACROBLOCKD *xd); +int vp9_mby_is_skippable_8x8(MACROBLOCKD *xd); +int vp9_mbuv_is_skippable_8x8(MACROBLOCKD *xd); +int vp9_mby_is_skippable_16x16(MACROBLOCKD *xd); +int vp9_sby_is_skippable_32x32(MACROBLOCKD *xd); +int vp9_sbuv_is_skippable_16x16(MACROBLOCKD *xd); struct VP9_COMP; -extern void vp9_tokenize_mb(struct VP9_COMP *cpi, MACROBLOCKD *xd, - TOKENEXTRA **t, int dry_run); -extern void vp9_tokenize_sb(struct VP9_COMP *cpi, MACROBLOCKD *xd, - TOKENEXTRA **t, int dry_run); +void vp9_tokenize_mb(struct VP9_COMP *cpi, MACROBLOCKD *xd, + TOKENEXTRA **t, int dry_run); +void vp9_tokenize_sb(struct VP9_COMP *cpi, MACROBLOCKD *xd, + TOKENEXTRA **t, int dry_run); -extern void vp9_stuff_mb(struct VP9_COMP *cpi, MACROBLOCKD *xd, - TOKENEXTRA **t, int dry_run); -extern void vp9_stuff_sb(struct VP9_COMP *cpi, MACROBLOCKD *xd, - TOKENEXTRA **t, int dry_run); +void vp9_stuff_mb(struct VP9_COMP *cpi, MACROBLOCKD *xd, + TOKENEXTRA **t, int dry_run); +void vp9_stuff_sb(struct VP9_COMP *cpi, MACROBLOCKD *xd, + TOKENEXTRA **t, int dry_run); + +void vp9_fix_contexts_sb(MACROBLOCKD *xd); -extern void vp9_fix_contexts_sb(MACROBLOCKD *xd); #ifdef ENTROPY_STATS void init_context_counters(); void print_context_counters(); diff --git a/vp9/encoder/vp9_treewriter.h b/vp9/encoder/vp9_treewriter.h index 3c4b736..832471a 100644 --- a/vp9/encoder/vp9_treewriter.h +++ b/vp9/encoder/vp9_treewriter.h @@ -36,20 +36,18 @@ typedef BOOL_CODER vp9_writer; /* Both of these return bits, not scaled bits. */ +static INLINE unsigned int cost_branch256(const unsigned int ct[2], + vp9_prob p) { + /* Imitate existing calculation */ + return ct[0] * vp9_cost_zero(p) + ct[1] * vp9_cost_one(p); +} static INLINE unsigned int cost_branch(const unsigned int ct[2], vp9_prob p) { /* Imitate existing calculation */ - return ((ct[0] * vp9_cost_zero(p)) - + (ct[1] * vp9_cost_one(p))) >> 8; + return cost_branch256(ct, p) >> 8; } -static INLINE unsigned int cost_branch256(const unsigned int ct[2], - vp9_prob p) { - /* Imitate existing calculation */ - return ((ct[0] * vp9_cost_zero(p)) - + (ct[1] * vp9_cost_one(p))); -} /* Small functions to write explicit values and tokens, as well as estimate their lengths. */ -- 2.7.4