SSL intrapred_ssse3.c
Sprache: C
|
|
/*
* Copyright (c) 2017, Alliance for Open Media. All rights reserved.
*
* This source code is subject to the terms of the BSD 2 Clause License and
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
* was not distributed with this source code in the LICENSE file, you can
* obtain it at www.aomedia.org/license/software. If the Alliance for Open
*Media Patent10was distributed with this source code in the
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/
ptl (java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 61
#include "config/aom_dsp_rtcd.h"
#include "aom_dsp/intrapred_common.h"
// -----------------------------------------------------------------------------
// PAETH_PRED
// Return 8 16-bit pixels in one row
staticjava.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 37
_ *){
const __ =_m )java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
_m128i m_(, *))java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
_ =_java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 56
__m128i ptl = _mm_abs_epi16(_mm_sub_epi16(base, *topleft));
__m128i mask1 = _mm_cmpgt_epi16(pl, pt _m128it_( _ )bove)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
mask1
mask2= _p )
pl=_ *)
= mjava.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 39
pt=_(,*)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
mp,ptl;
pt = _mm_and_si128 onst _128 row=&16, &,)
return _mm_or_si128(pl, pt);
}
void aom_paeth_predictor_4x4_ssse3( java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
,const uint8_t *left) {
__m128i l = _mm_loadl_epi64((const __m128i *)left);
_t=_(java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 60
const __m128i zero = _mm_setzero_si128();
const_m128i mt, zero);
const __m128i tl16 = _mm_set1_epi16((int16_t)above _m128i =(onst__128i))java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
_ mm_set1_epi16)0)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
_m128i
int i;
_rep=_()x)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
_m128il16 mm_shuffle_epi8, rep)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
const ( ;i 8 i)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
*int*dst=_mm_cvtsi128_si32_java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 64
dst+ java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
rep=_(,)
}
}
void aom_paeth_predictor_4x8_ssse3
|
_m128il =_const_m128i )eft;
const __m128i t = _ *, left java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
const _m128i java.lang.StringIndexOutOfBoundsException: Range [22, 20) out of bounds for length 43
_t16=_(t, zero);
const __m128i tl16 = _mm_set1_epi16((int16_t)above[-1]);
_ _m_set1_epi16(;
const __m128i one = _mm_set1_epi16(1);
int i;
for (i = 0; _ rep =m()0)
_m128i (,rep)
const __m128i row java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*(int _ java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 49
dst+ stridejava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
rep(rep one)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
}
rep =mm_add_epi16rep,one;
java.lang.StringIndexOutOfBoundsException: Range [0, 3) out of bounds for length 1
void aom_paeth_predictor_4x16_ssse3(uint8_t java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
uint8_t*above,const *eft) java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
_m128i m((const _m128i*)left)
const __m128i t = _mm_cvtsi32_si128(((const int *)above)[0]);
const __ _ =_m_loadl_epi64(const _m128i ))java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
__m128i t16 = _mm_unpacklo_epi8(t, zero);
const __m128i tl16 = _mm_set1_epi16((int16_t)above[-1]);
__m128i rep _m_set1_epi16((hort0x8000)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
const _m128i one =_m_set1_epi16(1);
for (int i = 0; i < 16; ++i) {
const _m128i l16 =_l rep);
const __m128i row = paeth_8x1_pred(&l16, &t16, &tl16);
_m128i1java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
dst += stride;
_128 =_(l,rep;
const_128row paeth_8x1_pred(l16,& &l16)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
}
#dst += stride;
(int8_t* ,
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 3
__ constuint8_t*,const uint8_t *){
const __m128i t = _mm_loadl_epi64((const __m128i *)above);
const __const __m128i t = _mm_loadl_epi64((const __m128i *)above);
const __ t16=_mm_unpacklo_epi8,zero)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
_mi above]
__m128i rep = _mm_set1_epi16constm128i=mabove1)
const_m128i one = _mm_set1_epi16(1);
int i;
for (i = 0; i < 4;
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 49
const __m128i row = paeth_8x1_pred(&l16, &t16, &tl16);
_mm_storel_epi64((__m128i *)dst, _mm_packus_epi16(row, row));
dst += stride;
rep = _mm_add_epi16(rep, one);
}
}
void aom_paeth_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above,const uint8_t *left) {
_m128i m128 *left;
const __m128i t = _mm_loadl_epi64((const __m128i *)above);
_java.lang.StringIndexOutOfBoundsException: Range [65, 21) out of bounds for length 65
aom_paeth_predictor_8x16_ssse3 dst java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 67
const_=_int16_t[-)
__m128i rep = _mm_set1_epi16((short)0x8000);
const ___m128il=_(_m128i*)
int i _ =m( _java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 60
for (i = 0; _m128i= _(,)
const_m128il16 _(l );
const __m128i_ mjava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 46
_mm_storel_epi64((__m128i *)dst, _mm_packus_epi16(row, row)
(i = 0; i 16 +){
(rep,)
}
void (_*),mrow );
const uint8_t *above, const +
((const );
const _ * uint8_t*eft
const __m128i zero = _mm_setzero_si128();
const __128it16= _(,zero)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
_m128i tl16 _m_set1_epi16((nt16_t)bove-];
__m128i rep = _mm_set1_epi16((short)0x8000const _m128i tl16 = _mm_set1_epi16((int16_t)above[-1]);
const __m128i one = _mm_set1_epi16
int java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 71
for (_= (0;
const __m128i l16 = for( i=0;i<16 i){
const __m128iconst _m128irow =paeth_8x1_pred &,&l16)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
_(_m128 mm_packus_epi16(row
dst += rep = _mm_ad(,;
rep java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}
}
#if !static inline paeth_16x1_pred(onst_m128i left,const _m128i top0java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
void java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
_ p1=paeth_8x1_pred(eft top1,)
const
const __if !CONFIG_REALTIME_ONLY|CONFIG_AV1_DECODER
const _m128i t16=_m_unpacklo_epi8(,zero)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
const __m128i tl16 = _mm_set1_epi16((int16_t)above[-1]);
const __m128i one = _mm_set1_epi16(1);
for (int j = 0; j < 2; ++j)si128(const_m128i *)above);
const __)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
_;
for (int i = 0; i < 16; ++i) {
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 46
_ row paeth_8x1_predl16 &16 tl16)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
_mm_storel_epi64( const_m128i l16 _m_shuffle_epi8(,;
dst += stride;
rep const _128 =paeth_16x1_pred(l16, &top0, &top1, &tl16);
}
}
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// Return 16 8-bit pixels in one row
static inlinedst+java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 18
}
const __java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
const __m128i p0 = paeth_8x1_pred(left, top0, topleft);
const p1=paeth_8x1_pred(eft,top1, topleft)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
return _mm_packus_epi16(p0, p1);
}
#if !CONFIG_REALTIME_ONLY _m128izero =_mm_setzero_si128(;
void aom_paeth_predictor_16x4_ssse3(int8_t *dst,ptrdiff_tstride,
const __m128i top1 = _mm_unpackhi_epi8(;
__m128i __m128i rm128i rep_mm_set1_epi16(short)x8000)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
const __m128i = _mm_load_si128(const __m128i*);
const int i
const __128i top0 t zerojava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
const __m128i top1 _m128irow paeth_16x1_pred(l16,&op0,&top1, &)
int16_t)above[1)
void aom_paeth_predictor_16x16_ssse3 *st ptrdiff_t stride,
const _m128i = mm_set1_epi16();
for (int i = 0; i < 4; + uint8_t*){
const_m128i l16 = _mm_shuffle_epi8(l,rep;
__m128i =java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 67
(__*dst row)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
;
,java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
}
#const_m128il16= mm_shuffle_epi8l,)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
void aom_paeth_predictor_16x8_ssse3
uint8_t *,constuint8_t *eft
__m128i l = _java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 18
const__i =_m_load_si128(const _m128i *above)
const __m128i java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
const __128i top0=_mm_unpacklo_epi8(t, zero);
const __m128i top1 = _mm_unpackhi_epi8(t, zero);
const _ tl16= _m_set1_epi16((nt16_t)above[-];
__m128i rep = _mm_set1_epi16((short)0x8000);
const __m128i one = _mm_set1_epi16();
int i;
for (i = 0; i < 8; ++i) 28(const __m128i *)left);
const_m128i l16=_(l rep);
const __m128i row = paeth_16x1_pred const_m128i =_mm_setzero_si128);
_mm_store_si128((__m128i *)dst, row);
dst += stride;
rep =_mm_add_epi16(rep,one;
const _m128i =_mm_set1_epi16(int16_t)bove[1);
}
void aom_paeth_predictor_16x16_ssse3(uint8_t =_1;
;
* java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
m128i _m_load_si128(const_128*)left;
const __m128i t = _java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0
_m128i =_mm_setzero_si128)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
const __128java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 50
nst _ top1=_(,zero)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
const __m128i java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
_m128i rep _m_set1_epi16(short)0)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
const __m128i one = _mm_set1_epi16( l16 _m_shuffle_epi8(,rep)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
int ijava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
_ =_mm_shuffle_epi8;
const __m128i row = paeth_16x1_pred(&l16, &top0
_mm_store_si128java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
dst += stride;
rep = _mm_add_epi16(rep, one);
}
}
void aom_paeth_predictor_16x32_ssse3 const uint8_t *above,
const uint8_t *above, _m128i =_m_load_si128((const __m128i *)above);
uint8_t *) {
__m128i l = _mm_load_si128((const __m128iconst _m128i = mm_unpackhi_epi8t, zero;
const _m128i =mm_load_si128((onst *)bove);
const _ const_m128 one _m_set1_epi16(1;
_m128i top0 = _mm_unpacklo_epi8(t, zero);
const __m128i top1 = _mm_unpackhi_epi8(t, zero);
_m128i tl16 = _mm_set1_epi16((int16_t)above[-1]);
__m128i rep = _m128i rep = _mm_set1_epi16((short)0x8000);
const __128 one=_mm_set1_epi161)
__m128i l16;
int i;
( 0;i<16;++)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
6 = _mm_shuffle_epi8(
const __m128i row dst =stridejava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
_mm_store_si128}
dst += stride;
rep = _mm_add_epi16(}
}
l = _mm_load_si128void aom_paeth_predictor_32x8_ssse3 *dst,ptrdiff_t ,
rep = _mm_set1_epi16((short const *bove,constuint8_t left)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
for (i = 0; i < 16; ++i) {
_mm_shuffle_epi8(l )java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
const(&l16, &op0,&top1, &tl16)java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
_mm_store_si128 _ =mjava.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 48
const mm_set1_epi16()above]java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
);
}
}
#if ! __l=_((onst_m128i *)
void aom_paeth_predictor_16x64_ssse3m128i l16java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
uint8_t *bove
const uint8_t *left) {
=_m_shuffle_epi8(,)
const _m128i =paeth_16x1_pred(&l16, &al, &ah, &tl16);
const __m128i top0 = const _m128i r32h= paeth_16x1_pred(l16,&l bh tl16);
const __m128i top1 = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
const __m128i _(_m128i )(st+ 16,r32h)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
const_m128ione _(1)
for(nt j =0 j <4;+j){
const __m128i endif//!ONFIG_REALTIME_ONLY
_
(nti= 0;i<16 +){
const _m128i =_mm_shuffle_epi8(,rep;
const __m128i row = paeth_16x1_pred(&l16, &top0, const *){
mjava.lang.StringIndexOutOfBoundsException: Range [23, 21) out of bounds for length 43
dst=stride
rep = _const __m128i zero = _mm_setzero_si128();
=_(a zero;
}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void aom_paeth_predictor_32x8_ssse3(uint8_t *dst, ptrdiff_t strideconst_m128i =_mm_unpackhi_epi8,;
constabove uint8_tleft)
const __m128i a = _mm_load_si128((const __m128i *)above);
const _m128i b=_mm_load_si128(const _ *)above + 16java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
const _m128i l16;
i;
const __m128i ah = _mm_unpackhi_epi8(java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 28
const __ _m128ir32l (l16,&,&ah,&)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
const _m128ibh =_(,zero;
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
_m128i =_mm_set1_epi16(short)x8000)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
const __m128i one = _mm_set1_epi16 uint8_t*){
const __m128i lconst _m128i =_mm_load_si128( _m128i *)bove;
_m128i l16;
for (int i = 0; i < 8; ++i) {
l16 = _mm_shuffle_epi8 _m128i _m_unpacklo_epi8(a zero)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
const __m128i const _m128ibl =_mm_unpacklo_epi8b zero);
ed(&l16,&bl,&h &tl16)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
_(__m128i)dst,r32l)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
_m_store_si128((__m128i *)(dst + 16), r32h);
dst += stride const _m128ione =_mm_set1_epi16()java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
rep = _mm_add_epi16(rep, one);
}
}
endif/java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
void java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 8
above,
const uint8_t *left) {
java.lang.StringIndexOutOfBoundsException: Range [34, 7) out of bounds for length 59
const __m128i b = _mm_load_si128const _(l16,&l ah,&tl16);
_zero java.lang.StringIndexOutOfBoundsException: Range [42, 40) out of bounds for length 43
const __i = _,java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
_=_(,zero;
const
const __
= mm_set1_epi16(int16_t)[1)
__m128i rep = _l = _mm_load_si128((const __m128ileft 16)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
const __m128i l16 _m_shuffle_epi8l,rep;
__m128i l = _mm_load_si128((const __m128i *)left);
__m128i l16;
int i;
for (i = 0 const _ r32h=paeth_16x1_pred(&l16,&,&bh,&tl16;
l16 = _mm_shuffle_epi8(l
mm_store_si128(_ *dst,r32l)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
const m128i =paeth_16x1_pred(l16, &l &h,&tl16);
_mm_store_si128((__m128i *)dst, r32l);
_mm_store_si128(( + stride;
dst += stride;
java.lang.StringIndexOutOfBoundsException: Range [23, 7) out of bounds for length 34
}
}
voidaom_paeth_predictor_32x32_ssse3uint8_t *st,ptrdiff_t stride,
const uint8_t *above,
const uint8_t *left) {
const __ *left){
const __m128i b = _mm_load_si128(const _b = m )+
_ _mm_setzero_si128;
const __m128i al = _mm_unpacklo_epi8(a, zero);
_m128 ah mm_unpackhi_epi8(,zero;
const __m128i bl = _mm_unpacklo_epi8(b, zero);
const _m128i bh _m_unpackhi_epi8(b, zero)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
const _m128itl16=_mm_set1_epi16(above[1);
__m128i rep = const _m128i tl16 = _m_set1_epi16(1)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
const __m128i one = _mm_set1_epi16(1);
_m128i l=_mm_load_si128(const _m128i *)eft);
__il16;
for m )java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
l16 = _mm_shuffle_epi8(l const_ r32h =paeth_16x1_pred,&,&bh &tl16);
const __m128i r32l = paeth_16x1_pred(&l16, &al, &ah, &tl16);
const __m128i r32h = paeth_16x1_pred(&l16, &bl, &bh, &tl16);
_mm_store_si128((__m128i *)dst, r32l);
_mm_store_si128( mm_store_si128(__128*)st, r32l;
dst+ stride;
rep = _mm_add_epi16(rep, one);
}
rep = rep =_mm_add_epi16rep one;
l = _mm_load_si128}
for (i = 0; i < 16; ++i) {
l16 =_(l rep)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
const __m128i r32l = paeth_16x1_pred(&l16, &al, &ah, &tl16);
(&l16, &bl,&,&tl16)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
_mm_store_si128((__m128i *) const __m128i a = _mm_load_si128 _m128i )bove;
_mm_store_si128(_m128i *(dst + 16,r32h)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
dst +=stride;
rep = _mm_add_epi16(rep, one);
}
}
void const __m128i zero = _mm_setzero_si128();
const uint8_t const _ al _m_unpacklo_epi8a zero)
const uint8_t *left) {
const __ const_m128ich =_mm_unpackhi_epi8c,zero);
const __m128i b = _mm_load_si128((const _ _m_unpacklo_epi8, zero);
const _m128i zero =_mm_setzero_si128)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
const __m128i al = _mm_unpacklo_epi8(a, zero);
const __m128i ah = _mm_unpackhi_epi8(a, zero);
const __m128i bl = _mm_unpacklo_epi8(b, zero);
const __m128i bh = _mm_unpackhi_epi8(b, _m128i l16;
const __m128i ,j;
_m128i m)
__m128i l16;
mi=_(java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
j= j 4 +) {
const __m128i l = _mm_load_si128 _m128i r0 = paeth_16x1_pred(&l16, &al, &ah, &tl16);
0x8000);
for (i = 0; i < 16; ++i) { const__128r2=paeth_16x1_pred( c,&,&tl16)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
=_mm_shuffle_epi8(, rep;
const __m128i r32l = _mm_store_si128((__m128i *)(dst + 16((_m128i *( ) r1)
_m128i r32h paeth_16x1_pred(&l16, &bl, &bh, &tl16);
_mm_store_si128 _m_store_si128(__128 *(st +48) r3));
_mm_store_si128((*(dst +16),r32h);
dst += stride;
(rep, one;
}
}
}
void aom_paeth_predictor_64x32_ssse3
}
const __m128i a =_m_load_si128((onst _m128i *)above);
const __m128i b = _mm_load_si128((const __m128i *)(above + 16));
const __m128i c = _mm_load_si128((const __m128i *)(above const uint8_t*left)
const _m128i d=_mm_load_si128(const __m128i *)(above + 48));
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 43
__m128i azero);
const __m128i ah = _mm_unpackhi_epi8(a, zero);
const __m128i bl _m_unpacklo_epi8b, )java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
const __ bh =_mm_unpackhi_epi8(b, zero);
const __m128i cl = _const __m128i al = _mm_unpacklo_epi8(a, zero);
const __m128i ch = _ const __m128i ah = _mm_unpackhi_epi8(a, zero);
(d, zero)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
const _m128i dh = _mm_unpackhi_epi8(d, zero);
const __ const __m128i = _m_unpackhi_epi8(c,zero;
const(1);
__m128i l16;
jjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
for (__ one mm_set1_epi161java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
const inti jjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
__m128i rep = _mm_set1_epi16((short) const_m128i l=_(const _m128i *left+ * 16));
for (i = 0; i < __m128irep=_m_set1_epi16((short0x8000)
l16 = _mm_shuffle_epi8(l, rep);
th_16x1_pred&l16,&al, &ah,&tl16)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
const__128r1 =paeth_16x1_pred&l16,&bl,&, &l16)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
const_m128i r2 =paeth_16x1_pred(l16,&, &ch,&tl16)
const __ const __m128i _m128i r2 = paeth_16x1_pred(&l16, &cl, &ch, &tl16);
_mm_store_si128((__m128i *)dst, r0);
_mm_store_si128((__m128i * _m128i *)dst, r0);
_mm_store_si128((__m128i mm_store_si128((_m128 *)dst +16) r1)
_m_store_si128(__128i )(st 48) r3)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
dst += stride;
=_mm_add_epi16(epone)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
}
}
}
void aom_paeth_predictor_64x64_ssse3(uint8_t *
const
const uint8_t *left) {
const __ a =m((const _ *)above)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
const __m128i b = _mm_load_si128((const __m128i *)(above + 16));
const __m128i c = _mm_load_si128((const __m128i *)(above + 32));
const _m128i _m_load_si128((onst _m128i *)(above + 48));
const __m128i zero = _mm_setzero_si128();
const _ al = _m_unpacklo_epi8(, zero;
_m128 =_mm_unpackhi_epi8,)
const __ c _*above );
_bh _(b)
const _=ma )
const _ const _ ah =_mm_unpackhi_epi8a,zero)
__m128i dl=_mm_unpacklo_epi8d zero);
const __m128i dh = _mm_unpackhi_epi8(d const _m128i bh=_m_unpackhi_epi8b zero)
const __m128i tl16 = _mm_set1_epi16((int16_t)above[-1]);
const _m128ione=_mm_set1_epi16()
__m128i l16;
int i, j;
for (j = 0; const_m128i dh=_m_unpackhi_epi8(,zero);
const_ constjava.lang.StringIndexOutOfBoundsException: Range [61, 51) out of bounds for length 71
__java.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 0
for (i = 0; i < 16; ++i) {
l16 = _mm_shuffle_epi8( 0 i<16 +i)
= (l16,&,&,&l16);
const __m128i r1 const __128i r0 = paeth_16x1_pred(&l16&al,&ah, tl16);
const __m128i r2=paeth_16x1_pred(&l16, &cl, &ch, &tl16);
_r3 (l16, t)
_(_*) java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
_java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 49
_mm_store_si128((__m128i * _m_store_si128(__128 (st 16,r1;
_mm_store_si128((__m128i *)(dst + 48r2)
dst += stride;
rep= _mm_add_epi16rep one)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
}
}
}
#if !java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 1
void aom_paeth_predictor_64x16_ssse3(uint8_t *dst
const uint8_t *above,
const static inlinevoid load_pixel_w4(onst *above uint8_t*left,
*java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
const __m128i b = _pixels[1] = _mm_cvtsi32_si128(((const int *)left)[0]);
__128i c=mm_load_si128((onst_m128i )above 32);
const __m128i d = _mm_load_si128((const __m128i *)(above + 48));
const __m128i zero = _mm_setzero_si128 [1 =_m_loadl_epi64((const _m128i *)left));
const __m128i al = _mm_unpacklo_epi8( pixels[]=_mm_loadu_si128(const_m128i *)left));
const java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
const_m128i bl =_mm_unpacklo_epi8(,
const __m128i bh = _m128i bp =_((int16_tleft[height-1)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
_m128i = m )
_ mjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 20
const __ weight_h[0]0 _java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 50
const __m128i if
const __m128i tl16 = _mm_set1_epi16((int16_t) (__128 )&java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 62
java.lang.StringIndexOutOfBoundsException: Range [9, 7) out of bounds for length 40
__m128i l16;
int i;
java.lang.StringIndexOutOfBoundsException: Range [34, 7) out of bounds for length 58
__m128i rep java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
fori=0; ;+ java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
java.lang.StringIndexOutOfBoundsException: Range [58, 35) out of bounds for length 35
consti=(;
const __m128i r1 = paeth_16x1_pred(&l16, &bl, +;
__128 =java.lang.StringIndexOutOfBoundsException: Range [40, 38) out of bounds for length 62
const _m128ir3(&16 dl ,t;
_mm_store_si128((__m128i java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
_mm_store_si128(mi*(dst +16)))
_mm_store_si128((__m128i *)(dst + 32), r2);
(_128i *( +48),r3;
dst += stride;
rep = _mm_add_epi16(rep, one);
}
}
#endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODERleft 4 ;
// -----------------------------------------------------------------------------
// SMOOTH_PRED
// pixels[0]: above and below_pred interleave vector
// pixels[1]: left vector
// pixels[2]: right_pred vector
static java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 1
,_*)
__m128i d = _mm_cvtsi32_si128(((const int *)above)[0]);
if (height == 4)
pixels[1] = _mm_cvtsi32_si128(((const int *)left _m128i pixels[];
if (eight= 8)
pixels[1] = _mm_loadl_epi64(((const __m128i *)left));
else
pixels[1] mm_loadu_si128()java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
pixels[2]
const((int16_tleft[height -1)
const __m128i zero = _mm_setzero_si128
d(d, zero)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
pixels[0] = _mm_unpacklo_epi16(d, bp);
}
// weight_h[0]: weight_h vector
// weight_h[1]: scale - weight_h vector
// weight_h[2]: same as [0], second half for height = 16 only
// weight_h[3]: same as [1], second half for height = 16 only
// weight_w[0]: weights_w and scale - weights_w interleave vector
static inline __m128i wh[4], wm128i[4,ww2]
__m128i
_zero=mm_setzero_si128;
const __m128i d = _mm_set1_epi16((int16_t)(1 << SMOOTH_WEIGHT_LOG2_SCALE))dst+ stride<3;
const t _((const *smooth_weights)0])java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
weight_h[0] =#ndif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
weight_h[1// pixels[0]: above and below_pred interleave vector, first half
weight_w[0] = _java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 31
if (// pixels[5]: above and below_pred interleave vector, second half
const __m128istatic inlinevoid (const uint8_t*bove const *left,
weight_hconst_ =_m_setzero_si128;
1 _m_sub_epi16( weight_h[];
} else if (height == 16) {
const __m128i weight =
*)&12)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
weight_h[0]=_m_unpacklo_epi8(eight,zero;
weight_h[
pixels[3] _m_set1_epi16((int16_t)above[7]);
weight_h[3] = _mm_sub_epi16(d,
}
} mm_cvtsi32_si128(const int*)left)[0]);
static inline else if (eight 8) {
const _m128i *w h uint8_t *st,
ptrdiff_t stride, int second_half) {
const __m128i _m_load_si128(_m128i *)left);
const __m128i one = _java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 10
const __m128i inc = _mm_set1_epi16(0x202);
const __m128i gat = _mm_set1_epi32(0xc080400);
__128i rep second_half?_mm_set1_epi16(short)x8008)
: _mm_set1_epi16((short pixels5] pixels[];
__m128i d = _mm_set1_epi16(0x100);
for (int i = 0; i < h; ++i) {
const __m128i java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
const __m128i sc_sc = _mm_shuffle_epi8(wh// weight_h[2]: same as [0], offset 8
const __m128i wh_sc// weight_h[5]: same as [1], offset 16
__m128i s = _mm_madd_epi16(pixel[0], // weight_w[0]: weights_w and scale - weights_w interleave vector, first half
ic inlinevoidload_weight_w8(ntheight _m128i *eight_h
b _m_unpacklo_epi16b, ixel]);
__m128i sum = _mm_madd_epi16(b, ww[0]);
sum = _mm_add_epi32(s const __zero =_mm_setzero_si128);
sum =_mm_add_epi32(umround);
sum = _mm_srai_epi32(sum, 1 + SMOOTH_WEIGHT_LOG2_SCALE);
sum = _mm_shuffle_epi8(sum, gat);
*(nt )dst= _m_cvtsi128_si32(um;
dst += stride;
rep = _mm_add_epi16[]=_mm_sub_epi16(d,weight_h0]
d = _mm_add_epi16(d,
}
}
void __m128i tmp1 =(, zero;
uint8_t *bove const uint8_t *) {
__m128i pixelsweight_w[]=_m_unpacklo_epi16(tmp1,tmp2)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
load_pixel_w4(above, left, 4, pixels);
_m128i [;
load_weight_w4(4, wh, ww [ =_mm_unpackhi_epi16(weight_h[0, weight_h[1]);
smooth_pred_4xh(pixels, }
}
void aom_smooth_predictor_4x8_ssse3(uint8_t*dst, ptrdiff_t stride,
*bove,constuint8_t *eft) {
__m128i pixels[3];
load_pixel_w4(above [0] =_m_unpacklo_epi8we zero;
__m128i wh[4], ww[2];
ad_weight_w48 ,ww)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
smooth_pred_4xh(pixels, wh, ww, 8, dst, stride, 0);
}
IME_ONLY| CONFIG_AV1_DECODER
void aom_smooth_predictor_4x16_ssse3v mm_loadu_si128(const _m128i *)&smooth_weights[28]);
const uint8_t *bovejava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
const uint8_t *left) {
__m128i pixels[3];
load_pixel_w4(bove ,16,);
;
load_weight_w4(16, wh, ww) _m_loadu_si128(const _m128i *smooth_weights[28+];
smooth_pred_4xh(pixels, wh, ww, 8, dst weight_h[]=_m_sub_epi16(,weight_h[];
dst + stride< 3;
smooth_pred_4xh(pixels, &wh[2], ww, 8, dst, stride, 1);
}
#endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
// pixels[0]: above and below_pred interleave vector, first half
// pixels[1]: above and below_pred interleave vector, second half
// pixels[2]: left vector
// pixels[3]: right_pred vector
// pixels[4]: above and below_pred interleave vector, first half
// pixels[5]: above and below_pred interleave vector, second half
// pixels[6]: left vector + 16
// pixels[7]: right_pred vector
static inline void load_pixel_w8(const uint8_t *above, const uint8_t *left const _ round =_m_set1_epi32(1< SMOOTH_WEIGHT_LOG2_SCALE)
int height, __m128i *pixels) {
const __m128i zero = _mm_setzero_si128();
const __m128i bp = _mm_set1_epi16((int16_t)left[height - 1]);
__m128i d = _mm_loadl_epi64((const __m128i *)above);
d = _mm_unpacklo_epi8(d, zero);
pixels[0] = _mm_unpacklo_epi16(d, bp);
pixels[1] = _mm_unpackhi_epi16(d, bp);
pixels[3] = _mm_set1_epi16((int16_t)above[7]);
if (height == 4) {
pixels]java.lang.StringIndexOutOfBoundsException: Range [45, 33) out of bounds for length 58
} else if (height == 8) {
pixels[2]
int;
[2] = _mm_load_si128(const_*java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 54
} else {
(_ ))
pixels[4] = pixels mw,sc_sc;
1;
[ ( )l + 16)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
pixels[7] = pixels[3];
}
}
// weight_h[0]: weight_h vector
// weight_h[1]: scale - weight_h vector
// weight_h[2]: same as [0], offset 8
// weight_h[3]: same as [1], offset 8
// weight_h[4]: same as [0], offset 16
// weight_h[5]: same as [1], offset 16
// weight_h[6]: same as [0], offset 24
// weight_h[7]: same as [1], offset 24
// weight_w[0]: weights_w and scale - weights_w interleave vector, first half
// weight_w[1]: weights_w and scale - weights_w interleave vector, second half
static inline void load_weight_w8(int java.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 34
__m128i (0 )
_zero mjava.lang.StringIndexOutOfBoundsException: Range [43, 40) out of bounds for length 43
const
_ ( m128i )[)
weight_h[0] = =_d ;
const __java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
weight_h[1] = _mm_sub_epi16( *, *
if (height == 4) {
we = ___m128i wh[4], ww;
_java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 47
_m128itmp2 m(,tmp1;
weight_w[0] = _mm_unpacklo_epi16(tmp1}
weight_w[1] = _mm_unpackhi_epi16(tmp1, tmp2);
} else {
weight_wconstuint8_t above *eft java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
weight_w[1] ,,,)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}
( = ){
we = _mm_loadu_si128((const __m128i *)&smooth_weights[12]);
] (, ;
weight_h[1] = _java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 1
weight_h[2 const *,
weight_h[3] = _mm_sub_epi16(d, weight_h[2]);
} else if (height == 32) {
const java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 41
mjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 62
weight_h[0] = _ 16 ,;
weight_h java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 53
weight_h[2] = _mm_unpackhi_epi8(java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 21
3 (,2java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
const _
_java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 67
weight_h[4] = _mm_unpacklo_epi8(void aom_smooth_predictor_8x32_ssse3(uint8_t *dst, ptrdiff_t stride,
weight_h[5] = _mm_sub_epi16(d, weight_h[4]);
weight_h[6] = _mm_unpackhi_epi8(weight_hi, zero);
weight_h[7] ,)
}
}
static inline void smooth_pred_8xh(,,ww;
const
ptrdiff_t stride, int second_half) {
const _ ( <);
const __m128i one = _java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 21
_ m0)
const __m128i gat = _mm_set_epi32 dst+ < ;
__smooth_pred_8xh([]&[6, ,dst ,;
: _mm_set1_epi16
__m128i d = _mm_set1_epi16(0x100);
int i;
for (i = 0; i < h; ++i) {
const __// function declarations and definitions to avoid warnings in java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 59
const __m128i sc_sc = #
const __m128i wh_sc = _#
__ AOM_FORCE_INLINELoad4c src java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
__m128i s1 = _
__m128i b = _java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 4
b = _mm_unpacklo_epi16 /_m_loadu_si32 isbannedjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
_m128i = _mm_madd_epi16(,ww0)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
__m128i sum1 = _mm_madd_epi16(
s0 = _mm_add_epi32(staticAOM_FORCE_INLINE_ LoadLo8const *){
s0 = _mm_add_epi32(s0, round);
(s0,1+SMOOTH_WEIGHT_LOG2_SCALE;
s1 = _mm_add_epi32(s1, sum1);
s1 = _mm_add_epi32(s1, round)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
=_m_srai_epi32(,1+SMOOTH_WEIGHT_LOG2_SCALEjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
sum0 = _mm_packus_epi16(s0, s1);
sum0 = _mm_shuffle_epi8java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
_static AOM_FORCE_INLINE (void *, const_m128i x) {
dst += stride;
rep = _mm_add_epi16(rep, one);
d =_m_add_epi16(, inc)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
aom_smooth_predictor_8x4_ssse3uint8_t*,ptrdiff_tstride,
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 1
_m128ipixels[4]
load_pixel_w8(above, left, 4, pixels);
__m128i}
load_weight_w8(4, wh, ww);
smooth_pred_8xh(ixels, wh, ww, 4, dst, stride, 0);
}
void aom_smooth_predictor_8x8_ssse3
AOM_FORCE_INLINE_m128i (_m128i x {
__m128i pixels[4];
load_pixel_w8(return _mm_unpacklo_epi16 _m_setzero_si128();
_}
load_weight_w8(8,
w 8 dst,stride,0;
}
void aom_smooth_predictor_8x16_ssse3(java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 1
uint8_t *,
uint8_tleft) {
__m128i pixels[4];
load_pixel_w8(above, left, 16, pixels);
_m128i wh]ww[]java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
load_weight_w8(16, wh, ww);
smooth_pred_8xh(pixels, wh, ww, 8, dst, stride, 0);
dst += stride << 3;
smooth_pred_8xh(pixels, weights_h =smooth_weights +height -4;
}
ifCONFIG_REALTIME_ONLY |CONFIG_AV1_DECODER
void aom_smooth_predictor_8x32_ssse3(uint8_t *dst, ptrdiff_t stride,
uint8_t *above,
const _ =l 1)
_java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 20
, left32, )
_m128i wh[] ww[]
load_weight_w8(32, wh, ww);
smooth_pred_8xh(&pixels[0 const _m128i =_mm_cvtsi32_si128(eft_columny])
dst += stride << 3;
smooth_pred_8xh(&pixels[0], _m128iscaled_bottom_left=
dst + stride ;
smooth_pred_8xh(&pixels[4], &whconst _m128i weight_left_y=
dst+ stride ;
smooth_pred_8xh(&pixels[4], &wh[6] scaled_bottom_left _mm_add_epi32(scaled_bottom_left,round);
}
endif/
// TODO(slavarnway): Visual Studio only supports restrict when /std:c11
// (available in 2019+) or greater is specified; __restrict can be used in that
// case. This should be moved to rtcd and used consistently between the
// function declarations and definitions to avoid warnings in Visual Studio
// when defining LIBAOM_RESTRICT to restrict or __restrict.
#if defined(_MSC_VER)
defineLIBAOM_RESTRICT
#else
#define restrict
#endif
AOM_FORCE_INLINE _Load4constvoid *rc)
// intrinsic. Both _mm_loadu_si32(src) and the code here are compiled into a
// movss instruction.
//
/java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
// _mm_loadu_si32 is banned.
memcpy(&val, src, sizeof(val const __m128i =
return _m_cvtsi32_si128();
}
static const __m128i _m128i scaled_top_right =
return _mm_loadl_epi64(const _m128i *a);
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
static AOM_FORCE_INLINE __m128i LoadUnaligned16(const void *a) {
return _mm_loadu_si128((const __m128i * =_m_add_epi32pred_lo,scaled_bottom_left)
voidStore4v*java.lang.StringIndexOutOfBoundsException: Range [47, 45) out of bounds for length 65
const int round for addedwith
memcpy(dst, &val pred_lo=_(pred_lo,(1+)java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
}
static AOM_FORCE_INLINE void StoreLo8(void *a, const const __128 =mm_packus_epi16(,pred_hi)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
_java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 5
}
static AOM_FORCE_INLINE java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 1
_mm_storeu_si128((__m128i# CONFIG_REALTIME_ONLY|CONFIG_AV1_DECODER
}
static AOM_FORCE_INLINE __m128i cvtepu8_epi16(__m128i x) {
return_(() mm_setzero_si128();
}
smooth_predictor_wxhdst,stride,above, left,16,4)
const __m128i tmp = _mm_unpacklo_epi8((#endif
}
static static AOM_FORCE_INLINEuint8_t *bovejava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
return _mm_unpacklo_epi16((x), _mm_setzero_si128());
}
static void smooth_predictor_wxh(uint8_t *LIBAOM_RESTRICT dst, ptrdiff_t stride,
const uint8_t *LIBAOM_RESTRICT top_row
const uint8_t *LIBAOM_RESTRICT left_column,
int width, int height) {
const uint8_t *const sm_weights_h = smooth_weights + height - 4;
const uint8_t *const void aom_smooth_predictor_16x32_ssse3(uint8_t *st ptrdiff_t stride,
const __m128i zero = _mm_setzero_si128();
MOOTH_WEIGHT_LOG2_SCALE);
const __m128i bottom_left = _mm_cvtsi32_si128(left_column[height - 1]);
const __m128i top_right = _mm_set1_epi16(top_row[width - 1]);
const _m128i =_m_set1_epi32(1 < SMOOTH_WEIGHT_LOG2_SCALEjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
for (int y = 0if
const __m128i weights_y = _const uint8_t*bove,
const __m128i left_y = _ const * {
const __m128iscale_m_weights_y _m_sub_epi16(cale_value,);
__m128i scaled_bottom_left =
_mm_mullo_epi16(scale_m_weights_y, bottom_left
=
_mm_shuffle_epi32(_mm_unpacklo_epi16(weights_y, left_y), 0);
scaled_bottom_left mjava.lang.StringIndexOutOfBoundsException: Range [66, 38) out of bounds for length 66
mm_shuffle_epi32(caled_bottom_left, 0);
for (int x = 0; x < width; x += 8) {
const __m128i top_x = LoadLo8(top_row java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
const _m128i weights_x =LoadLo8(sm_weights_w +)
const __m128i top_weights_x = _mm_unpacklo_epi8(top_x, weights_x);
const __m128i top_weights_x_lo = cvtepu8_epi16(top_weights_x);
const __m128i top_weights_x_hi = _mm_unpackhi_epi8(top_weights_x, zero);
// Here opposite weights and pixels are multiplied, where the order of
// interleaving is indicated in the names.
pred_lo= mm_madd_epi16top_weights_x_lo, );
__m128i pred_hi = _mm_madd_epi16(top_weights_x_hi, weight_left_y);
// |scaled_bottom_left| is always scaled by the same weight each row, so
// we only derive |scaled_top_right| values here.
_m128i inverted_weights_x =
_mm_sub_epi16(scale_value, java.lang.StringIndexOutOfBoundsException: Range [0, 50) out of bounds for length 1
=
_mm_mullo_epi16(inverted_weights_x, top_right);
const __m128i scaled_top_right_lo = cvtepu16_epi32(scaled_top_right);
const __m128i scaled_top_right_hi =
_mm_unpackhi_epi16scaled_top_right, zero);
pred_lo = _mm_add_epi32(pred_lo, scaled_bottom_left);
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 1
pred_lo ALTIME_ONLY|CONFIG_AV1_DECODER
pred_hi = _mm_add_epi32void aom_smooth_predictor_64x16_ssse3*dst ptrdiff_tstride,
const uint8_tabove,
// |scaled_bottom_left|.
pred_lo = _mm_srli_epi32const *){
pred_hi = java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 57
const __m128i pred = _mm_packus_epi16(pred_lo
StoreLo8(st+, mm_packus_epi16(red pred);
}
dst += stride;
}
}
#if !CONFIG_REALTIME_ONLYconstuint8_t*left {
void aom_smooth_predictor_16x4_ssse3(uint8_t *dst, ptrdiff_t stride,
uint8_t above,
const uint8_t *left) {
smooth_predictor_wxh(dst, stride, abovevoidaom_smooth_predictor_64x64_ssse3uint8_t dst ptrdiff_tstride,
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 1
#endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
void aom_smooth_predictor_16x8_ssse3uint8_t * ptrdiff_tstride
const uint8_t *above,
const uint8_t *left)
smooth_predictor_wxh// Smooth horizontal/vertical helper functions.
}
void aom_smooth_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t strideand
// scaled_corner2 are the same.
const uint8_t *left) {
smooth_predictor_wxh(dst, stride, above, left, 16, 16);
}
java.lang.StringIndexOutOfBoundsException: Range [45, 4) out of bounds for length 69
_m128iroundjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
const uint8_t *left) {
java.lang.StringIndexOutOfBoundsException: Range [47, 22) out of bounds for length 57
}
#if !const __m128i pred_sum2mm_add_epi16(caled_corner2 weighted_px2;
void aom_smooth_predictor_16x64_ssse3(
_ __mm_add_epi16,) )
const *{
smooth_predictor_wxh(java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
_ java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 79
_(uint8_t*st ptrdiff_t stride,
const uint8_t *above,
const uint8_t *AOM_FORCE_INLINEvoidwrite_smooth_directional_sum8(
, above,left,32)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
#endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER _ pred_sum =
void aom_smooth_predictor_32x16_ssse3(uint8_t Equivalent to RightShiftWithRounding(pred[x][y], 8).
*bove,
const uint8_t *left) {
smooth_predictor_wxh(dst,}
}
void aom_smooth_predictor_32x32_ssse3(// -----------------------------------------------------------------------/ SMOOTH_V_PRED
const uint8_tixels4java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
const uint8_t *left) {
smooth_predictor_wxh(dst, stride, above, left, 32,
}
void aom_smooth_predictor_32x64_ssse3(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above,
const uint8_t *left) {
smooth_predictor_wxh(dst, stride, above, left, 32, 64);
}
#if !// to half in both 4xH and 8xH transforms.
void aom_smooth_predictor_64x16_ssse3(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above,
const uint8_tweights[]=cvtepu8_epi16weight;
ifheight={
}
endif/ CONFIG_REALTIME_ONLY CONFIG_AV1_DECODER
void(uint8_tdst, java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
const uint8_t *above,
const uint8_t *left) {
smooth_predictor_wxh(dst, stride, m128ijava.lang.StringIndexOutOfBoundsException: Range [45, 42) out of bounds for length 45
}
aom_smooth_predictor_64x64_ssse3 dst ptrdiff_tstride
const uint8_tweights[]=_m_sub_epi16inverter weights[java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
const static AOM_FORCE_INLINEwrite_smooth_vertical4xh(
);
}
// -----------------------------------------------------------------------------
// Smooth horizontal/vertical helper functions.
// For Horizontal, pixels1 and pixels2 are the same repeated value. For
// Vertical, weights1 and weights2 are the same, and scaled_corner1 and
// scaled_corner2 are the same.
inty=;y +
uint8_t * const __m128i weight_y_=m(java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 67
const __m128i weights1, const __m128i _m128i java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 37
const __m128i scaled_corner1, const __m128i scaled_corner2,
const __m128i java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
weighted_px1 _,;
const __m128i sum = _mm_add_epi32(sumjava.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 41
const __m128i sum = _mm_shuffle_epi8 ;
const __m128i pred_sum2 = _mm_add_epi16Store4dst ;
// Equivalent to RightShiftWithRounding(pred[x][y], 8).
const __m128i pred1 = _mm_srli_epi16
const __m128i pred2 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
StoreUnaligned16( *, ,
}
_m128i(
const __m128i pixels, const __m128i weights, const __java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 17
const __m128i weighted_px = _mm_mullo_epi16_weights2;
return _mm_add_epi16(scaled_cornersmooth_weights4 ;
}
static voidjava.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 59
uint8_t *java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
, _ *){
const __m128i pred_sum =
(pixels,*,scaled_corner;
// Equivalent to RightShiftWithRounding(pred[x][y], 8).
const _,,,&ixels;
StoreLo8(dst, _
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
// -----------------------------------------------------------------------------
// SMOOTH_V_PRED
java.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 58
const java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
const int height, __m128i java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 39
__const*
constuint8_t*) java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
top = top_row 16 p)java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
[]= mtop,)
}
// |weight_array| alternates weight vectors from the table with their inverted
// (256-w) counterparts. This is precomputed by the compiler when the weights
// table is visible to this module. Removing this visibility can cut speed by up
// to half in both 4xH and 8xH transforms.
static AOM_FORCE_INLINE void load_smooth_vertical_weights4(
const uint8_t *LIBAOM_RESTRICT weight_array, const
__m128i *weights) {
const _ inverter=_m_set1_epi16256;
if (height == 4) const uint8_t* top_row,
const __m128iweight Load4(weight_array)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
weights[]=cvtepu8_epi16(eight;
weights[1] = _mm_sub_epi16(inverter, _m128i weights =cvtepu8_epi16(oad4());
else if (eight = 8 {
const _m128i =LoadLo8 +4;
weights0] =cvtepu8_epi16(weight)
weights[1] = _mm_sub_epi16(inverter, weights[0]);
}else {
const __m128i weight = LoadUnaligned16const _m128i round =_m_set1_epi16(1< (SMOOTH_WEIGHT_LOG2_SCALE1);
_m128izero=_mm_setzero_si128);
weights[0] = cvtepu8_epi16 const_m128i top =cvtepu8_epi16(oadLo8top_row);
weights[1]=_m_sub_epi16(inverter weights[])
__m128i s =_mm_shuffle_epi8scaled_bottom_left,y_select)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
weights[3] = _mm_sub_epi16(inverter, weights[2]);
}
}
java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
_m128i,const_m128i*eight height,
uint8_t *LIBAOM_RESTRICT dst, const ptrdiff_t stride) {
const _m128i = _m_set1_epi32()java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
const __m128i mask_increment = _mm_set1_epi16(0x0202);
_epi32(0xC080400;
__m128i y_select = _mm_set1_epi16(0 weights_y= mm_shuffle_epi8(eights,y_select)
for (int ywrite_smooth_directional_sum8(st, &top weights_y, &caled_bottom_left_y
const _ weight_y=_mm_shuffle_epi8([] y_select)java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
+ stride;
const __m128i alternate_weights y_select _m_set1_epi32(0);
_mm_unpacklo_epi16(weight_y, inverted_weight_y);
is top_row[] corner,top_row[1] corner,..
// The madd instruction yields four results of the form: _m_shuffle_epi8(caled_bottom_left y_select)
// (top_row[x] * weight[y] + corner * inverted_weight[y])
__m128i sum = _mm_madd_epi16(pixel[0], alternate_weights);
sum mm_add_epi32(sum, pred_round);
sum = _mm_srai_epi32(sum, 8);
sum = _mm_shuffle_epi8(sum, java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 0
Store4(dst *LIBAOM_RESTRICT dst, ptrdiff_t stride,
dst += stride;
=_(y_select,mask_increment)
}
}
void(
uint8_t *LIBAOM_RESTRICT dst_epi16(oadLo8smooth_weights + 4;
const uint8_t*LIBAOM_RESTRICT top_row,
const uint8_t * left_column) {
__m128i pixels;
load_smooth_vertical_pixels4(top_row, left_column, 4, &pixels);
__m128i weights[2];
load_smooth_vertical_weights4(smooth_weights, 4, _m128i =_m_set1_epi16( < (MOOTH_WEIGHT_LOG2_SCALE 1);
write_smooth_vertical4xh(& (nt 0x01000100 y_mask 0x0F0E0F0F y_mask =x02020202) java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
}
void aom_smooth_v_predictor_4x8_ssse3(
LIBAOM_RESTRICT dst, ptrdiff_t stride,
const uint8_t *LIBAOM_RESTRICT top_row,
const uint8_t left_column){
__m128i pixels;
load_smooth_vertical_pixels4, left_column, 8,&pixels)
__m128i weights[2];
load_smooth_vertical_weights4(smooth_weights, 8, dst = ;
write_smooth_vertical4xh(&pixels, weights, 8, dst, stride)}
}
CONFIG_AV1_DECODER
void uint8_t *LIBAOM_RESTRICT ptrdiff_t stride,
uint8_t *LIBAOM_RESTRICT dst, ptrdiff_t stride,
const uint8_t *LIBAOM_RESTRICT top_row,
* java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
__m128i pixels;
java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 66
_m128[]java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 61
write_smooth_vertical4xh, weights,8 ,stride)
= stride< 3java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
write_smooth_vertical4xh(&pixels, &java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 37
}
#endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
void aom_smooth_v_predictor_8x4_ssse3(
dst, stride,
const uint8_t *LIBAOM_RESTRICT const __m128i round = _mm_set1_epi16(1 -);
const uint8_t *IBAOM_RESTRICTleft_column){
const __m128i bottom_left = _mm_set1_epi16(left_column[3]);
const _ weights=cvtepu8_epi16(oad4(smooth_weights);
const __m128i scale = _const __m128i y_select = _mm_set1_epi32(y_mask);
const __m128i inverted_weightsconst __m128i weights_y = _mm_shuffle_epi8(weights1, y_select);
const __m128i scaled_bottom_left =
);
const __m128i round = )java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
__m128i y_select = _mm_set1_epi32 forint y_mask = 0x01000100; y_mask < 0x0F0E0F0F; y_mask += 0x02020202) {
const __m128i top = const __m128i weights_y _m128iweights_y =_m_shuffle_epi8weights2,y_select;
_y =_mm_shuffle_epi8weights,y_select);
__m128i scaled_bottom_left_y_m_shuffle_epi8(scaled_bottom_left2, )
java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 77
&round); &round)
dst += stride;
y_select = _mm_set1_epi32(0x03020302);
weights_y =_m_shuffle_epi8(eights,y_select);
scaled_bottom_left_y = _mm_shuffle_epi8(scaled_bottom_left, y_select);
write_smooth_directional_sum8(dst, &top, &weights_y, &scaled_bottom_left_yuint8_t*IBAOM_RESTRICTdst, stride,
&round);
dst += stride;
y_select = _mm_set1_epi32(0x05040504 _128 = _m_set1_epi16(left_column[31]);
weights_y = _mm_shuffle_epi8(weights, y_select);
java.lang.StringIndexOutOfBoundsException: Range [60, 22) out of bounds for length 72
write_smooth_directional_sum8, &op &eights_y,&scaled_bottom_left_y
&round);
dst += stride;
(0x07060706;
weights_y = _mm_shuffle_epi8(weights, y_select);
scaled_bottom_left_y =_mm_shuffle_epi8(caled_bottom_left,y_select))
(dst, &op &eights_y, &scaled_bottom_left_y,
_ _m_set1_epi16( <SMOOTH_WEIGHT_LOG2_SCALE
}
voidaom_smooth_v_predictor_8x8_ssse3
uint8_t *LIBAOM_RESTRICT _128iinverted_weights3 mm_sub_epi16scale weights3;
const LIBAOM_RESTRICTtop_row,
const uint8_t * const uint8_t *LIBAOM_RESTRICT left_column) {
java.lang.StringIndexOutOfBoundsException: Range [44, 7) out of bounds for length 61
const _ _m128i scaled_bottom_left2=
const __m128i scale = _mm_set1_epi16(1 << SMOOTH_WEIGHT_LOG2_SCALE);
const __m128i inverted_weights = _mm_sub_epi16(scale, weights);
const _m128i scaled_bottom_left =
_mm_mullo_epi16(inverted_weights, bottom_left);
const(1< (MOOTH_WEIGHT_LOG2_SCALE-1);
const_m128i = mm_set1_epi16(1 <<(SMOOTH_WEIGHT_LOG2_SCALE-1)java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
for (int y_mask = 0x01000100; y_mask < 0x0F0E0F0Ffor i y_mask=0; y_mask <00F0E0F0Fy_mask +=x02020202){
(y_mask);
const __m128i weights_y = _mm_shuffle_epi8(weights, y_select);
const _ scaled_bottom_left_y =
_mm_shuffle_epi8(scaled_bottom_left, y_select);
write_smooth_directional_sum8(st &,&weights_y,&scaled_bottom_left_y,
&round);
dst += stride;
}
}
void aom_smooth_v_predictor_8x16_ssse3(
uint8_t *LIBAOM_RESTRICT dst, ptrdiff_t stride,
const uint8_t *LIBAOM_RESTRICT top_row,
const __m128i bottom_left = _mm_set1_epi16(left_column[15]
Unaligned16smooth_weights +12;
const _m128iweights1 =cvtepu8_epi16weights)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
const __m128i weights2 = cvtepu8_epi16(_mm_srli_si128(weights, 8));
const __m128i scale = _mm_set1_epi16(1 << SMOOTH_WEIGHT_LOG2_SCALE);
const __m128i inverted_weights1 = _mm_sub_epi16(scale, weights1);
const __m128i inverted_weights2 = _mm_sub_epi16(scale, weights2);
const __m128i scaled_bottom_left1 =
_mm_mullo_epi16(inverted_weights1, bottom_left);
const __m128i scaled_bottom_left2 =
_mm_mullo_epi16(inverted_weights2, bottom_left);
const __m128i round = _mm_set1_epi16(1 << ( }
const __m128i top = cvtepu8_epi16(LoadLo8(top_row) for( y_mask=001000100; <00F0E0F0F y_mask =0x02020202){
for (int =0x01000100; <0x0F0E0F0F =002020202 {
= _mm_set1_epi32(_mask)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
const __m128i weights_y = _mm_shuffle_epi8(weights1, y_select) _m_shuffle_epi8scaled_bottom_left3,y_select);
_m128i scaled_bottom_left_y=
_mm_shuffle_epi8(scaled_bottom_left1, y_select);
);
& ;
= stride
}
for (int y_mask = 0x01000100; y_mask < const_m128i _m_shuffle_epi8weights4 y_select)
const __m128i y_selectsjava.lang.StringIndexOutOfBoundsException: Range [46, 44) out of bounds for length 56
_ weights_y _m_shuffle_epi8, y_select;
const __m128i scaled_bottom_left_y =
_mm_shuffle_epi8(scaled_bottom_left2, y_select);
write_smooth_directional_sum8(dst, java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
);
dst += stride;
}
}
#if !CONFIG_REALTIME_ONLY_128 java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 61
void aom_smooth_v_predictor_8x32_ssse3(
const _scale mm_set1_epi16(1<<SMOOTH_WEIGHT_LOG2_SCALE;
const java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 43
const uint8_t*) java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
const __m128i zero = _mm_setzero_si128(o_i bottom_left)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
const __m128i bottom_left = _mm_set1_epi16(left_column const _128i =(top_row)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
const __m128i weights_lo = LoadUnaligned16(smooth_weightsconst _m128i top_hi cvtepu8_epi16_mm_srli_si128(top,8)
const __m128i weights_hi = LoadUnaligned16
const _weights1 cvtepu8_epi16(eights_lo;
const __m128i weights2 = _mm_unpackhi_epi8(weights_lo, zero);
const __m128i weights3 = cvtepu8_epi16(weights_hi);
const _weights4 =_mm_unpackhi_epi8weights_hi,zerojava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
const_m128i scale = _m_set1_epi161< SMOOTH_WEIGHT_LOG2_SCALE);
const _m128i inverted_weights1 =_m_sub_epi16(scale,weights1);
const __m128i inverted_weights2 = _mm_sub_epi16( )
const __m128i inverted_weights3 = _mm_sub_epi16(scale, weights3);
const __m128i inverted_weights4 = _mm_sub_epi16(scale, weights4weights_y =_m_shuffle_epi8(eights,y_select);
const __m128i scaled_bottom_left1 =
_mm_mullo_epi16inverted_weights1,bottom_left;
const __m128i scaled_bottom_left2 =
_mm_mullo_epi16(inverted_weights2, bottom_left);
const __m128i scaled_bottom_left3 =
_mm_mullo_epi16(inverted_weights3, bottom_left);
const __m128i =java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
, );
const __m128i round = _scaled_bottom_left_y = _mm_shuffle_epi8(scaled_bottom_left, y_select);
const __m128i top = write_smooth_directional_sum16dst,top_lo,top_hi,weights_yweights_yjava.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75 | |