<div dir="ltr"><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Steve Borho</b> <span dir="ltr"><<a href="mailto:steve@borho.org">steve@borho.org</a>></span><br>Date: Tue, Nov 18, 2014 at 11:31 PM<br>Subject: Re: [x265] [PATCH] refactorizaton of the transform/quant path<br>To: Development for x265 <<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a>><br><br><br><span class="">On 11/18, <a href="mailto:praveen@multicorewareinc.com">praveen@multicorewareinc.com</a> wrote:<br>
> # HG changeset patch<br>
> # User Praveen Tiwari<br>
> # Date 1416299427 -19800<br>
> # Node ID 706fa4af912bc1610478de8f09a651ae3e58624c<br>
> # Parent 2f0062f0791b822fa932712a56e6b0a14e976d91<br>
> refactorizaton of the transform/quant path.<br>
> This patch involves scaling down the DCT/IDCT coefficients from int32_t to int16_t<br>
> as they can be accommodated on int16_t without any introduction of encode error,<br>
> this allows us to clean up lots of DCT/IDCT intermediated buffers, optimize enode efficiency for different<br>
> cli options including noise reduction by reducing data movement operations, accommodating more number of<br>
> coefficients in a single register for SIMD operations. This patch include all necessary<br>
> changes for the transfor/quant path including unit test code.<br>
<br>
</span><snip><br>
<span class=""><br>
> for (int pass = 0; pass < 2; pass++)<br>
> @@ -1564,7 +1418,7 @@<br>
> * still somewhat rare on end-user PCs we still compile and link these SSE3<br>
> * intrinsic SIMD functions */<br>
> #if !HIGH_BIT_DEPTH<br>
> - p.idct[IDCT_8x8] = idct8;<br>
> +// p.idct[IDCT_8x8] = idct8;<br>
> p.idct[IDCT_16x16] = idct16;<br>
> p.idct[IDCT_32x32] = idct32;<br>
> #endif<br>
<br>
</span>>>Getting the intrinsic idct8 re-enabled or coded in assembly should be a<br>>>priority.</div><div class="gmail_quote"><br></div><div class="gmail_quote">[MC] We don't have any sse version of assembly code for IDCT_16x16 and IDCT_32x32, only avx2 asm codes this is why intrinsic version is enabled. (We have AVX2 assembly for these two functions, but since AVX2 is still somewhat rare on end-user PCs we still compile and link these SSE3 intrinsic SIMD functions). Further I will clean up idct8 intrinsic (disabled) code as we have sse and avx2 asm code for it so, I think it is no longer useful.</div><div class="gmail_quote">
<span class=""><font color="#888888"><br>
--<br>
Steve Borho<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</font></span></div><br></div>