fixed the reading too many bytes
In subpel_avg_variance functions, code similar to the following punpkldq m2, [addr] actually reads 8 bytes. For functions that are supposed to work on buffers only have less 8 bytes a line, this caused valgrind error of reading uninitialized memory. Change-Id: I2a4c079dbdbc747829bd9e2ed85f0018ad2a3a34
This commit is contained in:
parent
4505e8accb
commit
9482c07953
@ -270,7 +270,12 @@ cglobal sub_pixel_variance%1xh, 7, 7, 13, src, src_stride, x_offset, y_offset, \
|
||||
%if mmsize == 16
|
||||
movhps m2, [srcq+src_strideq*2]
|
||||
%else ; mmsize == 8
|
||||
%if %1 == 4
|
||||
movh m1, [srcq+src_strideq*2]
|
||||
punpckldq m2, m1
|
||||
%else
|
||||
punpckldq m2, [srcq+src_strideq*2]
|
||||
%endif
|
||||
%endif
|
||||
movh m1, [dstq]
|
||||
%if mmsize == 16
|
||||
@ -541,9 +546,16 @@ cglobal sub_pixel_variance%1xh, 7, 7, 13, src, src_stride, x_offset, y_offset, \
|
||||
%if mmsize == 16
|
||||
movhps m2, [srcq+src_strideq]
|
||||
movhps m3, [srcq+src_strideq+1]
|
||||
%else
|
||||
%if %1 == 4
|
||||
movh m1, [srcq+src_strideq]
|
||||
punpckldq m2, m1
|
||||
movh m1, [srcq+src_strideq+1]
|
||||
punpckldq m3, m1
|
||||
%else
|
||||
punpckldq m2, [srcq+src_strideq]
|
||||
punpckldq m3, [srcq+src_strideq+1]
|
||||
%endif
|
||||
%endif
|
||||
pavgb m2, m3
|
||||
%if mmsize == 16
|
||||
|
Loading…
Reference in New Issue
Block a user