[x265] [PATCH 2/5] dct: disable optimize version dct in 16bpp, all of intermediate value must be 32-bits

Min Chen chenm003 at 163.com
Thu Jun 20 18:53:12 CEST 2013


>From 036d54489170e99ae6ff55ceac0f73f126f6cf90 Mon Sep 17 00:00:00 2001
From: Min Chen <chenm003 at 163.com>
Date: Thu, 20 Jun 2013 16:41:03 +0800
Subject: [PATCH 2/5] dct: disable optimize version dct in 16bpp, all of
 intermediate value must be 32-bits

---
 source/common/vec/dct.inc |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/source/common/vec/dct.inc b/source/common/vec/dct.inc
index 1ff8c12..25eaa56 100644
--- a/source/common/vec/dct.inc
+++ b/source/common/vec/dct.inc
@@ -3948,11 +3948,16 @@ namespace x265 {
 void NAME(Setup_Vec_DCTPrimitives)(EncoderPrimitives &p)
 {
     p.deQuant = xDeQuant;
+
+    // TODO: in 16bpp mode, the intermediate must be 32-bits
+#if !HIGH_BIT_DEPTH && INSTRSET > 4
     p.dct[DST_4x4] = xDST4;
     p.dct[DCT_4x4] = xDCT4;
     p.dct[DCT_8x8] = xDCT8;
     p.dct[DCT_16x16] = xDCT16;
     p.dct[DCT_32x32] = xDCT32;
+#endif
+    // TODO: I am not sure the IDCT works on 16bpp mode
     p.idct[IDST_4x4] = xIDST4;
     p.idct[IDCT_4x4] = xIDCT4;
     p.idct[IDCT_8x8] = xIDCT8;
-- 
1.7.9.msysgit.0




More information about the x265-devel mailing list