diff options
author | Jingning Han <jingning@google.com> | 2014-10-09 12:32:56 -0700 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2014-10-13 14:27:16 -0700 |
commit | 811cef97c979d10d08a82c580cfbfb82484bc55d (patch) | |
tree | d0372c6b8e1a47701cd85e2a2707a57d4a5d74a9 /vp9/encoder/vp9_rdopt.h | |
parent | 29771770c1298fdd2b54c1ad6eb0af98aaf7c22a (diff) | |
download | libvpx-811cef97c979d10d08a82c580cfbfb82484bc55d.tar libvpx-811cef97c979d10d08a82c580cfbfb82484bc55d.tar.gz libvpx-811cef97c979d10d08a82c580cfbfb82484bc55d.tar.bz2 libvpx-811cef97c979d10d08a82c580cfbfb82484bc55d.zip |
Refactor rate distortion cost structure
This commit makes a struct that contains rate value, distortion
value, and the rate-distortion cost. The goal is to provide a
better interface for rate-distortion related operation. It is
first used in rd_pick_partition and saves a few RDCOST calculations.
Change-Id: I1a6ab7b35282d3c80195af59b6810e577544691f
Diffstat (limited to 'vp9/encoder/vp9_rdopt.h')
-rw-r--r-- | vp9/encoder/vp9_rdopt.h | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/vp9/encoder/vp9_rdopt.h b/vp9/encoder/vp9_rdopt.h index 50cb108dd..535c03df6 100644 --- a/vp9/encoder/vp9_rdopt.h +++ b/vp9/encoder/vp9_rdopt.h @@ -23,24 +23,22 @@ extern "C" { struct TileInfo; struct VP9_COMP; struct macroblock; +struct RD_COST; void vp9_rd_pick_intra_mode_sb(struct VP9_COMP *cpi, struct macroblock *x, - int *r, int64_t *d, BLOCK_SIZE bsize, + struct RD_COST *rd_cost, BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx, int64_t best_rd); int64_t vp9_rd_pick_inter_mode_sb(struct VP9_COMP *cpi, struct macroblock *x, const struct TileInfo *const tile, int mi_row, int mi_col, - int *returnrate, - int64_t *returndistortion, - BLOCK_SIZE bsize, - PICK_MODE_CONTEXT *ctx, + struct RD_COST *rd_cost, + BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx, int64_t best_rd_so_far); int64_t vp9_rd_pick_inter_mode_sb_seg_skip(struct VP9_COMP *cpi, struct macroblock *x, - int *returnrate, - int64_t *returndistortion, + struct RD_COST *rd_cost, BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx, int64_t best_rd_so_far); @@ -49,10 +47,8 @@ int64_t vp9_rd_pick_inter_mode_sub8x8(struct VP9_COMP *cpi, struct macroblock *x, const struct TileInfo *const tile, int mi_row, int mi_col, - int *returnrate, - int64_t *returndistortion, - BLOCK_SIZE bsize, - PICK_MODE_CONTEXT *ctx, + struct RD_COST *rd_cost, + BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx, int64_t best_rd_so_far); #ifdef __cplusplus } // extern "C" |