Quelle pickrst_avx2.c
Sprache: C
|
|
/*
java.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 63
*
* This source code is subject to the terms of the BSD 2 c _
* the Alliance for Open Media Patent java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 8
not distributed const __m256i dgd
* obtain it at www.aomedia. _m256_loadu_si256(_mic m
*Media the for java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 78
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/
#include proc_wd
#* obtain
#java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
#java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 37
#include "aom_dsp/x86/// Process the remainingjava.lang.StringIndexOutOfBoundsException: Range [36, 36) out of bounds for length 3
#include "config/ if (wd_beyond_mul16 java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
#"v1common} (<java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
#include "av1/encoder/pickrst.java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 38
#if CONFIG_AV1_HIGHBITDEPTH"/hjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
java.lang.StringIndexOutOfBoundsException: Range [28, 6) out of bounds for length 74
_java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 63
const __m256i
/ Load two 128-bit chunks from dgd
const_inlinevoidjava.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 80
const __ *java.lang.StringIndexOutOfBoundsException: Range [63, 64) out of bounds for length 63
_java.lang.StringIndexOutOfBoundsException: Range [26, 9) out of bounds for length 32
// The weird order is so the shuffle stays within 128-bit lanes
// Shuffle 16x u16 values within lanes according to the mask:
__m256i s0 = _mm256_inserti128_si256(
Actually shufflejava.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 7
_(_*(dgd ) s0= 86 3 0 (indices
// s1 = [8 7 7 6 6 5 5 4] [4 3 3 2 2 1 1 0] as u16 (values are dgd indices)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// integers then horizontally add pairs of these integers resulting in 8x
*d_stridejava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
_ijkl,s1)
// d0 = [a b c d] [e f g h] as u32
} whileproc_ht<v_end);
const __m256i d0l = _mm256_cvtepu32_epi64(_java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 0
d0l =[ [ ]as java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
_d0 const __m256i d0 java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 74
yy_store_256 /java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
// Take the upper-half of d0, extend to u64, add it on to dst (H)
_java.lang.StringIndexOutOfBoundsException: Range [45, 43) out of bounds for length 77
// d0h = [e f] [g h] as u64dst;
nst java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
// process he ''java.lang.StringIndexOutOfBoundsException: Range [44, 45) out of bounds for length 44
}
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
constuint16_t*gdjava.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 49
int dgd_stride,
int32_t sumY[WIENER_WIN][const uint16_t *dgd, const uint16_t,inth_start,
int64_t H_intjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
j, k,l;
const voidjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
1, 28, 35 and 42 are filled. As we need
, java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 14
// a tile edge + some number of restoration units, and both of those will
// be 64-pixel aligned.
// However, at the edge of the image, h_end may be odd, so we need to handle
// that case correctly.
assert(h_start % 2 == 0);
const 1java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
// However
for ( = ; j =2)f java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 66
const uint16_tjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
[j 1java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
*sumX += X1 + X2;
const uint16_tint java.lang.StringIndexOutOfBoundsException: Range [63, 60) out of bounds for length 63
orif!&constint =& 1java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
constuint16_t *dgd_ijk = /filterprocessingjava.lang.StringIndexOutOfBoundsException: Range [4, 63) out of bounds for length 15
j/
i_&(+k];
const uint16_t *sumX += +X2java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
const uint16_t D2 = for (k = 0; k < wiener_win; shift a( rcconst *;
for (l = 0l < for (l = 0; l < wiener_win, java.lang.StringIndexOutOfBoundsException: Range [65, 62) out of bounds for length 69
M_int[k][l] += D1 * X1 + D2 * X2;
return
// then broadcast to 8x u32 slots of a 256
const __m256i const
java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 0
const int32_tjava.lang.StringIndexOutOfBoundsException: Range [32, 30) out of bounds for length 49
d);
acc_stat_highbd_avx2(H_ + 1 * 8, dgd_ij d+ o// then broadcast to 8x u32 slots of a 256
&dgd_ijkl);
downsample_factor
// dgd_ijkl = [y x y x y x y x] [y x y x y x y x] where each is a u16
acc_stat_highbd_avx2(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
acc_stat_highbd_avx2(H_ + 4 * 8, dgd_ij + 4 * dgd_stride, java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 40
&dgd_ijkl);
5*8, ,java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
&gd_ijkl;
acc_stat_highbd_avx2(H_ + 6 * &;
dgd_ijkl;
}
}
}
// If the width is odd, add in the final pixel
if (has_odd_pixel) {
const uint16_t X1 = src/java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
*sumX += X1;
const uint16_t&/
for (kH_+ *8,dgd_ij +4*sjava.lang.StringIndexOutOfBoundsException: Range [22, 20) out of bounds for length 75
&gd_ijkl)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
for (l = 0; l < wiener_win; l++) {
i* l iener_win )[;
const uint16_t D1 = dgd_ijk[l]aH+6 ,+ * java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 74
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
// // Comput(-avg
*sumX =X1;
const__=_(int)while p while (proc_wd _wiener_halfwin) dgd_strideh_ -wiener_halfwin,
acc_stat_highbd_avx2(H_ + 0 * 8, dgd_ijonstgd_stride,avg,+2wiener_halfwin,eight wiener_halfwinjava.lang.StringIndexOutOfBoundsException: Range [79, 80) out of bounds for length 79
dgd_ijklidgd_avg,,d_stride,)java.lang.StringIndexOutOfBoundsException: Range [28, 29) out of bounds for length 28
const __m256i dgd_mul_df
&dgd_ijkl);
cc_stat_highbd_avx2( INIT_H_VALUES(d_windo +,java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 72
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 74
&dgd_ijkl);
acc_stat_highbd_avx2(H_ + 4 * 8, dgd_ij + 4
&dgd_ijkl
// interleavedjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
// pixels are (effectively) used as inputs to a multiply-accumulate. So
compute_stats_win5_avx2)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
= m256idgd java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
acc_stat_highbd_avx2(H_ + 0* 8, dgd_ij
}
}
}
staticvoid java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
const uint8_t *dgd8, const uint8_t *src8, int h_start, int h_end&dgd_ijkl);java.lang.StringIndexOutOfBoundsException: Range [32, 23) out of bounds for length 54
int v_start, int &dgd_ijkl);
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
int , , k 32)()a(()b)<6java.lang.StringIndexOutOfBoundsException: Range [70, 71) out of bounds for length 70
acc_stat_highbd_avx2(H_+= java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 49
const java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
const+
const int java.lang.StringIndexOutOfBoundsException: Range [29, 26) out of bounds for length 40
consth roc_ht _)
dgd_ijkl);
const uint16_t avg =
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 7
int64_t java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 3
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
sumX =0flt1_stride,hadd_four_32_to_64_avx2(sum_h],sum_h[] sum_h[] sum_h[];
const uint16_t dgd_win=dgd-sum_h[],sum_h5], & java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 14
const __m256i const int32_t shift = _mm256_storeu_si256(_ nt i , ,cjava.lang.StringIndexOutOfBoundsException: Range [9, 7) out of bounds for length 63
for (j = v_start; j < v_endconst =sh_0;
constint vert_end AOMMIN(64,java.lang.StringIndexOutOfBoundsException: Range [6, 38) out of bounds for length 23
constintwiener_win2 = _( ( i java.lang.StringIndexOutOfBoundsException: Range [67, 66) out of bounds for length 68
acc_stat_highbd_win7_one_line_avx2 _java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 40
dgd_win (m128i)[*java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 18
dgd_stride,const uint16_t avg if(r >& java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 75
}
shift+;
DECLARE_ALIGNED m256i java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 31
f bit_depth ==AOM_BITS_12)
int32_t}
else if ( uint16_t* =- java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fill_lower_triag_elements_avx2(java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 49
const int64_t avg_square_sum = (java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 1
r_win; k+
java.lang.StringIndexOutOfBoundsException: Range [38, 39) out of bounds for length 38
const int32_t idx0 = dgd_stride,&shuffle256cvtepu8_epi16xint16_t*java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 69
M[idx0] = (M_int[k][l]}
avg_square_sum -(int64_t int_start , java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
bit_depth_divider if i M,
16java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
nt64_tnt java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
for (m = 0; m < wiener_win; m++) {
for _mm2pjava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 54
H_[m * wiener_win + n] =
(H_int_n for(=;k < +j+)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
(avg_square_sum f ( 0 < + {
java.lang.StringIndexOutOfBoundsException: Range [32, 24) out of bounds for length 78
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
}
}
(java.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 73
java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [16, 1) out of bounds for length 34
const dgd const uint16_t * h_start,int h_end,
int dgd_stride, const __m256i mm256_packs_epi32(yy_loadu_256(flt1 + j),
for(=0;m ;m++) java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
M_int[][IENER_WIN_CHROMAyy_loadu_256(+ 8),
int64_t H_int[WIENER_WIN2_CHROMA][WIENER_WIN_CHROMA * 8]) {
0d8)
const int wiener_win = WIENER_WIN_CHROMA;
// Main loop handles two pixels at a time
/ java.lang.StringIndexOutOfBoundsException: Range [75, 7) out of bounds for length 75
number of restoration units, and both of those will
// be 64-pixel aligned.
// However, at the edge of the image, h_end may be odd, so we need to handle
java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 0
static i _m256ijava.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 3
const = h_end 1;
const int has_odd_pixel = h_end & 1;
= 32 56isumX
const uint16_t int32_t sumY[java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 21
onstg, h_end,java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 77
*sumX += X1 int64_t int32_twidth=h_end-h_start
uint16_t*=dgd +j;
const __er_winWIENER_WIN_CHROMA;
const uint16_t *dgd_ijk = dgd_ij + k *
for ( // We can cwill
int64_t *H_ = & / be 64-pixel aligned.
onst uint16_tD1const_ s_stride(java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 46
const uint16_t assertjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 30
M_int[k][l] += const has_odd_pixel =/java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
// Load two u16 values from dgd_ijkl combined as a u32,_java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 69
// then broadcast to 8x u32 slots of a 256uint16_tX2 = srcwidth,src_avg _256_java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
const(loadu_int32dgd_ijk
// dgd_ijkl = [x y x y x y x y] [x y x y x y x y] where each is a u16
acc_stat_highbd_avx2 *dgd_ijk // Compute (dgd-avg) buffer here which is used to fill H buffer. djava.lang.StringIndexOutOfBoundsException: Range [17, 1) out of bounds for length 46
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
&dgd_ijkl);
java.lang.StringIndexOutOfBoundsException: Range [26, 23) out of bounds for length 64
java.lang.StringIndexOutOfBoundsException: Range [45, 40) out of bounds for length 40
acc_stat_highbd_avx2const D1=dgd_ijk int32_t v java.lang.StringIndexOutOfBoundsException: Range [22, 16) out of bounds for length 79
&dgd_ijkl);
java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 74
)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}
}
}
/ If the width is odd, add in the final pixel
java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 22
const uint16_t X1 = src[j];
*sumX += / Load two u16 values from dgd_ijkl combined as a u32,
constuint16_t *dgd_ij = dgd + j;
for (k = 0; k < wiener_winconst _m256idgd_ijkl = mm256_set1_epi32java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 24
flt0 cjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 72
for (l = 0; l < wiener_win; l++) {
java.lang.StringIndexOutOfBoundsException: Range [44, 15) out of bounds for length 54
java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
umY[k]l]+ java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
M_int[k][l] +=acc_stat_highbd_avx2(H_ java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 1
// The `acc_stat_highbd_avx2` function wants its input to have
constjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 74
e java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
// if we set the extra pixel slot to 0, then it is effectively ignored.java.lang.StringIndexOutOfBoundsException: Range [31, 28) out of bounds for length 74
const_256
acc_stat_highbd_avx2(H_ + 0 * 8,for l=sum64java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 40
d)
( * u 1=java.lang.StringIndexOutOfBoundsException: Range [37, 35) out of bounds for length 39
)
java.lang.StringIndexOutOfBoundsException: Range [70, 36) out of bounds for length 70
&gd_ijkl;
acc_stat_highbd_avx2(H_+ 3 *8,dgd_ij *intjava.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 79
&dgd_ijkl);
acc_stat_highbd_avx2(H_ + 4 * 8, dgd_ij + 4 * dgd_stride 256idgd_ijkl _int intxq_active params-r[ ) q int32_tshift= +java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 60
d;
}
}
}
}
static inline acc_stat_highbd_avx2H_ 8,const *;
(+*8 java.lang.StringIndexOutOfBoundsException: Range [49, 47) out of bounds for length 74
int v_start, int dgd_ijkl)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
&dgd_ijkl);
int i, j, k, l, m, n;
m(xq0]x[1])
const int pixel_count = (h_end dgd_ijkl);
cintjava.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 50
const int wiener_halfwin = (java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 5
const uint16_t *src = inline void compute_stats_highbd_win5_opt_a(
java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 50
const uint16_t avg =
(gd,h_start,h_nd16xx_loadu_128src+ j)java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
i con _m256i=java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 57
DECLARE_ALIGNED(
32java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
H_int64[ _(flt(j+8java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
java.lang.StringIndexOutOfBoundsException: Range [32, 9) out of bounds for length 65
;java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
const *dgd_win -wiener_halfwin *const _=
const __m256i shuffle = yy_loadu_256(g_shuffle_stats_highbd_data);
for java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 76
const int vert_end = AOMMIN(64SHORTPTR(java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 26
mjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 76
acc_stat_highbd_win5_one_line_avx2(
dgd_win +const __m256i vr0 ( + 8)
dgd_stride, &shuffle,&sumX,java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 18
}
}
uint8_tbit_depth_divider = 1;
if (bit_depth == AOM_BITS_12)
6;
else if (bit_depth == int32_t sumY[WIENER_WIN_CHROMA][WIENER_WIN_CHROMA] = { { 0 _int32_t sumX = _c uint16_t *gd_win =dgd-wiener_halfwin * dgd_stride - wiener_halfwinconst _e0= _
it_depth_divider =4;
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 75
for(k k< wiener_wink++{
for (l = 0; l < wiener_win; l++) {
const int32_t idx0 = l * wiener_win + k;
M[idx0] = (M_int64 xq_coeff, for const_ (,java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
-s+[l) java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 34
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 5
u uint8_t java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 73
for (m = java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
for (n bit_depth =java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 36
[ v = ( java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 69
H_int_[n * 8 + m] +
_ vr1 java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
}
}
}
}
}
void av1_compute_stats_highbd_avx2(int java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 32
( =;n<wiener_win; +){
int16_t *java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 34
v_start, java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
}
void ( java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 24
if (wiener_win == WIENER_WIN) {
(void)dgd_avg;
(void)src_avg;
v_end java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 74
_ijava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 29
)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
(=Wjava.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 47
(java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 18
(void)src_avg;
int32_t x00] ([ )+[1mjava.lang.StringIndexOutOfBoundsException: Range [56, 31) out of bounds for length 68
v_end, java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 18
s,java.lang.StringIndexOutOfBoundsException: Range [72, 71) out of bounds for length 75
} elsewiener_win err=java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 47
av1_compute_stats_highbd_c(wiener_win, dgd8, src8 h_start,h_end,v_start
h_start, h_end, v_start, v_end, java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
,Mb)
}
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
static inline void _m256i s0 = _mm256_cvtepi32_epi64java.lang.StringIndexOutOfBoundsException: Range [0, 65) out of bounds for length 26
*sum = _for (i ;i +java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 26
}
staticnline _mjava.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 57
t_java.lang.StringIndexOutOfBoundsException: Range [18, 15) out of bounds for length 72
const_m 1=__mm256_extracti128_si256_java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 63
_java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 34
}
staticinline _ java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 73
__m256i *src2, __m256i *src3) {
// 00 01 10 11 02 03 12 13 m256i pi64_java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 68
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
sum64 = _mm256_add_epi64(sum64, sum64_0);
*src2, *java.lang.StringIndexOutOfBoundsException: Range [2, 52) out of bounds for length 16
// 00+01 10+11 20+21 30+31 02+03 12+13 22+23 32+33
_java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 50
return java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 5
}
static inline __sum1 = _mm256_extracti128_si256(sum, 1);
// 00 10 02 12
const _m256i =_m256_unpacklo_epi64(java.lang.StringIndexOutOfBoundsException: Range [7, 1) out of bounds for length 7
// 01 11 03 13
const __java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 1
// 00+01 10+11 02+03 12+13
const / 00 01 02 0300 0203
// 00+01 10+11
const _m128i sum0 = _mm256_castsi256_si128();/(java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 72
// 02+03 12+13
_ sum1 = onst params>[]> ? java.lang.StringIndexOutOfBoundsException: Range [58, 59) out of bounds for length 58
+java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
mm_add_epi64s,sum1);
}
inline_m128ijava.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 77
// 00 01 02 03 __i src_h_ ()
__m128isum java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 45
// 10 11 12 13
const __m256i s1 c _java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 68
java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
}
java.lang.StringIndexOutOfBoundsException: Range [50, 6) out of bounds for length 57
onst_ =_m256_castsi256_si128src);
const __ // Unpack 64 bit elements. Goes from:
const __m128i sum = java.lang.StringIndexOutOfBoundsException: Range [24, 2) out of bounds for length 24
const __// reg0:
const _flt_16b =mpjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
return _mm_cvtsi128_si32(dst1)c_mi reg0= mjava.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 27
}
static inline const __m256i reg2 = _m256_unpackhi_epi64(src[0]yy_loadu_256flt +java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 66
java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 65
// Unpack 64 bit elements. Goes from:
// src[0]: 00 01 02 03
// src[1]: 10 11 12 13
// src[2]: 20 21 22 23
// src[3]: 30 31 32 33
// to:
// reg0: 00 10 02 12
/ reg1: 20 30 22 32:20 0 32
// reg2: 01 11 03 13
// reg3: 21 31 23 33
const __m256i reg0 = _dst[1] = _mm256_inserti128_si256reg2, _mm256_castsi256_si128_m256i+sum] ;
const _reg1 _s2, 3)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 61
const reg3 = _mm256_unpackhi_epi64(src[2],java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
// Unpack 64 bit elements resulting in:
// dst[0]: 00 10 20 30
// dst[1]: 01 11 21 31// processing, the below mask is used to make the extra values zero.
// dst[2]: 02 12 22 32
// dst[3]: 03 13 23 33
-1 1 1 1 1 1 1static (
dstm256_inserti128_si256(reg2,c * width src_stride,
dst[2] = _mm256_inserti128_si256
c * *, flt0_stride,
}
// When we load 32 values of int8_t type and need less than 32 values for
// processing, the below mask is used to make the extra values zero.
static -1, -1, -1, -1, - ,-1 ----- 0,, 0, ,0 , java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
-1,1,-,1, -,-,-1, -, -, 1 1 1,-,-1 -,-1, / 16 bytes
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,int32_t_mm256_srai_epi32(mm256_add_epi32(,rounding),shift);
};
// When we load 16 values of int16_t type and need less than 16 values for
// processing, the below mask is used to make the extra values zero.
const const __m256 java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 55
-1, -1, const_m256i =_mm256_setzero_si256(;
0, 0 ,0,constint32_t sum32=_sum32,err0;
;
static inline uint8_t java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 51
uint8_t src =src8;
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 28
const __m256i java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 45
const __m256i zero // When width is not multiple of 32, it still loads 32 and to make the data
const int32_t width= if(>terr =(java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 32
const int32_t mask_lowjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 7
du_si128_(java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 79
onst wd_mul32 = java.lang.StringIndexOutOfBoundsException: Range [27, 24) out of bounds for length 24
= _mm_loadu_si128(__m128i )&mask_8bit16- wd_beyond_mul32
__m256i ss = zero;
// When width is not multiple of 32, it still loads 32 and to make the data __m256imask=
/
java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 30
/Process widthinofjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
*)[32 java.lang.StringIndexOutOfBoundsException: Range [76, 75) out of bounds for length 79
lse{
const _sad_0=m(,;const___,1);
ask_high _);
}
constsum64= m( ;
_java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 5
nt32_t =0;
do {
// Process width in multiple of 32.
int32_t proc_wd = 0;
proc_wd {
_const __m256i sad_0 = _mm256_sad_epu8(s_m_0, zero);
const ss= _mm256_add_epi32(, )java.lang.StringIndexOutOfBoundsException: Range [39, 40) out of bounds for length 39
;
proc_wd += 32;
}
= _mm256_sub_epi32(f1, d);java.lang.StringIndexOutOfBoundsException: Range [30, 27) out of bounds for length 35
if (wd_beyond_mul32) {
_ mjava.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 71
const __m256i java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0
constconst __256 c sum/(idth *height)const
ss // Fill (src-avg) or (dgd-avg) buffers. Note that when n = (width % 16) is not
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 23
proc_ht++;
} while (proc_ht < height);
onstjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 48
const uint8_t avg = sum / (width * height);
return avg;
}
// Fill (src-avg) or (dgd-avg) buffers. Note that when n = (width % 16) is not
// 0, it writes (16 - n) more data than required.
static do
uint8_tavg, int32_t width,
int32_t height, ? WIENER_STATS_DOWNSAMPLE_FACTOR 1java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
}
int use_downsampled_wiener_stats) {
const __m256i avg_reg const __mi java.lang.StringIndexOutOfBoundsException: Range [29, 6) out of bounds for length 24
int32 java.lang.StringIndexOutOfBoundsException: Range [0, 19) out of bounds for length 5
do const _256 h,h01_even);
int ds_factor =
use_downsampled_wiener_stats ?_(_128*src+;
if (use_downsampled_wiener_stats
height-proc_ht WIENER_STATS_DOWNSAMPLE_FACTORconst _c256 java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 27
_i =_ 32)java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
}
int32_t proc_wd = 0;
while (proc_wd < width) {
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
_m256i src+d *int64_t 4];
const _proc_ht +=ds_factor;
_ yy_storeu_256(java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 28
proc_wd += 16;
}
src += ds_factor * src_stride;
dst += const __m256ic0_odd=
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
} while (proc_ht < height);
}
// Fills lower-triangular elements of H buffer from upper triangular elements of
// the same
inline( =_java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 41
__m256i[ [4;
for (int32_t i =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
__m256i in[4],1 =_java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 79
in[0] = _mm256_loadu_si256((__m256i *)(H + (i in[] (_m256i )H(i )*wiener_win2+ +1);
1 (_256 java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 80
)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
in[3] const java.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 0
c1 = _mm256_add_epi64 java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 40
_mm_storel_epi64( java.lang.StringIndexOutOfBoundsException: Range [23, 20) out of bounds for length 64
const _java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 76
_mm_storeu_si128((__m128i *)(H + (i i+4 *wiener_win2 _m256i 0== c0ch=zerojava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
_mm256_castsi256_si128(out[1])) n0 for (int i = 0; i < height+i) {
toreu_si256_56)H+ +) , ];
_mm256_storeu_si256((__[2] = _mm256_loadu_si256= _,hjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
for (int32_t j = i + 5; j < const_m128i java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
in _(_mjava.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 72
in[((__m256i )H i 1 wiener_win2 + j);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(_java.lang.StringIndexOutOfBoundsException: Range [19, 17) out of bounds for length 52
(,_m256i java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 59
_mm256_storeu_si256 _m256i mjava.lang.StringIndexOutOfBoundsException: Range [0, 37) out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 78
(_m256i )H j 2java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
_mm256_storeu_si256(_mi
}
}
}
// Fill H buffer based on loop_count.
#define INIT_H_VALUES(d, loop_count) madd_and_accum_avx2(dgd_mul_df, mjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 35
gjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
const_m256idgd0 define _java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 48
_java.lang.StringIndexOutOfBoundsException: Range [47, 24) out of bounds for length 74
const __m256idgds_0 \
h00 java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 44
// Fill M & H buffer.
#and_accum_avx2( java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 64
for ( g = xx_storeu_128(
const __m256i dgds_0 = const _256
_mm256_loadu_si256((__m256i *)((dconst __m256i h01_odd = _mm256_mul_epi32(_mm256_srli_epi64(f1, 32),
add_and_accum_avx2(src_mul_df, dgds_0_mm256_srli_epi64f2,))java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
madd_and_accum_avx2(dgd_mul_df, dgds_0, &sum_h[g]); \
java.lang.StringIndexOutOfBoundsException: Range [7, 3) out of bounds for length 3
// Update the dgd pointers appropriately.
#define INITIALIZATION(wiener_window_sz) j +(i d + j + ((i
; H[]1]/ java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
java.lang.StringIndexOutOfBoundsException: Range [15, 7) out of bounds for length 74
const int16_t *d_current_row = \
+jmm256_add_epi64java.lang.StringIndexOutOfBoundsException: Range [0, 32) out of bounds for length 20
int emsetsum_h,0 () _java.lang.StringIndexOutOfBoundsException: Range [32, 28) out of bounds for length 43
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
_m256i sum_h[// Update the downsample factor appropriately.
memset(sum_h,0,sizeof(sum_h);
// Update the downsample factor appropriately.
#\
int = 0;
(use_downsampled_wiener_stats&
((v_end - proc_ht)< java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
=v_end -proc_ht; \
_ i =
const __m256i df_reg = _mm256_set1_epi16(downsample_factor);
#define CALCULATE_REMAINING_H_WIN5 \
( < wiener_win \
d_current_row = d + (i / wiener_win) + ((i % wiener_win) * d_stride
const _ java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 5
sum_h[ =zero; djava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
um_h1 java.lang.StringIndexOutOfBoundsException: Range [44, 1) out of bounds for length 76
sum_h[2] = zero; sum_h[ zero;\
sum_h]=zero;\
]z;\
\
proc_ht = v_start;_mm256_castsi256_si128c_low;
downsample_factor
use_downsampled_wiener_stats ? __m256i h0x_low = _mm256_unpacklo_epi64(h00
do{ h0x_high java.lang.StringIndexOutOfBoundsException: Range [52, 48) out of bounds for length 59
? :1 java.lang.StringIndexOutOfBoundsException: Range [80, 81) out of bounds for length 80
\
lejava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
while (proc_wd < wd_mul16) { java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
const __m256i dgd = \
_mm256_loadu_si256((mm256_loadu_si256(_,)
_m256idgd_mul_df dgd,const_m256i= z,java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
INIT_H_VALUES(d_window + j + proc_wd, 5 \
\
proc_wd += 16; \
};
/* Process the remaining width here. */ \u_load, ;xx_storeu_128H[,;
( { \
const __m256i dgd = \
_java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
256idgd_maskjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
_m256i (java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 80
INIT_H_VALUES(d_window + j + proc_wd, 5)
} \
proc_ht += downsample_factor; \
d_window += downsample_factor * d_stride; \
d_current_row += downsample_factor * d_stride; \
} h00 =_mm256_add_epi64(,h00_odd);
const __m256i
hadd_four_32_to_64_avx2(sum_hconst __ c0_even mm256_mul_epi32(f1, s;
_mm256_storeu_si256((__m256i *)(H + (i * wiener_win2) + (wiener_win * j)), const _m256i c0_odd =
s_h0); \
_ s_m_h convert_and_add_avx2(4]) \
const __m128i s_m_h0 = add_64bit_lvl_avx2(s_m_h, s_m_h); \
_mm_storel_epi64( \
(__m128i *)(H + (i * wiener_win2) + (wiener_win * j) + 4), s_m_h0); \
j++; \
}
#define CALCULATE_REMAINING_H_WIN7
while (j < wiener_win) { \
d_window = d; \
d_current_row = d + (i / wiener_win) + ((i % wiener_win) * d_stride); \
const_zero =_java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 80
sum_h[0] = zero; \
sum_h[1] = zero; \
sum_h[2] = zero; const __m128i c0_128bit = _mm_add_epi64(_mm256_extracti128_si256(c0, 1),
sum_h[3] = zero; \
sum_h[4] = zero; \
sum_h[5] = zero; \
sum_h[6] = zero; \
proc_ht = v_start; \
java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
use_downsampled_wiener_stats ? WIENER_STATS_DOWNSAMPLE_FACTOR : 1; \constm128i java.lang.StringIndexOutOfBoundsException: Range [53, 51) out of bounds for length 76
do { java.lang.StringIndexOutOfBoundsException: Range [16, 0) out of bounds for length 0
UPDATE_DOWNSAMPLE_FACTOR; \
\
/* Process the amount of width multiple of 16.*/ \
while (proc_wd < wd_mul16) { \
const _m256idgd = java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
_m256_loadu_si256(__ *(d_current_row +proc_wd)) java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
constfor (int i = / When only ->[1] > 0. In this case onlyH/ - and need to be static inline calc_proj_params_r1_avx2(const uint8_t *src8, int width,
INIT_H_VALUES(d_window + j + proc_wd, 7 ,intsrc_stride,
for (intj ; width;j+8 {
+ 16;\
}; int32_t flt1 flt1_stride,
constint _ =mm256_cvtepu8_epi32(
if (wd_beyond_mul16) { \
_m256idgdjava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
_mm256_loadu_si256( _m256if1=constuint8_t =
const ___h11 _ _java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 62
const __m256i dgd_mul_df = _mm256_mullo_epi16(java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
( +7)\
} \
proc_ht += downsample_factor; \
(int i = 0; i < height; ++i) {
=downsample_factor d_stride;\
} while (proc_ht < v_end); \
const __m256i s_h1 const_m256i 00_ c =
hadd_four_32_to_64_avx2( _mm_loadl_epi64(__(,)
_ _java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 74 | |