diff options
author | Jingning Han <jingning@google.com> | 2013-07-01 16:50:58 -0700 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2013-07-02 09:58:46 -0700 |
commit | b91a1586a31886b96f06bc9bd82b3f62091cf1ef (patch) | |
tree | fcbe6dd5268cc068f75fcc39e5b815c867528142 /vp9/encoder/vp9_encodemb.h | |
parent | 9df24b41ca16353acb123acae7c70813cfffafdd (diff) | |
download | libvpx-b91a1586a31886b96f06bc9bd82b3f62091cf1ef.tar libvpx-b91a1586a31886b96f06bc9bd82b3f62091cf1ef.tar.gz libvpx-b91a1586a31886b96f06bc9bd82b3f62091cf1ef.tar.bz2 libvpx-b91a1586a31886b96f06bc9bd82b3f62091cf1ef.zip |
Calculate rd cost per transformed block
Compute the rate-distortion cost per transformed block, and cumulate
the cost through all blocks inside a partition. This allows encoder
to detect if the cumulative rd cost is already above the best rd cost,
thereby enabling early termination in the rate-distortion optimization
search.
Change-Id: I0a856367a9a7b6dd0b466e7b767f54d5018d09ac
Diffstat (limited to 'vp9/encoder/vp9_encodemb.h')
-rw-r--r-- | vp9/encoder/vp9_encodemb.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encodemb.h b/vp9/encoder/vp9_encodemb.h index 3042c9f7f..defaa48a3 100644 --- a/vp9/encoder/vp9_encodemb.h +++ b/vp9/encoder/vp9_encodemb.h @@ -27,6 +27,12 @@ struct optimize_ctx { ENTROPY_CONTEXT tl[MAX_MB_PLANE][16]; }; +struct encode_b_args { + VP9_COMMON *cm; + MACROBLOCK *x; + struct optimize_ctx *ctx; +}; + void vp9_optimize_init(MACROBLOCKD *xd, BLOCK_SIZE_TYPE bsize, struct optimize_ctx *ctx); void vp9_optimize_b(int plane, int block, BLOCK_SIZE_TYPE bsize, @@ -39,6 +45,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_sby(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize); void vp9_xform_quant_sbuv(VP9_COMMON *cm, MACROBLOCK *x, BLOCK_SIZE_TYPE bsize); |