summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorHui Su <huisu@google.com>2014-10-30 11:02:31 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-10-30 11:02:31 -0700
commit66906da06698ffc4d12115d8b6a4be74097a2c5f (patch)
tree9cfff3a10993aeec097e5b594d31404c0ac26875 /vp9/encoder
parent7ceddede063d79527c424e3823186bff5b2ccbd6 (diff)
parent0928da3b6e6d804a1f16f35227cc4f771b9e8e88 (diff)
downloadlibvpx-66906da06698ffc4d12115d8b6a4be74097a2c5f.tar
libvpx-66906da06698ffc4d12115d8b6a4be74097a2c5f.tar.gz
libvpx-66906da06698ffc4d12115d8b6a4be74097a2c5f.tar.bz2
libvpx-66906da06698ffc4d12115d8b6a4be74097a2c5f.zip
Merge "Combine vp9_encode_block_intra and encode_block_intra"
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/vp9_encodemb.c20
-rw-r--r--vp9/encoder/vp9_encodemb.h10
-rw-r--r--vp9/encoder/vp9_rdopt.c3
3 files changed, 12 insertions, 21 deletions
diff --git a/vp9/encoder/vp9_encodemb.c b/vp9/encoder/vp9_encodemb.c
index f5faa7c23..8ce30789f 100644
--- a/vp9/encoder/vp9_encodemb.c
+++ b/vp9/encoder/vp9_encodemb.c
@@ -29,12 +29,6 @@ struct optimize_ctx {
ENTROPY_CONTEXT tl[MAX_MB_PLANE][16];
};
-struct encode_b_args {
- MACROBLOCK *x;
- struct optimize_ctx *ctx;
- int8_t *skip;
-};
-
void vp9_subtract_block_c(int rows, int cols,
int16_t *diff, ptrdiff_t diff_stride,
const uint8_t *src, ptrdiff_t src_stride,
@@ -802,7 +796,7 @@ void vp9_encode_sb(MACROBLOCK *x, BLOCK_SIZE bsize) {
}
}
-static void encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize,
+void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize,
TX_SIZE tx_size, void *arg) {
struct encode_b_args* const args = arg;
MACROBLOCK *const x = args->x;
@@ -1040,18 +1034,10 @@ static void encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize,
*(args->skip) = 0;
}
-void vp9_encode_block_intra(MACROBLOCK *x, int plane, int block,
- BLOCK_SIZE plane_bsize, TX_SIZE tx_size,
- int8_t *skip) {
- struct encode_b_args arg = {x, NULL, skip};
- encode_block_intra(plane, block, plane_bsize, tx_size, &arg);
-}
-
-
void vp9_encode_intra_block_plane(MACROBLOCK *x, BLOCK_SIZE bsize, int plane) {
const MACROBLOCKD *const xd = &x->e_mbd;
struct encode_b_args arg = {x, NULL, &xd->mi[0].src_mi->mbmi.skip};
- vp9_foreach_transformed_block_in_plane(xd, bsize, plane, encode_block_intra,
- &arg);
+ vp9_foreach_transformed_block_in_plane(xd, bsize, plane,
+ vp9_encode_block_intra, &arg);
}
diff --git a/vp9/encoder/vp9_encodemb.h b/vp9/encoder/vp9_encodemb.h
index 54d2b3751..97df8a66b 100644
--- a/vp9/encoder/vp9_encodemb.h
+++ b/vp9/encoder/vp9_encodemb.h
@@ -18,6 +18,11 @@
extern "C" {
#endif
+struct encode_b_args {
+ MACROBLOCK *x;
+ struct optimize_ctx *ctx;
+ int8_t *skip;
+};
void vp9_encode_sb(MACROBLOCK *x, BLOCK_SIZE bsize);
void vp9_encode_sby_pass1(MACROBLOCK *x, BLOCK_SIZE bsize);
void vp9_xform_quant_fp(MACROBLOCK *x, int plane, int block,
@@ -29,9 +34,8 @@ void vp9_xform_quant(MACROBLOCK *x, int plane, int block,
void vp9_subtract_plane(MACROBLOCK *x, BLOCK_SIZE bsize, int plane);
-void vp9_encode_block_intra(MACROBLOCK *x, int plane, int block,
- BLOCK_SIZE plane_bsize, TX_SIZE tx_size,
- int8_t *skip);
+void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize,
+ TX_SIZE tx_size, void *arg);
void vp9_encode_intra_block_plane(MACROBLOCK *x, BLOCK_SIZE bsize, int plane);
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index 795820b32..e80f345e8 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -475,7 +475,8 @@ static void block_rd_txfm(int plane, int block, BLOCK_SIZE plane_bsize,
return;
if (!is_inter_block(mbmi)) {
- vp9_encode_block_intra(x, plane, block, plane_bsize, tx_size, &mbmi->skip);
+ struct encode_b_args arg = {x, NULL, &mbmi->skip};
+ vp9_encode_block_intra(plane, block, plane_bsize, tx_size, &arg);
#if CONFIG_VP9_HIGHBITDEPTH
if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) {
dist_block(plane, block, tx_size, args, xd->bd);