summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_block.h
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2013-06-14 11:28:56 -0700
committerJingning Han <jingning@google.com>2013-06-18 09:46:24 -0700
commita41a4860c0b3be7815f37b4ec833e87218307c4f (patch)
tree8d795f9d348b6c21627b36e0e266027e53263d4d /vp9/encoder/vp9_block.h
parentc43af9a8a3adc7bd3888e746ce7b7bd581c476ae (diff)
downloadlibvpx-a41a4860c0b3be7815f37b4ec833e87218307c4f.tar
libvpx-a41a4860c0b3be7815f37b4ec833e87218307c4f.tar.gz
libvpx-a41a4860c0b3be7815f37b4ec833e87218307c4f.tar.bz2
libvpx-a41a4860c0b3be7815f37b4ec833e87218307c4f.zip
Make fdct32 computation flow within 16bit range
This commit makes use of dual fdct32x32 versions for rate-distortion optimization loop and encoding process, respectively. The one for rd loop requires only 16 bits precision for intermediate steps. The original fdct32x32 that allows higher intermediate precision (18 bits) was retained for the encoding process only. This allows speed-up for fdct32x32 in the rd loop. No performance loss observed. Change-Id: I3237770e39a8f87ed17ae5513c87228533397cc3
Diffstat (limited to 'vp9/encoder/vp9_block.h')
-rw-r--r--vp9/encoder/vp9_block.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_block.h b/vp9/encoder/vp9_block.h
index e78f54eb4..59cc3d95c 100644
--- a/vp9/encoder/vp9_block.h
+++ b/vp9/encoder/vp9_block.h
@@ -139,6 +139,9 @@ struct macroblock {
int optimize;
+ // indicate if it is in the rd search loop or encoding process
+ int rd_search;
+
// TODO(jingning): Need to refactor the structure arrays that buffers the
// coding mode decisions of each partition type.
PICK_MODE_CONTEXT ab4x4_context[4][4][4];