diff options
author | Dmitry Kovalev <dkovalev@google.com> | 2013-08-15 17:03:03 -0700 |
---|---|---|
committer | Dmitry Kovalev <dkovalev@google.com> | 2013-08-15 17:03:03 -0700 |
commit | afd9bd3e3ce8bbdc3b4f9b23c7d882fee7109fd2 (patch) | |
tree | d9bc93d6d08ab6ee06efbf63729adac9052ef40a /vp9/encoder | |
parent | 9451e8d37e89eb32f91fb844bf2ba31d16bc1526 (diff) | |
download | libvpx-afd9bd3e3ce8bbdc3b4f9b23c7d882fee7109fd2.tar libvpx-afd9bd3e3ce8bbdc3b4f9b23c7d882fee7109fd2.tar.gz libvpx-afd9bd3e3ce8bbdc3b4f9b23c7d882fee7109fd2.tar.bz2 libvpx-afd9bd3e3ce8bbdc3b4f9b23c7d882fee7109fd2.zip |
Moving from ss_txfrm_size to tx_size.
Updating foreach_transformed_block_visitor and corresponding functions
to accept tx_size instead of ss_txfrm_size. List of functions per file:
vp9_decodframe.c
decode_block
decode_block_intra
vp9_detokenize.c
decode_block
vp9_encodemb.c
optimize_block
vp9_xform_quant
vp9_encode_block_intra
vp9_rdopt.c
dist_block
rate_block
block_yrd_txfm
vp9_tokenize.c
set_entropy_context_b
tokenize_b
is_skippable
Change-Id: I351bf563eb36cf34db71c3f06b9bbc9a61b55b73
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_encodeintra.h | 4 | ||||
-rw-r--r-- | vp9/encoder/vp9_encodemb.c | 29 | ||||
-rw-r--r-- | vp9/encoder/vp9_encodemb.h | 4 | ||||
-rw-r--r-- | vp9/encoder/vp9_rdopt.c | 15 | ||||
-rw-r--r-- | vp9/encoder/vp9_tokenize.c | 8 |
5 files changed, 28 insertions, 32 deletions
diff --git a/vp9/encoder/vp9_encodeintra.h b/vp9/encoder/vp9_encodeintra.h index 16ac59e39..b951d770c 100644 --- a/vp9/encoder/vp9_encodeintra.h +++ b/vp9/encoder/vp9_encodeintra.h @@ -14,8 +14,8 @@ #include "vp9/encoder/vp9_onyx_int.h" int vp9_encode_intra(VP9_COMP *cpi, MACROBLOCK *x, int use_16x16_pred); -void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg); +void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize, + TX_SIZE tx_size, void *arg); void vp9_encode_intra_block_y(VP9_COMMON *const cm, MACROBLOCK *mb, BLOCK_SIZE_TYPE bs); void vp9_encode_intra_block_uv(VP9_COMMON *const cm, MACROBLOCK *mb, diff --git a/vp9/encoder/vp9_encodemb.c b/vp9/encoder/vp9_encodemb.c index ea85ac6df..ea09f5579 100644 --- a/vp9/encoder/vp9_encodemb.c +++ b/vp9/encoder/vp9_encodemb.c @@ -382,9 +382,9 @@ void vp9_optimize_b(int plane, int block, BLOCK_SIZE_TYPE bsize, } static void optimize_block(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg) { + TX_SIZE tx_size, void *arg) { const struct encode_b_args* const args = arg; - vp9_optimize_b(plane, block, bsize, ss_txfrm_size >> 1, args->x, args->ctx); + vp9_optimize_b(plane, block, bsize, tx_size, args->x, args->ctx); } void optimize_init_b(int plane, BLOCK_SIZE_TYPE bsize, void *arg) { @@ -446,8 +446,8 @@ void vp9_optimize_sbuv(VP9_COMMON *const cm, MACROBLOCK *x, foreach_transformed_block_uv(&x->e_mbd, bsize, optimize_block, &arg); } -void xform_quant(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg) { +void vp9_xform_quant(int plane, int block, BLOCK_SIZE_TYPE bsize, + TX_SIZE tx_size, void *arg) { struct encode_b_args* const args = arg; MACROBLOCK* const x = args->x; MACROBLOCKD* const xd = &x->e_mbd; @@ -458,7 +458,6 @@ void xform_quant(int plane, int block, BLOCK_SIZE_TYPE bsize, int16_t *dqcoeff = BLOCK_OFFSET(pd->dqcoeff, block); const int16_t *scan, *iscan; uint16_t *eob = &pd->eobs[block]; - const TX_SIZE tx_size = (TX_SIZE)(ss_txfrm_size >> 1); const int bwl = b_width_log2(bsize) - pd->subsampling_x, bw = 1 << bwl; const int twl = bwl - tx_size, twmask = (1 << twl) - 1; int xoff, yoff; @@ -521,11 +520,10 @@ void xform_quant(int plane, int block, BLOCK_SIZE_TYPE bsize, } static void encode_block(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg) { + TX_SIZE tx_size, void *arg) { struct encode_b_args *const args = arg; MACROBLOCK *const x = args->x; MACROBLOCKD *const xd = &x->e_mbd; - const TX_SIZE tx_size = (TX_SIZE)(ss_txfrm_size >> 1); const int raster_block = txfrm_block_to_raster_block(xd, bsize, plane, block, tx_size); struct macroblockd_plane *const pd = &xd->plane[plane]; @@ -533,7 +531,7 @@ static void encode_block(int plane, int block, BLOCK_SIZE_TYPE bsize, uint8_t *const dst = raster_block_offset_uint8(xd, bsize, plane, raster_block, pd->dst.buf, pd->dst.stride); - xform_quant(plane, block, bsize, ss_txfrm_size, arg); + vp9_xform_quant(plane, block, bsize, tx_size, arg); if (x->optimize) vp9_optimize_b(plane, block, bsize, tx_size, x, args->ctx); @@ -569,7 +567,7 @@ void vp9_xform_quant_sby(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize) { MACROBLOCKD* const xd = &x->e_mbd; struct encode_b_args arg = {cm, x, NULL}; - foreach_transformed_block_in_plane(xd, bsize, 0, xform_quant, &arg); + foreach_transformed_block_in_plane(xd, bsize, 0, vp9_xform_quant, &arg); } void vp9_xform_quant_sbuv(VP9_COMMON *cm, MACROBLOCK *x, @@ -577,7 +575,7 @@ void vp9_xform_quant_sbuv(VP9_COMMON *cm, MACROBLOCK *x, MACROBLOCKD* const xd = &x->e_mbd; struct encode_b_args arg = {cm, x, NULL}; - foreach_transformed_block_uv(xd, bsize, xform_quant, &arg); + foreach_transformed_block_uv(xd, bsize, vp9_xform_quant, &arg); } void vp9_encode_sby(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize) { @@ -623,13 +621,12 @@ void vp9_encode_sb(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize) { foreach_transformed_block(xd, bsize, encode_block, &arg); } -void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg) { +void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize, + TX_SIZE tx_size, void *arg) { struct encode_b_args* const args = arg; MACROBLOCK *const x = args->x; MACROBLOCKD *const xd = &x->e_mbd; MB_MODE_INFO *mbmi = &xd->mode_info_context->mbmi; - const TX_SIZE tx_size = (TX_SIZE)(ss_txfrm_size >> 1); struct macroblock_plane *const p = &x->plane[plane]; struct macroblockd_plane *const pd = &xd->plane[plane]; int16_t *coeff = BLOCK_OFFSET(p->coeff, block); @@ -781,14 +778,14 @@ void vp9_encode_intra_block_y(VP9_COMMON *cm, MACROBLOCK *x, struct optimize_ctx ctx; struct encode_b_args arg = {cm, x, &ctx}; - foreach_transformed_block_in_plane(xd, bsize, 0, - encode_block_intra, &arg); + foreach_transformed_block_in_plane(xd, bsize, 0, vp9_encode_block_intra, + &arg); } void vp9_encode_intra_block_uv(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize) { MACROBLOCKD* const xd = &x->e_mbd; struct optimize_ctx ctx; struct encode_b_args arg = {cm, x, &ctx}; - foreach_transformed_block_uv(xd, bsize, encode_block_intra, &arg); + foreach_transformed_block_uv(xd, bsize, vp9_encode_block_intra, &arg); } diff --git a/vp9/encoder/vp9_encodemb.h b/vp9/encoder/vp9_encodemb.h index f2f790376..21dd8b89b 100644 --- a/vp9/encoder/vp9_encodemb.h +++ b/vp9/encoder/vp9_encodemb.h @@ -42,8 +42,8 @@ void vp9_encode_sb(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize); void vp9_encode_sby(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize); void vp9_encode_sbuv(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize); -void xform_quant(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg); +void vp9_xform_quant(int plane, int block, BLOCK_SIZE_TYPE bsize, + TX_SIZE tx_size, void *arg); void vp9_xform_quant_sby(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize); void vp9_xform_quant_sbuv(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize); diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index 87a114528..90daaf387 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -572,7 +572,8 @@ struct rdcost_block_args { }; static void dist_block(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg) { + TX_SIZE tx_size, void *arg) { + const int ss_txfrm_size = tx_size << 1; struct rdcost_block_args* args = arg; MACROBLOCK* const x = args->x; MACROBLOCKD* const xd = &x->e_mbd; @@ -597,7 +598,7 @@ static void dist_block(int plane, int block, BLOCK_SIZE_TYPE bsize, } static void rate_block(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg) { + TX_SIZE tx_size, void *arg) { struct rdcost_block_args* args = arg; MACROBLOCKD *const xd = &args->x->e_mbd; int x_idx, y_idx; @@ -693,7 +694,7 @@ static int64_t block_error_sbuv(MACROBLOCK *x, BLOCK_SIZE_TYPE bsize, } static void block_yrd_txfm(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg) { + TX_SIZE tx_size, void *arg) { struct rdcost_block_args *args = arg; MACROBLOCK *const x = args->x; MACROBLOCKD *const xd = &x->e_mbd; @@ -714,12 +715,12 @@ static void block_yrd_txfm(int plane, int block, BLOCK_SIZE_TYPE bsize, } if (!is_inter_block(&xd->mode_info_context->mbmi)) - encode_block_intra(plane, block, bsize, ss_txfrm_size, &encode_args); + vp9_encode_block_intra(plane, block, bsize, tx_size, &encode_args); else - xform_quant(plane, block, bsize, ss_txfrm_size, &encode_args); + vp9_xform_quant(plane, block, bsize, tx_size, &encode_args); - dist_block(plane, block, bsize, ss_txfrm_size, args); - rate_block(plane, block, bsize, ss_txfrm_size, args); + dist_block(plane, block, bsize, tx_size, args); + rate_block(plane, block, bsize, tx_size, args); } static void txfm_rd_in_plane(VP9_COMMON *const cm, MACROBLOCK *x, diff --git a/vp9/encoder/vp9_tokenize.c b/vp9/encoder/vp9_tokenize.c index 64505f7b4..c5cfd4fb1 100644 --- a/vp9/encoder/vp9_tokenize.c +++ b/vp9/encoder/vp9_tokenize.c @@ -98,9 +98,8 @@ struct tokenize_b_args { }; static void set_entropy_context_b(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg) { + TX_SIZE tx_size, void *arg) { struct tokenize_b_args* const args = arg; - const TX_SIZE tx_size = (TX_SIZE)(ss_txfrm_size >> 1); MACROBLOCKD *const xd = args->xd; const int bwl = b_width_log2(bsize); const int off = block >> (2 * tx_size); @@ -122,12 +121,11 @@ static void set_entropy_context_b(int plane, int block, BLOCK_SIZE_TYPE bsize, } static void tokenize_b(int plane, int block, BLOCK_SIZE_TYPE bsize, - int ss_txfrm_size, void *arg) { + TX_SIZE tx_size, void *arg) { struct tokenize_b_args* const args = arg; VP9_COMP *cpi = args->cpi; MACROBLOCKD *xd = args->xd; TOKENEXTRA **tp = args->tp; - const TX_SIZE tx_size = (TX_SIZE)(ss_txfrm_size >> 1); const int tx_size_in_blocks = 1 << tx_size; MB_MODE_INFO *mbmi = &xd->mode_info_context->mbmi; int pt; /* near block/prev token context index */ @@ -242,7 +240,7 @@ struct is_skippable_args { }; static void is_skippable(int plane, int block, - BLOCK_SIZE_TYPE bsize, int ss_txfrm_size, void *argv) { + BLOCK_SIZE_TYPE bsize, TX_SIZE tx_size, void *argv) { struct is_skippable_args *args = argv; args->skippable[0] &= (!args->xd->plane[plane].eobs[block]); } |