[x265] [PATCH] main12: fix intra_pred_planar8x8 overflow
chen
chenm003 at 163.com
Mon Sep 28 16:56:51 CEST 2015
Could you try to analyze the Dynamic Range, I worry about the intermedia result more than 16 bits.
At 2015-09-28 13:09:33,dnyaneshwar at multicorewareinc.com wrote:
># HG changeset patch
># User Dnyaneshwar G <dnyaneshwar at multicorewareinc.com>
># Date 1443416892 -19800
># Mon Sep 28 10:38:12 2015 +0530
># Node ID 21ab6be50abfb116256093a4d7e2bdb2783bc93d
># Parent 4f524673358748837d281abf28e4382f2ee845d2
>main12: fix intra_pred_planar8x8 overflow
>
>diff -r 4f5246733587 -r 21ab6be50abf source/common/x86/asm-primitives.cpp
>--- a/source/common/x86/asm-primitives.cpp Thu Sep 24 18:53:28 2015 -0500
>+++ b/source/common/x86/asm-primitives.cpp Mon Sep 28 10:38:12 2015 +0530
>@@ -960,8 +960,12 @@
> ALL_LUMA_TU_S(calcresidual, getResidual, sse2);
> ALL_LUMA_TU_S(transpose, transpose, sse2);
>
>+ p.cu[BLOCK_4x4].intra_pred[PLANAR_IDX] = PFX(intra_pred_planar4_sse2);
>+ p.cu[BLOCK_8x8].intra_pred[PLANAR_IDX] = PFX(intra_pred_planar8_sse2);
>+
> #if X265_DEPTH <= 10
>- ALL_LUMA_TU_S(intra_pred[PLANAR_IDX], intra_pred_planar, sse2);
>+ p.cu[BLOCK_16x16].intra_pred[PLANAR_IDX] = PFX(intra_pred_planar16_sse2);
>+ p.cu[BLOCK_32x32].intra_pred[PLANAR_IDX] = PFX(intra_pred_planar32_sse2);
> #endif /* X265_DEPTH <= 10 */
> ALL_LUMA_TU_S(intra_pred[DC_IDX], intra_pred_dc, sse2);
>
>@@ -1137,8 +1141,12 @@
> p.cu[BLOCK_16x16].intra_filter = PFX(intra_filter_16x16_sse4);
> p.cu[BLOCK_32x32].intra_filter = PFX(intra_filter_32x32_sse4);
>
>+ p.cu[BLOCK_4x4].intra_pred[PLANAR_IDX] = PFX(intra_pred_planar4_sse4);
>+ p.cu[BLOCK_8x8].intra_pred[PLANAR_IDX] = PFX(intra_pred_planar8_sse4);
>+
> #if X265_DEPTH <= 10
>- ALL_LUMA_TU_S(intra_pred[PLANAR_IDX], intra_pred_planar, sse4);
>+ p.cu[BLOCK_16x16].intra_pred[PLANAR_IDX] = PFX(intra_pred_planar16_sse4);
>+ p.cu[BLOCK_32x32].intra_pred[PLANAR_IDX] = PFX(intra_pred_planar32_sse4);
> #endif
> ALL_LUMA_TU_S(intra_pred[DC_IDX], intra_pred_dc, sse4);
> INTRA_ANG_SSE4_COMMON(sse4);
>diff -r 4f5246733587 -r 21ab6be50abf source/common/x86/intrapred16.asm
>--- a/source/common/x86/intrapred16.asm Thu Sep 24 18:53:28 2015 -0500
>+++ b/source/common/x86/intrapred16.asm Mon Sep 28 10:38:12 2015 +0530
>@@ -709,7 +709,7 @@
> %endif
> pmullw m1, [pw_planar16_mul + mmsize]
> paddw m1, m3
>- psraw m1, 4
>+ psrlw m1, 4
> movu [r0], m1
> %if (%1 < 7)
> paddw m3, m4
>@@ -2197,7 +2197,7 @@
> pmullw m1, m0
> paddw m1, m3
> paddw m3, m4
>- psraw m1, 4
>+ psrlw m1, 4
> movu [r0], m1
> lea r0, [r0 + r1]
> %endmacro
>_______________________________________________
>x265-devel mailing list
>x265-devel at videolan.org
>https://mailman.videolan.org/listinfo/x265-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20150928/ad0c36a3/attachment-0001.html>
More information about the x265-devel
mailing list