summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_block.h
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2015-01-21 09:32:23 -0800
committerJingning Han <jingning@google.com>2015-02-04 09:45:14 -0800
commit0c6d3a03e196e50410d8e2f06b3a4adb553d17d7 (patch)
treed61c49afafc250a9f4637fa7c458e0102457d091 /vp9/encoder/vp9_block.h
parent3a5d40608ef5603764f45ec33448f5c013b875b4 (diff)
downloadlibvpx-0c6d3a03e196e50410d8e2f06b3a4adb553d17d7.tar
libvpx-0c6d3a03e196e50410d8e2f06b3a4adb553d17d7.tar.gz
libvpx-0c6d3a03e196e50410d8e2f06b3a4adb553d17d7.tar.bz2
libvpx-0c6d3a03e196e50410d8e2f06b3a4adb553d17d7.zip
Account for chroma component costs in RTC mode decision
This commit allows the encoder to account for additional chroma plane costs in the mode decision process, if the current block potentially contains significant color change. It improves the visual quality at very low bit-rates. The compression performance of dark720p is improved by 12.39% in speed 6. For jimred at 150 kbps, the PSNR of V component (red) increased by 0.2 dB, at the expense of about 5% increase in encoding time. Note that for sequences where the chroma components are fairly consistent, the encoding time increase is negligible. On average the rtc set compression performance is improved by 1.172% in PSNR and 1.920% in SSIM. Change-Id: Ia55b24ef23a25304f7ec9958fbf07fd6e658505c
Diffstat (limited to 'vp9/encoder/vp9_block.h')
-rw-r--r--vp9/encoder/vp9_block.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_block.h b/vp9/encoder/vp9_block.h
index 68174a6cc..04a1b8f3c 100644
--- a/vp9/encoder/vp9_block.h
+++ b/vp9/encoder/vp9_block.h
@@ -118,6 +118,10 @@ struct macroblock {
// Used to store sub partition's choices.
MV pred_mv[MAX_REF_FRAMES];
+ // Strong color activity detection. Used in RTC coding mode to enhance
+ // the visual quality at the boundary of moving color objects.
+ uint8_t color_sensitivity[2];
+
void (*fwd_txm4x4)(const int16_t *input, tran_low_t *output, int stride);
void (*itxm_add)(const tran_low_t *input, uint8_t *dest, int stride, int eob);
#if CONFIG_VP9_HIGHBITDEPTH