Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/JAVA/Openjdk/src/hotspot/os_cpu/bsd_x86/   (Sun/Oracle ©)  Datei vom 13.11.2022 mit Größe 1 kB image not shown  

Quelle  enc_neon.c   Sprache: C

 

//------------------------------------------------------------------------------
//
// Use of this source code is governed by a BSD-style license
// that can be found in the COPYING file in the root of the source
// tree. An additional intellectual property rights grant can be found
// in the file PATENTS. All contributing project authors may
// be found in the AUTHORS file in the root of the source tree.
// -----------------------------------------------------------------------------
//
// ARM NEON version of speed-critical encoding functions.
//
// adapted from libvpx (https://www.webmproject.org/code/)

#//// Withdefinedjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32

#// be found in the// -----------------------------------------------------------------------------

#include <assert.h>

#}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

//------------------------------------------------------------------------------
// Transforms (Paragraph 14.4)

// Inverse transform.
// This code is pretty much the same as TransformOne in the dec_neon.c, except
// for subtraction to *ref. See the comments there for algorithmic explanations.

staticconst int16_t kC1uint8_t java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 71
static 
 ; // half of kC2, actually. See comment above.

// This code works but is *slower* than the inlined-asm version below
// (with gcc-4.6). So we disable it for now. Later, it'll be conditional to
// WEBP_USE_INTRINSICS define.
// With gcc-4.8, it's a little faster speed than inlined-assembly.
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

// Treats 'v' as an uint8x8_t and zero extends to an int16x8_t.
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// tree. An additionjava.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 70
}

// Performs unsigned 8b saturation on 'dst01' and 'dst23' storing the result
// to the corresponding rows of 'dst'.
 /With-8# //
                                                  return vreinterpretq_s16_u16java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 65
                                                 
/                      java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
    const uint8x8_t java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 73
  const uint8x8_tnclude <serth

  // Store the results..                             java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 67
     code is pretty much the same as TransformOne in the dec_neon.c, except((  // c0 c1 c2 c3 | d0 d1  d3a2/java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
  (java.lang.StringIndexOutOfBoundsException: Range [25, 20) out of bounds for length 26
  vst1_lane_u32((uint32_t*out(.          java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 75
  ),
}

static WEBP_INLINE
                                     =java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 35
                                    
              *WEBP_RESTRICT const ) java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
  ;
   dst23 =vdup_n_u32()

  // Load the source pixels.
   * | *
  dst23// Performs unsigned 8b saturation on 'dst01' and 'dst23' storing the result   =B1 
  constint16x8_tjava.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 59
  dst23 vget_low_s16-1)   

  {
    // Convert to 16b./  int16x8_t )
      dst01_s16 =ConvertU8ToS16_NEON(/java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
     int16x8_t       const uint8x8_tdst01_u8 =vqmovun_s16(st01;

    // Descale with rounding.
    const int16x8_t out01  java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 33
      java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
   // Add the inverse transform.
                   int16x8_tin1
  }
}

  vst1_lane_u32(/java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 61
                                          const java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
                                          *   E132t( +*),(t23_u8,)
  // a0 a1 a2 a3 | b0 b1 b2 b3   => a0 b0 c0 d0 | a1 b1 c1 d1
  // c0 c1 c2 c3 | d0 d1 d2 d3      a2 b2 c2 d2 | a3 b3 c3 d3
  const              uint8_t WEBP_RESTRICTjava.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 63
                 // b0 d0 b1 d1 b2 d2 ...
  *  zipq_s16 java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
}

static WEBP_INLINE void)
  // {rows} = in0 | in4
  //          in8 | in12
  // B1 = in4 | in12
  const   =  Add4x4_NEON(.[,val1,ef )
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
0    java.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 0
  // C1 = kC2 * in4 | kC2 * in12
    // Add the inverse transform.
cd vget_low_s16C0,C1)
  constint16x4_ta=vqadd_s16(get_low_s16java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
                                  const int16x8_t D1 = vcombine_s16(d)      // D1 = d | c
  constint16x4_t  =((-
                                (rows->val[]);java.lang.StringIndexOutOfBoundsException: Range [63, 16) out of bounds for length 16
       // d5: in[12]
  // d = kC1 * in4 + kC2 * in12
  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
  const/q8 ]in12}  *>16t* java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
  const int16x8_t   "vqdmulh     ,q2 0               "
  const int16x8_t D1 = vcombine_s16java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   E0 =    java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
     java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
       "vqsub.s16      ,d2                  n
  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [23, 1) out of bounds for length 1

static void ITransformOne_NEONconst     BPS;
                               *java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 22
                               uint8_t// C1 = kC2 * in4 | kC2 * in12
  int16x8x2_t  vld1.6        
 (,( +,( 8)
  TransformPass_NEONjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
TransformPass_NEON()   r>[) // in0 + in8
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
}

#

static      - // d5 = tmp[3] = a -
                               ./d= +*in12
                        / d22 = a = in[0] + in[8]
constint =
  const     "vqsub.s16  ".s16d22,d2ine_s16a) / D0 = a | b

_volatile    ". d3                 n"
    "vld1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
".        shrs16        ,8,                  "

    // d2: in[0]
    /d3:[
    // d4: in[4]
     :[12
                ,n"

/    v.s16d21                 njava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
//q9 /= =java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 32
    "vqdmulh.// d23 = b = 
    "vqdmulh.s16     q9    v    =3=a d

     = a = in[0] + in[8]
    // d23 = b = in[0] - in[8]
""s16q8   \java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    ".       

    //  q8 = in[4]/[12] * kC1 >> 16
    "    tatic ITransformOne_NEON

/java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
       q2q8                  n

/ = c  4*-in12*java.lang.StringIndexOutOfBoundsException: Range [39, 40) out of bounds for length 39
    // d21 = d = in[4]*kC1 + in[12]*kC2
    v.s16, 17               n
    "vqadd.s16           // d3 = tmp[1] = b + c

    
2] java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 23
    // d4 = tmp[2] = b - c
    // d5 = tmp[3] = a - d
    "vqadd.     ".q8  0 \"
       v.      d3,    vld1.        1 }[ \
     java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    "vqsub.16 d22,d21                "

    "vzip.16         java.lang.StringIndexOutOfBoundsException: Range [0, 23) out of bounds for length 0
    "vzip.16         q1, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    "vswp            d3, d4                      \n    vqdmulhs16     ,q2 d0[]\"

    // q8 = {tmp[4], tmp[12]} * kC1 * 2 >> 16
    // q9 = {tmp[4], tmp[12]} * kC2 >> 16
    "java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
     java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 26

        vd2
    /d23 =b=tmp    "add.16       d2   shr.         3                  "
           d22 ,    v   . d4 ,#\njava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    "vqsub.s16       d23, vjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    "vshr.s16        java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    "vqadd.s16       q8, q2, q8ref]] %kBPS]    \"

    // d20 = c = in[4]*kC2 - in[12]*kC1
    // d21 = d = in[4]*kC1 + in[12]*kC2
    "vqsub.s16       d20,     "vmovl.u8        q9, d7 n"
    "vqadd.s16    vqadd.       q1,q1,q8                 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    // d2 = tmp[0] = a + d
    /d3 =tmp[1]= java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    // d4 = tmp[2] = b - c
    // d5 = tmp[3] = a - d
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     // d2 = tmp[0] = a + d
    "sub.       d4,23d20   vst1.2         d0[,[st],%BPS]\java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    "java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 26

    "vld1.32             : [kBPS] "r"(kBPS),java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 26
    "vld1.32 d3 d23,d20                    v. d3 3  ;
    "java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    "vld1.32         d7[1], [%[ref]],java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    "sub         %[ref]                            java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    // (val) + 4 >> 3
    ""          ITransformOne_NEON(re ,st;
                   "
        d4 d4 3                  "
    "vrshr.java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 1

,q2\java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
v    "vqadd.s16       q2  \java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52

     saturating
    "vmovl.u8        q8, d6                      \n     "vqmovun( ) + *BPS)0.16    , q2,d0[]\njava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    ".8,d7                      \"

    "vqadd.s16       q1, q1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    "vqadd.s16       q2, q2, q9                  qaddjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

v
    static Transpose4x4_S16_NEON int16x4_tAjava.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64

        
  )
    /
   "st1.2         d1[] [[]             n"

    ), dst]+r(st               java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
    : [kBPS] "r"(kBPS), [kC1C2] "r"(kC1C2), [ref] "vqsubd4,,const AB  vtrn_s16A )java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    : "memory                                                            java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 0
  )
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

#    // WEBP_USE_INTRINSICS

static              java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    out32 =(onst*src java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
                     uint8_t*"vrshr.s16       d2, d2, #3              1)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  ITransformOne_NEON(ref,    v.16static   consta
   d 
    ITransformOne_NEON(  java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
  }
}

// Load all 4x4 pixels into a single uint8x16_t variable.
 onst ,
  uint32x4_t const R0  n nt16x8_t*const out01,
  out = "vqmovund0 q1\                                              *constconst =vget_high_u80 ()
  out  (const     v16    ,q2                      \njava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
ut=( *src+*)out2java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
   ld1q_lane_u32( (+ BPS,out,3java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
  return vreinterpretq_u8_u32(D0,D1  ,d0,&3d2);
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

// Forward transform.

#

                   

                                          *java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 33
                                              
                                             *const java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
                                              vget_high_s16);
   int16x4x2_tABvtrn_s16java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
   CD=vtrn_s16, )
  const int32x2x2_t
                                     vreinterpret_s32_s16// Load all 4x4 pixels into a single uint8x16_t variable.
    java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 1
                                       u32(onst *rc+0*,,0)
  *out01 =                             const*WEBP_RESTRICT ref
      vcombine_s64vreinterpret_s64_s32tmp02.al0)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    t0,,,,,d2;
  *out32 =   }
      // 2nd pass
                   (.[]);
}

