summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_firstpass.h
diff options
context:
space:
mode:
authorPaul Wilkins <paulwilkins@google.com>2014-11-04 13:13:39 +0000
committerPaul Wilkins <paulwilkins@google.com>2014-11-06 10:45:00 +0000
commit5e935126a66aa9cbb0008310ca05500f3eec8269 (patch)
treed6226e5ee48471e4eecbd06a006aa816163d9102 /vp9/encoder/vp9_firstpass.h
parente8860693eaaa606f865ab3166ae09fba32235beb (diff)
downloadlibvpx-5e935126a66aa9cbb0008310ca05500f3eec8269.tar
libvpx-5e935126a66aa9cbb0008310ca05500f3eec8269.tar.gz
libvpx-5e935126a66aa9cbb0008310ca05500f3eec8269.tar.bz2
libvpx-5e935126a66aa9cbb0008310ca05500f3eec8269.zip
Add intra complexity and brightness weight to first pass.
The aim of this patch is to apply a positive weighting to frames that have a significant number of blocks that are of low spatial complexity and are dark. The rationale behind this is that artifacts tend to be more visible in such frames. In this patch the weight is only applied in regard to the distribution of bits between frames. Hence if all the frames share similar characteristics (as is the case for most of our short test clips) there will be little or no net effect. However, the effect can be seen on some longer form test content. For example Tears of steel baseline test: 2323.09 Kbit/s opsnr 39.915 ssim 74.729 With this patch:- 2213.34 Kbit/s opsnr 39.963 ssim 74.808 (Sligtly better metrics and about 5% smaller) The weighting may well need some further tuning along side changes to the aq modes. Change-Id: Ieced379bca03938166ab87b2b97f55d94948904c
Diffstat (limited to 'vp9/encoder/vp9_firstpass.h')
-rw-r--r--vp9/encoder/vp9_firstpass.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_firstpass.h b/vp9/encoder/vp9_firstpass.h
index e21d86928..0a8f756bf 100644
--- a/vp9/encoder/vp9_firstpass.h
+++ b/vp9/encoder/vp9_firstpass.h
@@ -43,6 +43,7 @@ typedef struct {
typedef struct {
double frame;
+ double weight;
double intra_error;
double coded_error;
double sr_coded_error;