<div dir="ltr">Thanks for pointing out.<div>Working on the fix.</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr">Thanks<div>Vignesh</div><div><br></div></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">On Fri, Sep 9, 2016 at 1:40 PM, Mateusz Brzostek <span dir="ltr"><<a href="mailto:mateusz@msystem.waw.pl" target="_blank">mateusz@msystem.waw.pl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For command<br>
x265 --vbv-maxrate 10000 --vbv-bufsize 10000 720p50_parkrun_ter.y4m w.hevc<br>
in function Encoder::create() in line #278<br>
double start = quantF / (m_scalingList.m_quantCoef[<wbr>trSize][numList][QP_MAX_SPEC % 6][i]);<br>
trSize is 0, 1, 2 and 3<br>
numList is 1<br>
so with trSize == 3 && numList == 1 there is crash -- in this patch there is only memory allocation for [3][0] and [3][3] indexes but not for [3][1].<br>
<br>
<br>
W dniu 2016-09-07 o 08:55, <a href="mailto:vignesh@multicorewareinc.com">vignesh@multicorewareinc.com</a> pisze:<br>
<div><div class="h5">> # HG changeset patch<br>
> # User vignesh<br>
> # Date 1472642767 -19800<br>
> #      Wed Aug 31 16:56:07 2016 +0530<br>
> # Node ID e61403d77a36ad1da3d9ea50f68c12<wbr>c9a6d2026a<br>
> # Parent  e6ab763efa9509e6212b9018da7889<wbr>a20676a69c<br>
> Fix bug in reading 32x32 scalinglists<br>
><br>
> diff -r e6ab763efa95 -r e61403d77a36 source/common/scalinglist.cpp<br>
> --- a/source/common/scalinglist.<wbr>cpp   Wed Jun 22 12:02:06 2016 +0530<br>
> +++ b/source/common/scalinglist.<wbr>cpp   Wed Aug 31 16:56:07 2016 +0530<br>
> @@ -141,7 +141,7 @@<br>
>      bool ok = true;<br>
>      for (int sizeId = 0; sizeId < NUM_SIZES; sizeId++)<br>
>      {<br>
> -        for (int listId = 0; listId < NUM_LISTS; listId++)<br>
> +        for (int listId = 0; listId < NUM_LISTS; listId += (sizeId == 3) ? 3 : 1)<br>
>          {<br>
>              m_scalingListCoef[sizeId][<wbr>listId] = X265_MALLOC(int32_t, X265_MIN(MAX_MATRIX_COEF_NUM, s_numCoefPerSize[sizeId]));<br>
>              ok &= !!m_scalingListCoef[sizeId][<wbr>listId];<br>
> @@ -160,7 +160,7 @@<br>
>  {<br>
>      for (int sizeId = 0; sizeId < NUM_SIZES; sizeId++)<br>
>      {<br>
> -        for (int listId = 0; listId < NUM_LISTS; listId++)<br>
> +        for (int listId = 0; listId < NUM_LISTS; listId += (sizeId == 3) ? 3 : 1)<br>
>          {<br>
>              X265_FREE(m_scalingListCoef[<wbr>sizeId][listId]);<br>
>              for (int rem = 0; rem < NUM_REM; rem++)<br>
> @@ -198,7 +198,7 @@<br>
>      int defaultCounter = 0;<br>
><br>
>      for (int s = 0; s < NUM_SIZES; s++)<br>
> -        for (int l = 0; l < NUM_LISTS; l++)<br>
> +        for (int l = 0; l < NUM_LISTS; l += (s == 3) ? 3 : 1)<br>
>              if (!memcmp(m_scalingListCoef[s][<wbr>l], getScalingListDefaultAddress(<wbr>s, l),<br>
>                          sizeof(int32_t) * X265_MIN(MAX_MATRIX_COEF_NUM, s_numCoefPerSize[s])) &&<br>
>                  ((s < BLOCK_16x16) || (m_scalingListDC[s][l] == 16)))<br>
> @@ -237,7 +237,7 @@<br>
>  void ScalingList::<wbr>setDefaultScalingList()<br>
>  {<br>
>      for (int sizeId = 0; sizeId < NUM_SIZES; sizeId++)<br>
> -        for (int listId = 0; listId < NUM_LISTS; listId++)<br>
> +        for (int listId = 0; listId < NUM_LISTS; listId += (sizeId == 3) ? 3 : 1)<br>
>              processDefaultMarix(sizeId, listId);<br>
>      m_bEnabled = true;<br>
>      m_bDataPresent = false;<br>
> @@ -332,7 +332,7 @@<br>
>          int stride = X265_MIN(MAX_MATRIX_SIZE_NUM, width);<br>
>          int count = s_numCoefPerSize[size];<br>
><br>
> -        for (int list = 0; list < NUM_LISTS; list++)<br>
> +        for (int list = 0; list < NUM_LISTS; list += (size == 3) ? 3 : 1)<br>
>          {<br>
>              int32_t *coeff = m_scalingListCoef[size][list];<br>
>              int32_t dc = m_scalingListDC[size][list];<br>
</div></div>> ______________________________<wbr>_________________<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" rel="noreferrer" target="_blank">https://mailman.videolan.org/<wbr>listinfo/x265-devel</a><br>
<br>
______________________________<wbr>_________________<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" rel="noreferrer" target="_blank">https://mailman.videolan.org/<wbr>listinfo/x265-devel</a><br>
</blockquote></div><br></div>