static     constjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
const    const int16x8_t D0D1 = DiffU8ToS16_NEON(vget_low_u8(S0), vget_
         int16x8_ta3a2=ubq_s16( d3d2;/d0- -d232java.lang.StringIndexOutOfBoundsException: Range [80, 79) out of bounds for length 79
}

staticvoidFTransform_NEONonstuint8_t src
                            const    int16x4_t   ((0k, a0a1,)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
  int16_t*out {
t16x8_td0d1 java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  {
    const uint8x16_t S0 = Load4x4_NEON(src) const =vaddq_s16const AB  (Bjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 44
    const         constjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 69
  out1=(,;
                                        (a0a1_2)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    const int16x4_t D1 =                                     java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 29
 = vget_low_s16(23;
        int32x4_t                   vreinterpret_s64_s32(mp13java.lang.StringIndexOutOfBoundsException: Range [0, 49) out of bounds for length 3
(0 ,D2D3,d0d1,3)
  }
  {    // 1rst pass
    java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 47
      5352
    constint16x8_t a0a1 = vaddq_s16(0    java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 2
2);// d0-d3 | d1-d2   (=a3|a2)
    const int16x8_t a0a1_2 = vshlq_n_s16(a0a1937   ,937,  937
    tmp0=vadd_s16(get_low_s16(01_)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        const int16x8_t a0a1 = vaddq_s16(d0d1   java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
    const int16x4_t tmp2 = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                                    ;
    const int32x4_t a3_2217 = vmull_n_s16(const int16x4_t out0 = vshr_n_s16(vadd_s16(a0a1);
 a2_2217=vmull_n_s16(get_high_s16(3) 2217;
     int32x4_ta2_p_a3  vmlal_n_s16int16_t  
    const kBPS =BPS;
tint16x4_t  =shrn_n_s32const src_ptr ;
const
      const int16_t*=kCoeff16
  }
java.lang.StringIndexOutOfBoundsException: Range [33, 18) out of bounds for length 18
/
     =(000+(<)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
    const     v8d,[src_ptr],%kBPS      \"
           uint8x16_t"8 {} [src_ptr]
    const int16x8_t a3a2    inhigh 
     =vget_low_s160)7;
    const int16x4_t out0 = vshr_n_s16        const D1  vget_high_s16v.8d}%ef_ptr B]\java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
      =vshr_n_s16vsub_s16(0k,    int16x4_tD3=vget_high_s16D2D3;
    const int32x4_t a3_2217 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    int32x4_ta2_2217 = java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 52
         const int32x4_tjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 47
    static const  kCoeff32sconst int16x8_ta0a1 =addq_s16(d0d1,   ,1812 ,1812java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    (a2_p_a3 )java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
    java.lang.StringIndexOutOfBoundsException: Range [19, 9) out of bounds for length 58
    const int16x4_t a3_eq_0 =
         tmp0=((,
    const int16x4_t out1 =                                    
    java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 49

    vst1_s16(out
           constconst int32x4_t a3_2217 = vmull_n_s16(3a2), 217)
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}

#else

// adapted from vp8/encoder/arm/neon/shortfdct_neon.asm
static const int16x4_t =vshrn_n_s32vaddq_s32(a2_p_a3,kCst1812) 9);
  ,/part1
}   
static const int32_t kCoeff32[]  "      ( , ,0,)
   1812 1812  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
   937,  ,  937 937v.{{/java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
  12000,2000,2000 ,
  51000, 510002 java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 0
};

idconst int16x8_t  (d0d1 d3d2;/ d0-3  d1-d2  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                            uint8_t*java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 49
                            * ".{14}[r]%kBPS]     n
     Bjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 23
  const uint8_t* src_ptr = src;
  _java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
  const int16_t*=kCoeff16;
  const int32_t*    vtrn32     q6                        \"

  _asm__ volatile (
    // load src into q4, q5 in high half
    "    "vld1int16x4_tout3 = vaddhn_s32"java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 80
    "vld1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
"vld1        (ceq_s16(get_low_s16(a2    .      c]njava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 49
    vmlalq10 d7". {,    vst1_s16(t +,out0;

    // load ref into q6, q7 in high half
   "vmlal        ". {,12,[]\java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    "vld1    // part 1
    "
    "vld1.8 {15} %[ef_ptr]    vtrn  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

    // adapted from vp8/encoder/arm/neon/shortfdct_neon.asm
    "trn.         ,3                  "
 q6,q7                       \n"

    // d[0-3] = src - ref
         ,d12                  \
    "subl.u8    ,d9,d13                  "

    // load coeff16 into q8(d16=5352, d17=2217)12000,,12000 ,
    ". ,d3                   java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49

    // load coeff32 high half into q9 = 1812, q10 = 937
    "vld1.32     {q9, q10}, [%[    "vsub.s16        d2, d4, d5        // a0 - a1".s16       ,,2                                           out 

    // load coeff32 low half into q11=12000, q12=51000
    ".32{,}[c]]      \java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49

    /part1
    . Register dN is the same as dN in C16       ,,              n / op[8] = a1 - b1 + 7
    "vtrn.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
"vtrn.32         ,d3                   n"
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    "vtrn.16         d2, d3                   \n"

    ".16       , d0,d3              n // a0 = d0 + d3
"add.  ,2\ // a1 = d1 + d2
   "sub.        d6,
     "// a3 = d0 - d3

    vadd16       ,d4,5\"/ a0 + a1
   "vshl.s16        ,d0 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
".6       java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 60
    "java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

\n / a3*53524] ip[]
    "vmlal.s16       q10, d7,     "    "vtrn.     ,q7                      njava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    .         5               \ /[0]java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 46
   vmlsls16       ,d6 d16\ java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76

    // temp[1+i*4] = (d2*2217 + d3*5352 + 1812) >> 9
    // temp[3+i*4] = (d3*2217 + 937 - d2*5352) >> 9
    "vshrn.s32       d1, q9,#9\n"
    "vshrn.s32       d3, q10, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    // part 2
    =ip"hr.16d2 ,4               \java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
   v.32        d0,d2                  
    vtrn32               o r(t                   
    v16        ,                   \"
v.16                            \"

    "    /[]=(1217 d1* 1200016

    vadd.        ,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   v   vsub. d1d1                endif
    #LOAD_LANE_16bVALUEjava.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 65
   vhrn.s32       d3,".6                 n/a3   3
    s16  array

    "vadd.s16        d0, d4, d5               \    : [src_ptr] "+r"(src_ptr), [ref_ptr] "+r"(re
    vsubs16        ,d4 \n / :BPS"    v.        , d5               "/  -a1

    "mlal     m,q"  2 q3java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ".16       q12, d7,d17             \"// d1*2217 + 51000

    }

    "
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

"
    "vmlsl.s16       q12, d6, d16             \n" // d1*2217 - c1*5352 + 51000

    "vn                                "// !(d1 == 0)
    // op[4] = (c1*2217 + d1*5352 + 12000)>>16
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    // op[4] += (d1!=0)
\n"
    /op12]=(d1*2217-c1*     vtrnintstride16;
        d3,12,#16

    LOAD_LANE_16bval0] )
    "vst1.16         {q0, q1}, [%[out]]   \n"
    +"(c_ptr)[java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      [coeff32] "+  LOAD_LANE_16b(in.(nval[] java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
    :0,)
      [ out)                /constants
 q,",q,q4"""q6,",,"
      "q10", "q11"LOAD_LANE_16b(val)
  );
  LOAD_LANE_16b(.    + in[*16

#endif

 ANE {java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
  VALUE)=ld1_lane_s16 (java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 53
   + stride;                                  ".,d7,constint32x4_t  =ubl_s16(.[,]
 whileival[ ;

static shr16d0 4n
                               *WEBP_RESTRICTout java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
  java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
  const int16x4_t java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 3
  int32x4x4_t tmp0java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
const int32x4a1=(tmp1tmp1.[,.[)
  INIT_VECTOR4(tmp0[0  (,a1;
  0,0;
LOAD_LANE_16bin.[] 0)
  LOAD_LANE_16b    .  to out array array
  LOAD_LANE_16b(in.val[], 0)
  LOAD_LANE_16b(in.: [src_ptr] "+r"(src_ptr  b0 =haddq_s32  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
         +    int32x4_tb1  (3   3+ java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
  LOAD_LANE_16b(in.val[2], const[out] "r"(out                   
java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 30
  LOAD_LANE_16b(.    const  =vmovn_s32b1);
   (n[] ;
  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 1
  LOAD_LANE_16b(in.java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
  [0],3)
LOAD_LANE_16b (,1;/ (a0 + a1) >> 1
  .[2] 3)
  java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 3

  
      const int stride = 16;----------------constint16x4_tout2=movn_s32b2;
    // a1 = in[1 * 16] + in[3 * 16]
    // a2 = in[1 * 16] - in[3 * 16]
    // a3 = in[0 * 16] - in[2 * 16]
    vst1_s16o   ,out0;
      java.lang.StringIndexOutOfBoundsException: Range [0, 23) out of bounds for length 17
    const//
    const a3 in.val[] inval  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
    .val] (,a1)
    tmp0.java.lang.StringIndexOutOfBoundsException: Range [0, 12) out of bounds for length 0
    // Texture distortion
    tmp0.val[3] LOAD_LANE_16b  yto  the  content(ighted)etweensourceand
  }
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
      inval1 2;
    // a0 = tmp[0 + i] + tmp[ 8 + i]//
    // a1 = tmp[4 + i] + tmp[12 + i]java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 2
    // a2 = tmp[4 + i] - tmp[12 + i]
    // a3 = tmp[0 + i] - tmp[ 8 + i]
    constint32x4_t     q4_in[2] q_.[)java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 55
    const const int16x8x2_t q2_tmp0 = java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 35
       //
    const    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
      // (a0 + a1) >> 1
     java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 78
    const// {a0, a1} = {in[0] + in[2], in[1] + in[3]}vreinterpretq_s32_s16(q2_tmp1.val[1]));
    const int32x4_tb3     q4inval[] q4_in.[];
    constint16x4_tout0=const int16x8_t q_a1 = vaddq_s16valjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 36
stint16x4_t   java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
     int16x4_t    {
     int16x4_t out3=vmovn_s32(3;

    vst1_s16(out +  0, out0);
t1_s16out   ,out1;
    vst1_s16(out +  8, out2);
          q4_in_(tmp1[0,.[2;
  }
}// {a0, a1} = {in[0] + in[2], in[1] + in[3]}


//------------------------------------------------------------------------------
// Texture distortion
//
// We try to match the spectral content (weighted) between source and
// reconstructed samples.

// a 0123, b 0123
// a 4567, b 4567
// a 89ab, b 89ab
// a cdef, b cdef
//
// transpose
//
// a 048c, b 048c
// a 159d, b 159d
// a 26ae, b 26ae
// a 37bf, b 37bf
//
vst1_s16(t+4 )
                (ddq_s16q_a3,_)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
  const int16x8x2_t vabdq_s16q_a3,q_a2
const java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
                                                                                          q4_in.al
  const (java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 17
                                        
  q4_in.val[0] = java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 12
  q4_in.val[2] = vreinterpretq_s16_s32(q2_tmp2.val[// a 159d, b 159d
= vreinterpretq_s16_s32q2_tmp3.
  q4_in.val[3] = vreinterpretq_s16_s32(q2_tmp3.val[1]);
  return q4_in;
}

static WEBP_INLINE int16x8x4_t java.lang.StringIndexOutOfBoundsException: Range [66, 39) out of bounds for length 71
       
  // {a0, a1} = {in[0] + in[2], in[1] + in[3]}
  // {a3, a2} = {in[0] - in[2], in[1] - in[3]}
16vsubq_s16,)vsubq_s16q_a0 )java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
  const int16x8_t q_a1 = vaddq_s16
  java.lang.StringIndexOutOfBoundsException: Range [40, 7) out of bounds for length 63
   q_a2=vsubq_s16(_.l]q4_in.tatic (nst ,
  int16x8x4_t q4_out;
  / tmp[0] = a0 + a1                       const d4_wjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  // tmp[1] = a3 + a2
  // tmp[2] = a3 - a2
  // tmp[3] = a0 - a1
  INIT_VECTOR4(q4_out,  / {a0, a1} = {in[0] + in[2], in[1] + in[3]}
               vget_low_s16(q_w8f))
               vget_high_s16vreinterpretq_s16_u16))
               vabdq_s16(q_a3, q_a2), vabdq_s16(java.lang.StringIndexOutOfBoundsException: Range [0, 56) out of bounds for length 14
n  int32x4_t q_s vmull_s164.3 q4_in.al[)java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
}

 ;
  const int16x8_t q_a0 = java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 37
                                                        q4_in.val[2]));
int16x8_tjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 69
                                                         (.[]   =((q_a3 ) (_ ;
  const int16x8_t q_a2 = vreinterpretq_s16_u16(vsubl_u8(java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 1
                                                        (_,(VALUE) = vld1_lane_u32((const*s,VALUE,L)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
   int16x8_tq4_in.al])
                                                        ])java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
   ;

java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 22
               vaddq_s16(q_a0, q_a1), vaddq_s16(q_a3, q_a2)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
               vsubq_s16    (ALUE  vld1_lane_u32constjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 69
  return // Hadamard transform
}

DistoLoadW_NEONuint16_t java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
   a+1   vaddq_s16(,_,vaddq_s16q,java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
  ]);
  int16x4x4_t d4_w;
INIT_VECTOR4  q4_outjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
                   BPS ,1java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
               java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 19
               vget_low_s16(vreinterpretq_s16_u16(q_w8f)),
               LOAD_LANE_32b(a + 1 * BPS 0)
  return d4_w;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

java.lang.StringIndexOutOfBoundsException: Range [42, 6) out of bounds for length 67
                                           const int16x4x4_t d4_w) {
  int32x2_t d_sum;
  // sum += w[ 0] * abs(b0);
  // sum += w[ 4] * abs(b1);
  // sum += w[ 8] * abs(b2);
    int32x2_t d_sum;
  int32x4_t// sum += w[ 0] * abs(b0);
  int32x4_t    d4_wjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
  int32x4_t q_sum2 = vmull_s16(d4_w.val[2], 
  int32x4_t q_sum3 = vmull_s16(d4_w.val[3], vget_low_s16(q4_in.val[3]));
  q_sum0 =  int32x4_t q_sum0 =vmull_s16(d4_w.val[0], vget_low_s16(java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 48
  q_sum1 = vmlsl_s16(q_sum1, d4_w.val[1], java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 28
  q_sum2  vmlsl_s16( .[2],vget_high_s16(4_in.val[])java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
  q_sum3 =qsum3, d4_w.[] vget_high_s16(q4_in.al[]));

   returnvget_lane_s32(_sum,0;
  q_sum2 = vaddq_s32(q_sum2, q_sum3);
  q_sum2 = vaddq_s32(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 3
  d_sum = vpadd_s32(vget_low_s32(q_sum2), vget_high_s16(q4_in.val[1]));
  d_sum = vpadd_s32(d_sum, d_sum);
  return;
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 1

#q_sum2 =vaddq_s32qsum2,q_sum3);                            ( 2  n_ab_89ab1;
    ,;

// Hadamard transform

// w[] contains a row-major 4 by 4 symmetric matrix.
java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 62
                          uint8_t*WEBP_RESTRICT constb
                         
   =// w[] contains a row-major 4 by 4  matrix.
  java.lang.StringIndexOutOfBoundsException: Range [25, 12) out of bounds for length 42
  uint32x2_t d_in_ab_89ab = vdup_n_u32(0);
      q4_t  (_;
     int16x8x4_t q4_h =const uint16_t* WEBP_RESTRICT w {

  / load data a, b
    // abs(sum2 - sum1) >> 5
  OAD_LANE_32b(a +1  java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 49
LOAD_LANE_32ba+2  BPS,,java.lang.StringIndexOutOfBoundsException: Range [43, 20) out of bounds for length 20
  LOAD_LANE_32b(a + 3 * BPS, d_in_ab_cdef, 0);
  LOAD_LANE_32b(b + 0 * BPS, d_in_ab_0123,LOAD_LANE_32b
  LOAD_LANE_32b(b + 1 * BPSconst a+2,___a0java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
  consta1=((a0))java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
  java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 67
  INIT_VECTOR4(d4_in,
               ,
               vreinterpret_u8_u32(d_in_ab_4567),
     (in_ab_89ab,
             ();   bmax_coeff_threshjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60

  {
    // Vertical pass first to avoid a transpose (vertical and horizontal passes
    // are commutative because w/kWeightY is symmetric) and subsequent
    // transpose.
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    //-----  {
    // horizontal pass
     // are commutative
    constconst java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 17
    int32x2_td_sum=DistoSum_NEON(4_,d4_w;

    // abs(sum2 - sum1) >> 5
    d_sum =    
    d_sum  shr_n_s32d_sum )java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    return     int32x2_t d_sum d_sum =DistoSum_NEON(q4_h d4_w);
  }
}
#undef LOAD_LANE_32b

static int Disto16x16_NEON(const uint8_t* WEBP_RESTRICT const                                     ef[ return(sum0
                           const *WEBP_RESTRICT const   int16x8_t a0 =vld1q_s16(java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 20
                           const uint16_t* WEBP_RESTRICT const w) {
  int D = 0;
  int x,y;
 for      BPS;+ *){
    for (x = 0; x < 16; x += 4)      const uint16x8_t b2 =vshrq_n_u16(1,3)
      D +=   int , y
       }
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
D
}

//------------------------------------------------------------------------------

taticvoid CollectHistogram_NEONconst u32_u64(sjava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
                                  const uint8_t* WEBP_RESTRICT predjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 6
                                  int start_block, int end_block,
                                   sum=(;
  const }
  int j;
  distributionMAX_COEFF_THRESH
  for s java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 45
    int16_t out[uint32x4_t*   (mjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    FTransform_NEONref+VP8DspScanj, pred + VP8DspScanj, out)
        constuint16x8_tprod1=mull_u8vget_low_u8abs_diff,
      int k;
      y;
      java.lang.StringIndexOutOfBoundsException: Range [36, 11) out of bounds for length 46
     uint16x8_t a1  reinterpretq_u16_s16(0);
      constconst   =vpaddlq_u16(rod1;      const int16x8_ta0  vld1q_s16out  }
      const a2=(3java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
      const uint16x8_t b2 = vshrq_n_u16(b1, 3);
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
      const    vminq_u16(                       b,3)
      vst1q_s16 const(sum;
      vst1q_s16(out + 8, vreinterpretq_s16_u16(b3));
 // Convert coefficients to bin.
      const    const uint8x8_ a0 v(+*;
        +istributionout      b0 =d1_u8by *)
                                vreinterpret_u32_u64(et_high_u64))
    }
  }
(distribution,}
}

//------------------------------------------------------------------------------

java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
    const static WEBP_INLINE void AccumulateSSE16_NEON(
    32x4_t*const sum     * const a  uint8_t WEBP_RESTRICT  ,
  const uint32x4_t*const   for (y = 0; y < 16; ++y
 b0=vld1q_u8)
  const java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 3
  const uint16x8_tprod1=vmull_u8(get_low_u8(abs_diff)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
                                    ();
  const   prod2=mull_u8v()java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 59
                                     =vdupq_n_u32(  /* pair-wise adds and widen */
  /* pair-wise adds and widen */
  const uint32x4_t sum1      sum=vaddq_u32*, a+  ,b+ *BPS,&m)
  const uint32x4_t sum2 = vpaddlq_u16
  *java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
}

// Horizontal sum of all four uint32_t values in 'sum'.
SumToInt_NEONuint32x4_t   =(0;
#f 
   #lse
#else
  
  const uint32x2_t// Compilation                    vreinterpret_u32_u64vget_high_u64(um2))java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
                                   const java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
   (ntvget_lane_u32                         const uint8_b{
#ndif
}

int java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
                         const *WEBP_RESTRICT )java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
 returnSumToInt_NEON(m)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
  int y;
      static int SSE16x8_NEON(const uint8_t*WEBP_RESTRICT,
    AccumulateSSE16_NEON(                        uint8_t*WEBP_RESTRICT b    b0  Load4x4_NEON(;
  }
  returnSumToInt_NEONy;
}

uint8_t*WEBP_RESTRICTa
                        
  uint32x4_t sum = vdupq_n_u32(0);
   y;
  for(=;y8+){
              * WEBP_RESTRICT){
  }
  return SumToInt_NEON(sum);
}

   SumToInt_NEON(addq_u32(um1,sum2)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
                       const uint8_t* WEBP_RESTRICT b) {
  uint32x4_t   int16x8_t=veorq_s16reinterpretq_s16_u16c1 signjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
  int y;

const   vst1q_s16(in +in +ffset
  java.lang.StringIndexOutOfBoundsException: Range [18, 7) out of bounds for length 60
     uint8x8_t abs_diff=vabd_u8a0 );
     uint16x8_t prodjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 =static const uint8_tkShuffles4]8] java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 40
 java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  return SumToInt_NEON(sum);
}

static int  const uint16x8_t   (()
                       const java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 2
   a0=oad4x4_NEONa)
  const  b0                               *                                    vget_high_u8(abs_diff));
   abs_diff=java.lang.StringIndexOutOfBoundsException: Range [47, 48) out of bounds for length 47
  const  /
                                    vget_low_u8(java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 33
  const uint16x8_t  defined_A
get_high_u8(bs_diff);
  /* pair-wise adds and widen */
  constconst ined;
t sum2 =vpaddlq_u16);
  SumToInt_NEONvaddq_u32(,;
}

//------------------------------------------------------------------------------

// Compilation with gcc-4.6.x is problematic for now.
!definedWORK_AROUND_GCC

static}
                               const VP8Matrix* WEBP_RESTRICT const mtx    uint32x4_tbias0 = vld1q_u32(txjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

     java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
  const uint16x8_t q = vld1q_u16(&mtx->q[offsetconst int16x8_t sign = vshrq_n_s1615)                  sign
  const  iq =vld1q_u16&mtx-iq[ffset] (uffles,
   constVP8Matrix  )
  constconst   = Quantize_NEON(,,0;

  ( +;// in
  const b=               vtbl4_u8(all_outjava.lang.StringIndexOutOfBoundsException: Range [53, 50) out of bounds for length 57
   vtbl?_u8 are marked unavailable for iOS arm64 with Xcode < 6.3, use                                 m,16;  // QFIX=17 = 16+1
const uint16x8_tc  addq_u16,sharp;                 
nstuint32x4_t (   ) shufflesval1)
     constint16x8_tc4  (int8_t)ut+) .2]java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
 constuint32x4_t m2  vhaddq_u32(0 )java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
  const              all_out vld1_u8(Shuffles0),
constuint16x8_t  =vcombine_u16(vshrn_n_u32(2,16)
                                    java.lang.StringIndexOutOfBoundsException: Range [48, 44) out of bounds for length 44
  const uint16x8_t c1 = vminq_u16(c0, java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 37
  const int16x8_t c2 = static int Quantize2Blocks_NEON{18 19, 24,25 ,27,20  }
  const java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 9
  const int16x8_t c4 = vmulq_s16(c3, vreinterpretq_s16_u16(qjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  vst1q_s16vreinterpret_u8_s16(et_high_s16                              const VP8Matrix* WEBP_REST )
               vget_low_s16ut1)

}

static const 
  {0, 1 2  ,DC4_VE4_HE4_TM4_NEON,, )                              
   ,11    12 13}
  { 18,    ( &( 6020037
  {  uint8x16x2_tall_outjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2

staticvtbl2q_u8(                       ()1)                          
                                               vtbl2q_u8(all_out, vld1_u8(kShufflesjava.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 58
nt16x8_t  INIT_VECTOR4,
  const int16x8_t out1 = Quantize_NEON(in, mtxjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  uint8x8x4_t shuffles;
  // vtbl?_u8 are marked unavailable for iOS arm64 with Xcode < 6.3, use
   // non-standard versions there.
 defined *unt64_t*ot+12)=) 1java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
    defined(_pple_build_version__& (_pple_build_version__ 0
  }
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  #if LOCAL_CLAN(,)ejava.lang.StringIndexOutOfBoundsException: Range [6, 7) out of bounds for length 6
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
               vtbl2q_u8  java.lang.StringIndexOutOfBoundsException: Range [5, 1) out of bounds for length 49
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 13
              _t*ot   )shuffles
#lse
  java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
INIT_VECTOR4all_out,
               vreinterpret_u8_s16# BPS = 32
               vreinterpret_u8_s16vget_high_s16out0),
               
               vreinterpret_u8_s16(vget_high_s16(out1)));
  sjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
               // 0   1   2   3   4
               vtbl4_u8
               vsetq_lane_u32  java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
               java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 57
#endif
  // Zigzag reordering
  vst1_u8(static  (nt16_t []int16_tout32]
  vst1_u8       2 ,,,1 1  ,0, 0 #(,)                                       
  vst1_u8((uint8_t*)(out +  8), shuffles.val[2]);
  (*ojava.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 49
  // test zeros(java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 0
  if (*(uint64_t*)(java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 13
  if *(int64_t*(out +  4) !=0 return1;
  if#f java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
  if (*(uint64_t*)(out    ,,,,19  , 67 , ,27  f = java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
  return 0;
}

static int uint8x16_t r;              \
                                 VP8Matrixndif
   java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
  nz  =        vsetq_lane_u32(get_lane_u32java.lang.StringIndexOutOfBoundsException: Range [60, 56) out of bounds for length 80
  nz |= QuantizeBlock_NEON(in + 1 * 16, out + 1 * 16, mtx) << 1;
  return nz;
}

#endif   // !WORK_AROUND_GCC

# WEBP_AARCH64

#if BPS == 32
#define DC4_VE4_HE4_TM4_NEON(dst, tbl, res, lane)                                             ( +2*16)vld1q_u8java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  do
    r                                                              
,;\
    r = vreinterpretq_u8_u32                                                  \
        java.lang.StringIndexOutOfBoundsException: Range [36, 22) out of bounds for length 80
    0, 0 1, ,3#dif
    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
  }while java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20

#define RD4_VR4_LD4_VL4_NEON(java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 26
  do {                                                                          4  ;
      return res
     =qtbl2q_u8(combined bl=  )
,)                                                         
    0java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

   0   1   2      4   5   
#if LOCAL_CLANG_PREREQ  1]java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    staticstatic   kLookupTbl1[  =(java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
#else
  uint8x8x2_t res;
  INIT_VECTOR2(res, vld1_u8(ptr + 0    3  =()
  returnsum_hivaddw_u8( (ull_b)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
#endif
}

static WEBP_INLINE/java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
 _java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
    I4DC4 BPS*,java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 78
#else
  uint8x16_t,result1java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  INIT_VECTOR4(res,
               vld1q_u8(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 25
               vld1q_u8(ptr + 2* 16,java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
  return res;
#endif
}  static  uint8_t kLookupTbl3[64]={

static void Intra4Preds_NEON(uint8_t    30 dst   ;
                             const uint8_t* WEBP_RESTRICT 30, 30, 30, 30,  0,  0,  0,  0, 21, 22, 23, 24, 18, 18, 18
  // 0   1   2   3   4   5   6   7   8   9  10  11  12  13
/
  //    -5  -4  -3  -2  -1   0   1   2   3   4   5   6   7
  uint8x16_t a = vdupq_n_u8java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    ,0  ,2  ,,,,, , ,,,2
    3,  3  constjava.lang.StringIndexOutOfBoundsException: Range [0, 20) out of bounds for length 0
4 ,21preload vtop );
    23_ll   uint8x16_t java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 30
  ;

  static const uint8_t kLookupTbl2   java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
20 21,,   6  java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
    19, 20, 21, 22, 20, 21, 22, 23,  // preload = {a,b,c,d,...} => full_b = {d,d,d,d,c,c,c,c,b,b,b,b,a,a,a,a}
    18, 19, 20, 21, 19,  5,  6,  7, 24, 25 uint8x8_t preload_x8 sub_a sub_c;
    , 25,(java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 24
  };  }

 static const uint8_t kLookupTbl3[64] = {
,30,,30  ,,00(  * vdupq_laneq_u8 java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
    30,30 ,java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
    30java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
1,stBPS ,( )java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
  }  =, )

java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 59
6lookup_avgs2 =  vst1q_u8(dst  , )
  java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 59

  const java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
  RD4_VR4_LD4_VL4_NEON(st +I4RD4// preload = {a,b,c,d,...} => sub_c = {a,b,c,d,a,b,c,d,a,b,c,d,a,b,c,d}
 uint8x16_t result0,;

  a=java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0
  uint8x16_t   sum_lo = vaddw_u8, (ull_b);    st127;
  uint8x16_t res_lo=vqmovun_s16(java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 1

  uint8x16_t=                                    const  =qjava.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 55
  vst1_u8  /DC4 ,  if (top != NULL)

  + 3)
        s java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 78
  uint8x8_tstatic /
    uint8x16_t  ;
  uint16x8_t sub,,sum_hi;

=c;
  preload_x8=uint16_t BPS*,a;

  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1

_all =vsetq_lane_u8(getq_lane_u8(reload 
  avg3_all=vsetq_lane_u8(result_u8 avg3_all

  qcombinedBPS*i )
  qcombined.valconstjava.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 68

                                                consta, 

  
  full_b =vqtbl1q_u8(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 20
vst1q_u8+     ;
  java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 3
      vgetq_lane_u32(vreinterpretq_u32_u8(vextq_u8(preload, preload, 5))staticjava.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 48

  sub = vst1q_u8(dst BPS  2,inti
  sum_lo =   vst1_u8(dst + *i    (= ; <6i){
res_lo(st   )java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31

  
   WEBP_INLINEvoid* 

  // DC4, VE4, HE4, TM4
  DC4_VE4_HE4_TM4_NEON(dst +  +PS* int8x16_t;
DC4_VE4_HE4_TM4_NEONjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0
  DC4_VE4_HE4_TM4_NEONdst    
_ // equivalent to VE prediction where you just copy the top samples.

  // RD4, VR4, LD4, VL4
(st+    0 java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
   vst1q_u8  *v )
  java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 12
  RD4_VR4_LD4_VL4_NEON(dst + I4RD4 +         *3

   ( =)
  (  *,dupq_laneq_u8java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
bl2q_u8else

  }
  }
  java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
  vst1_u8(dst + I4HD4 + BPS * 3, vget_high_u8(result1));
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 

   java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 61
  uint8x16_t a = vdupq_n_u8(value);
  ;java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 61
  for i=0;   16;i+){
    vst1q_u8(dst +java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}

void}{
  uint8x16_t a = vld1q_u8(src);
  int;
  for (i =      s=vqrshrnh_n_u16(java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 45
    vst1q_u8java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}

static WEBP_INLINE void HorizontalPred16_NEON(uint8_t* dst,
                                              java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 38
 a

 left =java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    Fill_NEON(dst, 129       =0x80;
    return;
  }

  (left+0;
  vst1q_u8( +  *0,}
  java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 0
  vst1q_u8(dst + BPS * 2, vdupq_laneq_u8 /
  vst1q_u8(dst + BPS * 3, vdupq_laneq_u8(a, 3));
  vst1q_u8(dst + BPS * 4, vdupq_laneq_u8(a, 4));
  ( #
6)
  vst1q_u8                                               )java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
  vst1q_u8(dst + BPS * 8, vdupq_laneq_u8(a                                               outer,
  vst1q_u8(dst + BPS * 9, vdupq_laneq_u8(a, 9));
      vqmovun_s16(reinterpretq_s16_u16const int{
 uint8x8_t d1,;
1q_u8(st +BPS *12 vdupq_laneq_u8(,12);
  r1 = vaddl_u8(outer, inner.val[0]);
  vst1q_u8(dst +    vjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 25
  vst1q_u8(dst + BPS   (st+BPS*( *4 +n,d1;
}

WEBP_INLINEjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  iftop! ) {
            const uint8_t top){
   {
   Fill_NEON(st 127)
  }
}

static     // True motionleft samples (:withdefault 129value java.lang.StringIndexOutOfBoundsException: Range [74, 75) out of bounds for length 74
                                    const uint8_t* top) {
  uint8_t s;

  if (top != NULL    // equivalent to VE prediction where you just copy the top samples.
    uint16_t dc;
    dc = vaddlvq_u8(vld1q_u8(top));
    if (left != NULL) {
      // top and left present.
      dc += vaddlvq_u8(vld1q_u8(left));
      s = vqrshrnh_n_u16(dc, 5    }
    } else  HorizontalPred16_NEON
          return;;
      s = vqrshrnh_n_u16(dc, 4);
    }
  } else her java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 11
     (eft !=NULL){
      // Neither left nor top are NULL.
      // left but no top.
      dc  vaddlvq_u8(ld1q_u8(eft)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
      s=vqrshrnh_n_u16(c,4;
    } else {

      s = 0x80;    TrueMotionHelper_NEON(dst outer.al[],inner,a ,1;
    }
  }
Fill_NEONdst s)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
}

java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                                               uint8x8_touter,
                                              const uint8x8x2_t *WEBP_RESTRICT(16+dst,eft,top)
                                              (I16HE16  dst,left;
                                              const int n) {
   d1 d2;
  uint16x8_t r1, r2;

  r1 = vaddl_u8(outer,// Entry point
  r1 = vqsubq_u16(r1, a);
  d1 = vqmovun_s16(java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 1
  r2=vaddl_u8(uter,inner.al1)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
  //-
  d2 = vqmovun_s16(  d2 = vqmovun_s16(vreinterpretq_s16_u16
  vst1_u8(st +BPS *(  =Disto16x16_NEON
* (i*4+
}

 TrueMotion_NEONifBPS=32
                                        uint8_t*){
   ;
  java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 6
  uint8x8x2_t#fdefined(WORK_AROUND_GCCjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29

  if(ft=NULL)
    // True motion without left samples (hence: with default 129 value) is
    // equivalent to VE prediction where you just copy the top samples.
  VP8EncPredLuma4 =Intra4Preds_NEON;
    // 129, and not 127 as in the VerticalPred case.(VP8EncDspInitNEONjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    if (top != NULL#f !efined(ORK_AROUND_GCCjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
        VP8EncQuantize2Blocks ;
    }elsejava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
      Fill_NEON(dst, 129);
    }#lse  // !WEBP_USE_NEON
    return;
  }

  // left is not NULL.
  if (top == NULL) {
    HorizontalPred16_NEON(dst, left);
    return;
  }

  // Neither left nor top are NULL.
  a = vdupq_n_u16(left[-1]);
  inner = Vld1U8x2(top);

  for (i = 0; i < 4; i++) {
    const uint8x8x4_t outer = vld4_dup_u8(&left[i * 4]);

    TrueMotionHelper_NEON(dst, outer.val[0], inner, a, i, 0);
    TrueMotionHelper_NEON(dst, outer.val[1], inner, a, i, 1);
    TrueMotionHelper_NEON(dst, outer.val[2], inner, a, i, 2);
    TrueMotionHelper_NEON(dst, outer.val[3], inner, a, i, 3);
  }
}

static void Intra16Preds_NEON(uint8_t* WEBP_RESTRICT dst,
                              const uint8_t* WEBP_RESTRICT left,
                              const uint8_t* WEBP_RESTRICT top) {
  DCMode_NEON(I16DC16 + dst, left, top);
  VerticalPred16_NEON(I16VE16 + dst, top);
  HorizontalPred16_NEON(I16HE16 + dst, left);
  TrueMotion_NEON(I16TM16 + dst, left, top);
}

#endif // WEBP_AARCH64

//------------------------------------------------------------------------------
// Entry point

extern void VP8EncDspInitNEON(void);

WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitNEON(void) {
  VP8ITransform = ITransform_NEON;
  VP8FTransform = FTransform_NEON;

  VP8FTransformWHT = FTransformWHT_NEON;

  VP8TDisto4x4 = Disto4x4_NEON;
  VP8TDisto16x16 = Disto16x16_NEON;
  VP8CollectHistogram = CollectHistogram_NEON;

  VP8SSE16x16 = SSE16x16_NEON;
  VP8SSE16x8 = SSE16x8_NEON;
  VP8SSE8x8 = SSE8x8_NEON;
  VP8SSE4x4 = SSE4x4_NEON;

#if WEBP_AARCH64
#if BPS == 32
  VP8EncPredLuma4 = Intra4Preds_NEON;
#endif
  VP8EncPredLuma16 = Intra16Preds_NEON;
#endif

#if !defined(WORK_AROUND_GCC)
  VP8EncQuantizeBlock = QuantizeBlock_NEON;
  VP8EncQuantize2Blocks = Quantize2Blocks_NEON;
  VP8EncQuantizeBlockWHT = QuantizeBlock_NEON;
#endif
}

#else  // !WEBP_USE_NEON

WEBP_DSP_INIT_STUB(VP8EncDspInitNEON)

#endif  // WEBP_USE_NEON

Messung V0.5 in Prozent
C=92 H=95 G=93

¤ Dauer der Verarbeitung: 0.27 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.