clang for Android,How to compile Android with the Snapdragon LLVM Compiler

# 1 "external/ffmpeg/libavcodec/vp9dsp_8bpp.c"

# 1 "" 1

# 1 "" 3

# 336 "" 3

# 1 "" 1

# 1 "" 2

# 1 "external/ffmpeg/libavcodec/vp9dsp_8bpp.c" 2

# 26 "external/ffmpeg/libavcodec/vp9dsp_8bpp.c"

# 1 "external/ffmpeg/libavcodec/vp9dsp_template.c" 1

# 24 "external/ffmpeg/libavcodec/vp9dsp_template.c"

# 1 "external/ffmpeg/libavcodec/../libavutil/common.h" 1

# 33 "external/ffmpeg/libavcodec/../libavutil/common.h"

# 1 "bionic/libc/include/errno.h" 1

# 31 "bionic/libc/include/errno.h"

# 1 "bionic/libc/include/sys/cdefs.h" 1

# 396 "bionic/libc/include/sys/cdefs.h"

# 1 "bionic/libc/include/android/api-level.h" 1

# 397 "bionic/libc/include/sys/cdefs.h" 2

# 32 "bionic/libc/include/errno.h" 2

# 1 "bionic/libc/kernel/uapi/linux/errno.h" 1 3

# 19 "bionic/libc/kernel/uapi/linux/errno.h" 3

# 1 "bionic/libc/kernel/uapi/asm-arm64/asm/errno.h" 1 3

# 19 "bionic/libc/kernel/uapi/asm-arm64/asm/errno.h" 3

# 1 "bionic/libc/kernel/uapi/asm-generic/errno.h" 1 3

# 21 "bionic/libc/kernel/uapi/asm-generic/errno.h" 3

# 1 "bionic/libc/kernel/uapi/asm-generic/errno-base.h" 1 3

# 22 "bionic/libc/kernel/uapi/asm-generic/errno.h" 2 3

# 20 "bionic/libc/kernel/uapi/asm-arm64/asm/errno.h" 2 3

# 20 "bionic/libc/kernel/uapi/linux/errno.h" 2 3

# 33 "bionic/libc/include/errno.h" 2

# 44 "bionic/libc/include/errno.h"

extern volatile int* __errno(void) __attribute__((__const__));

# 34 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "bionic/libc/include/inttypes.h" 1

# 22 "bionic/libc/include/inttypes.h"

# 1 "bionic/libc/include/stdint.h" 1

# 32 "bionic/libc/include/stdint.h"

# 1 "bionic/libc/include/bits/wchar_limits.h" 1

# 33 "bionic/libc/include/stdint.h" 2

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 51 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 3

typedef long int ptrdiff_t;

# 62 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 3

typedef long unsigned int size_t;

# 90 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 3

typedef unsigned int wchar_t;

# 34 "bionic/libc/include/stdint.h" 2

typedef signed char __int8_t;

typedef unsigned char __uint8_t;

typedef short __int16_t;

typedef unsigned short __uint16_t;

typedef int __int32_t;

typedef unsigned int __uint32_t;

typedef long __int64_t;

typedef unsigned long __uint64_t;

typedef long __intptr_t;

typedef unsigned long __uintptr_t;

typedef __int8_t int8_t;

typedef __uint8_t uint8_t;

typedef __int16_t int16_t;

typedef __uint16_t uint16_t;

typedef __int32_t int32_t;

typedef __uint32_t uint32_t;

typedef __int64_t int64_t;

typedef __uint64_t uint64_t;

typedef __intptr_t intptr_t;

typedef __uintptr_t uintptr_t;

typedef int8_t int_least8_t;

typedef uint8_t uint_least8_t;

typedef int16_t int_least16_t;

typedef uint16_t uint_least16_t;

typedef int32_t int_least32_t;

typedef uint32_t uint_least32_t;

typedef int64_t int_least64_t;

typedef uint64_t uint_least64_t;

typedef int8_t int_fast8_t;

typedef uint8_t uint_fast8_t;

typedef int64_t int_fast64_t;

typedef uint64_t uint_fast64_t;

typedef int64_t int_fast16_t;

typedef uint64_t uint_fast16_t;

typedef int64_t int_fast32_t;

typedef uint64_t uint_fast32_t;

typedef uint64_t uintmax_t;

typedef int64_t intmax_t;

# 23 "bionic/libc/include/inttypes.h" 2

# 251 "bionic/libc/include/inttypes.h"

typedef struct {

intmax_t quot;

intmax_t rem;

} imaxdiv_t;

intmax_t imaxabs(intmax_t) __attribute__((__const__));

imaxdiv_t imaxdiv(intmax_t, intmax_t) __attribute__((__const__));

intmax_t strtoimax(const char *, char **, int);

uintmax_t strtoumax(const char *, char **, int);

intmax_t wcstoimax(const wchar_t * __restrict,

wchar_t ** __restrict, int);

uintmax_t wcstoumax(const wchar_t * __restrict,

wchar_t ** __restrict, int);

# 35 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "bionic/libc/include/limits.h" 1

# 53 "bionic/libc/include/limits.h"

# 1 "bionic/libc/include/sys/limits.h" 1

# 30 "bionic/libc/include/sys/limits.h"

# 1 "bionic/libc/kernel/uapi/linux/limits.h" 1 3

# 31 "bionic/libc/include/sys/limits.h" 2

# 54 "bionic/libc/include/limits.h" 2

# 1 "bionic/libc/include/sys/syslimits.h" 1

# 57 "bionic/libc/include/limits.h" 2

# 87 "bionic/libc/include/limits.h"

# 1 "bionic/libc/include/bits/posix_limits.h" 1

# 88 "bionic/libc/include/limits.h" 2

# 36 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "bionic/libm/include/math.h" 1 3

# 30 "bionic/libm/include/math.h" 3

#pragma GCC visibility push(default)

# 83 "bionic/libm/include/math.h" 3

typedef double __double_t;

typedef __double_t double_t;

typedef float __float_t;

typedef __float_t float_t;

# 108 "bionic/libm/include/math.h" 3

extern int signgam;

# 129 "bionic/libm/include/math.h" 3

int __fpclassifyd(double) __attribute__((__const__));

int __fpclassifyf(float) __attribute__((__const__));

int __fpclassifyl(long double) __attribute__((__const__));

int __isfinitef(float) __attribute__((__const__));

int __isfinite(double) __attribute__((__const__));

int __isfinitel(long double) __attribute__((__const__));

int __isinff(float) __attribute__((__const__));

int __isinfl(long double) __attribute__((__const__));

int __isnanf(float) __attribute__((__const__));

int __isnanl(long double) __attribute__((__const__));

int __isnormalf(float) __attribute__((__const__));

int __isnormal(double) __attribute__((__const__));

int __isnormall(long double) __attribute__((__const__));

int __signbit(double) __attribute__((__const__));

int __signbitf(float) __attribute__((__const__));

int __signbitl(long double) __attribute__((__const__));

double acos(double);

double asin(double);

double atan(double);

double atan2(double, double);

double cos(double);

double sin(double);

double tan(double);

double cosh(double);

double sinh(double);

double tanh(double);

double exp(double);

double frexp(double, int *);

double ldexp(double, int);

double log(double);

double log10(double);

double modf(double, double *);

double pow(double, double);

double sqrt(double);

double ceil(double);

double fabs(double) __attribute__((__const__));

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__)) double fabs(double x) { return __builtin_fabs(x); }

double floor(double);

double fmod(double, double);

double acosh(double);

double asinh(double);

double atanh(double);

double cbrt(double);

double erf(double);

double erfc(double);

double exp2(double);

double expm1(double);

double fma(double, double, double);

double hypot(double, double);

int ilogb(double) __attribute__((__const__));

int (isinf)(double) __attribute__((__const__));

int (isnan)(double) __attribute__((__const__));

double lgamma(double);

long long llrint(double);

long long llround(double);

double log1p(double);

double log2(double);

double logb(double);

long lrint(double);

long lround(double);

double nan(const char *) __attribute__((__const__));

double nextafter(double, double);

double remainder(double, double);

double remquo(double, double, int *);

double rint(double);

double j0(double);

double j1(double);

double jn(int, double);

double y0(double);

double y1(double);

double yn(int, double);

double gamma(double);

double scalb(double, double);

double copysign(double, double) __attribute__((__const__));

double fdim(double, double);

double fmax(double, double) __attribute__((__const__));

double fmin(double, double) __attribute__((__const__));

double nearbyint(double);

double round(double);

double scalbln(double, long);

double scalbn(double, int);

double tgamma(double);

double trunc(double);

double drem(double, double);

int finite(double) __attribute__((__const__));

int isnanf(float) __attribute__((__const__));

long double significandl(long double);

double gamma_r(double, int *);

double lgamma_r(double, int *);

double significand(double);

float acosf(float);

float asinf(float);

float atanf(float);

float atan2f(float, float);

float cosf(float);

float sinf(float);

float tanf(float);

float coshf(float);

float sinhf(float);

float tanhf(float);

float exp2f(float);

float expf(float);

float expm1f(float);

float frexpf(float, int *);

int ilogbf(float) __attribute__((__const__));

float ldexpf(float, int);

float log10f(float);

float log1pf(float);

float log2f(float);

float logf(float);

float modff(float, float *);

float powf(float, float);

float sqrtf(float);

float ceilf(float);

float fabsf(float) __attribute__((__const__));

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__)) float fabsf(float x) { return __builtin_fabsf(x); }

float floorf(float);

float fmodf(float, float);

float roundf(float);

float erff(float);

float erfcf(float);

float hypotf(float, float);

float lgammaf(float);

float tgammaf(float);

float acoshf(float);

float asinhf(float);

float atanhf(float);

float cbrtf(float);

float logbf(float);

float copysignf(float, float) __attribute__((__const__));

long long llrintf(float);

long long llroundf(float);

long lrintf(float);

long lroundf(float);

float nanf(const char *) __attribute__((__const__));

float nearbyintf(float);

float nextafterf(float, float);

float remainderf(float, float);

float remquof(float, float, int *);

float rintf(float);

float scalblnf(float, long);

float scalbnf(float, int);

float truncf(float);

float fdimf(float, float);

float fmaf(float, float, float);

float fmaxf(float, float) __attribute__((__const__));

float fminf(float, float) __attribute__((__const__));

float dremf(float, float);

int finitef(float) __attribute__((__const__));

float gammaf(float);

float j0f(float);

float j1f(float);

float jnf(int, float);

float scalbf(float, float);

float y0f(float);

float y1f(float);

float ynf(int, float);

float gammaf_r(float, int *);

float lgammaf_r(float, int *);

float significandf(float);

long double acoshl(long double);

long double acosl(long double);

long double asinhl(long double);

long double asinl(long double);

long double atan2l(long double, long double);

long double atanhl(long double);

long double atanl(long double);

long double cbrtl(long double);

long double ceill(long double);

long double copysignl(long double, long double) __attribute__((__const__));

long double coshl(long double);

long double cosl(long double);

long double erfcl(long double);

long double erfl(long double);

long double exp2l(long double);

long double expl(long double);

long double expm1l(long double);

long double fabsl(long double) __attribute__((__const__));

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__)) long double fabsl(long double x) { return __builtin_fabsl(x); }

long double fdiml(long double, long double);

long double floorl(long double);

long double fmal(long double, long double, long double);

long double fmaxl(long double, long double) __attribute__((__const__));

long double fminl(long double, long double) __attribute__((__const__));

long double fmodl(long double, long double);

long double frexpl(long double value, int *);

long double hypotl(long double, long double);

int ilogbl(long double) __attribute__((__const__));

long double ldexpl(long double, int);

long double lgammal(long double);

long long llrintl(long double);

long long llroundl(long double);

long double log10l(long double);

long double log1pl(long double);

long double log2l(long double);

long double logbl(long double);

long double logl(long double);

long lrintl(long double);

long lroundl(long double);

long double modfl(long double, long double *);

long double nanl(const char *) __attribute__((__const__));

long double nearbyintl(long double);

long double nextafterl(long double, long double);

double nexttoward(double, long double);

float nexttowardf(float, long double);

long double nexttowardl(long double, long double);

long double powl(long double, long double);

long double remainderl(long double, long double);

long double remquol(long double, long double, int *);

long double rintl(long double);

long double roundl(long double);

long double scalblnl(long double, long);

long double scalbnl(long double, int);

long double sinhl(long double);

long double sinl(long double);

long double sqrtl(long double);

long double tanhl(long double);

long double tanl(long double);

long double tgammal(long double);

long double truncl(long double);

long double lgammal_r(long double, int *);

#pragma GCC visibility pop

# 37 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "bionic/libc/include/stdio.h" 1

# 42 "bionic/libc/include/stdio.h"

# 1 "bionic/libc/include/sys/types.h" 1

# 31 "bionic/libc/include/sys/types.h"

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 32 "bionic/libc/include/sys/types.h" 2

# 1 "bionic/libc/kernel/uapi/linux/types.h" 1 3

# 21 "bionic/libc/kernel/uapi/linux/types.h" 3

# 1 "bionic/libc/kernel/uapi/asm-arm64/asm/types.h" 1 3

# 19 "bionic/libc/kernel/uapi/asm-arm64/asm/types.h" 3

# 1 "bionic/libc/kernel/uapi/asm-generic/types.h" 1 3

# 21 "bionic/libc/kernel/uapi/asm-generic/types.h" 3

# 1 "bionic/libc/kernel/uapi/asm-generic/int-ll64.h" 1 3

# 21 "bionic/libc/kernel/uapi/asm-generic/int-ll64.h" 3

# 1 "bionic/libc/kernel/uapi/asm-arm64/asm/bitsperlong.h" 1 3

# 22 "bionic/libc/kernel/uapi/asm-arm64/asm/bitsperlong.h" 3

# 1 "bionic/libc/kernel/uapi/asm-generic/bitsperlong.h" 1 3

# 23 "bionic/libc/kernel/uapi/asm-arm64/asm/bitsperlong.h" 2 3

# 22 "bionic/libc/kernel/uapi/asm-generic/int-ll64.h" 2 3

typedef __signed__ char __s8;

typedef unsigned char __u8;

typedef __signed__ short __s16;

typedef unsigned short __u16;

typedef __signed__ int __s32;

typedef unsigned int __u32;

__extension__ typedef __signed__ long long __s64;

__extension__ typedef unsigned long long __u64;

# 22 "bionic/libc/kernel/uapi/asm-generic/types.h" 2 3

# 20 "bionic/libc/kernel/uapi/asm-arm64/asm/types.h" 2 3

# 22 "bionic/libc/kernel/uapi/linux/types.h" 2 3

# 1 "bionic/libc/kernel/uapi/linux/posix_types.h" 1 3

# 21 "bionic/libc/kernel/uapi/linux/posix_types.h" 3

# 1 "bionic/libc/kernel/uapi/linux/stddef.h" 1 3

# 19 "bionic/libc/kernel/uapi/linux/stddef.h" 3

# 1 "bionic/libc/kernel/uapi/linux/compiler.h" 1 3

# 20 "bionic/libc/kernel/uapi/linux/stddef.h" 2 3

# 22 "bionic/libc/kernel/uapi/linux/posix_types.h" 2 3

typedef struct {

unsigned long fds_bits[1024 / (8 * sizeof(long))];

} __kernel_fd_set;

typedef void(* __kernel_sighandler_t) (int);

typedef int __kernel_key_t;

typedef int __kernel_mqd_t;

# 1 "bionic/libc/kernel/uapi/asm-arm64/asm/posix_types.h" 1 3

# 21 "bionic/libc/kernel/uapi/asm-arm64/asm/posix_types.h" 3

typedef unsigned short __kernel_old_uid_t;

typedef unsigned short __kernel_old_gid_t;

# 1 "bionic/libc/kernel/uapi/asm-generic/posix_types.h" 1 3

# 24 "bionic/libc/kernel/uapi/asm-generic/posix_types.h" 3

typedef long __kernel_long_t;

typedef unsigned long __kernel_ulong_t;

typedef __kernel_ulong_t __kernel_ino_t;

typedef unsigned int __kernel_mode_t;

typedef int __kernel_pid_t;

typedef int __kernel_ipc_pid_t;

typedef unsigned int __kernel_uid_t;

typedef unsigned int __kernel_gid_t;

typedef __kernel_long_t __kernel_suseconds_t;

typedef int __kernel_daddr_t;

typedef unsigned int __kernel_uid32_t;

typedef unsigned int __kernel_gid32_t;

# 66 "bionic/libc/kernel/uapi/asm-generic/posix_types.h" 3

typedef unsigned int __kernel_old_dev_t;

# 76 "bionic/libc/kernel/uapi/asm-generic/posix_types.h" 3

typedef __kernel_ulong_t __kernel_size_t;

typedef __kernel_long_t __kernel_ssize_t;

typedef __kernel_long_t __kernel_ptrdiff_t;

typedef struct {

int val[2];

} __kernel_fsid_t;

typedef __kernel_long_t __kernel_off_t;

typedef long long __kernel_loff_t;

typedef __kernel_long_t __kernel_time_t;

typedef __kernel_long_t __kernel_clock_t;

typedef int __kernel_timer_t;

typedef int __kernel_clockid_t;

typedef char * __kernel_caddr_t;

typedef unsigned short __kernel_uid16_t;

typedef unsigned short __kernel_gid16_t;

# 26 "bionic/libc/kernel/uapi/asm-arm64/asm/posix_types.h" 2 3

# 33 "bionic/libc/kernel/uapi/linux/posix_types.h" 2 3

# 25 "bionic/libc/kernel/uapi/linux/types.h" 2 3

typedef __u16 __le16;

typedef __u16 __be16;

typedef __u32 __le32;

typedef __u32 __be32;

typedef __u64 __le64;

typedef __u64 __be64;

typedef __u16 __sum16;

typedef __u32 __wsum;

# 36 "bionic/libc/include/sys/types.h" 2

typedef __kernel_gid32_t __gid_t;

typedef __gid_t gid_t;

typedef __kernel_uid32_t __uid_t;

typedef __uid_t uid_t;

typedef __kernel_pid_t __pid_t;

typedef __pid_t pid_t;

typedef uint32_t __id_t;

typedef __id_t id_t;

typedef unsigned long blkcnt_t;

typedef unsigned long blksize_t;

typedef __kernel_caddr_t caddr_t;

typedef __kernel_clock_t clock_t;

typedef __kernel_clockid_t __clockid_t;

typedef __clockid_t clockid_t;

typedef __kernel_daddr_t daddr_t;

typedef unsigned long fsblkcnt_t;

typedef unsigned long fsfilcnt_t;

typedef __kernel_mode_t __mode_t;

typedef __mode_t mode_t;

typedef __kernel_key_t __key_t;

typedef __key_t key_t;

typedef __kernel_ino_t __ino_t;

typedef __ino_t ino_t;

typedef uint32_t __nlink_t;

typedef __nlink_t nlink_t;

typedef void* __timer_t;

typedef __timer_t timer_t;

typedef __kernel_suseconds_t __suseconds_t;

typedef __suseconds_t suseconds_t;

typedef uint32_t __useconds_t;

typedef __useconds_t useconds_t;

typedef uint64_t dev_t;

typedef __kernel_time_t __time_t;

typedef __time_t time_t;

typedef int64_t off_t;

typedef off_t loff_t;

typedef loff_t off64_t;

# 123 "bionic/libc/include/sys/types.h"

typedef uint32_t __socklen_t;

typedef __socklen_t socklen_t;

typedef __builtin_va_list __va_list;

# 136 "bionic/libc/include/sys/types.h"

typedef __kernel_ssize_t ssize_t;

typedef unsigned int uint_t;

typedef unsigned int uint;

# 1 "bionic/libc/include/sys/sysmacros.h" 1

# 144 "bionic/libc/include/sys/types.h" 2

typedef unsigned char u_char;

typedef unsigned short u_short;

typedef unsigned int u_int;

typedef unsigned long u_long;

typedef uint32_t u_int32_t;

typedef uint16_t u_int16_t;

typedef uint8_t u_int8_t;

typedef uint64_t u_int64_t;

# 43 "bionic/libc/include/stdio.h" 2

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stdarg.h" 1 3

# 30 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stdarg.h" 3

typedef __builtin_va_list va_list;

# 50 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stdarg.h" 3

typedef __builtin_va_list __gnuc_va_list;

# 45 "bionic/libc/include/stdio.h" 2

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 46 "bionic/libc/include/stdio.h" 2

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 49 "bionic/libc/include/stdio.h" 2

typedef off_t fpos_t;

typedef off64_t fpos64_t;

struct __sFILE;

typedef struct __sFILE FILE;

extern FILE* stdin;

extern FILE* stdout;

extern FILE* stderr;

# 105 "bionic/libc/include/stdio.h"

void clearerr(FILE *);

int fclose(FILE *);

int feof(FILE *);

int ferror(FILE *);

int fflush(FILE *);

int fgetc(FILE *);

char *fgets(char * __restrict, int, FILE * __restrict);

int fprintf(FILE * __restrict , const char * __restrict, ...)

__attribute__((__format__(printf, 2, 3))) __attribute__((__nonnull__ (2)));

int fputc(int, FILE *);

int fputs(const char * __restrict, FILE * __restrict);

size_t fread(void * __restrict, size_t, size_t, FILE * __restrict);

int fscanf(FILE * __restrict, const char * __restrict, ...)

__attribute__((__format__(scanf, 2, 3))) __attribute__((__nonnull__ (2)));

size_t fwrite(const void * __restrict, size_t, size_t, FILE * __restrict);

int getc(FILE *);

int getchar(void);

ssize_t getdelim(char ** __restrict, size_t * __restrict, int,

FILE * __restrict);

ssize_t getline(char ** __restrict, size_t * __restrict, FILE * __restrict);

void perror(const char *);

int printf(const char * __restrict, ...)

__attribute__((__format__(printf, 1, 2))) __attribute__((__nonnull__ (1)));

int putc(int, FILE *);

int putchar(int);

int puts(const char *);

int remove(const char *);

void rewind(FILE *);

int scanf(const char * __restrict, ...)

__attribute__((__format__(scanf, 1, 2))) __attribute__((__nonnull__ (1)));

void setbuf(FILE * __restrict, char * __restrict);

int setvbuf(FILE * __restrict, char * __restrict, int, size_t);

int sscanf(const char * __restrict, const char * __restrict, ...)

__attribute__((__format__(scanf, 2, 3))) __attribute__((__nonnull__ (2)));

int ungetc(int, FILE *);

int vfprintf(FILE * __restrict, const char * __restrict, __va_list)

__attribute__((__format__(printf, 2, 0))) __attribute__((__nonnull__ (2)));

int vprintf(const char * __restrict, __va_list)

__attribute__((__format__(printf, 1, 0))) __attribute__((__nonnull__ (1)));

int dprintf(int, const char * __restrict, ...) __attribute__((__format__(printf, 2, 3))) __attribute__((__nonnull__ (2)));

int vdprintf(int, const char * __restrict, __va_list) __attribute__((__format__(printf, 2, 0))) __attribute__((__nonnull__ (2)));

char* gets(char*) __attribute__((deprecated("gets is unsafe, use fgets instead")));

int sprintf(char* __restrict, const char* __restrict, ...)

__attribute__((__format__(printf, 2, 3))) __attribute__((__nonnull__ (2))) __attribute__((__warning__("sprintf is often misused; please use snprintf")));

int vsprintf(char* __restrict, const char* __restrict, __va_list)

__attribute__((__format__(printf, 2, 0))) __attribute__((__nonnull__ (2))) __attribute__((__warning__("vsprintf is often misused; please use vsnprintf")));

char* tmpnam(char*) __attribute__((deprecated("tmpnam is unsafe, use mkstemp or tmpfile instead")));

char* tempnam(const char*, const char*)

__attribute__((deprecated("tempnam is unsafe, use mkstemp or tmpfile instead")));

int rename(const char*, const char*);

int renameat(int, const char*, int, const char*);

int fseek(FILE*, long, int);

long ftell(FILE*);

# 183 "bionic/libc/include/stdio.h"

int fgetpos(FILE*, fpos_t*);

int fsetpos(FILE*, const fpos_t*);

int fseeko(FILE*, off_t, int);

off_t ftello(FILE*);

# 195 "bionic/libc/include/stdio.h"

int fgetpos64(FILE*, fpos64_t*);

int fsetpos64(FILE*, const fpos64_t*);

int fseeko64(FILE*, off64_t, int);

off64_t ftello64(FILE*);

# 207 "bionic/libc/include/stdio.h"

FILE* fopen(const char* __restrict, const char* __restrict);

FILE* fopen64(const char* __restrict, const char* __restrict);

FILE* freopen(const char* __restrict, const char* __restrict, FILE* __restrict);

FILE* freopen64(const char* __restrict, const char* __restrict, FILE* __restrict);

FILE* tmpfile(void);

FILE* tmpfile64(void);

int snprintf(char * __restrict, size_t, const char * __restrict, ...)

__attribute__((__format__(printf, 3, 4))) __attribute__((__nonnull__ (3)));

int vfscanf(FILE * __restrict, const char * __restrict, __va_list)

__attribute__((__format__(scanf, 2, 0))) __attribute__((__nonnull__ (2)));

int vscanf(const char *, __va_list)

__attribute__((__format__(scanf, 1, 0))) __attribute__((__nonnull__ (1)));

int vsnprintf(char * __restrict, size_t, const char * __restrict, __va_list)

__attribute__((__format__(printf, 3, 0))) __attribute__((__nonnull__ (3)));

int vsscanf(const char * __restrict, const char * __restrict, __va_list)

__attribute__((__format__(scanf, 2, 0))) __attribute__((__nonnull__ (2)));

# 233 "bionic/libc/include/stdio.h"

FILE *fdopen(int, const char *);

int fileno(FILE *);

int pclose(FILE *);

FILE *popen(const char *, const char *);

void flockfile(FILE *);

int ftrylockfile(FILE *);

void funlockfile(FILE *);

int getc_unlocked(FILE *);

int getchar_unlocked(void);

int putc_unlocked(int, FILE *);

int putchar_unlocked(int);

FILE* fmemopen(void*, size_t, const char*);

FILE* open_memstream(char**, size_t*);

# 267 "bionic/libc/include/stdio.h"

int asprintf(char ** __restrict, const char * __restrict, ...)

__attribute__((__format__(printf, 2, 3))) __attribute__((__nonnull__ (2)));

char *fgetln(FILE * __restrict, size_t * __restrict);

int fpurge(FILE *);

void setbuffer(FILE *, char *, int);

int setlinebuf(FILE *);

int vasprintf(char ** __restrict, const char * __restrict,

__va_list)

__attribute__((__format__(printf, 2, 0))) __attribute__((__nonnull__ (2)));

void clearerr_unlocked(FILE*);

int feof_unlocked(FILE*);

int ferror_unlocked(FILE*);

int fileno_unlocked(FILE*);

extern char* __fgets_chk(char*, int, FILE*, size_t);

extern char* __fgets_real(char*, int, FILE*) __asm__("fgets");

extern void __fgets_too_big_error(void) __attribute__((__error__("fgets called with size bigger than buffer")));

extern void __fgets_too_small_error(void) __attribute__((__error__("fgets called with size less than zero")));

extern size_t __fread_chk(void * __restrict, size_t, size_t, FILE * __restrict, size_t);

extern size_t __fread_real(void * __restrict, size_t, size_t, FILE * __restrict) __asm__("fread");

extern void __fread_too_big_error(void) __attribute__((__error__("fread called with size * count bigger than buffer")));

extern void __fread_overflow(void) __attribute__((__error__("fread called with overflowing size * count")));

extern size_t __fwrite_chk(const void * __restrict, size_t, size_t, FILE * __restrict, size_t);

extern size_t __fwrite_real(const void * __restrict, size_t, size_t, FILE * __restrict) __asm__("fwrite");

extern void __fwrite_too_big_error(void) __attribute__((__error__("fwrite called with size * count bigger than buffer")));

extern void __fwrite_overflow(void) __attribute__((__error__("fwrite called with overflowing size * count")));

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

__attribute__((__format__(printf, 3, 0))) __attribute__((__nonnull__ (3)))

int vsnprintf(char *dest, size_t size, const char *format, __va_list ap)

{

return __builtin___vsnprintf_chk(dest, size, 0, __builtin_object_size((dest), 1), format, ap);

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

__attribute__((__format__(printf, 2, 0))) __attribute__((__nonnull__ (2)))

int vsprintf(char *dest, const char *format, __va_list ap)

{

return __builtin___vsprintf_chk(dest, 0, __builtin_object_size((dest), 1), format, ap);

}

# 347 "bionic/libc/include/stdio.h"

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

size_t fread(void * __restrict buf, size_t size, size_t count, FILE * __restrict stream) {

size_t bos = __builtin_object_size((buf), 0);

# 370 "bionic/libc/include/stdio.h"

return __fread_chk(buf, size, count, stream, bos);

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

size_t fwrite(const void * __restrict buf, size_t size, size_t count, FILE * __restrict stream) {

size_t bos = __builtin_object_size((buf), 0);

# 396 "bionic/libc/include/stdio.h"

return __fwrite_chk(buf, size, count, stream, bos);

}

# 39 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "bionic/libc/include/stdlib.h" 1

# 33 "bionic/libc/include/stdlib.h"

# 1 "bionic/libc/include/xlocale.h" 1

# 33 "bionic/libc/include/xlocale.h"

struct __locale_t;

typedef struct __locale_t* locale_t;

# 34 "bionic/libc/include/stdlib.h" 2

# 1 "bionic/libc/include/alloca.h" 1

# 36 "bionic/libc/include/stdlib.h" 2

# 1 "bionic/libc/include/malloc.h" 1

# 21 "bionic/libc/include/malloc.h"

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 22 "bionic/libc/include/malloc.h" 2

extern void* malloc(size_t byte_count) __attribute__((malloc)) __attribute__((__warn_unused_result__)) __attribute__((alloc_size(1)));

extern void* calloc(size_t item_count, size_t item_size) __attribute__((malloc)) __attribute__((__warn_unused_result__)) __attribute__((alloc_size(1,2)));

extern void* realloc(void* p, size_t byte_count) __attribute__((__warn_unused_result__)) __attribute__((alloc_size(2)));

extern void free(void* p);

extern void* memalign(size_t alignment, size_t byte_count) __attribute__((malloc)) __attribute__((__warn_unused_result__)) __attribute__((alloc_size(2)));

extern size_t malloc_usable_size(const void* p);

struct mallinfo {

size_t arena;

size_t ordblks;

size_t smblks;

size_t hblks;

size_t hblkhd;

size_t usmblks;

size_t fsmblks;

size_t uordblks;

size_t fordblks;

size_t keepcost;

};

extern struct mallinfo mallinfo(void);

# 71 "bionic/libc/include/malloc.h"

extern int malloc_info(int, FILE *);

# 37 "bionic/libc/include/stdlib.h" 2

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 38 "bionic/libc/include/stdlib.h" 2

extern __attribute__((__noreturn__)) void abort(void);

extern __attribute__((__noreturn__)) void exit(int);

extern __attribute__((__noreturn__)) void _Exit(int);

extern int atexit(void (*)(void));

extern char* getenv(const char*);

extern int putenv(char*);

extern int setenv(const char*, const char*, int);

extern int unsetenv(const char*);

extern int clearenv(void);

extern char* mkdtemp(char*);

extern char* mktemp(char*) __attribute__((deprecated("mktemp is unsafe, use mkstemp or tmpfile instead")));

extern int mkostemp64(char*, int);

extern int mkostemp(char*, int);

extern int mkostemps64(char*, int, int);

extern int mkostemps(char*, int, int);

extern int mkstemp64(char*);

extern int mkstemp(char*);

extern int mkstemps64(char*, int);

extern int mkstemps(char*, int);

extern long strtol(const char *, char **, int);

extern long long strtoll(const char *, char **, int);

extern unsigned long strtoul(const char *, char **, int);

extern unsigned long long strtoull(const char *, char **, int);

extern int posix_memalign(void **memptr, size_t alignment, size_t size);

extern double atof(const char*) __attribute__((availability(android,introduced=21)));

extern double strtod(const char*, char**) __attribute__((visibility ("default")));

extern float strtof(const char*, char**) __attribute__((visibility ("default"))) __attribute__((availability(android,introduced=21)));

extern long double strtold(const char*, char**) __attribute__((visibility ("default")));

extern long double strtold_l(const char *, char **, locale_t) __attribute__((visibility ("default")));

extern long long strtoll_l(const char *, char **, int, locale_t) __attribute__((visibility ("default")));

extern unsigned long long strtoull_l(const char *, char **, int, locale_t) __attribute__((visibility ("default")));

extern int atoi(const char*) __attribute__((pure));

extern long atol(const char*) __attribute__((pure));

extern long long atoll(const char*) __attribute__((pure));

extern int abs(int) __attribute__((__const__)) __attribute__((availability(android,introduced=21)));

extern long labs(long) __attribute__((__const__)) __attribute__((availability(android,introduced=21)));

extern long long llabs(long long) __attribute__((__const__)) __attribute__((availability(android,introduced=21)));

extern char * realpath(const char *path, char *resolved);

extern int system(const char *string);

extern void * bsearch(const void *key, const void *base0,

size_t nmemb, size_t size,

int (*compar)(const void *, const void *));

extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));

uint32_t arc4random(void);

uint32_t arc4random_uniform(uint32_t);

void arc4random_buf(void*, size_t);

int rand(void) __attribute__((availability(android,introduced=21)));

int rand_r(unsigned int*);

void srand(unsigned int) __attribute__((availability(android,introduced=21)));

double drand48(void);

double erand48(unsigned short[3]);

long jrand48(unsigned short[3]);

void lcong48(unsigned short[7]);

long lrand48(void);

long mrand48(void);

long nrand48(unsigned short[3]);

unsigned short* seed48(unsigned short[3]);

void srand48(long);

char* initstate(unsigned int, char*, size_t);

long random(void) __attribute__((availability(android,introduced=21)));

char* setstate(char*);

void srandom(unsigned int) __attribute__((availability(android,introduced=21)));

int getpt(void);

int grantpt(int) __attribute__((availability(android,introduced=21)));

int posix_openpt(int);

char* ptsname(int);

int ptsname_r(int, char*, size_t);

int unlockpt(int);

typedef struct {

int quot;

int rem;

} div_t;

extern div_t div(int, int) __attribute__((__const__));

typedef struct {

long int quot;

long int rem;

} ldiv_t;

extern ldiv_t ldiv(long, long) __attribute__((__const__));

typedef struct {

long long int quot;

long long int rem;

} lldiv_t;

extern lldiv_t lldiv(long long, long long) __attribute__((__const__));

extern const char* getprogname(void);

extern void setprogname(const char*);

extern int mblen(const char *, size_t);

extern size_t mbstowcs(wchar_t *, const char *, size_t);

extern int mbtowc(wchar_t *, const char *, size_t);

extern int wctomb(char *, wchar_t);

extern size_t wcstombs(char *, const wchar_t *, size_t);

extern size_t __ctype_get_mb_cur_max(void);

# 181 "bionic/libc/include/stdlib.h"

extern char* __realpath_real(const char*, char*) __asm__("realpath");

extern void __realpath_size_error(void) __attribute__((__error__("realpath output parameter must be NULL or a >= PATH_MAX bytes buffer")));

# 40 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "bionic/libc/include/string.h" 1

# 33 "bionic/libc/include/string.h"

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 34 "bionic/libc/include/string.h" 2

extern void* memccpy(void* __restrict, const void* __restrict, int, size_t);

extern void* memchr(const void *, int, size_t) __attribute__((pure));

extern void* memrchr(const void *, int, size_t) __attribute__((pure));

extern int memcmp(const void *, const void *, size_t) __attribute__((pure));

extern void* memcpy(void* __restrict, const void* __restrict, size_t);

extern void* memmove(void *, const void *, size_t);

extern void* memset(void *, int, size_t);

extern void* memmem(const void *, size_t, const void *, size_t) __attribute__((pure));

extern char* strchr(const char *, int) __attribute__((pure));

extern char* __strchr_chk(const char *, int, size_t);

# 65 "bionic/libc/include/string.h"

extern char* strrchr(const char *, int) __attribute__((pure));

extern char* __strrchr_chk(const char *, int, size_t);

extern size_t strlen(const char *) __attribute__((pure));

extern size_t __strlen_chk(const char *, size_t);

extern int strcmp(const char *, const char *) __attribute__((pure));

extern char* stpcpy(char* __restrict, const char* __restrict);

extern char* strcpy(char* __restrict, const char* __restrict);

extern char* strcat(char* __restrict, const char* __restrict);

int strcasecmp(const char*, const char*) __attribute__((pure));

int strcasecmp_l(const char*, const char*, locale_t) __attribute__((pure));

int strncasecmp(const char*, const char*, size_t) __attribute__((pure));

int strncasecmp_l(const char*, const char*, size_t, locale_t) __attribute__((pure));

extern char* strdup(const char *);

extern char* strstr(const char *, const char *) __attribute__((pure));

extern char* strcasestr(const char *haystack, const char *needle) __attribute__((pure));

extern char* strtok(char* __restrict, const char* __restrict);

extern char* strtok_r(char* __restrict, const char* __restrict, char** __restrict);

extern char* strerror(int);

extern char* strerror_l(int, locale_t);

extern int strerror_r(int, char*, size_t);

extern size_t strnlen(const char *, size_t) __attribute__((pure));

extern char* strncat(char* __restrict, const char* __restrict, size_t);

extern char* strndup(const char *, size_t);

extern int strncmp(const char *, const char *, size_t) __attribute__((pure));

extern char* stpncpy(char* __restrict, const char* __restrict, size_t);

extern char* strncpy(char* __restrict, const char* __restrict, size_t);

extern size_t strlcat(char* __restrict, const char* __restrict, size_t);

extern size_t strlcpy(char* __restrict, const char* __restrict, size_t);

extern size_t strcspn(const char *, const char *) __attribute__((pure));

extern char* strpbrk(const char *, const char *) __attribute__((pure));

extern char* strsep(char** __restrict, const char* __restrict);

extern size_t strspn(const char *, const char *);

extern char* strsignal(int sig);

extern int strcoll(const char *, const char *) __attribute__((pure));

extern size_t strxfrm(char* __restrict, const char* __restrict, size_t);

extern int strcoll_l(const char *, const char *, locale_t) __attribute__((pure));

extern size_t strxfrm_l(char* __restrict, const char* __restrict, size_t, locale_t);

# 132 "bionic/libc/include/string.h"

extern void* __memchr_chk(const void*, int, size_t, size_t);

extern void __memchr_buf_size_error(void) __attribute__((__error__("memchr called with size bigger than buffer")));

extern void* __memrchr_chk(const void*, int, size_t, size_t);

extern void __memrchr_buf_size_error(void) __attribute__((__error__("memrchr called with size bigger than buffer")));

extern void* __memrchr_real(const void*, int, size_t) __asm__("memrchr");

extern char* __stpncpy_chk2(char* __restrict, const char* __restrict, size_t, size_t, size_t);

extern char* __strncpy_chk2(char* __restrict, const char* __restrict, size_t, size_t, size_t);

extern size_t __strlcpy_real(char* __restrict, const char* __restrict, size_t) __asm__("strlcpy");

extern size_t __strlcpy_chk(char *, const char *, size_t, size_t);

extern size_t __strlcat_real(char* __restrict, const char* __restrict, size_t) __asm__("strlcat");

extern size_t __strlcat_chk(char* __restrict, const char* __restrict, size_t, size_t);

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

void* memchr(const void *s, int c, size_t n) {

size_t bos = __builtin_object_size((s), 1);

# 166 "bionic/libc/include/string.h"

return __memchr_chk(s, c, n, bos);

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

void* memrchr(const void *s, int c, size_t n) {

size_t bos = __builtin_object_size((s), 1);

# 187 "bionic/libc/include/string.h"

return __memrchr_chk(s, c, n, bos);

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

void* memcpy(void* __restrict dest, const void* __restrict src, size_t copy_amount) {

return __builtin___memcpy_chk(dest, src, copy_amount, __builtin_object_size((dest), 0));

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

void* memmove(void *dest, const void *src, size_t len) {

return __builtin___memmove_chk(dest, src, len, __builtin_object_size((dest), 0));

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

char* stpcpy(char* __restrict dest, const char* __restrict src) {

return __builtin___stpcpy_chk(dest, src, __builtin_object_size((dest), 1));

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

char* strcpy(char* __restrict dest, const char* __restrict src) {

return __builtin___strcpy_chk(dest, src, __builtin_object_size((dest), 1));

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

char* stpncpy(char* __restrict dest, const char* __restrict src, size_t n) {

size_t bos_dest = __builtin_object_size((dest), 1);

size_t bos_src = __builtin_object_size((src), 1);

if (bos_src == ((size_t) -1)) {

return __builtin___stpncpy_chk(dest, src, n, bos_dest);

}

if (__builtin_constant_p(n) && (n <= bos_src)) {

return __builtin___stpncpy_chk(dest, src, n, bos_dest);

}

size_t slen = __builtin_strlen(src);

if (__builtin_constant_p(slen)) {

return __builtin___stpncpy_chk(dest, src, n, bos_dest);

}

return __stpncpy_chk2(dest, src, n, bos_dest, bos_src);

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

char* strncpy(char* __restrict dest, const char* __restrict src, size_t n) {

size_t bos_dest = __builtin_object_size((dest), 1);

size_t bos_src = __builtin_object_size((src), 1);

if (bos_src == ((size_t) -1)) {

return __builtin___strncpy_chk(dest, src, n, bos_dest);

}

if (__builtin_constant_p(n) && (n <= bos_src)) {

return __builtin___strncpy_chk(dest, src, n, bos_dest);

}

size_t slen = __builtin_strlen(src);

if (__builtin_constant_p(slen)) {

return __builtin___strncpy_chk(dest, src, n, bos_dest);

}

return __strncpy_chk2(dest, src, n, bos_dest, bos_src);

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

char* strcat(char* __restrict dest, const char* __restrict src) {

return __builtin___strcat_chk(dest, src, __builtin_object_size((dest), 1));

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

char *strncat(char* __restrict dest, const char* __restrict src, size_t n) {

return __builtin___strncat_chk(dest, src, n, __builtin_object_size((dest), 1));

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

void* memset(void *s, int c, size_t n) {

return __builtin___memset_chk(s, c, n, __builtin_object_size((s), 0));

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

size_t strlcpy(char* __restrict dest, const char* __restrict src, size_t size) {

size_t bos = __builtin_object_size((dest), 1);

# 284 "bionic/libc/include/string.h"

return __strlcpy_chk(dest, src, size, bos);

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

size_t strlcat(char* __restrict dest, const char* __restrict src, size_t size) {

size_t bos = __builtin_object_size((dest), 1);

# 305 "bionic/libc/include/string.h"

return __strlcat_chk(dest, src, size, bos);

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

size_t strlen(const char *s) {

size_t bos = __builtin_object_size((s), 1);

# 324 "bionic/libc/include/string.h"

return __strlen_chk(s, bos);

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

char* strchr(const char *s, int c) {

size_t bos = __builtin_object_size((s), 1);

# 343 "bionic/libc/include/string.h"

return __strchr_chk(s, c, bos);

}

extern __inline__ __attribute__((__always_inline__)) __attribute__((gnu_inline)) __attribute__((__artificial__))

char* strrchr(const char *s, int c) {

size_t bos = __builtin_object_size((s), 1);

# 362 "bionic/libc/include/string.h"

return __strrchr_chk(s, c, bos);

}

# 41 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/attributes.h" 1

# 43 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/macros.h" 1

# 44 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/version.h" 1

# 45 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "external/ffmpeg/libavcodec/../android/include/libavutil/avconfig.h" 1

# 46 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 105 "external/ffmpeg/libavcodec/../libavutil/common.h"

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 1 "external/ffmpeg/libavcodec/../android/include/config-armv8-a.h" 1

# 3 "external/ffmpeg/libavcodec/../android/include/config.h" 2

# 106 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/intmath.h" 1

# 26 "external/ffmpeg/libavcodec/../libavutil/intmath.h"

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 27 "external/ffmpeg/libavcodec/../libavutil/intmath.h" 2

# 47 "external/ffmpeg/libavcodec/../libavutil/intmath.h"

extern const uint8_t ff_log2_tab[256];

# 107 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/common.h" 1

# 111 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 127 "external/ffmpeg/libavcodec/../libavutil/common.h"

static __attribute__((always_inline)) inline __attribute__((const)) int av_clip_c(int a, int amin, int amax)

{

if (a < amin) return amin;

else if (a > amax) return amax;

else return a;

}

# 144 "external/ffmpeg/libavcodec/../libavutil/common.h"

static __attribute__((always_inline)) inline __attribute__((const)) int64_t av_clip64_c(int64_t a, int64_t amin, int64_t amax)

{

if (a < amin) return amin;

else if (a > amax) return amax;

else return a;

}

static __attribute__((always_inline)) inline __attribute__((const)) uint8_t av_clip_uint8_c(int a)

{

if (a&(~0xFF)) return (-a)>>31;

else return a;

}

static __attribute__((always_inline)) inline __attribute__((const)) int8_t av_clip_int8_c(int a)

{

if ((a+0x80U) & ~0xFF) return (a>>31) ^ 0x7F;

else return a;

}

static __attribute__((always_inline)) inline __attribute__((const)) uint16_t av_clip_uint16_c(int a)

{

if (a&(~0xFFFF)) return (-a)>>31;

else return a;

}

static __attribute__((always_inline)) inline __attribute__((const)) int16_t av_clip_int16_c(int a)

{

if ((a+0x8000U) & ~0xFFFF) return (a>>31) ^ 0x7FFF;

else return a;

}

static __attribute__((always_inline)) inline __attribute__((const)) int32_t av_clipl_int32_c(int64_t a)

{

if ((a+0x80000000u) & ~0xFFFFFFFFUL) return (int32_t)((a>>63) ^ 0x7FFFFFFF);

else return (int32_t)a;

}

static __attribute__((always_inline)) inline __attribute__((const)) int av_clip_intp2_c(int a, int p)

{

if (((unsigned)a + (1 << p)) & ~((2 << p) - 1))

return (a >> 31) ^ ((1 << p) - 1);

else

return a;

}

static __attribute__((always_inline)) inline __attribute__((const)) unsigned av_clip_uintp2_c(int a, int p)

{

if (a & ~((1<

> 31 & ((1<

else return a;

}

static __attribute__((always_inline)) inline __attribute__((const)) unsigned av_mod_uintp2_c(unsigned a, unsigned p)

{

return a & ((1 << p) - 1);

}

# 253 "external/ffmpeg/libavcodec/../libavutil/common.h"

static __attribute__((always_inline)) inline int av_sat_add32_c(int a, int b)

{

return av_clipl_int32_c((int64_t)a + b);

}

# 265 "external/ffmpeg/libavcodec/../libavutil/common.h"

static __attribute__((always_inline)) inline int av_sat_dadd32_c(int a, int b)

{

return av_sat_add32_c(a, av_sat_add32_c(b, b));

}

# 277 "external/ffmpeg/libavcodec/../libavutil/common.h"

static __attribute__((always_inline)) inline __attribute__((const)) float av_clipf_c(float a, float amin, float amax)

{

if (a < amin) return amin;

else if (a > amax) return amax;

else return a;

}

# 294 "external/ffmpeg/libavcodec/../libavutil/common.h"

static __attribute__((always_inline)) inline __attribute__((const)) double av_clipd_c(double a, double amin, double amax)

{

if (a < amin) return amin;

else if (a > amax) return amax;

else return a;

}

static __attribute__((always_inline)) inline __attribute__((const)) int av_ceil_log2_c(int x)

{

return (31 - __builtin_clz(((x - 1) << 1)|1));

}

static __attribute__((always_inline)) inline __attribute__((const)) int av_popcount_c(uint32_t x)

{

x -= (x >> 1) & 0x55555555;

x = (x & 0x33333333) + ((x >> 2) & 0x33333333);

x = (x + (x >> 4)) & 0x0F0F0F0F;

x += x >> 8;

return (x + (x >> 16)) & 0x3F;

}

static __attribute__((always_inline)) inline __attribute__((const)) int av_popcount64_c(uint64_t x)

{

return av_popcount_c((uint32_t)x) + av_popcount_c((uint32_t)(x >> 32));

}

static __attribute__((always_inline)) inline __attribute__((const)) int av_parity_c(uint32_t v)

{

return av_popcount_c(v) & 1;

}

# 464 "external/ffmpeg/libavcodec/../libavutil/common.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/mem.h" 1

# 33 "external/ffmpeg/libavcodec/../libavutil/mem.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/error.h" 1

# 28 "external/ffmpeg/libavcodec/../libavutil/error.h"

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 29 "external/ffmpeg/libavcodec/../libavutil/error.h" 2

# 97 "external/ffmpeg/libavcodec/../libavutil/error.h"

int av_strerror(int errnum, char *errbuf, size_t errbuf_size);

# 109 "external/ffmpeg/libavcodec/../libavutil/error.h"

static inline char *av_make_error_string(char *errbuf, size_t errbuf_size, int errnum)

{

av_strerror(errnum, errbuf, errbuf_size);

return errbuf;

}

# 34 "external/ffmpeg/libavcodec/../libavutil/mem.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/avutil.h" 1

# 163 "external/ffmpeg/libavcodec/../libavutil/avutil.h"

unsigned avutil_version(void);

const char *av_version_info(void);

const char *avutil_configuration(void);

const char *avutil_license(void);

# 191 "external/ffmpeg/libavcodec/../libavutil/avutil.h"

enum AVMediaType {

AVMEDIA_TYPE_UNKNOWN = -1,

AVMEDIA_TYPE_VIDEO,

AVMEDIA_TYPE_AUDIO,

AVMEDIA_TYPE_DATA,

AVMEDIA_TYPE_SUBTITLE,

AVMEDIA_TYPE_ATTACHMENT,

AVMEDIA_TYPE_NB

};

const char *av_get_media_type_string(enum AVMediaType media_type);

# 264 "external/ffmpeg/libavcodec/../libavutil/avutil.h"

enum AVPictureType {

AV_PICTURE_TYPE_NONE = 0,

AV_PICTURE_TYPE_I,

AV_PICTURE_TYPE_P,

AV_PICTURE_TYPE_B,

AV_PICTURE_TYPE_S,

AV_PICTURE_TYPE_SI,

AV_PICTURE_TYPE_SP,

AV_PICTURE_TYPE_BI,

};

# 282 "external/ffmpeg/libavcodec/../libavutil/avutil.h"

char av_get_picture_type_char(enum AVPictureType pict_type);

# 1 "external/ffmpeg/libavcodec/../libavutil/common.h" 1

# 289 "external/ffmpeg/libavcodec/../libavutil/avutil.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/rational.h" 1

# 43 "external/ffmpeg/libavcodec/../libavutil/rational.h"

typedef struct AVRational{

int num;

int den;

} AVRational;

static inline AVRational av_make_q(int num, int den)

{

AVRational r = { num, den };

return r;

}

# 66 "external/ffmpeg/libavcodec/../libavutil/rational.h"

static inline int av_cmp_q(AVRational a, AVRational b){

const int64_t tmp= a.num * (int64_t)b.den - b.num * (int64_t)a.den;

if(tmp) return (int)((tmp ^ a.den ^ b.den)>>63)|1;

else if(b.den && a.den) return 0;

else if(a.num && b.num) return (a.num>>31) - (b.num>>31);

else return (-0x7fffffff-1);

}

static inline double av_q2d(AVRational a){

return a.num / (double) a.den;

}

# 94 "external/ffmpeg/libavcodec/../libavutil/rational.h"

int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max);

AVRational av_mul_q(AVRational b, AVRational c) __attribute__((const));

AVRational av_div_q(AVRational b, AVRational c) __attribute__((const));

AVRational av_add_q(AVRational b, AVRational c) __attribute__((const));

AVRational av_sub_q(AVRational b, AVRational c) __attribute__((const));

static __attribute__((always_inline)) inline AVRational av_inv_q(AVRational q)

{

AVRational r = { q.den, q.num };

return r;

}

# 147 "external/ffmpeg/libavcodec/../libavutil/rational.h"

AVRational av_d2q(double d, int max) __attribute__((const));

int av_nearer_q(AVRational q, AVRational q1, AVRational q2);

int av_find_nearest_q_idx(AVRational q, const AVRational* q_list);

uint32_t av_q2intfloat(AVRational q);

# 291 "external/ffmpeg/libavcodec/../libavutil/avutil.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/mathematics.h" 1

# 28 "external/ffmpeg/libavcodec/../libavutil/mathematics.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/intfloat.h" 1

# 27 "external/ffmpeg/libavcodec/../libavutil/intfloat.h"

union av_intfloat32 {

uint32_t i;

float f;

};

union av_intfloat64 {

uint64_t i;

double f;

};

static __attribute__((always_inline)) inline float av_int2float(uint32_t i)

{

union av_intfloat32 v;

v.i = i;

return v.f;

}

static __attribute__((always_inline)) inline uint32_t av_float2int(float f)

{

union av_intfloat32 v;

v.f = f;

return v.i;

}

static __attribute__((always_inline)) inline double av_int2double(uint64_t i)

{

union av_intfloat64 v;

v.i = i;

return v.f;

}

static __attribute__((always_inline)) inline uint64_t av_double2int(double f)

{

union av_intfloat64 v;

v.f = f;

return v.i;

}

# 29 "external/ffmpeg/libavcodec/../libavutil/mathematics.h" 2

# 70 "external/ffmpeg/libavcodec/../libavutil/mathematics.h"

enum AVRounding {

AV_ROUND_ZERO = 0,

AV_ROUND_INF = 1,

AV_ROUND_DOWN = 2,

AV_ROUND_UP = 3,

AV_ROUND_NEAR_INF = 5,

AV_ROUND_PASS_MINMAX = 8192,

};

int64_t __attribute__((const)) av_gcd(int64_t a, int64_t b);

int64_t av_rescale(int64_t a, int64_t b, int64_t c) __attribute__((const));

# 100 "external/ffmpeg/libavcodec/../libavutil/mathematics.h"

int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding) __attribute__((const));

int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) __attribute__((const));

int64_t av_rescale_q_rnd(int64_t a, AVRational bq, AVRational cq,

enum AVRounding) __attribute__((const));

int av_compare_ts(int64_t ts_a, AVRational tb_a, int64_t ts_b, AVRational tb_b);

# 134 "external/ffmpeg/libavcodec/../libavutil/mathematics.h"

int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod);

# 145 "external/ffmpeg/libavcodec/../libavutil/mathematics.h"

int64_t av_rescale_delta(AVRational in_tb, int64_t in_ts, AVRational fs_tb, int duration, int64_t *last, AVRational out_tb);

# 158 "external/ffmpeg/libavcodec/../libavutil/mathematics.h"

int64_t av_add_stable(AVRational ts_tb, int64_t ts, AVRational inc_tb, int64_t inc);

# 294 "external/ffmpeg/libavcodec/../libavutil/avutil.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/log.h" 1

# 25 "external/ffmpeg/libavcodec/../libavutil/log.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/avutil.h" 1

# 26 "external/ffmpeg/libavcodec/../libavutil/log.h" 2

typedef enum {

AV_CLASS_CATEGORY_NA = 0,

AV_CLASS_CATEGORY_INPUT,

AV_CLASS_CATEGORY_OUTPUT,

AV_CLASS_CATEGORY_MUXER,

AV_CLASS_CATEGORY_DEMUXER,

AV_CLASS_CATEGORY_ENCODER,

AV_CLASS_CATEGORY_DECODER,

AV_CLASS_CATEGORY_FILTER,

AV_CLASS_CATEGORY_BITSTREAM_FILTER,

AV_CLASS_CATEGORY_SWSCALER,

AV_CLASS_CATEGORY_SWRESAMPLER,

AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT = 40,

AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,

AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT,

AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT,

AV_CLASS_CATEGORY_DEVICE_OUTPUT,

AV_CLASS_CATEGORY_DEVICE_INPUT,

AV_CLASS_CATEGORY_NB,

}AVClassCategory;

# 60 "external/ffmpeg/libavcodec/../libavutil/log.h"

struct AVOptionRanges;

typedef struct AVClass {

const char* class_name;

const char* (*item_name)(void* ctx);

const struct AVOption *option;

int version;

int log_level_offset_offset;

# 108 "external/ffmpeg/libavcodec/../libavutil/log.h"

int parent_log_context_offset;

void* (*child_next)(void *obj, void *prev);

# 123 "external/ffmpeg/libavcodec/../libavutil/log.h"

const struct AVClass* (*child_class_next)(const struct AVClass *prev);

AVClassCategory category;

AVClassCategory (*get_category)(void* ctx);

int (*query_ranges)(struct AVOptionRanges **, void *obj, const char *key, int flags);

} AVClass;

# 234 "external/ffmpeg/libavcodec/../libavutil/log.h"

void av_log(void *avcl, int level, const char *fmt, ...) __attribute__((__format__(__printf__, 3, 4)));

# 252 "external/ffmpeg/libavcodec/../libavutil/log.h"

void av_vlog(void *avcl, int level, const char *fmt, va_list vl);

# 261 "external/ffmpeg/libavcodec/../libavutil/log.h"

int av_log_get_level(void);

# 270 "external/ffmpeg/libavcodec/../libavutil/log.h"

void av_log_set_level(int level);

# 282 "external/ffmpeg/libavcodec/../libavutil/log.h"

void av_log_set_callback(void (*callback)(void*, int, const char*, va_list));

# 297 "external/ffmpeg/libavcodec/../libavutil/log.h"

void av_log_default_callback(void *avcl, int level, const char *fmt,

va_list vl);

# 307 "external/ffmpeg/libavcodec/../libavutil/log.h"

const char* av_default_item_name(void* ctx);

AVClassCategory av_default_get_category(void *ptr);

# 317 "external/ffmpeg/libavcodec/../libavutil/log.h"

void av_log_format_line(void *ptr, int level, const char *fmt, va_list vl,

char *line, int line_size, int *print_prefix);

# 352 "external/ffmpeg/libavcodec/../libavutil/log.h"

void av_log_set_flags(int arg);

int av_log_get_flags(void);

# 295 "external/ffmpeg/libavcodec/../libavutil/avutil.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/pixfmt.h" 1

# 61 "external/ffmpeg/libavcodec/../libavutil/pixfmt.h"

enum AVPixelFormat {

AV_PIX_FMT_NONE = -1,

AV_PIX_FMT_YUV420P,

AV_PIX_FMT_YUYV422,

AV_PIX_FMT_RGB24,

AV_PIX_FMT_BGR24,

AV_PIX_FMT_YUV422P,

AV_PIX_FMT_YUV444P,

AV_PIX_FMT_YUV410P,

AV_PIX_FMT_YUV411P,

AV_PIX_FMT_GRAY8,

AV_PIX_FMT_MONOWHITE,

AV_PIX_FMT_MONOBLACK,

AV_PIX_FMT_PAL8,

AV_PIX_FMT_YUVJ420P,

AV_PIX_FMT_YUVJ422P,

AV_PIX_FMT_YUVJ444P,

AV_PIX_FMT_XVMC_MPEG2_MC,

AV_PIX_FMT_XVMC_MPEG2_IDCT,

AV_PIX_FMT_UYVY422,

AV_PIX_FMT_UYYVYY411,

AV_PIX_FMT_BGR8,

AV_PIX_FMT_BGR4,

AV_PIX_FMT_BGR4_BYTE,

AV_PIX_FMT_RGB8,

AV_PIX_FMT_RGB4,

AV_PIX_FMT_RGB4_BYTE,

AV_PIX_FMT_NV12,

AV_PIX_FMT_NV21,

AV_PIX_FMT_ARGB,

AV_PIX_FMT_RGBA,

AV_PIX_FMT_ABGR,

AV_PIX_FMT_BGRA,

AV_PIX_FMT_GRAY16BE,

AV_PIX_FMT_GRAY16LE,

AV_PIX_FMT_YUV440P,

AV_PIX_FMT_YUVJ440P,

AV_PIX_FMT_YUVA420P,

AV_PIX_FMT_VDPAU_H264,

AV_PIX_FMT_VDPAU_MPEG1,

AV_PIX_FMT_VDPAU_MPEG2,

AV_PIX_FMT_VDPAU_WMV3,

AV_PIX_FMT_VDPAU_VC1,

AV_PIX_FMT_RGB48BE,

AV_PIX_FMT_RGB48LE,

AV_PIX_FMT_RGB565BE,

AV_PIX_FMT_RGB565LE,

AV_PIX_FMT_RGB555BE,

AV_PIX_FMT_RGB555LE,

AV_PIX_FMT_BGR565BE,

AV_PIX_FMT_BGR565LE,

AV_PIX_FMT_BGR555BE,

AV_PIX_FMT_BGR555LE,

AV_PIX_FMT_VAAPI_MOCO,

AV_PIX_FMT_VAAPI_IDCT,

AV_PIX_FMT_VAAPI_VLD,

AV_PIX_FMT_VAAPI = AV_PIX_FMT_VAAPI_VLD,

# 140 "external/ffmpeg/libavcodec/../libavutil/pixfmt.h"

AV_PIX_FMT_YUV420P16LE,

AV_PIX_FMT_YUV420P16BE,

AV_PIX_FMT_YUV422P16LE,

AV_PIX_FMT_YUV422P16BE,

AV_PIX_FMT_YUV444P16LE,

AV_PIX_FMT_YUV444P16BE,

AV_PIX_FMT_VDPAU_MPEG4,

AV_PIX_FMT_DXVA2_VLD,

AV_PIX_FMT_RGB444LE,

AV_PIX_FMT_RGB444BE,

AV_PIX_FMT_BGR444LE,

AV_PIX_FMT_BGR444BE,

AV_PIX_FMT_YA8,

AV_PIX_FMT_Y400A = AV_PIX_FMT_YA8,

AV_PIX_FMT_GRAY8A= AV_PIX_FMT_YA8,

AV_PIX_FMT_BGR48BE,

AV_PIX_FMT_BGR48LE,

AV_PIX_FMT_YUV420P9BE,

AV_PIX_FMT_YUV420P9LE,

AV_PIX_FMT_YUV420P10BE,

AV_PIX_FMT_YUV420P10LE,

AV_PIX_FMT_YUV422P10BE,

AV_PIX_FMT_YUV422P10LE,

AV_PIX_FMT_YUV444P9BE,

AV_PIX_FMT_YUV444P9LE,

AV_PIX_FMT_YUV444P10BE,

AV_PIX_FMT_YUV444P10LE,

AV_PIX_FMT_YUV422P9BE,

AV_PIX_FMT_YUV422P9LE,

AV_PIX_FMT_VDA_VLD,

AV_PIX_FMT_GBRP,

AV_PIX_FMT_GBRP9BE,

AV_PIX_FMT_GBRP9LE,

AV_PIX_FMT_GBRP10BE,

AV_PIX_FMT_GBRP10LE,

AV_PIX_FMT_GBRP16BE,

AV_PIX_FMT_GBRP16LE,

AV_PIX_FMT_YUVA422P,

AV_PIX_FMT_YUVA444P,

AV_PIX_FMT_YUVA420P9BE,

AV_PIX_FMT_YUVA420P9LE,

AV_PIX_FMT_YUVA422P9BE,

AV_PIX_FMT_YUVA422P9LE,

AV_PIX_FMT_YUVA444P9BE,

AV_PIX_FMT_YUVA444P9LE,

AV_PIX_FMT_YUVA420P10BE,

AV_PIX_FMT_YUVA420P10LE,

AV_PIX_FMT_YUVA422P10BE,

AV_PIX_FMT_YUVA422P10LE,

AV_PIX_FMT_YUVA444P10BE,

AV_PIX_FMT_YUVA444P10LE,

AV_PIX_FMT_YUVA420P16BE,

AV_PIX_FMT_YUVA420P16LE,

AV_PIX_FMT_YUVA422P16BE,

AV_PIX_FMT_YUVA422P16LE,

AV_PIX_FMT_YUVA444P16BE,

AV_PIX_FMT_YUVA444P16LE,

AV_PIX_FMT_VDPAU,

AV_PIX_FMT_XYZ12LE,

AV_PIX_FMT_XYZ12BE,

AV_PIX_FMT_NV16,

AV_PIX_FMT_NV20LE,

AV_PIX_FMT_NV20BE,

AV_PIX_FMT_RGBA64BE,

AV_PIX_FMT_RGBA64LE,

AV_PIX_FMT_BGRA64BE,

AV_PIX_FMT_BGRA64LE,

AV_PIX_FMT_YVYU422,

AV_PIX_FMT_VDA,

AV_PIX_FMT_YA16BE,

AV_PIX_FMT_YA16LE,

AV_PIX_FMT_GBRAP,

AV_PIX_FMT_GBRAP16BE,

AV_PIX_FMT_GBRAP16LE,

AV_PIX_FMT_QSV,

AV_PIX_FMT_MMAL,

AV_PIX_FMT_D3D11VA_VLD,

AV_PIX_FMT_0RGB=0x123+4,

AV_PIX_FMT_RGB0,

AV_PIX_FMT_0BGR,

AV_PIX_FMT_BGR0,

AV_PIX_FMT_YUV420P12BE,

AV_PIX_FMT_YUV420P12LE,

AV_PIX_FMT_YUV420P14BE,

AV_PIX_FMT_YUV420P14LE,

AV_PIX_FMT_YUV422P12BE,

AV_PIX_FMT_YUV422P12LE,

AV_PIX_FMT_YUV422P14BE,

AV_PIX_FMT_YUV422P14LE,

AV_PIX_FMT_YUV444P12BE,

AV_PIX_FMT_YUV444P12LE,

AV_PIX_FMT_YUV444P14BE,

AV_PIX_FMT_YUV444P14LE,

AV_PIX_FMT_GBRP12BE,

AV_PIX_FMT_GBRP12LE,

AV_PIX_FMT_GBRP14BE,

AV_PIX_FMT_GBRP14LE,

AV_PIX_FMT_YUVJ411P,

AV_PIX_FMT_BAYER_BGGR8,

AV_PIX_FMT_BAYER_RGGB8,

AV_PIX_FMT_BAYER_GBRG8,

AV_PIX_FMT_BAYER_GRBG8,

AV_PIX_FMT_BAYER_BGGR16LE,

AV_PIX_FMT_BAYER_BGGR16BE,

AV_PIX_FMT_BAYER_RGGB16LE,

AV_PIX_FMT_BAYER_RGGB16BE,

AV_PIX_FMT_BAYER_GBRG16LE,

AV_PIX_FMT_BAYER_GBRG16BE,

AV_PIX_FMT_BAYER_GRBG16LE,

AV_PIX_FMT_BAYER_GRBG16BE,

AV_PIX_FMT_YUV440P10LE,

AV_PIX_FMT_YUV440P10BE,

AV_PIX_FMT_YUV440P12LE,

AV_PIX_FMT_YUV440P12BE,

AV_PIX_FMT_AYUV64LE,

AV_PIX_FMT_AYUV64BE,

AV_PIX_FMT_VIDEOTOOLBOX,

AV_PIX_FMT_P010LE,

AV_PIX_FMT_P010BE,

AV_PIX_FMT_NB,

};

# 376 "external/ffmpeg/libavcodec/../libavutil/pixfmt.h"

enum AVColorPrimaries {

AVCOL_PRI_RESERVED0 = 0,

AVCOL_PRI_BT709 = 1,

AVCOL_PRI_UNSPECIFIED = 2,

AVCOL_PRI_RESERVED = 3,

AVCOL_PRI_BT470M = 4,

AVCOL_PRI_BT470BG = 5,

AVCOL_PRI_SMPTE170M = 6,

AVCOL_PRI_SMPTE240M = 7,

AVCOL_PRI_FILM = 8,

AVCOL_PRI_BT2020 = 9,

AVCOL_PRI_SMPTEST428_1= 10,

AVCOL_PRI_NB,

};

enum AVColorTransferCharacteristic {

AVCOL_TRC_RESERVED0 = 0,

AVCOL_TRC_BT709 = 1,

AVCOL_TRC_UNSPECIFIED = 2,

AVCOL_TRC_RESERVED = 3,

AVCOL_TRC_GAMMA22 = 4,

AVCOL_TRC_GAMMA28 = 5,

AVCOL_TRC_SMPTE170M = 6,

AVCOL_TRC_SMPTE240M = 7,

AVCOL_TRC_LINEAR = 8,

AVCOL_TRC_LOG = 9,

AVCOL_TRC_LOG_SQRT = 10,

AVCOL_TRC_IEC61966_2_4 = 11,

AVCOL_TRC_BT1361_ECG = 12,

AVCOL_TRC_IEC61966_2_1 = 13,

AVCOL_TRC_BT2020_10 = 14,

AVCOL_TRC_BT2020_12 = 15,

AVCOL_TRC_SMPTEST2084 = 16,

AVCOL_TRC_SMPTEST428_1 = 17,

AVCOL_TRC_NB,

};

enum AVColorSpace {

AVCOL_SPC_RGB = 0,

AVCOL_SPC_BT709 = 1,

AVCOL_SPC_UNSPECIFIED = 2,

AVCOL_SPC_RESERVED = 3,

AVCOL_SPC_FCC = 4,

AVCOL_SPC_BT470BG = 5,

AVCOL_SPC_SMPTE170M = 6,

AVCOL_SPC_SMPTE240M = 7,

AVCOL_SPC_YCOCG = 8,

AVCOL_SPC_BT2020_NCL = 9,

AVCOL_SPC_BT2020_CL = 10,

AVCOL_SPC_NB,

};

enum AVColorRange {

AVCOL_RANGE_UNSPECIFIED = 0,

AVCOL_RANGE_MPEG = 1,

AVCOL_RANGE_JPEG = 2,

AVCOL_RANGE_NB,

};

# 462 "external/ffmpeg/libavcodec/../libavutil/pixfmt.h"

enum AVChromaLocation {

AVCHROMA_LOC_UNSPECIFIED = 0,

AVCHROMA_LOC_LEFT = 1,

AVCHROMA_LOC_CENTER = 2,

AVCHROMA_LOC_TOPLEFT = 3,

AVCHROMA_LOC_TOP = 4,

AVCHROMA_LOC_BOTTOMLEFT = 5,

AVCHROMA_LOC_BOTTOM = 6,

AVCHROMA_LOC_NB,

};

# 296 "external/ffmpeg/libavcodec/../libavutil/avutil.h" 2

static inline void *av_x_if_null(const void *p, const void *x)

{

return (void *)(intptr_t)(p ? p : x);

}

# 313 "external/ffmpeg/libavcodec/../libavutil/avutil.h"

unsigned av_int_list_length_for_size(unsigned elsize,

const void *list, uint64_t term) __attribute__((pure));

# 331 "external/ffmpeg/libavcodec/../libavutil/avutil.h"

FILE *av_fopen_utf8(const char *path, const char *mode);

AVRational av_get_time_base_q(void);

# 35 "external/ffmpeg/libavcodec/../libavutil/mem.h" 2

# 83 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void *av_malloc(size_t size) __attribute__((__malloc__)) ;

# 93 "external/ffmpeg/libavcodec/../libavutil/mem.h"

static inline void *av_malloc_array(size_t nmemb, size_t size)

{

if (!size || nmemb >= 0x7fffffff / size)

return ((void*)0);

return av_malloc(nmemb * size);

}

# 118 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void *av_realloc(void *ptr, size_t size) ;

# 128 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void *av_realloc_f(void *ptr, size_t nelem, size_t elsize);

# 147 "external/ffmpeg/libavcodec/../libavutil/mem.h"

__attribute__((warn_unused_result))

int av_reallocp(void *ptr, size_t size);

# 167 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void *av_realloc_array(void *ptr, size_t nmemb, size_t size);

# 186 "external/ffmpeg/libavcodec/../libavutil/mem.h"

int av_reallocp_array(void *ptr, size_t nmemb, size_t size);

# 196 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void av_free(void *ptr);

# 206 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void *av_mallocz(size_t size) __attribute__((__malloc__)) ;

# 218 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void *av_calloc(size_t nmemb, size_t size) __attribute__((__malloc__));

# 229 "external/ffmpeg/libavcodec/../libavutil/mem.h"

static inline void *av_mallocz_array(size_t nmemb, size_t size)

{

if (!size || nmemb >= 0x7fffffff / size)

return ((void*)0);

return av_mallocz(nmemb * size);

}

char *av_strdup(const char *s) __attribute__((__malloc__));

# 252 "external/ffmpeg/libavcodec/../libavutil/mem.h"

char *av_strndup(const char *s, size_t len) __attribute__((__malloc__));

void *av_memdup(const void *p, size_t size);

# 270 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void av_freep(void *ptr);

# 293 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem);

# 308 "external/ffmpeg/libavcodec/../libavutil/mem.h"

__attribute__((warn_unused_result))

int av_dynarray_add_nofree(void *tab_ptr, int *nb_ptr, void *elem);

# 332 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void *av_dynarray2_add(void **tab_ptr, int *nb_ptr, size_t elem_size,

const uint8_t *elem_data);

static inline int av_size_mult(size_t a, size_t b, size_t *r)

{

size_t t = a * b;

if ((a | b) >= ((size_t)1 << (sizeof(size_t) * 4)) && a && t / a != b)

return (-(22));

*r = t;

return 0;

}

void av_max_alloc(size_t max);

# 364 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void av_memcpy_backptr(uint8_t *dst, int back, int cnt);

void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size);

# 385 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size);

# 400 "external/ffmpeg/libavcodec/../libavutil/mem.h"

void av_fast_mallocz(void *ptr, unsigned int *size, size_t min_size);

# 465 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/internal.h" 1

# 39 "external/ffmpeg/libavcodec/../libavutil/internal.h"

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 40 "external/ffmpeg/libavcodec/../libavutil/internal.h" 2

# 1 "bionic/libc/include/assert.h" 1

# 63 "bionic/libc/include/assert.h"

__attribute__((__noreturn__)) void __assert(const char *, int, const char *) __attribute__((__noreturn__));

__attribute__((__noreturn__)) void __assert2(const char *, int, const char *, const char *) __attribute__((__noreturn__));

# 41 "external/ffmpeg/libavcodec/../libavutil/internal.h" 2

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 42 "external/ffmpeg/libavcodec/../libavutil/internal.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/timer.h" 1

# 33 "external/ffmpeg/libavcodec/../libavutil/timer.h"

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 34 "external/ffmpeg/libavcodec/../libavutil/timer.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/aarch64/timer.h" 1

# 25 "external/ffmpeg/libavcodec/../libavutil/aarch64/timer.h"

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 26 "external/ffmpeg/libavcodec/../libavutil/aarch64/timer.h" 2

static inline uint64_t read_time(void)

{

uint64_t cycle_counter;

__asm__ volatile(

"isb                   \t\n"

"mrs %0, pmccntr_el0       "

: "=r"(cycle_counter) :: "memory" );

return cycle_counter;

}

# 43 "external/ffmpeg/libavcodec/../libavutil/timer.h" 2

# 44 "external/ffmpeg/libavcodec/../libavutil/internal.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/cpu.h" 1

# 76 "external/ffmpeg/libavcodec/../libavutil/cpu.h"

int av_get_cpu_flags(void);

void av_force_cpu_flags(int flags);

# 91 "external/ffmpeg/libavcodec/../libavutil/cpu.h"

__attribute__((deprecated)) void av_set_cpu_flags_mask(int mask);

# 102 "external/ffmpeg/libavcodec/../libavutil/cpu.h"

__attribute__((deprecated))

int av_parse_cpu_flags(const char *s);

int av_parse_cpu_caps(unsigned *flags, const char *s);

int av_cpu_count(void);

# 45 "external/ffmpeg/libavcodec/../libavutil/internal.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/dict.h" 1

# 82 "external/ffmpeg/libavcodec/../libavutil/dict.h"

typedef struct AVDictionaryEntry {

char *key;

char *value;

} AVDictionaryEntry;

typedef struct AVDictionary AVDictionary;

# 104 "external/ffmpeg/libavcodec/../libavutil/dict.h"

AVDictionaryEntry *av_dict_get(const AVDictionary *m, const char *key,

const AVDictionaryEntry *prev, int flags);

int av_dict_count(const AVDictionary *m);

# 128 "external/ffmpeg/libavcodec/../libavutil/dict.h"

int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags);

int av_dict_set_int(AVDictionary **pm, const char *key, int64_t value, int flags);

# 154 "external/ffmpeg/libavcodec/../libavutil/dict.h"

int av_dict_parse_string(AVDictionary **pm, const char *str,

const char *key_val_sep, const char *pairs_sep,

int flags);

# 168 "external/ffmpeg/libavcodec/../libavutil/dict.h"

int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags);

void av_dict_free(AVDictionary **m);

# 191 "external/ffmpeg/libavcodec/../libavutil/dict.h"

int av_dict_get_string(const AVDictionary *m, char **buffer,

const char key_val_sep, const char pairs_sep);

# 46 "external/ffmpeg/libavcodec/../libavutil/internal.h" 2

# 170 "external/ffmpeg/libavcodec/../libavutil/internal.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/libm.h" 1

# 29 "external/ffmpeg/libavcodec/../libavutil/libm.h"

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 30 "external/ffmpeg/libavcodec/../libavutil/libm.h" 2

# 171 "external/ffmpeg/libavcodec/../libavutil/internal.h" 2

# 229 "external/ffmpeg/libavcodec/../libavutil/internal.h"

void avpriv_report_missing_feature(void *avc,

const char *msg, ...) __attribute__((__format__(__printf__, 2, 3)));

# 240 "external/ffmpeg/libavcodec/../libavutil/internal.h"

void avpriv_request_sample(void *avc,

const char *msg, ...) __attribute__((__format__(__printf__, 2, 3)));

# 288 "external/ffmpeg/libavcodec/../libavutil/internal.h"

static __attribute__((always_inline)) inline __attribute__((const)) int64_t ff_rint64_clip(double a, int64_t amin, int64_t amax)

{

int64_t res;

if (a >= 9223372036854775808.0)

return amax;

if (a <= -9223372036854775808.0)

return amin;

res = llrint(a);

if (res > amax)

return amax;

if (res < amin)

return amin;

return res;

}

# 320 "external/ffmpeg/libavcodec/../libavutil/internal.h"

static __attribute__((always_inline)) inline double ff_exp10(double x)

{

return exp2(3.32192809488736234787 * x);

}

static __attribute__((always_inline)) inline float ff_exp10f(float x)

{

return exp2f(3.32192809488736234787 * x);

}

# 340 "external/ffmpeg/libavcodec/../libavutil/internal.h"

static __attribute__((always_inline)) inline float ff_fast_powf(float x, float y)

{

return expf(logf(x) * y);

}

__attribute__((warn_unused_result))

int avpriv_open(const char *filename, int flags, ...);

int avpriv_set_systematic_pal2(uint32_t pal[256], enum AVPixelFormat pix_fmt);

static __attribute__((always_inline)) inline __attribute__((const)) int avpriv_mirror(int x, int w)

{

if (!w)

return 0;

while ((unsigned)x > (unsigned)w) {

x = -x;

if (x < 0)

x += 2 * w;

}

return x;

}

void ff_check_pixfmt_descriptors(void);

extern const uint8_t ff_reverse[256];

# 468 "external/ffmpeg/libavcodec/../libavutil/common.h" 2

# 25 "external/ffmpeg/libavcodec/vp9dsp_template.c" 2

# 1 "external/ffmpeg/libavcodec/bit_depth_template.c" 1

# 19 "external/ffmpeg/libavcodec/bit_depth_template.c"

# 1 "external/ffmpeg/libavcodec/mathops.h" 1

# 27 "external/ffmpeg/libavcodec/mathops.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/common.h" 1

# 28 "external/ffmpeg/libavcodec/mathops.h" 2

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 29 "external/ffmpeg/libavcodec/mathops.h" 2

extern const uint32_t ff_inverse[257];

extern const uint8_t ff_sqrt_tab[256];

extern const uint8_t ff_crop_tab[256 + 2 * 1024];

extern const uint8_t ff_zigzag_direct[64];

# 60 "external/ffmpeg/libavcodec/mathops.h"

static __attribute__((always_inline)) inline int MULH(int a, int b){

return ((int64_t)(a) * (int64_t)(b)) >> 32;

}

static __attribute__((always_inline)) inline unsigned UMULH(unsigned a, unsigned b){

return ((uint64_t)(a) * (uint64_t)(b))>>32;

}

# 96 "external/ffmpeg/libavcodec/mathops.h"

static inline __attribute__((const)) int mid_pred(int a, int b, int c)

{

# 107 "external/ffmpeg/libavcodec/mathops.h"

if(a>b){

if(c>b){

if(c>a) b=a;

else b=c;

}

}else{

if(b>c){

if(c>a) b=c;

else b=a;

}

}

return b;

}

static inline __attribute__((const)) int median4(int a, int b, int c, int d)

{

if (a < b) {

if (c < d) return (((b) > (d) ? (d) : (b)) + ((a) > (c) ? (a) : (c))) / 2;

else return (((b) > (c) ? (c) : (b)) + ((a) > (d) ? (a) : (d))) / 2;

} else {

if (c < d) return (((a) > (d) ? (d) : (a)) + ((b) > (c) ? (b) : (c))) / 2;

else return (((a) > (c) ? (c) : (a)) + ((b) > (d) ? (b) : (d))) / 2;

}

}

static inline __attribute__((const)) int sign_extend(int val, unsigned bits)

{

unsigned shift = 8 * sizeof(int) - bits;

union { unsigned u; int s; } v = { (unsigned) val << shift };

return v.s >> shift;

}

static inline __attribute__((const)) unsigned zero_extend(unsigned val, unsigned bits)

{

return (val << ((8 * sizeof(int)) - bits)) >> ((8 * sizeof(int)) - bits);

}

# 215 "external/ffmpeg/libavcodec/mathops.h"

static inline __attribute__((const)) unsigned int ff_sqrt(unsigned int a)

{

unsigned int b;

if (a < 255) return (ff_sqrt_tab[a + 1] - 1) >> 4;

else if (a < (1 << 12)) b = ff_sqrt_tab[a >> 4] >> 2;

else if (a < (1 << 14)) b = ff_sqrt_tab[a >> 6] >> 1;

else if (a < (1 << 16)) b = ff_sqrt_tab[a >> 8] ;

else {

int s = (31 - __builtin_clz((a >> 16)|1)) >> 1;

unsigned int c = a >> (s + 2);

b = ff_sqrt_tab[c >> (s + 8)];

b = ((uint32_t)((((uint64_t)c) * ff_inverse[b]) >> 32)) + (b << s);

}

return b - (a < b * b);

}

static inline __attribute__((const)) float ff_sqrf(float a)

{

return a*a;

}

static inline int8_t ff_u8_to_s8(uint8_t a)

{

union {

uint8_t u8;

int8_t s8;

} b;

b.u8 = a;

return b.s8;

}

# 20 "external/ffmpeg/libavcodec/bit_depth_template.c" 2

# 1 "external/ffmpeg/libavcodec/rnd_avg.h" 1

# 25 "external/ffmpeg/libavcodec/rnd_avg.h"

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 26 "external/ffmpeg/libavcodec/rnd_avg.h" 2

static inline uint32_t rnd_avg32(uint32_t a, uint32_t b)

{

return (a | b) - (((a ^ b) & ~((0x01) * 0x01010101UL)) >> 1);

}

static inline uint32_t no_rnd_avg32(uint32_t a, uint32_t b)

{

return (a & b) + (((a ^ b) & ~((0x01) * 0x01010101UL)) >> 1);

}

static inline uint64_t rnd_avg64(uint64_t a, uint64_t b)

{

return (a | b) - (((a ^ b) & ~((0x01) * 0x0001000100010001UL)) >> 1);

}

static inline uint64_t no_rnd_avg64(uint64_t a, uint64_t b)

{

return (a & b) + (((a ^ b) & ~((0x01) * 0x0001000100010001UL)) >> 1);

}

# 21 "external/ffmpeg/libavcodec/bit_depth_template.c" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/intreadwrite.h" 1

# 25 "external/ffmpeg/libavcodec/../libavutil/intreadwrite.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/bswap.h" 1

# 35 "external/ffmpeg/libavcodec/../libavutil/bswap.h"

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 36 "external/ffmpeg/libavcodec/../libavutil/bswap.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/aarch64/bswap.h" 1

# 23 "external/ffmpeg/libavcodec/../libavutil/aarch64/bswap.h"

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 24 "external/ffmpeg/libavcodec/../libavutil/aarch64/bswap.h" 2

static __attribute__((always_inline)) inline __attribute__((const)) unsigned av_bswap16(unsigned x)

{

__asm__("rev16 %w0, %w0" : "+r"(x));

return x;

}

static __attribute__((always_inline)) inline __attribute__((const)) uint32_t av_bswap32(uint32_t x)

{

__asm__("rev %w0, %w0" : "+r"(x));

return x;

}

static __attribute__((always_inline)) inline __attribute__((const)) uint64_t av_bswap64(uint64_t x)

{

__asm__("rev %0, %0" : "+r"(x));

return x;

}

# 39 "external/ffmpeg/libavcodec/../libavutil/bswap.h" 2

# 26 "external/ffmpeg/libavcodec/../libavutil/intreadwrite.h" 2

typedef union {

uint64_t u64;

uint32_t u32[2];

uint16_t u16[4];

uint8_t u8 [8];

double f64;

float f32[2];

} __attribute__((may_alias)) av_alias64;

typedef union {

uint32_t u32;

uint16_t u16[2];

uint8_t u8 [4];

float f32;

} __attribute__((may_alias)) av_alias32;

typedef union {

uint16_t u16;

uint8_t u8 [2];

} __attribute__((may_alias)) av_alias16;

# 65 "external/ffmpeg/libavcodec/../libavutil/intreadwrite.h"

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 66 "external/ffmpeg/libavcodec/../libavutil/intreadwrite.h" 2

# 220 "external/ffmpeg/libavcodec/../libavutil/intreadwrite.h"

union unaligned_64 { uint64_t l; } __attribute__((packed)) __attribute__((may_alias));

union unaligned_32 { uint32_t l; } __attribute__((packed)) __attribute__((may_alias));

union unaligned_16 { uint16_t l; } __attribute__((packed)) __attribute__((may_alias));

# 22 "external/ffmpeg/libavcodec/bit_depth_template.c" 2

# 26 "external/ffmpeg/libavcodec/vp9dsp_template.c" 2

# 1 "external/ffmpeg/libavcodec/vp9dsp.h" 1

# 27 "external/ffmpeg/libavcodec/vp9dsp.h"

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 28 "external/ffmpeg/libavcodec/vp9dsp.h" 2

# 1 "external/ffmpeg/libavcodec/vp9.h" 1

# 29 "external/ffmpeg/libavcodec/vp9.h"

# 1 "external/ffmpeg/libavcodec/thread.h" 1

# 30 "external/ffmpeg/libavcodec/thread.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/buffer.h" 1

# 73 "external/ffmpeg/libavcodec/../libavutil/buffer.h"

typedef struct AVBuffer AVBuffer;

typedef struct AVBufferRef {

AVBuffer *buffer;

uint8_t *data;

int size;

} AVBufferRef;

AVBufferRef *av_buffer_alloc(int size);

AVBufferRef *av_buffer_allocz(int size);

# 130 "external/ffmpeg/libavcodec/../libavutil/buffer.h"

AVBufferRef *av_buffer_create(uint8_t *data, int size,

void (*free)(void *opaque, uint8_t *data),

void *opaque, int flags);

void av_buffer_default_free(void *opaque, uint8_t *data);

AVBufferRef *av_buffer_ref(AVBufferRef *buf);

void av_buffer_unref(AVBufferRef **buf);

int av_buffer_is_writable(const AVBufferRef *buf);

void *av_buffer_get_opaque(const AVBufferRef *buf);

int av_buffer_get_ref_count(const AVBufferRef *buf);

# 181 "external/ffmpeg/libavcodec/../libavutil/buffer.h"

int av_buffer_make_writable(AVBufferRef **buf);

# 198 "external/ffmpeg/libavcodec/../libavutil/buffer.h"

int av_buffer_realloc(AVBufferRef **buf, int size);

# 238 "external/ffmpeg/libavcodec/../libavutil/buffer.h"

typedef struct AVBufferPool AVBufferPool;

# 249 "external/ffmpeg/libavcodec/../libavutil/buffer.h"

AVBufferPool *av_buffer_pool_init(int size, AVBufferRef* (*alloc)(int size));

# 260 "external/ffmpeg/libavcodec/../libavutil/buffer.h"

void av_buffer_pool_uninit(AVBufferPool **pool);

AVBufferRef *av_buffer_pool_get(AVBufferPool *pool);

# 31 "external/ffmpeg/libavcodec/thread.h" 2

# 1 "external/ffmpeg/libavcodec/../android/include/config.h" 1

# 33 "external/ffmpeg/libavcodec/thread.h" 2

# 1 "external/ffmpeg/libavcodec/avcodec.h" 1

# 31 "external/ffmpeg/libavcodec/avcodec.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h" 1

# 59 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

enum AVSampleFormat {

AV_SAMPLE_FMT_NONE = -1,

AV_SAMPLE_FMT_U8,

AV_SAMPLE_FMT_S16,

AV_SAMPLE_FMT_S32,

AV_SAMPLE_FMT_FLT,

AV_SAMPLE_FMT_DBL,

AV_SAMPLE_FMT_U8P,

AV_SAMPLE_FMT_S16P,

AV_SAMPLE_FMT_S32P,

AV_SAMPLE_FMT_FLTP,

AV_SAMPLE_FMT_DBLP,

AV_SAMPLE_FMT_NB

};

const char *av_get_sample_fmt_name(enum AVSampleFormat sample_fmt);

enum AVSampleFormat av_get_sample_fmt(const char *name);

enum AVSampleFormat av_get_alt_sample_fmt(enum AVSampleFormat sample_fmt, int planar);

# 105 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

enum AVSampleFormat av_get_packed_sample_fmt(enum AVSampleFormat sample_fmt);

# 116 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

enum AVSampleFormat av_get_planar_sample_fmt(enum AVSampleFormat sample_fmt);

# 130 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

char *av_get_sample_fmt_string(char *buf, int buf_size, enum AVSampleFormat sample_fmt);

# 139 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt);

int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt);

# 159 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples,

enum AVSampleFormat sample_fmt, int align);

# 201 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

int av_samples_fill_arrays(uint8_t **audio_data, int *linesize,

const uint8_t *buf,

int nb_channels, int nb_samples,

enum AVSampleFormat sample_fmt, int align);

# 225 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels,

int nb_samples, enum AVSampleFormat sample_fmt, int align);

# 237 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

int av_samples_alloc_array_and_samples(uint8_t ***audio_data, int *linesize, int nb_channels,

int nb_samples, enum AVSampleFormat sample_fmt, int align);

# 251 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

int av_samples_copy(uint8_t **dst, uint8_t * const *src, int dst_offset,

int src_offset, int nb_samples, int nb_channels,

enum AVSampleFormat sample_fmt);

# 264 "external/ffmpeg/libavcodec/../libavutil/samplefmt.h"

int av_samples_set_silence(uint8_t **audio_data, int offset, int nb_samples,

int nb_channels, enum AVSampleFormat sample_fmt);

# 32 "external/ffmpeg/libavcodec/avcodec.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/channel_layout.h" 1

# 114 "external/ffmpeg/libavcodec/../libavutil/channel_layout.h"

enum AVMatrixEncoding {

AV_MATRIX_ENCODING_NONE,

AV_MATRIX_ENCODING_DOLBY,

AV_MATRIX_ENCODING_DPLII,

AV_MATRIX_ENCODING_DPLIIX,

AV_MATRIX_ENCODING_DPLIIZ,

AV_MATRIX_ENCODING_DOLBYEX,

AV_MATRIX_ENCODING_DOLBYHEADPHONE,

AV_MATRIX_ENCODING_NB

};

# 147 "external/ffmpeg/libavcodec/../libavutil/channel_layout.h"

uint64_t av_get_channel_layout(const char *name);

# 156 "external/ffmpeg/libavcodec/../libavutil/channel_layout.h"

void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout);

struct AVBPrint;

void av_bprint_channel_layout(struct AVBPrint *bp, int nb_channels, uint64_t channel_layout);

int av_get_channel_layout_nb_channels(uint64_t channel_layout);

int64_t av_get_default_channel_layout(int nb_channels);

# 183 "external/ffmpeg/libavcodec/../libavutil/channel_layout.h"

int av_get_channel_layout_channel_index(uint64_t channel_layout,

uint64_t channel);

uint64_t av_channel_layout_extract_channel(uint64_t channel_layout, int index);

const char *av_get_channel_name(uint64_t channel);

const char *av_get_channel_description(uint64_t channel);

# 215 "external/ffmpeg/libavcodec/../libavutil/channel_layout.h"

int av_get_standard_channel_layout(unsigned index, uint64_t *layout,

const char **name);

# 37 "external/ffmpeg/libavcodec/avcodec.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/frame.h" 1

# 48 "external/ffmpeg/libavcodec/../libavutil/frame.h"

enum AVFrameSideDataType {

AV_FRAME_DATA_PANSCAN,

AV_FRAME_DATA_A53_CC,

AV_FRAME_DATA_STEREO3D,

AV_FRAME_DATA_MATRIXENCODING,

AV_FRAME_DATA_DOWNMIX_INFO,

AV_FRAME_DATA_REPLAYGAIN,

AV_FRAME_DATA_DISPLAYMATRIX,

AV_FRAME_DATA_AFD,

AV_FRAME_DATA_MOTION_VECTORS,

# 108 "external/ffmpeg/libavcodec/../libavutil/frame.h"

AV_FRAME_DATA_SKIP_SAMPLES,

AV_FRAME_DATA_AUDIO_SERVICE_TYPE,

AV_FRAME_DATA_MASTERING_DISPLAY_METADATA,

AV_FRAME_DATA_GOP_TIMECODE

};

enum AVActiveFormatDescription {

AV_AFD_SAME = 8,

AV_AFD_4_3 = 9,

AV_AFD_16_9 = 10,

AV_AFD_14_9 = 11,

AV_AFD_4_3_SP_14_9 = 13,

AV_AFD_16_9_SP_14_9 = 14,

AV_AFD_SP_4_3 = 15,

};

# 144 "external/ffmpeg/libavcodec/../libavutil/frame.h"

typedef struct AVFrameSideData {

enum AVFrameSideDataType type;

uint8_t *data;

int size;

AVDictionary *metadata;

AVBufferRef *buf;

} AVFrameSideData;

# 181 "external/ffmpeg/libavcodec/../libavutil/frame.h"

typedef struct AVFrame {

# 192 "external/ffmpeg/libavcodec/../libavutil/frame.h"

uint8_t *data[8];

# 209 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int linesize[8];

# 225 "external/ffmpeg/libavcodec/../libavutil/frame.h"

uint8_t **extended_data;

int width, height;

int nb_samples;

int format;

int key_frame;

enum AVPictureType pict_type;

AVRational sample_aspect_ratio;

int64_t pts;

int64_t pkt_pts;

int64_t pkt_dts;

int coded_picture_number;

int display_picture_number;

int quality;

void *opaque;

__attribute__((deprecated))

uint64_t error[8];

int repeat_pict;

int interlaced_frame;

int top_field_first;

int palette_has_changed;

# 333 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int64_t reordered_opaque;

int sample_rate;

uint64_t channel_layout;

# 357 "external/ffmpeg/libavcodec/../libavutil/frame.h"

AVBufferRef *buf[8];

# 371 "external/ffmpeg/libavcodec/../libavutil/frame.h"

AVBufferRef **extended_buf;

int nb_extended_buf;

AVFrameSideData **side_data;

int nb_side_data;

# 398 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int flags;

# 407 "external/ffmpeg/libavcodec/../libavutil/frame.h"

enum AVColorRange color_range;

enum AVColorPrimaries color_primaries;

enum AVColorTransferCharacteristic color_trc;

# 420 "external/ffmpeg/libavcodec/../libavutil/frame.h"

enum AVColorSpace colorspace;

enum AVChromaLocation chroma_location;

# 431 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int64_t best_effort_timestamp;

# 440 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int64_t pkt_pos;

# 450 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int64_t pkt_duration;

# 459 "external/ffmpeg/libavcodec/../libavutil/frame.h"

AVDictionary *metadata;

# 470 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int decode_error_flags;

# 481 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int channels;

# 491 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int pkt_size;

__attribute__((deprecated))

int8_t *qscale_table;

__attribute__((deprecated))

int qstride;

__attribute__((deprecated))

int qscale_type;

AVBufferRef *qp_table_buf;

} AVFrame;

int64_t av_frame_get_best_effort_timestamp(const AVFrame *frame);

void av_frame_set_best_effort_timestamp(AVFrame *frame, int64_t val);

int64_t av_frame_get_pkt_duration (const AVFrame *frame);

void av_frame_set_pkt_duration (AVFrame *frame, int64_t val);

int64_t av_frame_get_pkt_pos (const AVFrame *frame);

void av_frame_set_pkt_pos (AVFrame *frame, int64_t val);

int64_t av_frame_get_channel_layout (const AVFrame *frame);

void av_frame_set_channel_layout (AVFrame *frame, int64_t val);

int av_frame_get_channels (const AVFrame *frame);

void av_frame_set_channels (AVFrame *frame, int val);

int av_frame_get_sample_rate (const AVFrame *frame);

void av_frame_set_sample_rate (AVFrame *frame, int val);

AVDictionary *av_frame_get_metadata (const AVFrame *frame);

void av_frame_set_metadata (AVFrame *frame, AVDictionary *val);

int av_frame_get_decode_error_flags (const AVFrame *frame);

void av_frame_set_decode_error_flags (AVFrame *frame, int val);

int av_frame_get_pkt_size(const AVFrame *frame);

void av_frame_set_pkt_size(AVFrame *frame, int val);

AVDictionary **avpriv_frame_get_metadatap(AVFrame *frame);

int8_t *av_frame_get_qp_table(AVFrame *f, int *stride, int *type);

int av_frame_set_qp_table(AVFrame *f, AVBufferRef *buf, int stride, int type);

enum AVColorSpace av_frame_get_colorspace(const AVFrame *frame);

void av_frame_set_colorspace(AVFrame *frame, enum AVColorSpace val);

enum AVColorRange av_frame_get_color_range(const AVFrame *frame);

void av_frame_set_color_range(AVFrame *frame, enum AVColorRange val);

const char *av_get_colorspace_name(enum AVColorSpace val);

# 566 "external/ffmpeg/libavcodec/../libavutil/frame.h"

AVFrame *av_frame_alloc(void);

# 575 "external/ffmpeg/libavcodec/../libavutil/frame.h"

void av_frame_free(AVFrame **frame);

# 588 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int av_frame_ref(AVFrame *dst, const AVFrame *src);

# 597 "external/ffmpeg/libavcodec/../libavutil/frame.h"

AVFrame *av_frame_clone(const AVFrame *src);

void av_frame_unref(AVFrame *frame);

void av_frame_move_ref(AVFrame *dst, AVFrame *src);

# 626 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int av_frame_get_buffer(AVFrame *frame, int align);

# 640 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int av_frame_is_writable(AVFrame *frame);

# 653 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int av_frame_make_writable(AVFrame *frame);

# 666 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int av_frame_copy(AVFrame *dst, const AVFrame *src);

# 676 "external/ffmpeg/libavcodec/../libavutil/frame.h"

int av_frame_copy_props(AVFrame *dst, const AVFrame *src);

# 686 "external/ffmpeg/libavcodec/../libavutil/frame.h"

AVBufferRef *av_frame_get_plane_buffer(AVFrame *frame, int plane);

# 697 "external/ffmpeg/libavcodec/../libavutil/frame.h"

AVFrameSideData *av_frame_new_side_data(AVFrame *frame,

enum AVFrameSideDataType type,

int size);

AVFrameSideData *av_frame_get_side_data(const AVFrame *frame,

enum AVFrameSideDataType type);

void av_frame_remove_side_data(AVFrame *frame, enum AVFrameSideDataType type);

const char *av_frame_side_data_name(enum AVFrameSideDataType type);

# 39 "external/ffmpeg/libavcodec/avcodec.h" 2

# 1 "external/ffmpeg/libavcodec/version.h" 1

# 44 "external/ffmpeg/libavcodec/avcodec.h" 2

# 101 "external/ffmpeg/libavcodec/avcodec.h"

enum AVCodecID {

AV_CODEC_ID_NONE,

AV_CODEC_ID_MPEG1VIDEO,

AV_CODEC_ID_MPEG2VIDEO,

AV_CODEC_ID_MPEG2VIDEO_XVMC,

AV_CODEC_ID_H261,

AV_CODEC_ID_H263,

AV_CODEC_ID_RV10,

AV_CODEC_ID_RV20,

AV_CODEC_ID_MJPEG,

AV_CODEC_ID_MJPEGB,

AV_CODEC_ID_LJPEG,

AV_CODEC_ID_SP5X,

AV_CODEC_ID_JPEGLS,

AV_CODEC_ID_MPEG4,

AV_CODEC_ID_RAWVIDEO,

AV_CODEC_ID_MSMPEG4V1,

AV_CODEC_ID_MSMPEG4V2,

AV_CODEC_ID_MSMPEG4V3,

AV_CODEC_ID_WMV1,

AV_CODEC_ID_WMV2,

AV_CODEC_ID_H263P,

AV_CODEC_ID_H263I,

AV_CODEC_ID_FLV1,

AV_CODEC_ID_SVQ1,

AV_CODEC_ID_SVQ3,

AV_CODEC_ID_DVVIDEO,

AV_CODEC_ID_HUFFYUV,

AV_CODEC_ID_CYUV,

AV_CODEC_ID_H264,

AV_CODEC_ID_INDEO3,

AV_CODEC_ID_VP3,

AV_CODEC_ID_THEORA,

AV_CODEC_ID_ASV1,

AV_CODEC_ID_ASV2,

AV_CODEC_ID_FFV1,

AV_CODEC_ID_4XM,

AV_CODEC_ID_VCR1,

AV_CODEC_ID_CLJR,

AV_CODEC_ID_MDEC,

AV_CODEC_ID_ROQ,

AV_CODEC_ID_INTERPLAY_VIDEO,

AV_CODEC_ID_XAN_WC3,

AV_CODEC_ID_XAN_WC4,

AV_CODEC_ID_RPZA,

AV_CODEC_ID_CINEPAK,

AV_CODEC_ID_WS_VQA,

AV_CODEC_ID_MSRLE,

AV_CODEC_ID_MSVIDEO1,

AV_CODEC_ID_IDCIN,

AV_CODEC_ID_8BPS,

AV_CODEC_ID_SMC,

AV_CODEC_ID_FLIC,

AV_CODEC_ID_TRUEMOTION1,

AV_CODEC_ID_VMDVIDEO,

AV_CODEC_ID_MSZH,

AV_CODEC_ID_ZLIB,

AV_CODEC_ID_QTRLE,

AV_CODEC_ID_TSCC,

AV_CODEC_ID_ULTI,

AV_CODEC_ID_QDRAW,

AV_CODEC_ID_VIXL,

AV_CODEC_ID_QPEG,

AV_CODEC_ID_PNG,

AV_CODEC_ID_PPM,

AV_CODEC_ID_PBM,

AV_CODEC_ID_PGM,

AV_CODEC_ID_PGMYUV,

AV_CODEC_ID_PAM,

AV_CODEC_ID_FFVHUFF,

AV_CODEC_ID_RV30,

AV_CODEC_ID_RV40,

AV_CODEC_ID_VC1,

AV_CODEC_ID_WMV3,

AV_CODEC_ID_LOCO,

AV_CODEC_ID_WNV1,

AV_CODEC_ID_AASC,

AV_CODEC_ID_INDEO2,

AV_CODEC_ID_FRAPS,

AV_CODEC_ID_TRUEMOTION2,

AV_CODEC_ID_BMP,

AV_CODEC_ID_CSCD,

AV_CODEC_ID_MMVIDEO,

AV_CODEC_ID_ZMBV,

AV_CODEC_ID_AVS,

AV_CODEC_ID_SMACKVIDEO,

AV_CODEC_ID_NUV,

AV_CODEC_ID_KMVC,

AV_CODEC_ID_FLASHSV,

AV_CODEC_ID_CAVS,

AV_CODEC_ID_JPEG2000,

AV_CODEC_ID_VMNC,

AV_CODEC_ID_VP5,

AV_CODEC_ID_VP6,

AV_CODEC_ID_VP6F,

AV_CODEC_ID_TARGA,

AV_CODEC_ID_DSICINVIDEO,

AV_CODEC_ID_TIERTEXSEQVIDEO,

AV_CODEC_ID_TIFF,

AV_CODEC_ID_GIF,

AV_CODEC_ID_DXA,

AV_CODEC_ID_DNXHD,

AV_CODEC_ID_THP,

AV_CODEC_ID_SGI,

AV_CODEC_ID_C93,

AV_CODEC_ID_BETHSOFTVID,

AV_CODEC_ID_PTX,

AV_CODEC_ID_TXD,

AV_CODEC_ID_VP6A,

AV_CODEC_ID_AMV,

AV_CODEC_ID_VB,

AV_CODEC_ID_PCX,

AV_CODEC_ID_SUNRAST,

AV_CODEC_ID_INDEO4,

AV_CODEC_ID_INDEO5,

AV_CODEC_ID_MIMIC,

AV_CODEC_ID_RL2,

AV_CODEC_ID_ESCAPE124,

AV_CODEC_ID_DIRAC,

AV_CODEC_ID_BFI,

AV_CODEC_ID_CMV,

AV_CODEC_ID_MOTIONPIXELS,

AV_CODEC_ID_TGV,

AV_CODEC_ID_TGQ,

AV_CODEC_ID_TQI,

AV_CODEC_ID_AURA,

AV_CODEC_ID_AURA2,

AV_CODEC_ID_V210X,

AV_CODEC_ID_TMV,

AV_CODEC_ID_V210,

AV_CODEC_ID_DPX,

AV_CODEC_ID_MAD,

AV_CODEC_ID_FRWU,

AV_CODEC_ID_FLASHSV2,

AV_CODEC_ID_CDGRAPHICS,

AV_CODEC_ID_R210,

AV_CODEC_ID_ANM,

AV_CODEC_ID_BINKVIDEO,

AV_CODEC_ID_IFF_ILBM,

AV_CODEC_ID_KGV1,

AV_CODEC_ID_YOP,

AV_CODEC_ID_VP8,

AV_CODEC_ID_PICTOR,

AV_CODEC_ID_ANSI,

AV_CODEC_ID_A64_MULTI,

AV_CODEC_ID_A64_MULTI5,

AV_CODEC_ID_R10K,

AV_CODEC_ID_MXPEG,

AV_CODEC_ID_LAGARITH,

AV_CODEC_ID_PRORES,

AV_CODEC_ID_JV,

AV_CODEC_ID_DFA,

AV_CODEC_ID_WMV3IMAGE,

AV_CODEC_ID_VC1IMAGE,

AV_CODEC_ID_UTVIDEO,

AV_CODEC_ID_BMV_VIDEO,

AV_CODEC_ID_VBLE,

AV_CODEC_ID_DXTORY,

AV_CODEC_ID_V410,

AV_CODEC_ID_XWD,

AV_CODEC_ID_CDXL,

AV_CODEC_ID_XBM,

AV_CODEC_ID_ZEROCODEC,

AV_CODEC_ID_MSS1,

AV_CODEC_ID_MSA1,

AV_CODEC_ID_TSCC2,

AV_CODEC_ID_MTS2,

AV_CODEC_ID_CLLC,

AV_CODEC_ID_MSS2,

AV_CODEC_ID_VP9,

AV_CODEC_ID_AIC,

AV_CODEC_ID_ESCAPE130,

AV_CODEC_ID_G2M,

AV_CODEC_ID_WEBP,

AV_CODEC_ID_HNM4_VIDEO,

AV_CODEC_ID_HEVC,

AV_CODEC_ID_FIC,

AV_CODEC_ID_ALIAS_PIX,

AV_CODEC_ID_BRENDER_PIX,

AV_CODEC_ID_PAF_VIDEO,

AV_CODEC_ID_EXR,

AV_CODEC_ID_VP7,

AV_CODEC_ID_SANM,

AV_CODEC_ID_SGIRLE,

AV_CODEC_ID_MVC1,

AV_CODEC_ID_MVC2,

AV_CODEC_ID_HQX,

AV_CODEC_ID_TDSC,

AV_CODEC_ID_HQ_HQA,

AV_CODEC_ID_HAP,

AV_CODEC_ID_DDS,

AV_CODEC_ID_DXV,

AV_CODEC_ID_SCREENPRESSO,

AV_CODEC_ID_RSCC,

AV_CODEC_ID_Y41P = 0x8000,

AV_CODEC_ID_AVRP,

AV_CODEC_ID_012V,

AV_CODEC_ID_AVUI,

AV_CODEC_ID_AYUV,

AV_CODEC_ID_TARGA_Y216,

AV_CODEC_ID_V308,

AV_CODEC_ID_V408,

AV_CODEC_ID_YUV4,

AV_CODEC_ID_AVRN,

AV_CODEC_ID_CPIA,

AV_CODEC_ID_XFACE,

AV_CODEC_ID_SNOW,

AV_CODEC_ID_SMVJPEG,

AV_CODEC_ID_APNG,

AV_CODEC_ID_DAALA,

AV_CODEC_ID_CFHD,

AV_CODEC_ID_FIRST_AUDIO = 0x10000,

AV_CODEC_ID_PCM_S16LE = 0x10000,

AV_CODEC_ID_PCM_S16BE,

AV_CODEC_ID_PCM_U16LE,

AV_CODEC_ID_PCM_U16BE,

AV_CODEC_ID_PCM_S8,

AV_CODEC_ID_PCM_U8,

AV_CODEC_ID_PCM_MULAW,

AV_CODEC_ID_PCM_ALAW,

AV_CODEC_ID_PCM_S32LE,

AV_CODEC_ID_PCM_S32BE,

AV_CODEC_ID_PCM_U32LE,

AV_CODEC_ID_PCM_U32BE,

AV_CODEC_ID_PCM_S24LE,

AV_CODEC_ID_PCM_S24BE,

AV_CODEC_ID_PCM_U24LE,

AV_CODEC_ID_PCM_U24BE,

AV_CODEC_ID_PCM_S24DAUD,

AV_CODEC_ID_PCM_ZORK,

AV_CODEC_ID_PCM_S16LE_PLANAR,

AV_CODEC_ID_PCM_DVD,

AV_CODEC_ID_PCM_F32BE,

AV_CODEC_ID_PCM_F32LE,

AV_CODEC_ID_PCM_F64BE,

AV_CODEC_ID_PCM_F64LE,

AV_CODEC_ID_PCM_BLURAY,

AV_CODEC_ID_PCM_LXF,

AV_CODEC_ID_S302M,

AV_CODEC_ID_PCM_S8_PLANAR,

AV_CODEC_ID_PCM_S24LE_PLANAR,

AV_CODEC_ID_PCM_S32LE_PLANAR,

AV_CODEC_ID_PCM_S16BE_PLANAR,

AV_CODEC_ID_ADPCM_IMA_QT = 0x11000,

AV_CODEC_ID_ADPCM_IMA_WAV,

AV_CODEC_ID_ADPCM_IMA_DK3,

AV_CODEC_ID_ADPCM_IMA_DK4,

AV_CODEC_ID_ADPCM_IMA_WS,

AV_CODEC_ID_ADPCM_IMA_SMJPEG,

AV_CODEC_ID_ADPCM_MS,

AV_CODEC_ID_ADPCM_4XM,

AV_CODEC_ID_ADPCM_XA,

AV_CODEC_ID_ADPCM_ADX,

AV_CODEC_ID_ADPCM_EA,

AV_CODEC_ID_ADPCM_G726,

AV_CODEC_ID_ADPCM_CT,

AV_CODEC_ID_ADPCM_SWF,

AV_CODEC_ID_ADPCM_YAMAHA,

AV_CODEC_ID_ADPCM_SBPRO_4,

AV_CODEC_ID_ADPCM_SBPRO_3,

AV_CODEC_ID_ADPCM_SBPRO_2,

AV_CODEC_ID_ADPCM_THP,

AV_CODEC_ID_ADPCM_IMA_AMV,

AV_CODEC_ID_ADPCM_EA_R1,

AV_CODEC_ID_ADPCM_EA_R3,

AV_CODEC_ID_ADPCM_EA_R2,

AV_CODEC_ID_ADPCM_IMA_EA_SEAD,

AV_CODEC_ID_ADPCM_IMA_EA_EACS,

AV_CODEC_ID_ADPCM_EA_XAS,

AV_CODEC_ID_ADPCM_EA_MAXIS_XA,

AV_CODEC_ID_ADPCM_IMA_ISS,

AV_CODEC_ID_ADPCM_G722,

AV_CODEC_ID_ADPCM_IMA_APC,

AV_CODEC_ID_ADPCM_VIMA,

AV_CODEC_ID_VIMA = AV_CODEC_ID_ADPCM_VIMA,

AV_CODEC_ID_ADPCM_AFC = 0x11800,

AV_CODEC_ID_ADPCM_IMA_OKI,

AV_CODEC_ID_ADPCM_DTK,

AV_CODEC_ID_ADPCM_IMA_RAD,

AV_CODEC_ID_ADPCM_G726LE,

AV_CODEC_ID_ADPCM_THP_LE,

AV_CODEC_ID_ADPCM_PSX,

AV_CODEC_ID_ADPCM_AICA,

AV_CODEC_ID_AMR_NB = 0x12000,

AV_CODEC_ID_AMR_WB,

AV_CODEC_ID_RA_144 = 0x13000,

AV_CODEC_ID_RA_288,

AV_CODEC_ID_ROQ_DPCM = 0x14000,

AV_CODEC_ID_INTERPLAY_DPCM,

AV_CODEC_ID_XAN_DPCM,

AV_CODEC_ID_SOL_DPCM,

AV_CODEC_ID_SDX2_DPCM = 0x14800,

AV_CODEC_ID_MP2 = 0x15000,

AV_CODEC_ID_MP3,

AV_CODEC_ID_AAC,

AV_CODEC_ID_AC3,

AV_CODEC_ID_DTS,

AV_CODEC_ID_VORBIS,

AV_CODEC_ID_DVAUDIO,

AV_CODEC_ID_WMAV1,

AV_CODEC_ID_WMAV2,

AV_CODEC_ID_MACE3,

AV_CODEC_ID_MACE6,

AV_CODEC_ID_VMDAUDIO,

AV_CODEC_ID_FLAC,

AV_CODEC_ID_MP3ADU,

AV_CODEC_ID_MP3ON4,

AV_CODEC_ID_SHORTEN,

AV_CODEC_ID_ALAC,

AV_CODEC_ID_WESTWOOD_SND1,

AV_CODEC_ID_GSM,

AV_CODEC_ID_QDM2,

AV_CODEC_ID_COOK,

AV_CODEC_ID_TRUESPEECH,

AV_CODEC_ID_TTA,

AV_CODEC_ID_SMACKAUDIO,

AV_CODEC_ID_QCELP,

AV_CODEC_ID_WAVPACK,

AV_CODEC_ID_DSICINAUDIO,

AV_CODEC_ID_IMC,

AV_CODEC_ID_MUSEPACK7,

AV_CODEC_ID_MLP,

AV_CODEC_ID_GSM_MS,

AV_CODEC_ID_ATRAC3,

AV_CODEC_ID_VOXWARE,

AV_CODEC_ID_APE,

AV_CODEC_ID_NELLYMOSER,

AV_CODEC_ID_MUSEPACK8,

AV_CODEC_ID_SPEEX,

AV_CODEC_ID_WMAVOICE,

AV_CODEC_ID_WMAPRO,

AV_CODEC_ID_WMALOSSLESS,

AV_CODEC_ID_ATRAC3P,

AV_CODEC_ID_EAC3,

AV_CODEC_ID_SIPR,

AV_CODEC_ID_MP1,

AV_CODEC_ID_TWINVQ,

AV_CODEC_ID_TRUEHD,

AV_CODEC_ID_MP4ALS,

AV_CODEC_ID_ATRAC1,

AV_CODEC_ID_BINKAUDIO_RDFT,

AV_CODEC_ID_BINKAUDIO_DCT,

AV_CODEC_ID_AAC_LATM,

AV_CODEC_ID_QDMC,

AV_CODEC_ID_CELT,

AV_CODEC_ID_G723_1,

AV_CODEC_ID_G729,

AV_CODEC_ID_8SVX_EXP,

AV_CODEC_ID_8SVX_FIB,

AV_CODEC_ID_BMV_AUDIO,

AV_CODEC_ID_RALF,

AV_CODEC_ID_IAC,

AV_CODEC_ID_ILBC,

AV_CODEC_ID_OPUS,

AV_CODEC_ID_COMFORT_NOISE,

AV_CODEC_ID_TAK,

AV_CODEC_ID_METASOUND,

AV_CODEC_ID_PAF_AUDIO,

AV_CODEC_ID_ON2AVC,

AV_CODEC_ID_DSS_SP,

AV_CODEC_ID_FFWAVESYNTH = 0x15800,

AV_CODEC_ID_SONIC,

AV_CODEC_ID_SONIC_LS,

AV_CODEC_ID_EVRC,

AV_CODEC_ID_SMV,

AV_CODEC_ID_DSD_LSBF,

AV_CODEC_ID_DSD_MSBF,

AV_CODEC_ID_DSD_LSBF_PLANAR,

AV_CODEC_ID_DSD_MSBF_PLANAR,

AV_CODEC_ID_4GV,

AV_CODEC_ID_INTERPLAY_ACM,

AV_CODEC_ID_XMA1,

AV_CODEC_ID_XMA2,

AV_CODEC_ID_FIRST_SUBTITLE = 0x17000,

AV_CODEC_ID_DVD_SUBTITLE = 0x17000,

AV_CODEC_ID_DVB_SUBTITLE,

AV_CODEC_ID_TEXT,

AV_CODEC_ID_XSUB,

AV_CODEC_ID_SSA,

AV_CODEC_ID_MOV_TEXT,

AV_CODEC_ID_HDMV_PGS_SUBTITLE,

AV_CODEC_ID_DVB_TELETEXT,

AV_CODEC_ID_SRT,

AV_CODEC_ID_MICRODVD = 0x17800,

AV_CODEC_ID_EIA_608,

AV_CODEC_ID_JACOSUB,

AV_CODEC_ID_SAMI,

AV_CODEC_ID_REALTEXT,

AV_CODEC_ID_STL,

AV_CODEC_ID_SUBVIEWER1,

AV_CODEC_ID_SUBVIEWER,

AV_CODEC_ID_SUBRIP,

AV_CODEC_ID_WEBVTT,

AV_CODEC_ID_MPL2,

AV_CODEC_ID_VPLAYER,

AV_CODEC_ID_PJS,

AV_CODEC_ID_ASS,

AV_CODEC_ID_HDMV_TEXT_SUBTITLE,

AV_CODEC_ID_FIRST_UNKNOWN = 0x18000,

AV_CODEC_ID_TTF = 0x18000,

AV_CODEC_ID_BINTEXT = 0x18800,

AV_CODEC_ID_XBIN,

AV_CODEC_ID_IDF,

AV_CODEC_ID_OTF,

AV_CODEC_ID_SMPTE_KLV,

AV_CODEC_ID_DVD_NAV,

AV_CODEC_ID_TIMED_ID3,

AV_CODEC_ID_BIN_DATA,

AV_CODEC_ID_PROBE = 0x19000,

AV_CODEC_ID_MPEG2TS = 0x20000,

AV_CODEC_ID_MPEG4SYSTEMS = 0x20001,

AV_CODEC_ID_FFMETADATA = 0x21000,

AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001,

};

typedef struct AVCodecDescriptor {

enum AVCodecID id;

enum AVMediaType type;

const char *name;

const char *long_name;

int props;

const char *const *mime_types;

const struct AVProfile *profiles;

} AVCodecDescriptor;

# 662 "external/ffmpeg/libavcodec/avcodec.h"

enum Motion_Est_ID {

ME_ZERO = 1,

ME_FULL,

ME_LOG,

ME_PHODS,

ME_EPZS,

ME_X1,

ME_HEX,

ME_UMH,

ME_TESA,

ME_ITER=50,

};

enum AVDiscard{

AVDISCARD_NONE =-16,

AVDISCARD_DEFAULT = 0,

AVDISCARD_NONREF = 8,

AVDISCARD_BIDIR = 16,

AVDISCARD_NONINTRA= 24,

AVDISCARD_NONKEY = 32,

AVDISCARD_ALL = 48,

};

enum AVAudioServiceType {

AV_AUDIO_SERVICE_TYPE_MAIN = 0,

AV_AUDIO_SERVICE_TYPE_EFFECTS = 1,

AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED = 2,

AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED = 3,

AV_AUDIO_SERVICE_TYPE_DIALOGUE = 4,

AV_AUDIO_SERVICE_TYPE_COMMENTARY = 5,

AV_AUDIO_SERVICE_TYPE_EMERGENCY = 6,

AV_AUDIO_SERVICE_TYPE_VOICE_OVER = 7,

AV_AUDIO_SERVICE_TYPE_KARAOKE = 8,

AV_AUDIO_SERVICE_TYPE_NB ,

};

typedef struct RcOverride{

int start_frame;

int end_frame;

int qscale;

float quality_factor;

} RcOverride;

# 1169 "external/ffmpeg/libavcodec/avcodec.h"

typedef struct AVPanScan{

int id;

int width;

int height;

int16_t position[3][2];

}AVPanScan;

typedef struct AVCPBProperties {

int max_bitrate;

int min_bitrate;

int avg_bitrate;

int buffer_size;

# 1228 "external/ffmpeg/libavcodec/avcodec.h"

uint64_t vbv_delay;

} AVCPBProperties;

# 1249 "external/ffmpeg/libavcodec/avcodec.h"

enum AVPacketSideDataType {

AV_PKT_DATA_PALETTE,

AV_PKT_DATA_NEW_EXTRADATA,

# 1268 "external/ffmpeg/libavcodec/avcodec.h"

AV_PKT_DATA_PARAM_CHANGE,

# 1289 "external/ffmpeg/libavcodec/avcodec.h"

AV_PKT_DATA_H263_MB_INFO,

AV_PKT_DATA_REPLAYGAIN,

# 1304 "external/ffmpeg/libavcodec/avcodec.h"

AV_PKT_DATA_DISPLAYMATRIX,

AV_PKT_DATA_STEREO3D,

AV_PKT_DATA_AUDIO_SERVICE_TYPE,

# 1328 "external/ffmpeg/libavcodec/avcodec.h"

AV_PKT_DATA_QUALITY_STATS,

AV_PKT_DATA_FALLBACK_TRACK,

AV_PKT_DATA_CPB_PROPERTIES,

# 1352 "external/ffmpeg/libavcodec/avcodec.h"

AV_PKT_DATA_SKIP_SAMPLES=70,

# 1362 "external/ffmpeg/libavcodec/avcodec.h"

AV_PKT_DATA_JP_DUALMONO,

AV_PKT_DATA_STRINGS_METADATA,

# 1379 "external/ffmpeg/libavcodec/avcodec.h"

AV_PKT_DATA_SUBTITLE_POSITION,

AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL,

AV_PKT_DATA_WEBVTT_IDENTIFIER,

AV_PKT_DATA_WEBVTT_SETTINGS,

AV_PKT_DATA_METADATA_UPDATE,

# 1415 "external/ffmpeg/libavcodec/avcodec.h"

AV_PKT_DATA_NB

};

typedef struct AVPacketSideData {

uint8_t *data;

int size;

enum AVPacketSideDataType type;

} AVPacketSideData;

# 1454 "external/ffmpeg/libavcodec/avcodec.h"

typedef struct AVPacket {

AVBufferRef *buf;

# 1470 "external/ffmpeg/libavcodec/avcodec.h"

int64_t pts;

int64_t dts;

uint8_t *data;

int size;

int stream_index;

int flags;

AVPacketSideData *side_data;

int side_data_elems;

int64_t duration;

int64_t pos;

__attribute__((deprecated))

int64_t convergence_duration;

} AVPacket;

enum AVSideDataParamChangeFlags {

AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 0x0001,

AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002,

AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE = 0x0004,

AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS = 0x0008,

};

struct AVCodecInternal;

enum AVFieldOrder {

AV_FIELD_UNKNOWN,

AV_FIELD_PROGRESSIVE,

AV_FIELD_TT,

AV_FIELD_BB,

AV_FIELD_TB,

AV_FIELD_BT,

};

# 1542 "external/ffmpeg/libavcodec/avcodec.h"

typedef struct AVCodecContext {

const AVClass *av_class;

int log_level_offset;

enum AVMediaType codec_type;

const struct AVCodec *codec;

__attribute__((deprecated))

char codec_name[32];

enum AVCodecID codec_id;

# 1574 "external/ffmpeg/libavcodec/avcodec.h"

unsigned int codec_tag;

__attribute__((deprecated))

unsigned int stream_codec_tag;

void *priv_data;

struct AVCodecInternal *internal;

void *opaque;

int64_t bit_rate;

int bit_rate_tolerance;

int global_quality;

int compression_level;

int flags;

int flags2;

# 1657 "external/ffmpeg/libavcodec/avcodec.h"

uint8_t *extradata;

int extradata_size;

# 1671 "external/ffmpeg/libavcodec/avcodec.h"

AVRational time_base;

# 1680 "external/ffmpeg/libavcodec/avcodec.h"

int ticks_per_frame;

# 1704 "external/ffmpeg/libavcodec/avcodec.h"

int delay;

# 1721 "external/ffmpeg/libavcodec/avcodec.h"

int width, height;

# 1736 "external/ffmpeg/libavcodec/avcodec.h"

int coded_width, coded_height;

# 1747 "external/ffmpeg/libavcodec/avcodec.h"

int gop_size;

# 1762 "external/ffmpeg/libavcodec/avcodec.h"

enum AVPixelFormat pix_fmt;

__attribute__((deprecated)) int me_method;

# 1795 "external/ffmpeg/libavcodec/avcodec.h"

void (*draw_horiz_band)(struct AVCodecContext *s,

const AVFrame *src, int offset[8],

int y, int type, int height);

# 1812 "external/ffmpeg/libavcodec/avcodec.h"

enum AVPixelFormat (*get_format)(struct AVCodecContext *s, const enum AVPixelFormat * fmt);

int max_b_frames;

# 1829 "external/ffmpeg/libavcodec/avcodec.h"

float b_quant_factor;

__attribute__((deprecated)) int rc_strategy;

__attribute__((deprecated))

int b_frame_strategy;

float b_quant_offset;

int has_b_frames;

__attribute__((deprecated))

int mpeg_quant;

# 1871 "external/ffmpeg/libavcodec/avcodec.h"

float i_quant_factor;

float i_quant_offset;

float lumi_masking;

float temporal_cplx_masking;

float spatial_cplx_masking;

float p_masking;

float dark_masking;

int slice_count;

__attribute__((deprecated))

int prediction_method;

# 1936 "external/ffmpeg/libavcodec/avcodec.h"

int *slice_offset;

# 1945 "external/ffmpeg/libavcodec/avcodec.h"

AVRational sample_aspect_ratio;

int me_cmp;

int me_sub_cmp;

int mb_cmp;

int ildct_cmp;

# 1993 "external/ffmpeg/libavcodec/avcodec.h"

int dia_size;

int last_predictor_count;

__attribute__((deprecated))

int pre_me;

int me_pre_cmp;

int pre_dia_size;

int me_subpel_quality;

# 2039 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated)) int dtg_active_format;

# 2056 "external/ffmpeg/libavcodec/avcodec.h"

int me_range;

__attribute__((deprecated)) int intra_quant_bias;

__attribute__((deprecated)) int inter_quant_bias;

int slice_flags;

# 2088 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated)) int xvmc_acceleration;

int mb_decision;

# 2106 "external/ffmpeg/libavcodec/avcodec.h"

uint16_t *intra_matrix;

uint16_t *inter_matrix;

__attribute__((deprecated))

int scenechange_threshold;

__attribute__((deprecated))

int noise_reduction;

__attribute__((deprecated))

int me_threshold;

__attribute__((deprecated))

int mb_threshold;

int intra_dc_precision;

int skip_top;

int skip_bottom;

__attribute__((deprecated))

float border_masking;

int mb_lmin;

int mb_lmax;

__attribute__((deprecated))

int me_penalty_compensation;

int bidir_refine;

__attribute__((deprecated))

int brd_scale;

int keyint_min;

int refs;

__attribute__((deprecated))

int chromaoffset;

# 2229 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated)) int scenechange_factor;

# 2238 "external/ffmpeg/libavcodec/avcodec.h"

int mv0_threshold;

__attribute__((deprecated))

int b_sensitivity;

enum AVColorPrimaries color_primaries;

enum AVColorTransferCharacteristic color_trc;

enum AVColorSpace colorspace;

enum AVColorRange color_range;

enum AVChromaLocation chroma_sample_location;

# 2288 "external/ffmpeg/libavcodec/avcodec.h"

int slices;

enum AVFieldOrder field_order;

int sample_rate;

int channels;

enum AVSampleFormat sample_fmt;

# 2317 "external/ffmpeg/libavcodec/avcodec.h"

int frame_size;

# 2328 "external/ffmpeg/libavcodec/avcodec.h"

int frame_number;

int block_align;

int cutoff;

uint64_t channel_layout;

uint64_t request_channel_layout;

enum AVAudioServiceType audio_service_type;

enum AVSampleFormat request_sample_fmt;

# 2452 "external/ffmpeg/libavcodec/avcodec.h"

int (*get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags);

# 2465 "external/ffmpeg/libavcodec/avcodec.h"

int refcounted_frames;

float qcompress;

float qblur;

int qmin;

int qmax;

int max_qdiff;

__attribute__((deprecated))

float rc_qsquish;

__attribute__((deprecated))

float rc_qmod_amp;

__attribute__((deprecated))

int rc_qmod_freq;

int rc_buffer_size;

int rc_override_count;

RcOverride *rc_override;

__attribute__((deprecated))

const char *rc_eq;

int64_t rc_max_rate;

int64_t rc_min_rate;

__attribute__((deprecated))

float rc_buffer_aggressivity;

__attribute__((deprecated))

float rc_initial_cplx;

float rc_max_available_vbv_use;

float rc_min_vbv_overflow_use;

int rc_initial_buffer_occupancy;

# 2585 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

int coder_type;

__attribute__((deprecated))

int context_model;

__attribute__((deprecated))

int lmin;

__attribute__((deprecated))

int lmax;

__attribute__((deprecated))

int frame_skip_threshold;

__attribute__((deprecated))

int frame_skip_factor;

__attribute__((deprecated))

int frame_skip_exp;

__attribute__((deprecated))

int frame_skip_cmp;

int trellis;

__attribute__((deprecated))

int min_prediction_order;

__attribute__((deprecated))

int max_prediction_order;

__attribute__((deprecated))

int64_t timecode_frame_start;

# 2658 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb);

__attribute__((deprecated))

int rtp_payload_size;

# 2675 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

int mv_bits;

__attribute__((deprecated))

int header_bits;

__attribute__((deprecated))

int i_tex_bits;

__attribute__((deprecated))

int p_tex_bits;

__attribute__((deprecated))

int i_count;

__attribute__((deprecated))

int p_count;

__attribute__((deprecated))

int skip_count;

__attribute__((deprecated))

int misc_bits;

__attribute__((deprecated))

int frame_bits;

char *stats_out;

char *stats_in;

int workaround_bugs;

# 2751 "external/ffmpeg/libavcodec/avcodec.h"

int strict_std_compliance;

# 2763 "external/ffmpeg/libavcodec/avcodec.h"

int error_concealment;

# 2773 "external/ffmpeg/libavcodec/avcodec.h"

int debug;

# 2810 "external/ffmpeg/libavcodec/avcodec.h"

int debug_mv;

# 2821 "external/ffmpeg/libavcodec/avcodec.h"

int err_recognition;

# 2846 "external/ffmpeg/libavcodec/avcodec.h"

int64_t reordered_opaque;

struct AVHWAccel *hwaccel;

# 2865 "external/ffmpeg/libavcodec/avcodec.h"

void *hwaccel_context;

uint64_t error[8];

int dct_algo;

# 2892 "external/ffmpeg/libavcodec/avcodec.h"

int idct_algo;

# 2927 "external/ffmpeg/libavcodec/avcodec.h"

int bits_per_coded_sample;

int bits_per_raw_sample;

# 2944 "external/ffmpeg/libavcodec/avcodec.h"

int lowres;

# 2955 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated)) AVFrame *coded_frame;

# 2964 "external/ffmpeg/libavcodec/avcodec.h"

int thread_count;

# 2974 "external/ffmpeg/libavcodec/avcodec.h"

int thread_type;

# 2983 "external/ffmpeg/libavcodec/avcodec.h"

int active_thread_type;

# 2993 "external/ffmpeg/libavcodec/avcodec.h"

int thread_safe_callbacks;

# 3004 "external/ffmpeg/libavcodec/avcodec.h"

int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size);

# 3024 "external/ffmpeg/libavcodec/avcodec.h"

int (*execute2)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count);

int nsse_weight;

int profile;

# 3127 "external/ffmpeg/libavcodec/avcodec.h"

int level;

enum AVDiscard skip_loop_filter;

enum AVDiscard skip_idct;

enum AVDiscard skip_frame;

# 3159 "external/ffmpeg/libavcodec/avcodec.h"

uint8_t *subtitle_header;

int subtitle_header_size;

__attribute__((deprecated))

int error_rate;

# 3180 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

uint64_t vbv_delay;

# 3195 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

int side_data_only_packets;

# 3214 "external/ffmpeg/libavcodec/avcodec.h"

int initial_padding;

AVRational framerate;

enum AVPixelFormat sw_pix_fmt;

# 3238 "external/ffmpeg/libavcodec/avcodec.h"

AVRational pkt_timebase;

# 3247 "external/ffmpeg/libavcodec/avcodec.h"

const AVCodecDescriptor *codec_descriptor;

# 3265 "external/ffmpeg/libavcodec/avcodec.h"

int64_t pts_correction_num_faulty_pts;

int64_t pts_correction_num_faulty_dts;

int64_t pts_correction_last_pts;

int64_t pts_correction_last_dts;

char *sub_charenc;

int sub_charenc_mode;

# 3301 "external/ffmpeg/libavcodec/avcodec.h"

int skip_alpha;

int seek_preroll;

# 3329 "external/ffmpeg/libavcodec/avcodec.h"

uint16_t *chroma_intra_matrix;

# 3339 "external/ffmpeg/libavcodec/avcodec.h"

uint8_t *dump_separator;

char *codec_whitelist;

unsigned properties;

# 3365 "external/ffmpeg/libavcodec/avcodec.h"

AVPacketSideData *coded_side_data;

int nb_coded_side_data;

} AVCodecContext;

AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx);

void av_codec_set_pkt_timebase (AVCodecContext *avctx, AVRational val);

const AVCodecDescriptor *av_codec_get_codec_descriptor(const AVCodecContext *avctx);

void av_codec_set_codec_descriptor(AVCodecContext *avctx, const AVCodecDescriptor *desc);

unsigned av_codec_get_codec_properties(const AVCodecContext *avctx);

int av_codec_get_lowres(const AVCodecContext *avctx);

void av_codec_set_lowres(AVCodecContext *avctx, int val);

int av_codec_get_seek_preroll(const AVCodecContext *avctx);

void av_codec_set_seek_preroll(AVCodecContext *avctx, int val);

uint16_t *av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx);

void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val);

typedef struct AVProfile {

int profile;

const char *name;

} AVProfile;

typedef struct AVCodecDefault AVCodecDefault;

struct AVSubtitle;

typedef struct AVCodec {

const char *name;

const char *long_name;

enum AVMediaType type;

enum AVCodecID id;

int capabilities;

const AVRational *supported_framerates;

const enum AVPixelFormat *pix_fmts;

const int *supported_samplerates;

const enum AVSampleFormat *sample_fmts;

const uint64_t *channel_layouts;

uint8_t max_lowres;

const AVClass *priv_class;

const AVProfile *profiles;

# 3438 "external/ffmpeg/libavcodec/avcodec.h"

int priv_data_size;

struct AVCodec *next;

# 3449 "external/ffmpeg/libavcodec/avcodec.h"

int (*init_thread_copy)(AVCodecContext *);

int (*update_thread_context)(AVCodecContext *dst, const AVCodecContext *src);

const AVCodecDefault *defaults;

void (*init_static_data)(struct AVCodec *codec);

int (*init)(AVCodecContext *);

int (*encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size,

const struct AVSubtitle *sub);

# 3483 "external/ffmpeg/libavcodec/avcodec.h"

int (*encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame,

int *got_packet_ptr);

int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt);

int (*close)(AVCodecContext *);

void (*flush)(AVCodecContext *);

int caps_internal;

} AVCodec;

int av_codec_get_max_lowres(const AVCodec *codec);

struct MpegEncContext;

typedef struct AVHWAccel {

const char *name;

enum AVMediaType type;

enum AVCodecID id;

enum AVPixelFormat pix_fmt;

int capabilities;

# 3549 "external/ffmpeg/libavcodec/avcodec.h"

struct AVHWAccel *next;

int (*alloc_frame)(AVCodecContext *avctx, AVFrame *frame);

# 3570 "external/ffmpeg/libavcodec/avcodec.h"

int (*start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);

# 3584 "external/ffmpeg/libavcodec/avcodec.h"

int (*decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);

# 3595 "external/ffmpeg/libavcodec/avcodec.h"

int (*end_frame)(AVCodecContext *avctx);

# 3604 "external/ffmpeg/libavcodec/avcodec.h"

int frame_priv_data_size;

# 3615 "external/ffmpeg/libavcodec/avcodec.h"

void (*decode_mb)(struct MpegEncContext *s);

# 3624 "external/ffmpeg/libavcodec/avcodec.h"

int (*init)(AVCodecContext *avctx);

int (*uninit)(AVCodecContext *avctx);

int priv_data_size;

} AVHWAccel;

# 3676 "external/ffmpeg/libavcodec/avcodec.h"

typedef struct AVPicture {

__attribute__((deprecated))

uint8_t *data[8];

__attribute__((deprecated))

int linesize[8];

} AVPicture;

enum AVSubtitleType {

SUBTITLE_NONE,

SUBTITLE_BITMAP,

SUBTITLE_TEXT,

SUBTITLE_ASS,

};

typedef struct AVSubtitleRect {

int x;

int y;

int w;

int h;

int nb_colors;

__attribute__((deprecated))

AVPicture pict;

uint8_t *data[4];

int linesize[4];

enum AVSubtitleType type;

char *text;

char *ass;

int flags;

} AVSubtitleRect;

typedef struct AVSubtitle {

uint16_t format;

uint32_t start_display_time;

uint32_t end_display_time;

unsigned num_rects;

AVSubtitleRect **rects;

int64_t pts;

} AVSubtitle;

AVCodec *av_codec_next(const AVCodec *c);

unsigned avcodec_version(void);

const char *avcodec_configuration(void);

const char *avcodec_license(void);

# 3782 "external/ffmpeg/libavcodec/avcodec.h"

void avcodec_register(AVCodec *codec);

# 3794 "external/ffmpeg/libavcodec/avcodec.h"

void avcodec_register_all(void);

# 3810 "external/ffmpeg/libavcodec/avcodec.h"

AVCodecContext *avcodec_alloc_context3(const AVCodec *codec);

void avcodec_free_context(AVCodecContext **avctx);

# 3827 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec);

const AVClass *avcodec_get_class(void);

const AVClass *avcodec_get_frame_class(void);

const AVClass *avcodec_get_subtitle_rect_class(void);

# 3864 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src);

# 3905 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);

# 3916 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_close(AVCodecContext *avctx);

void avsubtitle_free(AVSubtitle *sub);

# 3945 "external/ffmpeg/libavcodec/avcodec.h"

AVPacket *av_packet_alloc(void);

# 3957 "external/ffmpeg/libavcodec/avcodec.h"

AVPacket *av_packet_clone(AVPacket *src);

# 3966 "external/ffmpeg/libavcodec/avcodec.h"

void av_packet_free(AVPacket **pkt);

# 3976 "external/ffmpeg/libavcodec/avcodec.h"

void av_init_packet(AVPacket *pkt);

# 3986 "external/ffmpeg/libavcodec/avcodec.h"

int av_new_packet(AVPacket *pkt, int size);

void av_shrink_packet(AVPacket *pkt, int size);

int av_grow_packet(AVPacket *pkt, int grow_by);

# 4017 "external/ffmpeg/libavcodec/avcodec.h"

int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size);

# 4026 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

int av_dup_packet(AVPacket *pkt);

int av_copy_packet(AVPacket *dst, const AVPacket *src);

int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src);

# 4049 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

void av_free_packet(AVPacket *pkt);

# 4060 "external/ffmpeg/libavcodec/avcodec.h"

uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type,

int size);

# 4076 "external/ffmpeg/libavcodec/avcodec.h"

int av_packet_add_side_data(AVPacket *pkt, enum AVPacketSideDataType type,

uint8_t *data, size_t size);

# 4087 "external/ffmpeg/libavcodec/avcodec.h"

int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type,

int size);

# 4098 "external/ffmpeg/libavcodec/avcodec.h"

uint8_t* av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type,

int *size);

int av_packet_merge_side_data(AVPacket *pkt);

int av_packet_split_side_data(AVPacket *pkt);

const char *av_packet_side_data_name(enum AVPacketSideDataType type);

# 4114 "external/ffmpeg/libavcodec/avcodec.h"

uint8_t *av_packet_pack_dictionary(AVDictionary *dict, int *size);

# 4123 "external/ffmpeg/libavcodec/avcodec.h"

int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict);

# 4132 "external/ffmpeg/libavcodec/avcodec.h"

void av_packet_free_side_data(AVPacket *pkt);

# 4150 "external/ffmpeg/libavcodec/avcodec.h"

int av_packet_ref(AVPacket *dst, const AVPacket *src);

# 4160 "external/ffmpeg/libavcodec/avcodec.h"

void av_packet_unref(AVPacket *pkt);

# 4170 "external/ffmpeg/libavcodec/avcodec.h"

void av_packet_move_ref(AVPacket *dst, AVPacket *src);

# 4184 "external/ffmpeg/libavcodec/avcodec.h"

int av_packet_copy_props(AVPacket *dst, const AVPacket *src);

# 4197 "external/ffmpeg/libavcodec/avcodec.h"

void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst);

# 4214 "external/ffmpeg/libavcodec/avcodec.h"

AVCodec *avcodec_find_decoder(enum AVCodecID id);

AVCodec *avcodec_find_decoder_by_name(const char *name);

int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags);

# 4242 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

unsigned avcodec_get_edge_width(void);

# 4253 "external/ffmpeg/libavcodec/avcodec.h"

void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);

# 4262 "external/ffmpeg/libavcodec/avcodec.h"

void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,

int linesize_align[8]);

# 4274 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos);

# 4285 "external/ffmpeg/libavcodec/avcodec.h"

enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos);

# 4338 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame,

int *got_frame_ptr, const AVPacket *avpkt);

# 4384 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,

int *got_picture_ptr,

const AVPacket *avpkt);

# 4415 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,

int *got_sub_ptr,

AVPacket *avpkt);

enum AVPictureStructure {

AV_PICTURE_STRUCTURE_UNKNOWN,

AV_PICTURE_STRUCTURE_TOP_FIELD,

AV_PICTURE_STRUCTURE_BOTTOM_FIELD,

AV_PICTURE_STRUCTURE_FRAME,

};

typedef struct AVCodecParserContext {

void *priv_data;

struct AVCodecParser *parser;

int64_t frame_offset;

int64_t cur_offset;

int64_t next_frame_offset;

int pict_type;

# 4449 "external/ffmpeg/libavcodec/avcodec.h"

int repeat_pict;

int64_t pts;

int64_t dts;

int64_t last_pts;

int64_t last_dts;

int fetch_timestamp;

int cur_frame_start_index;

int64_t cur_frame_offset[4];

int64_t cur_frame_pts[4];

int64_t cur_frame_dts[4];

int flags;

int64_t offset;

int64_t cur_frame_end[4];

int key_frame;

__attribute__((deprecated))

int64_t convergence_duration;

# 4500 "external/ffmpeg/libavcodec/avcodec.h"

int dts_sync_point;

# 4515 "external/ffmpeg/libavcodec/avcodec.h"

int dts_ref_dts_delta;

# 4529 "external/ffmpeg/libavcodec/avcodec.h"

int pts_dts_delta;

int64_t cur_frame_pos[4];

int64_t pos;

int64_t last_pos;

int duration;

enum AVFieldOrder field_order;

# 4565 "external/ffmpeg/libavcodec/avcodec.h"

enum AVPictureStructure picture_structure;

int output_picture_number;

int width;

int height;

int coded_width;

int coded_height;

# 4595 "external/ffmpeg/libavcodec/avcodec.h"

int format;

} AVCodecParserContext;

typedef struct AVCodecParser {

int codec_ids[5];

int priv_data_size;

int (*parser_init)(AVCodecParserContext *s);

int (*parser_parse)(AVCodecParserContext *s,

AVCodecContext *avctx,

const uint8_t **poutbuf, int *poutbuf_size,

const uint8_t *buf, int buf_size);

void (*parser_close)(AVCodecParserContext *s);

int (*split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size);

struct AVCodecParser *next;

} AVCodecParser;

AVCodecParser *av_parser_next(const AVCodecParser *c);

void av_register_codec_parser(AVCodecParser *parser);

AVCodecParserContext *av_parser_init(int codec_id);

# 4646 "external/ffmpeg/libavcodec/avcodec.h"

int av_parser_parse2(AVCodecParserContext *s,

AVCodecContext *avctx,

uint8_t **poutbuf, int *poutbuf_size,

const uint8_t *buf, int buf_size,

int64_t pts, int64_t dts,

int64_t pos);

int av_parser_change(AVCodecParserContext *s,

AVCodecContext *avctx,

uint8_t **poutbuf, int *poutbuf_size,

const uint8_t *buf, int buf_size, int keyframe);

void av_parser_close(AVCodecParserContext *s);

# 4679 "external/ffmpeg/libavcodec/avcodec.h"

AVCodec *avcodec_find_encoder(enum AVCodecID id);

AVCodec *avcodec_find_encoder_by_name(const char *name);

# 4727 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt,

const AVFrame *frame, int *got_packet_ptr);

# 4763 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,

const AVFrame *frame, int *got_packet_ptr);

int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size,

const AVSubtitle *sub);

# 4782 "external/ffmpeg/libavcodec/avcodec.h"

struct ReSampleContext;

struct AVResampleContext;

typedef struct ReSampleContext ReSampleContext;

# 4803 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

ReSampleContext *av_audio_resample_init(int output_channels, int input_channels,

int output_rate, int input_rate,

enum AVSampleFormat sample_fmt_out,

enum AVSampleFormat sample_fmt_in,

int filter_length, int log2_phase_count,

int linear, double cutoff);

__attribute__((deprecated))

int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples);

__attribute__((deprecated))

void audio_resample_close(ReSampleContext *s);

# 4833 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

struct AVResampleContext *av_resample_init(int out_rate, int in_rate, int filter_length, int log2_phase_count, int linear, double cutoff);

# 4845 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx);

# 4861 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance);

__attribute__((deprecated))

void av_resample_close(struct AVResampleContext *c);

# 4880 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height);

__attribute__((deprecated))

void avpicture_free(AVPicture *picture);

__attribute__((deprecated))

int avpicture_fill(AVPicture *picture, const uint8_t *ptr,

enum AVPixelFormat pix_fmt, int width, int height);

__attribute__((deprecated))

int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt,

int width, int height,

unsigned char *dest, int dest_size);

__attribute__((deprecated))

int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);

__attribute__((deprecated))

void av_picture_copy(AVPicture *dst, const AVPicture *src,

enum AVPixelFormat pix_fmt, int width, int height);

__attribute__((deprecated))

int av_picture_crop(AVPicture *dst, const AVPicture *src,

enum AVPixelFormat pix_fmt, int top_band, int left_band);

__attribute__((deprecated))

int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, enum AVPixelFormat pix_fmt,

int padtop, int padbottom, int padleft, int padright, int *color);

# 4967 "external/ffmpeg/libavcodec/avcodec.h"

void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift);

unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat pix_fmt);

int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt,

int has_alpha);

# 4999 "external/ffmpeg/libavcodec/avcodec.h"

enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *pix_fmt_list,

enum AVPixelFormat src_pix_fmt,

int has_alpha, int *loss_ptr);

enum AVPixelFormat avcodec_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2,

enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr);

__attribute__((deprecated))

enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2,

enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr);

enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat * fmt);

# 5030 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

void avcodec_set_dimensions(AVCodecContext *s, int width, int height);

# 5043 "external/ffmpeg/libavcodec/avcodec.h"

size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag);

void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode);

# 5054 "external/ffmpeg/libavcodec/avcodec.h"

const char *av_get_profile_name(const AVCodec *codec, int profile);

# 5067 "external/ffmpeg/libavcodec/avcodec.h"

const char *avcodec_profile_name(enum AVCodecID codec_id, int profile);

int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size);

int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int, int),void *arg, int *ret, int count);

# 5096 "external/ffmpeg/libavcodec/avcodec.h"

int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels,

enum AVSampleFormat sample_fmt, const uint8_t *buf,

int buf_size, int align);

# 5109 "external/ffmpeg/libavcodec/avcodec.h"

void avcodec_flush_buffers(AVCodecContext *avctx);

int av_get_bits_per_sample(enum AVCodecID codec_id);

enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be);

# 5135 "external/ffmpeg/libavcodec/avcodec.h"

int av_get_exact_bits_per_sample(enum AVCodecID codec_id);

# 5145 "external/ffmpeg/libavcodec/avcodec.h"

int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes);

typedef struct AVBitStreamFilterContext {

void *priv_data;

struct AVBitStreamFilter *filter;

AVCodecParserContext *parser;

struct AVBitStreamFilterContext *next;

char *args;

} AVBitStreamFilterContext;

typedef struct AVBitStreamFilter {

const char *name;

int priv_data_size;

int (*filter)(AVBitStreamFilterContext *bsfc,

AVCodecContext *avctx, const char *args,

uint8_t **poutbuf, int *poutbuf_size,

const uint8_t *buf, int buf_size, int keyframe);

void (*close)(AVBitStreamFilterContext *bsfc);

struct AVBitStreamFilter *next;

} AVBitStreamFilter;

# 5181 "external/ffmpeg/libavcodec/avcodec.h"

void av_register_bitstream_filter(AVBitStreamFilter *bsf);

# 5193 "external/ffmpeg/libavcodec/avcodec.h"

AVBitStreamFilterContext *av_bitstream_filter_init(const char *name);

# 5223 "external/ffmpeg/libavcodec/avcodec.h"

int av_bitstream_filter_filter(AVBitStreamFilterContext *bsfc,

AVCodecContext *avctx, const char *args,

uint8_t **poutbuf, int *poutbuf_size,

const uint8_t *buf, int buf_size, int keyframe);

void av_bitstream_filter_close(AVBitStreamFilterContext *bsf);

# 5244 "external/ffmpeg/libavcodec/avcodec.h"

AVBitStreamFilter *av_bitstream_filter_next(const AVBitStreamFilter *f);

# 5255 "external/ffmpeg/libavcodec/avcodec.h"

void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size);

void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size);

# 5270 "external/ffmpeg/libavcodec/avcodec.h"

unsigned int av_xiphlacing(unsigned char *s, unsigned int v);

# 5286 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

void av_log_missing_feature(void *avc, const char *feature, int want_sample);

# 5298 "external/ffmpeg/libavcodec/avcodec.h"

__attribute__((deprecated))

void av_log_ask_for_sample(void *avc, const char *msg, ...) __attribute__((__format__(__printf__, 2, 3)));

void av_register_hwaccel(AVHWAccel *hwaccel);

AVHWAccel *av_hwaccel_next(const AVHWAccel *hwaccel);

enum AVLockOp {

AV_LOCK_CREATE,

AV_LOCK_OBTAIN,

AV_LOCK_RELEASE,

AV_LOCK_DESTROY,

};

# 5348 "external/ffmpeg/libavcodec/avcodec.h"

int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op));

enum AVMediaType avcodec_get_type(enum AVCodecID codec_id);

const char *avcodec_get_name(enum AVCodecID id);

int avcodec_is_open(AVCodecContext *s);

int av_codec_is_encoder(const AVCodec *codec);

int av_codec_is_decoder(const AVCodec *codec);

const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id);

# 5389 "external/ffmpeg/libavcodec/avcodec.h"

const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev);

const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name);

# 5406 "external/ffmpeg/libavcodec/avcodec.h"

AVCPBProperties *av_cpb_properties_alloc(size_t *size);

# 34 "external/ffmpeg/libavcodec/thread.h" 2

typedef struct ThreadFrame {

AVFrame *f;

AVCodecContext *owner;

AVBufferRef *progress;

} ThreadFrame;

void ff_thread_flush(AVCodecContext *avctx);

# 61 "external/ffmpeg/libavcodec/thread.h"

int ff_thread_decode_frame(AVCodecContext *avctx, AVFrame *picture,

int *got_picture_ptr, AVPacket *avpkt);

# 72 "external/ffmpeg/libavcodec/thread.h"

void ff_thread_finish_setup(AVCodecContext *avctx);

# 84 "external/ffmpeg/libavcodec/thread.h"

void ff_thread_report_progress(ThreadFrame *f, int progress, int field);

# 98 "external/ffmpeg/libavcodec/thread.h"

void ff_thread_await_progress(ThreadFrame *f, int progress, int field);

# 108 "external/ffmpeg/libavcodec/thread.h"

enum AVPixelFormat ff_thread_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt);

# 118 "external/ffmpeg/libavcodec/thread.h"

int ff_thread_get_buffer(AVCodecContext *avctx, ThreadFrame *f, int flags);

# 131 "external/ffmpeg/libavcodec/thread.h"

void ff_thread_release_buffer(AVCodecContext *avctx, ThreadFrame *f);

int ff_thread_ref_frame(ThreadFrame *dst, ThreadFrame *src);

int ff_thread_init(AVCodecContext *s);

void ff_thread_free(AVCodecContext *s);

int ff_alloc_entries(AVCodecContext *avctx, int count);

void ff_reset_entries(AVCodecContext *avctx);

void ff_thread_report_progress2(AVCodecContext *avctx, int field, int thread, int n);

void ff_thread_await_progress2(AVCodecContext *avctx, int field, int thread, int shift);

# 30 "external/ffmpeg/libavcodec/vp9.h" 2

# 1 "external/ffmpeg/libavcodec/vp56.h" 1

# 29 "external/ffmpeg/libavcodec/vp56.h"

# 1 "external/ffmpeg/libavcodec/get_bits.h" 1

# 31 "external/ffmpeg/libavcodec/get_bits.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/common.h" 1

# 32 "external/ffmpeg/libavcodec/get_bits.h" 2

# 1 "external/ffmpeg/libavcodec/../libavutil/avassert.h" 1

# 35 "external/ffmpeg/libavcodec/get_bits.h" 2

# 54 "external/ffmpeg/libavcodec/get_bits.h"

typedef struct GetBitContext {

const uint8_t *buffer, *buffer_end;

int index;

int size_in_bits;

int size_in_bits_plus8;

} GetBitContext;

typedef struct VLC {

int bits;

int16_t (*table)[2];

int table_size, table_allocated;

} VLC;

typedef struct RL_VLC_ELEM {

int16_t level;

int8_t len;

uint8_t run;

} RL_VLC_ELEM;

# 212 "external/ffmpeg/libavcodec/get_bits.h"

static inline int get_bits_count(const GetBitContext *s)

{

return s->index;

}

static inline void skip_bits_long(GetBitContext *s, int n)

{

s->index += av_clip_c(n, -s->index, s->size_in_bits_plus8 - s->index);

}

static inline int get_xbits(GetBitContext *s, int n)

{

register int sign;

register int32_t cache;

unsigned int re_index = (s)->index; unsigned int __attribute__((unused)) re_cache; unsigned int re_size_plus8 = (s)->size_in_bits_plus8;

((void)0);

re_cache = av_bswap32((((const union unaligned_32 *) ((s)->buffer + (re_index >> 3)))->l)) << (re_index & 7);

cache = ((uint32_t) re_cache);

sign = ~cache >> 31;

re_index = ((re_size_plus8) > (re_index + (n)) ? (re_index + (n)) : (re_size_plus8));

(s)->index = re_index;

return ((((uint32_t)(sign ^ cache))>>(32-(n))) ^ sign) - sign;

}

static inline int get_sbits(GetBitContext *s, int n)

{

register int tmp;

unsigned int re_index = (s)->index; unsigned int __attribute__((unused)) re_cache; unsigned int re_size_plus8 = (s)->size_in_bits_plus8;

((void)0);

re_cache = av_bswap32((((const union unaligned_32 *) ((s)->buffer + (re_index >> 3)))->l)) << (re_index & 7);

tmp = ((( int32_t)(re_cache))>>(32-(n)));

re_index = ((re_size_plus8) > (re_index + (n)) ? (re_index + (n)) : (re_size_plus8));

(s)->index = re_index;

return tmp;

}

static inline unsigned int get_bits(GetBitContext *s, int n)

{

register int tmp;

unsigned int re_index = (s)->index; unsigned int __attribute__((unused)) re_cache; unsigned int re_size_plus8 = (s)->size_in_bits_plus8;

((void)0);

re_cache = av_bswap32((((const union unaligned_32 *) ((s)->buffer + (re_index >> 3)))->l)) << (re_index & 7);

tmp = (((uint32_t)(re_cache))>>(32-(n)));

re_index = ((re_size_plus8) > (re_index + (n)) ? (re_index + (n)) : (re_size_plus8));

(s)->index = re_index;

return tmp;

}

static __attribute__((always_inline)) inline int get_bitsz(GetBitContext *s, int n)

{

return n ? get_bits(s, n) : 0;

}

static inline unsigned int get_bits_le(GetBitContext *s, int n)

{

register int tmp;

unsigned int re_index = (s)->index; unsigned int __attribute__((unused)) re_cache; unsigned int re_size_plus8 = (s)->size_in_bits_plus8;

((void)0);

re_cache = (((const union unaligned_32 *) ((s)->buffer + (re_index >> 3)))->l) >> (re_index & 7);

tmp = zero_extend(re_cache, n);

re_index = ((re_size_plus8) > (re_index + (n)) ? (re_index + (n)) : (re_size_plus8));

(s)->index = re_index;

return tmp;

}

static inline unsigned int show_bits(GetBitContext *s, int n)

{

register int tmp;

unsigned int re_index = (s)->index; unsigned int __attribute__((unused)) re_cache;

((void)0);

re_cache = av_bswap32((((const union unaligned_32 *) ((s)->buffer + (re_index >> 3)))->l)) << (re_index & 7);

tmp = (((uint32_t)(re_cache))>>(32-(n)));

return tmp;

}

static inline void skip_bits(GetBitContext *s, int n)

{

unsigned int re_index = (s)->index; unsigned int __attribute__((unused)) re_cache; unsigned int re_size_plus8 = (s)->size_in_bits_plus8;

re_index = ((re_size_plus8) > (re_index + (n)) ? (re_index + (n)) : (re_size_plus8));

(s)->index = re_index;

}

static inline unsigned int get_bits1(GetBitContext *s)

{

unsigned int index = s->index;

uint8_t result = s->buffer[index >> 3];

result <<= index & 7;

result >>= 8 - 1;

if (s->index < s->size_in_bits_plus8)

index++;

s->index = index;

return result;

}

static inline unsigned int show_bits1(GetBitContext *s)

{

return show_bits(s, 1);

}

static inline void skip_bits1(GetBitContext *s)

{

skip_bits(s, 1);

}

static inline unsigned int get_bits_long(GetBitContext *s, int n)

{

if (!n) {

return 0;

} else if (n <= 25) {

return get_bits(s, n);

} else {

unsigned ret = get_bits(s, 16) << (n - 16);

return ret | get_bits(s, n - 16);

}

}

static inline uint64_t get_bits64(GetBitContext *s, int n)

{

if (n <= 32) {

return get_bits_long(s, n);

} else {

uint64_t ret = (uint64_t) get_bits_long(s, n - 32) << 32;

return ret | get_bits_long(s, 32);

}

}

static inline int get_sbits_long(GetBitContext *s, int n)

{

if (!n)

return 0;

return sign_extend(get_bits_long(s, n), n);

}

static inline unsigned int show_bits_long(GetBitContext *s, int n)

{

if (n <= 25) {

return show_bits(s, n);

} else {

GetBitContext gb = *s;

return get_bits_long(&gb, n);

}

}

static inline int check_marker(GetBitContext *s, const char *msg)

{

int bit = get_bits1(s);

if (!bit)

av_log(((void*)0), 32, "Marker bit missing at %d of %d %s\n", get_bits_count(s) - 1, s->size_in_bits, msg);

return bit;

}

# 422 "external/ffmpeg/libavcodec/get_bits.h"

static inline int init_get_bits(GetBitContext *s, const uint8_t *buffer,

int bit_size)

{

int buffer_size;

int ret = 0;

if (bit_size >= 0x7fffffff - 7 || bit_size < 0 || !buffer) {

bit_size = 0;

buffer = ((void*)0);

ret = (-(int)(('I') | (('N') << 8) | (('D') << 16) | ((unsigned)('A') << 24)));

}

buffer_size = (bit_size + 7) >> 3;

s->buffer = buffer;

s->size_in_bits = bit_size;

s->size_in_bits_plus8 = bit_size + 8;

s->buffer_end = buffer + buffer_size;

s->index = 0;

return ret;

}

# 453 "external/ffmpeg/libavcodec/get_bits.h"

static inline int init_get_bits8(GetBitContext *s, const uint8_t *buffer,

int byte_size)

{

if (byte_size > 0x7fffffff / 8 || byte_size < 0)

byte_size = -1;

return init_get_bits(s, buffer, byte_size * 8);

}

static inline const uint8_t *align_get_bits(GetBitContext *s)

{

int n = -get_bits_count(s) & 7;

if (n)

skip_bits(s, n);

return s->buffer + (s->index >> 3);

}

# 478 "external/ffmpeg/libavcodec/get_bits.h"

int ff_init_vlc_sparse(VLC *vlc, int nb_bits, int nb_codes,

const void *bits, int bits_wrap, int bits_size,

const void *codes, int codes_wrap, int codes_size,

const void *symbols, int symbols_wrap, int symbols_size,

int flags);

void ff_free_vlc(VLC *vlc);

# 578 "external/ffmpeg/libavcodec/get_bits.h"

static __attribute__((always_inline)) inline int get_vlc2(GetBitContext *s, int16_t (*table)[2],

int bits, int max_depth)

{

int code;

unsigned int re_index = (s)->index; unsigned int __attribute__((unused)) re_cache; unsigned int re_size_plus8 = (s)->size_in_bits_plus8;

re_cache = av_bswap32((((const union unaligned_32 *) ((s)->buffer + (re_index >> 3)))->l)) << (re_index & 7);

do { int n, nb_bits; unsigned int index; index = (((uint32_t)(re_cache))>>(32-(bits))); code = table[index][0]; n = table[index][1]; if (max_depth > 1 && n < 0) { re_index = ((re_size_plus8) > (re_index + (bits)) ? (re_index + (bits)) : (re_size_plus8)); re_cache = av_bswap32((((const union unaligned_32 *) ((s)->buffer + (re_index >> 3)))->l)) << (re_index & 7); nb_bits = -n; index = (((uint32_t)(re_cache))>>(32-(nb_bits))) + code; code = table[index][0]; n = table[index][1]; if (max_depth > 2 && n < 0) { re_index = ((re_size_plus8) > (re_index + (nb_bits)) ? (re_index + (nb_bits)) : (re_size_plus8)); re_cache = av_bswap32((((const union unaligned_32 *) ((s)->buffer + (re_index >> 3)))->l)) << (re_index & 7); nb_bits = -n; index = (((uint32_t)(re_cache))>>(32-(nb_bits))) + code; code = table[index][0]; n = table[index][1]; } } do { re_cache <<= (n); re_index = ((re_size_plus8) > (re_index + (n)) ? (re_index + (n)) : (re_size_plus8)); } while (0); } while (0);

(s)->index = re_index;

return code;

}

static inline int decode012(GetBitContext *gb)

{

int n;

n = get_bits1(gb);

if (n == 0)

return 0;

else

return get_bits1(gb) + 1;

}

static inline int decode210(GetBitContext *gb)

{

if (get_bits1(gb))

return 0;

else

return 2 - get_bits1(gb);

}

static inline int get_bits_left(GetBitContext *gb)

{

return gb->size_in_bits - get_bits_count(gb);

}

static inline int skip_1stop_8data_bits(GetBitContext *gb)

{

if (get_bits_left(gb) <= 0)

return (-(int)(('I') | (('N') << 8) | (('D') << 16) | ((unsigned)('A') << 24)));

while (get_bits1(gb)) {

skip_bits(gb, 8);

if (get_bits_left(gb) <= 0)

return (-(int)(('I') | (('N') << 8) | (('D') << 16) | ((unsigned)('A') << 24)));

}

return 0;

}

# 30 "external/ffmpeg/libavcodec/vp56.h" 2

# 1 "external/ffmpeg/libavcodec/hpeldsp.h" 1

# 32 "external/ffmpeg/libavcodec/hpeldsp.h"

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 33 "external/ffmpeg/libavcodec/hpeldsp.h" 2

typedef void (*op_pixels_func)(uint8_t *block ,

const uint8_t *pixels ,

ptrdiff_t line_size, int h);

typedef struct HpelDSPContext {

# 56 "external/ffmpeg/libavcodec/hpeldsp.h"

op_pixels_func put_pixels_tab[4][4];

# 68 "external/ffmpeg/libavcodec/hpeldsp.h"

op_pixels_func avg_pixels_tab[4][4];

# 80 "external/ffmpeg/libavcodec/hpeldsp.h"

op_pixels_func put_no_rnd_pixels_tab[4][4];

# 92 "external/ffmpeg/libavcodec/hpeldsp.h"

op_pixels_func avg_no_rnd_pixels_tab[4];

} HpelDSPContext;

void ff_hpeldsp_init(HpelDSPContext *c, int flags);

void ff_hpeldsp_init_aarch64(HpelDSPContext *c, int flags);

void ff_hpeldsp_init_alpha(HpelDSPContext *c, int flags);

void ff_hpeldsp_init_arm(HpelDSPContext *c, int flags);

void ff_hpeldsp_init_ppc(HpelDSPContext *c, int flags);

void ff_hpeldsp_init_x86(HpelDSPContext *c, int flags);

void ff_hpeldsp_init_mips(HpelDSPContext *c, int flags);

# 31 "external/ffmpeg/libavcodec/vp56.h" 2

# 1 "external/ffmpeg/libavcodec/bytestream.h" 1

# 30 "external/ffmpeg/libavcodec/bytestream.h"

# 1 "external/ffmpeg/libavcodec/../libavutil/common.h" 1

# 31 "external/ffmpeg/libavcodec/bytestream.h" 2

typedef struct GetByteContext {

const uint8_t *buffer, *buffer_end, *buffer_start;

} GetByteContext;

typedef struct PutByteContext {

uint8_t *buffer, *buffer_end, *buffer_start;

int eof;

} PutByteContext;

# 87 "external/ffmpeg/libavcodec/bytestream.h"

static __attribute__((always_inline)) inline uint64_t bytestream_get_le64(const uint8_t **b) { (*b) += 8; return (((const union unaligned_64 *) (*b - 8))->l); } static __attribute__((always_inline)) inline void bytestream_put_le64(uint8_t **b, const uint64_t value) { ((((union unaligned_64 *) (*b))->l) = (value)); (*b) += 8; } static __attribute__((always_inline)) inline void bytestream2_put_le64u(PutByteContext *p, const uint64_t value) { bytestream_put_le64(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_le64(PutByteContext *p, const uint64_t value) { if (!p->eof && (p->buffer_end - p->buffer >= 8)) { ((((union unaligned_64 *) (p->buffer))->l) = (value)); p->buffer += 8; } else p->eof = 1; } static __attribute__((always_inline)) inline uint64_t bytestream2_get_le64u(GetByteContext *g) { return bytestream_get_le64(&g->buffer); } static __attribute__((always_inline)) inline uint64_t bytestream2_get_le64(GetByteContext *g) { if (g->buffer_end - g->buffer < 8) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_le64u(g); } static __attribute__((always_inline)) inline uint64_t bytestream2_peek_le64(GetByteContext *g) { if (g->buffer_end - g->buffer < 8) return 0; return (((const union unaligned_64 *) (g->buffer))->l); }

static __attribute__((always_inline)) inline unsigned int bytestream_get_le32(const uint8_t **b) { (*b) += 4; return (((const union unaligned_32 *) (*b - 4))->l); } static __attribute__((always_inline)) inline void bytestream_put_le32(uint8_t **b, const unsigned int value) { ((((union unaligned_32 *) (*b))->l) = (value)); (*b) += 4; } static __attribute__((always_inline)) inline void bytestream2_put_le32u(PutByteContext *p, const unsigned int value) { bytestream_put_le32(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_le32(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 4)) { ((((union unaligned_32 *) (p->buffer))->l) = (value)); p->buffer += 4; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le32u(GetByteContext *g) { return bytestream_get_le32(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le32(GetByteContext *g) { if (g->buffer_end - g->buffer < 4) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_le32u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_le32(GetByteContext *g) { if (g->buffer_end - g->buffer < 4) return 0; return (((const union unaligned_32 *) (g->buffer))->l); }

static __attribute__((always_inline)) inline unsigned int bytestream_get_le24(const uint8_t **b) { (*b) += 3; return ((((const uint8_t*)(*b - 3))[2] << 16) | (((const uint8_t*)(*b - 3))[1] << 8) | ((const uint8_t*)(*b - 3))[0]); } static __attribute__((always_inline)) inline void bytestream_put_le24(uint8_t **b, const unsigned int value) { do { ((uint8_t*)(*b))[0] = (value); ((uint8_t*)(*b))[1] = (value)>>8; ((uint8_t*)(*b))[2] = (value)>>16; } while(0); (*b) += 3; } static __attribute__((always_inline)) inline void bytestream2_put_le24u(PutByteContext *p, const unsigned int value) { bytestream_put_le24(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_le24(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 3)) { do { ((uint8_t*)(p->buffer))[0] = (value); ((uint8_t*)(p->buffer))[1] = (value)>>8; ((uint8_t*)(p->buffer))[2] = (value)>>16; } while(0); p->buffer += 3; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le24u(GetByteContext *g) { return bytestream_get_le24(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le24(GetByteContext *g) { if (g->buffer_end - g->buffer < 3) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_le24u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_le24(GetByteContext *g) { if (g->buffer_end - g->buffer < 3) return 0; return ((((const uint8_t*)(g->buffer))[2] << 16) | (((const uint8_t*)(g->buffer))[1] << 8) | ((const uint8_t*)(g->buffer))[0]); }

static __attribute__((always_inline)) inline unsigned int bytestream_get_le16(const uint8_t **b) { (*b) += 2; return (((const union unaligned_16 *) (*b - 2))->l); } static __attribute__((always_inline)) inline void bytestream_put_le16(uint8_t **b, const unsigned int value) { ((((union unaligned_16 *) (*b))->l) = (value)); (*b) += 2; } static __attribute__((always_inline)) inline void bytestream2_put_le16u(PutByteContext *p, const unsigned int value) { bytestream_put_le16(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_le16(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 2)) { ((((union unaligned_16 *) (p->buffer))->l) = (value)); p->buffer += 2; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le16u(GetByteContext *g) { return bytestream_get_le16(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le16(GetByteContext *g) { if (g->buffer_end - g->buffer < 2) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_le16u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_le16(GetByteContext *g) { if (g->buffer_end - g->buffer < 2) return 0; return (((const union unaligned_16 *) (g->buffer))->l); }

static __attribute__((always_inline)) inline uint64_t bytestream_get_be64(const uint8_t **b) { (*b) += 8; return av_bswap64((((const union unaligned_64 *) (*b - 8))->l)); } static __attribute__((always_inline)) inline void bytestream_put_be64(uint8_t **b, const uint64_t value) { ((((union unaligned_64 *) (*b))->l) = (av_bswap64(value))); (*b) += 8; } static __attribute__((always_inline)) inline void bytestream2_put_be64u(PutByteContext *p, const uint64_t value) { bytestream_put_be64(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_be64(PutByteContext *p, const uint64_t value) { if (!p->eof && (p->buffer_end - p->buffer >= 8)) { ((((union unaligned_64 *) (p->buffer))->l) = (av_bswap64(value))); p->buffer += 8; } else p->eof = 1; } static __attribute__((always_inline)) inline uint64_t bytestream2_get_be64u(GetByteContext *g) { return bytestream_get_be64(&g->buffer); } static __attribute__((always_inline)) inline uint64_t bytestream2_get_be64(GetByteContext *g) { if (g->buffer_end - g->buffer < 8) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_be64u(g); } static __attribute__((always_inline)) inline uint64_t bytestream2_peek_be64(GetByteContext *g) { if (g->buffer_end - g->buffer < 8) return 0; return av_bswap64((((const union unaligned_64 *) (g->buffer))->l)); }

static __attribute__((always_inline)) inline unsigned int bytestream_get_be32(const uint8_t **b) { (*b) += 4; return av_bswap32((((const union unaligned_32 *) (*b - 4))->l)); } static __attribute__((always_inline)) inline void bytestream_put_be32(uint8_t **b, const unsigned int value) { ((((union unaligned_32 *) (*b))->l) = (av_bswap32(value))); (*b) += 4; } static __attribute__((always_inline)) inline void bytestream2_put_be32u(PutByteContext *p, const unsigned int value) { bytestream_put_be32(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_be32(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 4)) { ((((union unaligned_32 *) (p->buffer))->l) = (av_bswap32(value))); p->buffer += 4; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be32u(GetByteContext *g) { return bytestream_get_be32(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be32(GetByteContext *g) { if (g->buffer_end - g->buffer < 4) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_be32u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_be32(GetByteContext *g) { if (g->buffer_end - g->buffer < 4) return 0; return av_bswap32((((const union unaligned_32 *) (g->buffer))->l)); }

static __attribute__((always_inline)) inline unsigned int bytestream_get_be24(const uint8_t **b) { (*b) += 3; return ((((const uint8_t*)(*b - 3))[0] << 16) | (((const uint8_t*)(*b - 3))[1] << 8) | ((const uint8_t*)(*b - 3))[2]); } static __attribute__((always_inline)) inline void bytestream_put_be24(uint8_t **b, const unsigned int value) { do { ((uint8_t*)(*b))[2] = (value); ((uint8_t*)(*b))[1] = (value)>>8; ((uint8_t*)(*b))[0] = (value)>>16; } while(0); (*b) += 3; } static __attribute__((always_inline)) inline void bytestream2_put_be24u(PutByteContext *p, const unsigned int value) { bytestream_put_be24(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_be24(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 3)) { do { ((uint8_t*)(p->buffer))[2] = (value); ((uint8_t*)(p->buffer))[1] = (value)>>8; ((uint8_t*)(p->buffer))[0] = (value)>>16; } while(0); p->buffer += 3; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be24u(GetByteContext *g) { return bytestream_get_be24(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be24(GetByteContext *g) { if (g->buffer_end - g->buffer < 3) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_be24u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_be24(GetByteContext *g) { if (g->buffer_end - g->buffer < 3) return 0; return ((((const uint8_t*)(g->buffer))[0] << 16) | (((const uint8_t*)(g->buffer))[1] << 8) | ((const uint8_t*)(g->buffer))[2]); }

static __attribute__((always_inline)) inline unsigned int bytestream_get_be16(const uint8_t **b) { (*b) += 2; return av_bswap16((((const union unaligned_16 *) (*b - 2))->l)); } static __attribute__((always_inline)) inline void bytestream_put_be16(uint8_t **b, const unsigned int value) { ((((union unaligned_16 *) (*b))->l) = (av_bswap16(value))); (*b) += 2; } static __attribute__((always_inline)) inline void bytestream2_put_be16u(PutByteContext *p, const unsigned int value) { bytestream_put_be16(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_be16(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 2)) { ((((union unaligned_16 *) (p->buffer))->l) = (av_bswap16(value))); p->buffer += 2; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be16u(GetByteContext *g) { return bytestream_get_be16(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be16(GetByteContext *g) { if (g->buffer_end - g->buffer < 2) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_be16u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_be16(GetByteContext *g) { if (g->buffer_end - g->buffer < 2) return 0; return av_bswap16((((const union unaligned_16 *) (g->buffer))->l)); }

static __attribute__((always_inline)) inline unsigned int bytestream_get_byte(const uint8_t **b) { (*b) += 1; return (((const uint8_t*)(*b - 1))[0]); } static __attribute__((always_inline)) inline void bytestream_put_byte(uint8_t **b, const unsigned int value) { do { ((uint8_t*)(*b))[0] = (value); } while(0); (*b) += 1; } static __attribute__((always_inline)) inline void bytestream2_put_byteu(PutByteContext *p, const unsigned int value) { bytestream_put_byte(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_byte(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 1)) { do { ((uint8_t*)(p->buffer))[0] = (value); } while(0); p->buffer += 1; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_byteu(GetByteContext *g) { return bytestream_get_byte(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_byte(GetByteContext *g) { if (g->buffer_end - g->buffer < 1) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_byteu(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_byte(GetByteContext *g) { if (g->buffer_end - g->buffer < 1) return 0; return (((const uint8_t*)(g->buffer))[0]); }

# 133 "external/ffmpeg/libavcodec/bytestream.h"

static __attribute__((always_inline)) inline void bytestream2_init(GetByteContext *g,

const uint8_t *buf,

int buf_size)

{

do { if (!(buf_size >= 0)) { av_log(((void*)0), 0, "Assertion %s failed at %s:%d\n", "buf_size >= 0", "external/ffmpeg/libavcodec/bytestream.h", 137); abort(); } } while (0);

g->buffer = buf;

g->buffer_start = buf;

g->buffer_end = buf + buf_size;

}

static __attribute__((always_inline)) inline void bytestream2_init_writer(PutByteContext *p,

uint8_t *buf,

int buf_size)

{

do { if (!(buf_size >= 0)) { av_log(((void*)0), 0, "Assertion %s failed at %s:%d\n", "buf_size >= 0", "external/ffmpeg/libavcodec/bytestream.h", 147); abort(); } } while (0);

p->buffer = buf;

p->buffer_start = buf;

p->buffer_end = buf + buf_size;

p->eof = 0;

}

static __attribute__((always_inline)) inline unsigned int bytestream2_get_bytes_left(GetByteContext *g)

{

return g->buffer_end - g->buffer;

}

static __attribute__((always_inline)) inline unsigned int bytestream2_get_bytes_left_p(PutByteContext *p)

{

return p->buffer_end - p->buffer;

}

static __attribute__((always_inline)) inline void bytestream2_skip(GetByteContext *g,

unsigned int size)

{

g->buffer += ((g->buffer_end - g->buffer) > (size) ? (size) : (g->buffer_end - g->buffer));

}

static __attribute__((always_inline)) inline void bytestream2_skipu(GetByteContext *g,

unsigned int size)

{

g->buffer += size;

}

static __attribute__((always_inline)) inline void bytestream2_skip_p(PutByteContext *p,

unsigned int size)

{

int size2;

if (p->eof)

return;

size2 = ((p->buffer_end - p->buffer) > (size) ? (size) : (p->buffer_end - p->buffer));

if (size2 != size)

p->eof = 1;

p->buffer += size2;

}

static __attribute__((always_inline)) inline int bytestream2_tell(GetByteContext *g)

{

return (int)(g->buffer - g->buffer_start);

}

static __attribute__((always_inline)) inline int bytestream2_tell_p(PutByteContext *p)

{

return (int)(p->buffer - p->buffer_start);

}

static __attribute__((always_inline)) inline int bytestream2_size(GetByteContext *g)

{

return (int)(g->buffer_end - g->buffer_start);

}

static __attribute__((always_inline)) inline int bytestream2_size_p(PutByteContext *p)

{

return (int)(p->buffer_end - p->buffer_start);

}

static __attribute__((always_inline)) inline int bytestream2_seek(GetByteContext *g,

int offset,

int whence)

{

switch (whence) {

case 1:

offset = av_clip_c(offset, -(g->buffer - g->buffer_start),

g->buffer_end - g->buffer);

g->buffer += offset;

break;

case 2:

offset = av_clip_c(offset, -(g->buffer_end - g->buffer_start), 0);

g->buffer = g->buffer_end + offset;

break;

case 0:

offset = av_clip_c(offset, 0, g->buffer_end - g->buffer_start);

g->buffer = g->buffer_start + offset;

break;

default:

return (-(22));

}

return bytestream2_tell(g);

}

static __attribute__((always_inline)) inline int bytestream2_seek_p(PutByteContext *p,

int offset,

int whence)

{

p->eof = 0;

switch (whence) {

case 1:

if (p->buffer_end - p->buffer < offset)

p->eof = 1;

offset = av_clip_c(offset, -(p->buffer - p->buffer_start),

p->buffer_end - p->buffer);

p->buffer += offset;

break;

case 2:

if (offset > 0)

p->eof = 1;

offset = av_clip_c(offset, -(p->buffer_end - p->buffer_start), 0);

p->buffer = p->buffer_end + offset;

break;

case 0:

if (p->buffer_end - p->buffer_start < offset)

p->eof = 1;

offset = av_clip_c(offset, 0, p->buffer_end - p->buffer_start);

p->buffer = p->buffer_start + offset;

break;

default:

return (-(22));

}

return bytestream2_tell_p(p);

}

static __attribute__((always_inline)) inline unsigned int bytestream2_get_buffer(GetByteContext *g,

uint8_t *dst,

unsigned int size)

{

int size2 = ((g->buffer_end - g->buffer) > (size) ? (size) : (g->buffer_end - g->buffer));

memcpy(dst, g->buffer, size2);

g->buffer += size2;

return size2;

}

static __attribute__((always_inline)) inline unsigned int bytestream2_get_bufferu(GetByteContext *g,

uint8_t *dst,

unsigned int size)

{

memcpy(dst, g->buffer, size);

g->buffer += size;

return size;

}

static __attribute__((always_inline)) inline unsigned int bytestream2_put_buffer(PutByteContext *p,

const uint8_t *src,

unsigned int size)

{

int size2;

if (p->eof)

return 0;

size2 = ((p->buffer_end - p->buffer) > (size) ? (size) : (p->buffer_end - p->buffer));

if (size2 != size)

p->eof = 1;

memcpy(p->buffer, src, size2);

p->buffer += size2;

return size2;

}

static __attribute__((always_inline)) inline unsigned int bytestream2_put_bufferu(PutByteContext *p,

const uint8_t *src,

unsigned int size)

{

memcpy(p->buffer, src, size);

p->buffer += size;

return size;

}

static __attribute__((always_inline)) inline void bytestream2_set_buffer(PutByteContext *p,

const uint8_t c,

unsigned int size)

{

int size2;

if (p->eof)

return;

size2 = ((p->buffer_end - p->buffer) > (size) ? (size) : (p->buffer_end - p->buffer));

if (size2 != size)

p->eof = 1;

memset(p->buffer, c, size2);

p->buffer += size2;

}

static __attribute__((always_inline)) inline void bytestream2_set_bufferu(PutByteContext *p,

const uint8_t c,

unsigned int size)

{

memset(p->buffer, c, size);

p->buffer += size;

}

static __attribute__((always_inline)) inline unsigned int bytestream2_get_eof(PutByteContext *p)

{

return p->eof;

}

static __attribute__((always_inline)) inline unsigned int bytestream2_copy_bufferu(PutByteContext *p,

GetByteContext *g,

unsigned int size)

{

memcpy(p->buffer, g->buffer, size);

p->buffer += size;

g->buffer += size;

return size;

}

static __attribute__((always_inline)) inline unsigned int bytestream2_copy_buffer(PutByteContext *p,

GetByteContext *g,

unsigned int size)

{

int size2;

if (p->eof)

return 0;

size = ((g->buffer_end - g->buffer) > (size) ? (size) : (g->buffer_end - g->buffer));

size2 = ((p->buffer_end - p->buffer) > (size) ? (size) : (p->buffer_end - p->buffer));

if (size2 != size)

p->eof = 1;

return bytestream2_copy_bufferu(p, g, size2);

}

static __attribute__((always_inline)) inline unsigned int bytestream_get_buffer(const uint8_t **b,

uint8_t *dst,

unsigned int size)

{

memcpy(dst, *b, size);

(*b) += size;

return size;

}

static __attribute__((always_inline)) inline void bytestream_put_buffer(uint8_t **b,

const uint8_t *src,

unsigned int size)

{

memcpy(*b, src, size);

(*b) += size;

}

# 32 "external/ffmpeg/libavcodec/vp56.h" 2

# 1 "external/ffmpeg/libavcodec/h264chroma.h" 1

# 24 "external/ffmpeg/libavcodec/h264chroma.h"

typedef void (*h264_chroma_mc_func)(uint8_t *dst , uint8_t *src , int srcStride, int h, int x, int y);

typedef struct H264ChromaContext {

h264_chroma_mc_func put_h264_chroma_pixels_tab[4];

h264_chroma_mc_func avg_h264_chroma_pixels_tab[4];

} H264ChromaContext;

void ff_h264chroma_init(H264ChromaContext *c, int bit_depth);

void ff_h264chroma_init_aarch64(H264ChromaContext *c, int bit_depth);

void ff_h264chroma_init_arm(H264ChromaContext *c, int bit_depth);

void ff_h264chroma_init_ppc(H264ChromaContext *c, int bit_depth);

void ff_h264chroma_init_x86(H264ChromaContext *c, int bit_depth);

void ff_h264chroma_init_mips(H264ChromaContext *c, int bit_depth);

# 33 "external/ffmpeg/libavcodec/vp56.h" 2

# 1 "external/ffmpeg/libavcodec/videodsp.h" 1

# 29 "external/ffmpeg/libavcodec/videodsp.h"

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 30 "external/ffmpeg/libavcodec/videodsp.h" 2

void ff_emulated_edge_mc_8(uint8_t *dst, const uint8_t *src, ptrdiff_t dst_stride, ptrdiff_t src_stride, int block_w, int block_h, int src_x, int src_y, int w, int h);

void ff_emulated_edge_mc_16(uint8_t *dst, const uint8_t *src, ptrdiff_t dst_stride, ptrdiff_t src_stride, int block_w, int block_h, int src_x, int src_y, int w, int h);

typedef struct VideoDSPContext {

# 63 "external/ffmpeg/libavcodec/videodsp.h"

void (*emulated_edge_mc)(uint8_t *dst, const uint8_t *src,

ptrdiff_t dst_linesize,

ptrdiff_t src_linesize,

int block_w, int block_h,

int src_x, int src_y, int w, int h);

# 76 "external/ffmpeg/libavcodec/videodsp.h"

void (*prefetch)(uint8_t *buf, ptrdiff_t stride, int h);

} VideoDSPContext;

void ff_videodsp_init(VideoDSPContext *ctx, int bpc);

void ff_videodsp_init_aarch64(VideoDSPContext *ctx, int bpc);

void ff_videodsp_init_arm(VideoDSPContext *ctx, int bpc);

void ff_videodsp_init_ppc(VideoDSPContext *ctx, int bpc);

void ff_videodsp_init_x86(VideoDSPContext *ctx, int bpc);

# 34 "external/ffmpeg/libavcodec/vp56.h" 2

# 1 "external/ffmpeg/libavcodec/vp3dsp.h" 1

# 22 "external/ffmpeg/libavcodec/vp3dsp.h"

# 1 "prebuilts/clang/linux-x86/host/sdclang-3.8/bin/../lib/clang/3.8.4/include/stddef.h" 1 3

# 23 "external/ffmpeg/libavcodec/vp3dsp.h" 2

typedef struct VP3DSPContext {

# 36 "external/ffmpeg/libavcodec/vp3dsp.h"

void (*put_no_rnd_pixels_l2)(uint8_t *dst,

const uint8_t *a,

const uint8_t *b,

ptrdiff_t stride, int h);

void (*idct_put)(uint8_t *dest, int line_size, int16_t *block);

void (*idct_add)(uint8_t *dest, int line_size, int16_t *block);

void (*idct_dc_add)(uint8_t *dest, int line_size, int16_t *block);

void (*v_loop_filter)(uint8_t *src, int stride, int *bounding_values);

void (*h_loop_filter)(uint8_t *src, int stride, int *bounding_values);

} VP3DSPContext;

void ff_vp3dsp_init(VP3DSPContext *c, int flags);

void ff_vp3dsp_init_arm(VP3DSPContext *c, int flags);

void ff_vp3dsp_init_ppc(VP3DSPContext *c, int flags);

void ff_vp3dsp_init_x86(VP3DSPContext *c, int flags);

# 35 "external/ffmpeg/libavcodec/vp56.h" 2

# 1 "external/ffmpeg/libavcodec/vp56dsp.h" 1

# 27 "external/ffmpeg/libavcodec/vp56dsp.h"

typedef struct VP56DSPContext {

void (*edge_filter_hor)(uint8_t *yuv, int stride, int t);

void (*edge_filter_ver)(uint8_t *yuv, int stride, int t);

void (*vp6_filter_diag4)(uint8_t *dst, uint8_t *src, int stride,

const int16_t *h_weights,const int16_t *v_weights);

} VP56DSPContext;

void ff_vp6_filter_diag4_c(uint8_t *dst, uint8_t *src, int stride,

const int16_t *h_weights, const int16_t *v_weights);

void ff_vp56dsp_init(VP56DSPContext *s, enum AVCodecID codec);

void ff_vp6dsp_init_arm(VP56DSPContext *s, enum AVCodecID codec);

void ff_vp6dsp_init_x86(VP56DSPContext* c, enum AVCodecID codec);

# 36 "external/ffmpeg/libavcodec/vp56.h" 2

typedef struct vp56_context VP56Context;

typedef enum {

VP56_FRAME_NONE =-1,

VP56_FRAME_CURRENT = 0,

VP56_FRAME_PREVIOUS = 1,

VP56_FRAME_GOLDEN = 2,

VP56_FRAME_GOLDEN2 = 3,

} VP56Frame;

typedef enum {

VP56_MB_INTER_NOVEC_PF = 0,

VP56_MB_INTRA = 1,

VP56_MB_INTER_DELTA_PF = 2,

VP56_MB_INTER_V1_PF = 3,

VP56_MB_INTER_V2_PF = 4,

VP56_MB_INTER_NOVEC_GF = 5,

VP56_MB_INTER_DELTA_GF = 6,

VP56_MB_INTER_4V = 7,

VP56_MB_INTER_V1_GF = 8,

VP56_MB_INTER_V2_GF = 9,

} VP56mb;

typedef struct VP56Tree {

int8_t val;

int8_t prob_idx;

} VP56Tree;

typedef struct VP56mv {

int16_t __attribute__ ((aligned (4))) x;

int16_t y;

} VP56mv;

typedef void (*VP56ParseVectorAdjustment)(VP56Context *s,

VP56mv *vect);

typedef void (*VP56Filter)(VP56Context *s, uint8_t *dst, uint8_t *src,

int offset1, int offset2, int stride,

VP56mv mv, int mask, int select, int luma);

typedef int (*VP56ParseCoeff)(VP56Context *s);

typedef void (*VP56DefaultModelsInit)(VP56Context *s);

typedef void (*VP56ParseVectorModels)(VP56Context *s);

typedef int (*VP56ParseCoeffModels)(VP56Context *s);

typedef int (*VP56ParseHeader)(VP56Context *s, const uint8_t *buf,

int buf_size);

typedef struct VP56RangeCoder {

int high;

int bits;

const uint8_t *buffer;

const uint8_t *end;

unsigned int code_word;

} VP56RangeCoder;

typedef struct VP56RefDc {

uint8_t not_null_dc;

VP56Frame ref_frame;

int16_t dc_coeff;

} VP56RefDc;

typedef struct VP56Macroblock {

uint8_t type;

VP56mv mv;

} VP56Macroblock;

typedef struct VP56Model {

uint8_t coeff_reorder[64];

uint8_t coeff_index_to_pos[64];

uint8_t vector_sig[2];

uint8_t vector_dct[2];

uint8_t vector_pdi[2][2];

uint8_t vector_pdv[2][7];

uint8_t vector_fdv[2][8];

uint8_t coeff_dccv[2][11];

uint8_t coeff_ract[2][3][6][11];

uint8_t coeff_acct[2][3][3][6][5];

uint8_t coeff_dcct[2][36][5];

uint8_t coeff_runv[2][14];

uint8_t mb_type[3][10][10];

uint8_t mb_types_stats[3][10][2];

} VP56Model;

struct vp56_context {

AVCodecContext *avctx;

H264ChromaContext h264chroma;

HpelDSPContext hdsp;

VideoDSPContext vdsp;

VP3DSPContext vp3dsp;

VP56DSPContext vp56dsp;

uint8_t idct_scantable[64];

AVFrame *frames[4];

uint8_t *edge_emu_buffer_alloc;

uint8_t *edge_emu_buffer;

VP56RangeCoder c;

VP56RangeCoder cc;

VP56RangeCoder *ccp;

int sub_version;

int golden_frame;

int plane_width[4];

int plane_height[4];

int mb_width;

int mb_height;

int block_offset[6];

int quantizer;

uint16_t dequant_dc;

uint16_t dequant_ac;

VP56RefDc *above_blocks;

VP56RefDc left_block[4];

int above_block_idx[6];

int16_t prev_dc[3][3];

VP56mb mb_type;

VP56Macroblock *macroblocks;

int16_t __attribute__ ((aligned (16))) block_coeff[6][64];

VP56mv mv[6];

VP56mv vector_candidate[2];

int vector_candidate_pos;

int filter_header;

int deblock_filtering;

int filter_selection;

int filter_mode;

int max_vector_length;

int sample_variance_threshold;

uint8_t coeff_ctx[4][64];

uint8_t coeff_ctx_last[4];

int has_alpha;

int flip;

int frbi;

int srbi;

int stride[4];

const uint8_t *vp56_coord_div;

VP56ParseVectorAdjustment parse_vector_adjustment;

VP56Filter filter;

VP56ParseCoeff parse_coeff;

VP56DefaultModelsInit default_models_init;

VP56ParseVectorModels parse_vector_models;

VP56ParseCoeffModels parse_coeff_models;

VP56ParseHeader parse_header;

VP56Context *alpha_context;

VP56Model *modelp;

VP56Model model;

int use_huffman;

GetBitContext gb;

VLC dccv_vlc[2];

VLC runv_vlc[2];

VLC ract_vlc[2][3][6];

unsigned int nb_null[2][2];

int have_undamaged_frame;

int discard_frame;

};

int ff_vp56_init(AVCodecContext *avctx, int flip, int has_alpha);

int ff_vp56_init_context(AVCodecContext *avctx, VP56Context *s,

int flip, int has_alpha);

int ff_vp56_free(AVCodecContext *avctx);

int ff_vp56_free_context(VP56Context *s);

void ff_vp56_init_dequant(VP56Context *s, int quantizer);

int ff_vp56_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,

AVPacket *avpkt);

extern const uint8_t ff_vp56_norm_shift[256];

int ff_vp56_init_range_decoder(VP56RangeCoder *c, const uint8_t *buf, int buf_size);

static __attribute__((always_inline)) inline unsigned int vp56_rac_renorm(VP56RangeCoder *c)

{

int shift = ff_vp56_norm_shift[c->high];

int bits = c->bits;

unsigned int code_word = c->code_word;

c->high <<= shift;

code_word <<= shift;

bits += shift;

if(bits >= 0 && c->buffer < c->end) {

code_word |= bytestream_get_be16(&c->buffer) << bits;

bits -= 16;

}

c->bits = bits;

return code_word;

}

# 254 "external/ffmpeg/libavcodec/vp56.h"

static __attribute__((always_inline)) inline int vp56_rac_get_prob(VP56RangeCoder *c, uint8_t prob)

{

unsigned int code_word = vp56_rac_renorm(c);

unsigned int low = 1 + (((c->high - 1) * prob) >> 8);

unsigned int low_shift = low << 16;

int bit = code_word >= low_shift;

c->high = bit ? c->high - low : low;

c->code_word = bit ? code_word - low_shift : code_word;

return bit;

}

static __attribute__((always_inline)) inline int vp56_rac_get_prob_branchy(VP56RangeCoder *c, int prob)

{

unsigned long code_word = vp56_rac_renorm(c);

unsigned low = 1 + (((c->high - 1) * prob) >> 8);

unsigned low_shift = low << 16;

if (code_word >= low_shift) {

c->high -= low;

c->code_word = code_word - low_shift;

return 1;

}

c->high = low;

c->code_word = code_word;

return 0;

}

static __attribute__((always_inline)) inline int vp56_rac_get(VP56RangeCoder *c)

{

unsigned int code_word = vp56_rac_renorm(c);

int low = (c->high + 1) >> 1;

unsigned int low_shift = low << 16;

int bit = code_word >= low_shift;

if (bit) {

c->high -= low;

code_word -= low_shift;

} else {

c->high = low;

}

c->code_word = code_word;

return bit;

}

static __attribute__((always_inline)) inline int vp8_rac_get(VP56RangeCoder *c)

{

return vp56_rac_get_prob(c, 128);

}

static int vp56_rac_gets(VP56RangeCoder *c, int bits)

{

int value = 0;

while (bits--) {

value = (value << 1) | vp56_rac_get(c);

}

return value;

}

static int vp8_rac_get_uint(VP56RangeCoder *c, int bits)

{

int value = 0;

while (bits--) {

value = (value << 1) | vp8_rac_get(c);

}

return value;

}

static __attribute__((unused)) int vp8_rac_get_sint(VP56RangeCoder *c, int bits)

{

int v;

if (!vp8_rac_get(c))

return 0;

v = vp8_rac_get_uint(c, bits);

if (vp8_rac_get(c))

v = -v;

return v;

}

static __attribute__((unused)) int vp56_rac_gets_nn(VP56RangeCoder *c, int bits)

{

int v = vp56_rac_gets(c, 7) << 1;

return v + !v;

}

static __attribute__((unused)) int vp8_rac_get_nn(VP56RangeCoder *c)

{

int v = vp8_rac_get_uint(c, 7) << 1;

return v + !v;

}

static __attribute__((always_inline)) inline

int vp56_rac_get_tree(VP56RangeCoder *c,

const VP56Tree *tree,

const uint8_t *probs)

{

while (tree->val > 0) {

if (vp56_rac_get_prob_branchy(c, probs[tree->prob_idx]))

tree += tree->val;

else

tree++;

}

return -tree->val;

}

static __attribute__((always_inline)) inline int vp8_rac_get_tree(VP56RangeCoder *c, const int8_t (*tree)[2],

const uint8_t *probs)

{

int i = 0;

do {

i = tree[i][vp56_rac_get_prob(c, probs[i])];

} while (i > 0);

return -i;

}

static __attribute__((always_inline)) inline int vp8_rac_get_coeff(VP56RangeCoder *c, const uint8_t *prob)

{

int v = 0;

do {

v = (v<<1) + vp56_rac_get_prob(c, *prob++);

} while (*prob);

return v;

}

# 31 "external/ffmpeg/libavcodec/vp9.h" 2

enum BlockLevel {

BL_64X64,

BL_32X32,

BL_16X16,

BL_8X8,

};

enum BlockPartition {

PARTITION_NONE,

PARTITION_H,

PARTITION_V,

PARTITION_SPLIT,

};

enum BlockSize {

BS_64x64,

BS_64x32,

BS_32x64,

BS_32x32,

BS_32x16,

BS_16x32,

BS_16x16,

BS_16x8,

BS_8x16,

BS_8x8,

BS_8x4,

BS_4x8,

BS_4x4,

N_BS_SIZES,

};

enum TxfmMode {

TX_4X4,

TX_8X8,

TX_16X16,

TX_32X32,

N_TXFM_SIZES,

TX_SWITCHABLE = N_TXFM_SIZES,

N_TXFM_MODES

};

enum TxfmType {

DCT_DCT,

DCT_ADST,

ADST_DCT,

ADST_ADST,

N_TXFM_TYPES

};

enum IntraPredMode {

VERT_PRED,

HOR_PRED,

DC_PRED,

DIAG_DOWN_LEFT_PRED,

DIAG_DOWN_RIGHT_PRED,

VERT_RIGHT_PRED,

HOR_DOWN_PRED,

VERT_LEFT_PRED,

HOR_UP_PRED,

TM_VP8_PRED,

LEFT_DC_PRED,

TOP_DC_PRED,

DC_128_PRED,

DC_127_PRED,

DC_129_PRED,

N_INTRA_PRED_MODES

};

enum InterPredMode {

NEARESTMV = 10,

NEARMV = 11,

ZEROMV = 12,

NEWMV = 13,

};

enum FilterMode {

FILTER_8TAP_SMOOTH,

FILTER_8TAP_REGULAR,

FILTER_8TAP_SHARP,

FILTER_BILINEAR,

FILTER_SWITCHABLE,

};

enum CompPredMode {

PRED_SINGLEREF,

PRED_COMPREF,

PRED_SWITCHABLE,

};

struct VP9mvrefPair {

VP56mv mv[2];

int8_t ref[2];

};

typedef struct VP9Frame {

ThreadFrame tf;

AVBufferRef *extradata;

uint8_t *segmentation_map;

struct VP9mvrefPair *mv;

int uses_2pass;

AVBufferRef *hwaccel_priv_buf;

void *hwaccel_picture_private;

} VP9Frame;

typedef struct VP9BitstreamHeader {

uint8_t profile;

uint8_t keyframe;

uint8_t invisible;

uint8_t errorres;

uint8_t intraonly;

uint8_t resetctx;

uint8_t refreshrefmask;

uint8_t highprecisionmvs;

enum FilterMode filtermode;

uint8_t allowcompinter;

uint8_t refreshctx;

uint8_t parallelmode;

uint8_t framectxid;

uint8_t use_last_frame_mvs;

uint8_t refidx[3];

uint8_t signbias[3];

uint8_t fixcompref;

uint8_t varcompref[2];

struct {

uint8_t level;

int8_t sharpness;

} filter;

struct {

uint8_t enabled;

uint8_t updated;

int8_t mode[2];

int8_t ref[4];

} lf_delta;

uint8_t yac_qi;

int8_t ydc_qdelta, uvdc_qdelta, uvac_qdelta;

uint8_t lossless;

struct {

uint8_t enabled;

uint8_t temporal;

uint8_t absolute_vals;

uint8_t update_map;

uint8_t prob[7];

uint8_t pred_prob[3];

struct {

uint8_t q_enabled;

uint8_t lf_enabled;

uint8_t ref_enabled;

uint8_t skip_enabled;

uint8_t ref_val;

int16_t q_val;

int8_t lf_val;

int16_t qmul[2][2];

uint8_t lflvl[4][2];

} feat[8];

} segmentation;

enum TxfmMode txfmmode;

enum CompPredMode comppredmode;

struct {

unsigned log2_tile_cols, log2_tile_rows;

unsigned tile_cols, tile_rows;

} tiling;

int uncompressed_header_size;

int compressed_header_size;

} VP9BitstreamHeader;

typedef struct VP9SharedContext {

VP9BitstreamHeader h;

ThreadFrame refs[8];

VP9Frame frames[3];

} VP9SharedContext;

# 31 "external/ffmpeg/libavcodec/vp9dsp.h" 2

typedef void (*vp9_mc_func)(uint8_t *dst, ptrdiff_t dst_stride,

const uint8_t *ref, ptrdiff_t ref_stride,

int h, int mx, int my);

typedef void (*vp9_scaled_mc_func)(uint8_t *dst, ptrdiff_t dst_stride,

const uint8_t *ref, ptrdiff_t ref_stride,

int h, int mx, int my, int dx, int dy);

typedef struct VP9DSPContext {

# 51 "external/ffmpeg/libavcodec/vp9dsp.h"

void (*intra_pred[N_TXFM_SIZES][N_INTRA_PRED_MODES])(uint8_t *dst,

ptrdiff_t stride,

const uint8_t *left,

const uint8_t *top);

# 70 "external/ffmpeg/libavcodec/vp9dsp.h"

void (*itxfm_add[N_TXFM_SIZES + 1][N_TXFM_TYPES])(uint8_t *dst,

ptrdiff_t stride,

int16_t *block, int eob);

void (*loop_filter_8[3][2])(uint8_t *dst, ptrdiff_t stride,

int mb_lim, int lim, int hev_thr);

void (*loop_filter_16[2])(uint8_t *dst, ptrdiff_t stride,

int mb_lim, int lim, int hev_thr);

# 102 "external/ffmpeg/libavcodec/vp9dsp.h"

void (*loop_filter_mix2[2][2][2])(uint8_t *dst, ptrdiff_t stride,

int mb_lim, int lim, int hev_thr);

# 114 "external/ffmpeg/libavcodec/vp9dsp.h"

vp9_mc_func mc[5][4][2][2][2];

vp9_scaled_mc_func smc[5][4][2];

} VP9DSPContext;

void ff_vp9dsp_init(VP9DSPContext *dsp, int bpp, int bitexact);

void ff_vp9dsp_init_8(VP9DSPContext *dsp);

void ff_vp9dsp_init_10(VP9DSPContext *dsp);

void ff_vp9dsp_init_12(VP9DSPContext *dsp);

void ff_vp9dsp_init_x86(VP9DSPContext *dsp, int bpp, int bitexact);

void ff_vp9dsp_init_mips(VP9DSPContext *dsp, int bpp);

# 27 "external/ffmpeg/libavcodec/vp9dsp_template.c" 2

static void vert_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

uint32_t p4 = (((const av_alias32*)(top))->u32);

stride /= sizeof(uint8_t);

(((av_alias32*)(dst + stride * 0))->u32 = (p4));

(((av_alias32*)(dst + stride * 1))->u32 = (p4));

(((av_alias32*)(dst + stride * 2))->u32 = (p4));

(((av_alias32*)(dst + stride * 3))->u32 = (p4));

}

static void vert_8x8_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

uint32_t p4a = (((const av_alias32*)(top + 0))->u32);

uint32_t p4b = (((const av_alias32*)(top + 4))->u32);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 8; y++) {

(((av_alias32*)(dst + 0))->u32 = (p4a));

(((av_alias32*)(dst + 4))->u32 = (p4b));

dst += stride;

}

}

static void vert_16x16_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

uint32_t p4a = (((const av_alias32*)(top + 0))->u32);

uint32_t p4b = (((const av_alias32*)(top + 4))->u32);

uint32_t p4c = (((const av_alias32*)(top + 8))->u32);

uint32_t p4d = (((const av_alias32*)(top + 12))->u32);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 16; y++) {

(((av_alias32*)(dst + 0))->u32 = (p4a));

(((av_alias32*)(dst + 4))->u32 = (p4b));

(((av_alias32*)(dst + 8))->u32 = (p4c));

(((av_alias32*)(dst + 12))->u32 = (p4d));

dst += stride;

}

}

static void vert_32x32_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

uint32_t p4a = (((const av_alias32*)(top + 0))->u32);

uint32_t p4b = (((const av_alias32*)(top + 4))->u32);

uint32_t p4c = (((const av_alias32*)(top + 8))->u32);

uint32_t p4d = (((const av_alias32*)(top + 12))->u32);

uint32_t p4e = (((const av_alias32*)(top + 16))->u32);

uint32_t p4f = (((const av_alias32*)(top + 20))->u32);

uint32_t p4g = (((const av_alias32*)(top + 24))->u32);

uint32_t p4h = (((const av_alias32*)(top + 28))->u32);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 32; y++) {

(((av_alias32*)(dst + 0))->u32 = (p4a));

(((av_alias32*)(dst + 4))->u32 = (p4b));

(((av_alias32*)(dst + 8))->u32 = (p4c));

(((av_alias32*)(dst + 12))->u32 = (p4d));

(((av_alias32*)(dst + 16))->u32 = (p4e));

(((av_alias32*)(dst + 20))->u32 = (p4f));

(((av_alias32*)(dst + 24))->u32 = (p4g));

(((av_alias32*)(dst + 28))->u32 = (p4h));

dst += stride;

}

}

static void hor_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

stride /= sizeof(uint8_t);

(((av_alias32*)(dst + stride * 0))->u32 = (((left[3])*0x01010101U)));

(((av_alias32*)(dst + stride * 1))->u32 = (((left[2])*0x01010101U)));

(((av_alias32*)(dst + stride * 2))->u32 = (((left[1])*0x01010101U)));

(((av_alias32*)(dst + stride * 3))->u32 = (((left[0])*0x01010101U)));

}

static void hor_8x8_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 8; y++) {

uint32_t p4 = ((left[7 - y])*0x01010101U);

(((av_alias32*)(dst + 0))->u32 = (p4));

(((av_alias32*)(dst + 4))->u32 = (p4));

dst += stride;

}

}

static void hor_16x16_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 16; y++) {

uint32_t p4 = ((left[15 - y])*0x01010101U);

(((av_alias32*)(dst + 0))->u32 = (p4));

(((av_alias32*)(dst + 4))->u32 = (p4));

(((av_alias32*)(dst + 8))->u32 = (p4));

(((av_alias32*)(dst + 12))->u32 = (p4));

dst += stride;

}

}

static void hor_32x32_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 32; y++) {

uint32_t p4 = ((left[31 - y])*0x01010101U);

(((av_alias32*)(dst + 0))->u32 = (p4));

(((av_alias32*)(dst + 4))->u32 = (p4));

(((av_alias32*)(dst + 8))->u32 = (p4));

(((av_alias32*)(dst + 12))->u32 = (p4));

(((av_alias32*)(dst + 16))->u32 = (p4));

(((av_alias32*)(dst + 20))->u32 = (p4));

(((av_alias32*)(dst + 24))->u32 = (p4));

(((av_alias32*)(dst + 28))->u32 = (p4));

dst += stride;

}

}

static void tm_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

const uint8_t *top = (const uint8_t *) _top;

int y, tl = top[-1];

stride /= sizeof(uint8_t);

for (y = 0; y < 4; y++) {

int l_m_tl = left[3 - y] - tl;

dst[0] = av_clip_uint8_c(top[0] + l_m_tl);

dst[1] = av_clip_uint8_c(top[1] + l_m_tl);

dst[2] = av_clip_uint8_c(top[2] + l_m_tl);

dst[3] = av_clip_uint8_c(top[3] + l_m_tl);

dst += stride;

}

}

static void tm_8x8_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

const uint8_t *top = (const uint8_t *) _top;

int y, tl = top[-1];

stride /= sizeof(uint8_t);

for (y = 0; y < 8; y++) {

int l_m_tl = left[7 - y] - tl;

dst[0] = av_clip_uint8_c(top[0] + l_m_tl);

dst[1] = av_clip_uint8_c(top[1] + l_m_tl);

dst[2] = av_clip_uint8_c(top[2] + l_m_tl);

dst[3] = av_clip_uint8_c(top[3] + l_m_tl);

dst[4] = av_clip_uint8_c(top[4] + l_m_tl);

dst[5] = av_clip_uint8_c(top[5] + l_m_tl);

dst[6] = av_clip_uint8_c(top[6] + l_m_tl);

dst[7] = av_clip_uint8_c(top[7] + l_m_tl);

dst += stride;

}

}

static void tm_16x16_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

const uint8_t *top = (const uint8_t *) _top;

int y, tl = top[-1];

stride /= sizeof(uint8_t);

for (y = 0; y < 16; y++) {

int l_m_tl = left[15 - y] - tl;

dst[ 0] = av_clip_uint8_c(top[ 0] + l_m_tl);

dst[ 1] = av_clip_uint8_c(top[ 1] + l_m_tl);

dst[ 2] = av_clip_uint8_c(top[ 2] + l_m_tl);

dst[ 3] = av_clip_uint8_c(top[ 3] + l_m_tl);

dst[ 4] = av_clip_uint8_c(top[ 4] + l_m_tl);

dst[ 5] = av_clip_uint8_c(top[ 5] + l_m_tl);

dst[ 6] = av_clip_uint8_c(top[ 6] + l_m_tl);

dst[ 7] = av_clip_uint8_c(top[ 7] + l_m_tl);

dst[ 8] = av_clip_uint8_c(top[ 8] + l_m_tl);

dst[ 9] = av_clip_uint8_c(top[ 9] + l_m_tl);

dst[10] = av_clip_uint8_c(top[10] + l_m_tl);

dst[11] = av_clip_uint8_c(top[11] + l_m_tl);

dst[12] = av_clip_uint8_c(top[12] + l_m_tl);

dst[13] = av_clip_uint8_c(top[13] + l_m_tl);

dst[14] = av_clip_uint8_c(top[14] + l_m_tl);

dst[15] = av_clip_uint8_c(top[15] + l_m_tl);

dst += stride;

}

}

static void tm_32x32_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

const uint8_t *top = (const uint8_t *) _top;

int y, tl = top[-1];

stride /= sizeof(uint8_t);

for (y = 0; y < 32; y++) {

int l_m_tl = left[31 - y] - tl;

dst[ 0] = av_clip_uint8_c(top[ 0] + l_m_tl);

dst[ 1] = av_clip_uint8_c(top[ 1] + l_m_tl);

dst[ 2] = av_clip_uint8_c(top[ 2] + l_m_tl);

dst[ 3] = av_clip_uint8_c(top[ 3] + l_m_tl);

dst[ 4] = av_clip_uint8_c(top[ 4] + l_m_tl);

dst[ 5] = av_clip_uint8_c(top[ 5] + l_m_tl);

dst[ 6] = av_clip_uint8_c(top[ 6] + l_m_tl);

dst[ 7] = av_clip_uint8_c(top[ 7] + l_m_tl);

dst[ 8] = av_clip_uint8_c(top[ 8] + l_m_tl);

dst[ 9] = av_clip_uint8_c(top[ 9] + l_m_tl);

dst[10] = av_clip_uint8_c(top[10] + l_m_tl);

dst[11] = av_clip_uint8_c(top[11] + l_m_tl);

dst[12] = av_clip_uint8_c(top[12] + l_m_tl);

dst[13] = av_clip_uint8_c(top[13] + l_m_tl);

dst[14] = av_clip_uint8_c(top[14] + l_m_tl);

dst[15] = av_clip_uint8_c(top[15] + l_m_tl);

dst[16] = av_clip_uint8_c(top[16] + l_m_tl);

dst[17] = av_clip_uint8_c(top[17] + l_m_tl);

dst[18] = av_clip_uint8_c(top[18] + l_m_tl);

dst[19] = av_clip_uint8_c(top[19] + l_m_tl);

dst[20] = av_clip_uint8_c(top[20] + l_m_tl);

dst[21] = av_clip_uint8_c(top[21] + l_m_tl);

dst[22] = av_clip_uint8_c(top[22] + l_m_tl);

dst[23] = av_clip_uint8_c(top[23] + l_m_tl);

dst[24] = av_clip_uint8_c(top[24] + l_m_tl);

dst[25] = av_clip_uint8_c(top[25] + l_m_tl);

dst[26] = av_clip_uint8_c(top[26] + l_m_tl);

dst[27] = av_clip_uint8_c(top[27] + l_m_tl);

dst[28] = av_clip_uint8_c(top[28] + l_m_tl);

dst[29] = av_clip_uint8_c(top[29] + l_m_tl);

dst[30] = av_clip_uint8_c(top[30] + l_m_tl);

dst[31] = av_clip_uint8_c(top[31] + l_m_tl);

dst += stride;

}

}

static void dc_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

const uint8_t *top = (const uint8_t *) _top;

uint32_t dc = (((left[0] + left[1] + left[2] + left[3] + top[0] + top[1] + top[2] + top[3] + 4) >> 3)*0x01010101U);

stride /= sizeof(uint8_t);

(((av_alias32*)(dst + stride * 0))->u32 = (dc));

(((av_alias32*)(dst + stride * 1))->u32 = (dc));

(((av_alias32*)(dst + stride * 2))->u32 = (dc));

(((av_alias32*)(dst + stride * 3))->u32 = (dc));

}

static void dc_8x8_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

const uint8_t *top = (const uint8_t *) _top;

uint32_t dc = (((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] + left[7] + top[0] + top[1] + top[2] + top[3] + top[4] + top[5] + top[6] + top[7] + 8) >> 4)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 8; y++) {

(((av_alias32*)(dst + 0))->u32 = (dc));

(((av_alias32*)(dst + 4))->u32 = (dc));

dst += stride;

}

}

static void dc_16x16_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

const uint8_t *top = (const uint8_t *) _top;

uint32_t dc = (((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] + left[7] + left[8] + left[9] + left[10] + left[11] + left[12] + left[13] + left[14] + left[15] + top[0] + top[1] + top[2] + top[3] + top[4] + top[5] + top[6] + top[7] + top[8] + top[9] + top[10] + top[11] + top[12] + top[13] + top[14] + top[15] + 16) >> 5)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 16; y++) {

(((av_alias32*)(dst + 0))->u32 = (dc));

(((av_alias32*)(dst + 4))->u32 = (dc));

(((av_alias32*)(dst + 8))->u32 = (dc));

(((av_alias32*)(dst + 12))->u32 = (dc));

dst += stride;

}

}

static void dc_32x32_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

const uint8_t *top = (const uint8_t *) _top;

uint32_t dc = (((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] + left[7] + left[8] + left[9] + left[10] + left[11] + left[12] + left[13] + left[14] + left[15] + left[16] + left[17] + left[18] + left[19] + left[20] + left[21] + left[22] + left[23] + left[24] + left[25] + left[26] + left[27] + left[28] + left[29] + left[30] + left[31] + top[0] + top[1] + top[2] + top[3] + top[4] + top[5] + top[6] + top[7] + top[8] + top[9] + top[10] + top[11] + top[12] + top[13] + top[14] + top[15] + top[16] + top[17] + top[18] + top[19] + top[20] + top[21] + top[22] + top[23] + top[24] + top[25] + top[26] + top[27] + top[28] + top[29] + top[30] + top[31] + 32) >> 6)*0x01010101U);

# 391 "external/ffmpeg/libavcodec/vp9dsp_template.c"

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 32; y++) {

(((av_alias32*)(dst + 0))->u32 = (dc));

(((av_alias32*)(dst + 4))->u32 = (dc));

(((av_alias32*)(dst + 8))->u32 = (dc));

(((av_alias32*)(dst + 12))->u32 = (dc));

(((av_alias32*)(dst + 16))->u32 = (dc));

(((av_alias32*)(dst + 20))->u32 = (dc));

(((av_alias32*)(dst + 24))->u32 = (dc));

(((av_alias32*)(dst + 28))->u32 = (dc));

dst += stride;

}

}

static void dc_left_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

uint32_t dc = (((left[0] + left[1] + left[2] + left[3] + 2) >> 2)*0x01010101U);

stride /= sizeof(uint8_t);

(((av_alias32*)(dst + stride * 0))->u32 = (dc));

(((av_alias32*)(dst + stride * 1))->u32 = (dc));

(((av_alias32*)(dst + stride * 2))->u32 = (dc));

(((av_alias32*)(dst + stride * 3))->u32 = (dc));

}

static void dc_left_8x8_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

uint32_t dc = (((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] + left[7] + 4) >> 3)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 8; y++) {

(((av_alias32*)(dst + 0))->u32 = (dc));

(((av_alias32*)(dst + 4))->u32 = (dc));

dst += stride;

}

}

static void dc_left_16x16_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

uint32_t dc = (((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] + left[7] + left[8] + left[9] + left[10] + left[11] + left[12] + left[13] + left[14] + left[15] + 8) >> 4)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 16; y++) {

(((av_alias32*)(dst + 0))->u32 = (dc));

(((av_alias32*)(dst + 4))->u32 = (dc));

(((av_alias32*)(dst + 8))->u32 = (dc));

(((av_alias32*)(dst + 12))->u32 = (dc));

dst += stride;

}

}

static void dc_left_32x32_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

uint32_t dc = (((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] + left[7] + left[8] + left[9] + left[10] + left[11] + left[12] + left[13] + left[14] + left[15] + left[16] + left[17] + left[18] + left[19] + left[20] + left[21] + left[22] + left[23] + left[24] + left[25] + left[26] + left[27] + left[28] + left[29] + left[30] + left[31] + 16) >> 5)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 32; y++) {

(((av_alias32*)(dst + 0))->u32 = (dc));

(((av_alias32*)(dst + 4))->u32 = (dc));

(((av_alias32*)(dst + 8))->u32 = (dc));

(((av_alias32*)(dst + 12))->u32 = (dc));

(((av_alias32*)(dst + 16))->u32 = (dc));

(((av_alias32*)(dst + 20))->u32 = (dc));

(((av_alias32*)(dst + 24))->u32 = (dc));

(((av_alias32*)(dst + 28))->u32 = (dc));

dst += stride;

}

}

static void dc_top_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

uint32_t dc = (((top[0] + top[1] + top[2] + top[3] + 2) >> 2)*0x01010101U);

stride /= sizeof(uint8_t);

(((av_alias32*)(dst + stride * 0))->u32 = (dc));

(((av_alias32*)(dst + stride * 1))->u32 = (dc));

(((av_alias32*)(dst + stride * 2))->u32 = (dc));

(((av_alias32*)(dst + stride * 3))->u32 = (dc));

}

static void dc_top_8x8_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

uint32_t dc = (((top[0] + top[1] + top[2] + top[3] + top[4] + top[5] + top[6] + top[7] + 4) >> 3)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 8; y++) {

(((av_alias32*)(dst + 0))->u32 = (dc));

(((av_alias32*)(dst + 4))->u32 = (dc));

dst += stride;

}

}

static void dc_top_16x16_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

uint32_t dc = (((top[0] + top[1] + top[2] + top[3] + top[4] + top[5] + top[6] + top[7] + top[8] + top[9] + top[10] + top[11] + top[12] + top[13] + top[14] + top[15] + 8) >> 4)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 16; y++) {

(((av_alias32*)(dst + 0))->u32 = (dc));

(((av_alias32*)(dst + 4))->u32 = (dc));

(((av_alias32*)(dst + 8))->u32 = (dc));

(((av_alias32*)(dst + 12))->u32 = (dc));

dst += stride;

}

}

static void dc_top_32x32_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

uint32_t dc = (((top[0] + top[1] + top[2] + top[3] + top[4] + top[5] + top[6] + top[7] + top[8] + top[9] + top[10] + top[11] + top[12] + top[13] + top[14] + top[15] + top[16] + top[17] + top[18] + top[19] + top[20] + top[21] + top[22] + top[23] + top[24] + top[25] + top[26] + top[27] + top[28] + top[29] + top[30] + top[31] + 16) >> 5)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 32; y++) {

(((av_alias32*)(dst + 0))->u32 = (dc));

(((av_alias32*)(dst + 4))->u32 = (dc));

(((av_alias32*)(dst + 8))->u32 = (dc));

(((av_alias32*)(dst + 12))->u32 = (dc));

(((av_alias32*)(dst + 16))->u32 = (dc));

(((av_alias32*)(dst + 20))->u32 = (dc));

(((av_alias32*)(dst + 24))->u32 = (dc));

(((av_alias32*)(dst + 28))->u32 = (dc));

dst += stride;

}

}

static void dc_128_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = ((128 << (8 - 8))*0x01010101U);

stride /= sizeof(uint8_t);

(((av_alias32*)(dst + stride * 0))->u32 = (val));

(((av_alias32*)(dst + stride * 1))->u32 = (val));

(((av_alias32*)(dst + stride * 2))->u32 = (val));

(((av_alias32*)(dst + stride * 3))->u32 = (val));

}

static void dc_128_8x8_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = ((128 << (8 - 8))*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 8; y++) {

(((av_alias32*)(dst + 0))->u32 = (val));

(((av_alias32*)(dst + 4))->u32 = (val));

dst += stride;

}

}

static void dc_128_16x16_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = ((128 << (8 - 8))*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 16; y++) {

(((av_alias32*)(dst + 0))->u32 = (val));

(((av_alias32*)(dst + 4))->u32 = (val));

(((av_alias32*)(dst + 8))->u32 = (val));

(((av_alias32*)(dst + 12))->u32 = (val));

dst += stride;

}

}

static void dc_128_32x32_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = ((128 << (8 - 8))*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 32; y++) {

(((av_alias32*)(dst + 0))->u32 = (val));

(((av_alias32*)(dst + 4))->u32 = (val));

(((av_alias32*)(dst + 8))->u32 = (val));

(((av_alias32*)(dst + 12))->u32 = (val));

(((av_alias32*)(dst + 16))->u32 = (val));

(((av_alias32*)(dst + 20))->u32 = (val));

(((av_alias32*)(dst + 24))->u32 = (val));

(((av_alias32*)(dst + 28))->u32 = (val));

dst += stride;

}

}

static void dc_127_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = (((128 << (8 - 8)) - 1)*0x01010101U);

stride /= sizeof(uint8_t);

(((av_alias32*)(dst + stride * 0))->u32 = (val));

(((av_alias32*)(dst + stride * 1))->u32 = (val));

(((av_alias32*)(dst + stride * 2))->u32 = (val));

(((av_alias32*)(dst + stride * 3))->u32 = (val));}

static void dc_127_8x8_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = (((128 << (8 - 8)) - 1)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 8; y++) {

(((av_alias32*)(dst + 0))->u32 = (val));

(((av_alias32*)(dst + 4))->u32 = (val));

dst += stride;

}

}

static void dc_127_16x16_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = (((128 << (8 - 8)) - 1)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 16; y++) {

(((av_alias32*)(dst + 0))->u32 = (val));

(((av_alias32*)(dst + 4))->u32 = (val));

(((av_alias32*)(dst + 8))->u32 = (val));

(((av_alias32*)(dst + 12))->u32 = (val));

dst += stride;

}

}

static void dc_127_32x32_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = (((128 << (8 - 8)) - 1)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 32; y++) {

(((av_alias32*)(dst + 0))->u32 = (val));

(((av_alias32*)(dst + 4))->u32 = (val));

(((av_alias32*)(dst + 8))->u32 = (val));

(((av_alias32*)(dst + 12))->u32 = (val));

(((av_alias32*)(dst + 16))->u32 = (val));

(((av_alias32*)(dst + 20))->u32 = (val));

(((av_alias32*)(dst + 24))->u32 = (val));

(((av_alias32*)(dst + 28))->u32 = (val));

dst += stride;

}

}

static void dc_129_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = (((128 << (8 - 8)) + 1)*0x01010101U);

stride /= sizeof(uint8_t);

(((av_alias32*)(dst + stride * 0))->u32 = (val));

(((av_alias32*)(dst + stride * 1))->u32 = (val));

(((av_alias32*)(dst + stride * 2))->u32 = (val));

(((av_alias32*)(dst + stride * 3))->u32 = (val));

}

static void dc_129_8x8_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = (((128 << (8 - 8)) + 1)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 8; y++) {

(((av_alias32*)(dst + 0))->u32 = (val));

(((av_alias32*)(dst + 4))->u32 = (val));

dst += stride;

}

}

static void dc_129_16x16_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = (((128 << (8 - 8)) + 1)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 16; y++) {

(((av_alias32*)(dst + 0))->u32 = (val));

(((av_alias32*)(dst + 4))->u32 = (val));

(((av_alias32*)(dst + 8))->u32 = (val));

(((av_alias32*)(dst + 12))->u32 = (val));

dst += stride;

}

}

static void dc_129_32x32_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

uint32_t val = (((128 << (8 - 8)) + 1)*0x01010101U);

int y;

stride /= sizeof(uint8_t);

for (y = 0; y < 32; y++) {

(((av_alias32*)(dst + 0))->u32 = (val));

(((av_alias32*)(dst + 4))->u32 = (val));

(((av_alias32*)(dst + 8))->u32 = (val));

(((av_alias32*)(dst + 12))->u32 = (val));

(((av_alias32*)(dst + 16))->u32 = (val));

(((av_alias32*)(dst + 20))->u32 = (val));

(((av_alias32*)(dst + 24))->u32 = (val));

(((av_alias32*)(dst + 28))->u32 = (val));

dst += stride;

}

}

# 783 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void diag_downleft_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

int a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],

a4 = top[4], a5 = top[5], a6 = top[6], a7 = top[7];

stride /= sizeof(uint8_t);

dst[(0) + (0) * stride] = (a0 + a1 * 2 + a2 + 2) >> 2;

dst[(1) + (0) * stride] = dst[(0) + (1) * stride] = (a1 + a2 * 2 + a3 + 2) >> 2;

dst[(2) + (0) * stride] = dst[(1) + (1) * stride] = dst[(0) + (2) * stride] = (a2 + a3 * 2 + a4 + 2) >> 2;

dst[(3) + (0) * stride] = dst[(2) + (1) * stride] = dst[(1) + (2) * stride] = dst[(0) + (3) * stride] = (a3 + a4 * 2 + a5 + 2) >> 2;

dst[(3) + (1) * stride] = dst[(2) + (2) * stride] = dst[(1) + (3) * stride] = (a4 + a5 * 2 + a6 + 2) >> 2;

dst[(3) + (2) * stride] = dst[(2) + (3) * stride] = (a5 + a6 * 2 + a7 + 2) >> 2;

dst[(3) + (3) * stride] = a7;

}

# 821 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void diag_downleft_8x8_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; int i, j; uint8_t v[8 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 8 - 2; i++) v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; v[8 - 2] = (top[8 - 2] + top[8 - 1] * 3 + 2) >> 2; for (j = 0; j < 8; j++) { memcpy(dst + j*stride, v + j, (8 - 1 - j) * sizeof(uint8_t)); memset(dst + j*stride + 8 - 1 - j, top[8 - 1], j + 1); } }

static void diag_downleft_16x16_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; int i, j; uint8_t v[16 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 16 - 2; i++) v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; v[16 - 2] = (top[16 - 2] + top[16 - 1] * 3 + 2) >> 2; for (j = 0; j < 16; j++) { memcpy(dst + j*stride, v + j, (16 - 1 - j) * sizeof(uint8_t)); memset(dst + j*stride + 16 - 1 - j, top[16 - 1], j + 1); } }

static void diag_downleft_32x32_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; int i, j; uint8_t v[32 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 32 - 2; i++) v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; v[32 - 2] = (top[32 - 2] + top[32 - 1] * 3 + 2) >> 2; for (j = 0; j < 32; j++) { memcpy(dst + j*stride, v + j, (32 - 1 - j) * sizeof(uint8_t)); memset(dst + j*stride + 32 - 1 - j, top[32 - 1], j + 1); } }

static void diag_downright_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

const uint8_t *left = (const uint8_t *) _left;

int tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],

l0 = left[3], l1 = left[2], l2 = left[1], l3 = left[0];

stride /= sizeof(uint8_t);

dst[(0) + (3) * stride] = (l1 + l2 * 2 + l3 + 2) >> 2;

dst[(0) + (2) * stride] = dst[(1) + (3) * stride] = (l0 + l1 * 2 + l2 + 2) >> 2;

dst[(0) + (1) * stride] = dst[(1) + (2) * stride] = dst[(2) + (3) * stride] = (tl + l0 * 2 + l1 + 2) >> 2;

dst[(0) + (0) * stride] = dst[(1) + (1) * stride] = dst[(2) + (2) * stride] = dst[(3) + (3) * stride] = (l0 + tl * 2 + a0 + 2) >> 2;

dst[(1) + (0) * stride] = dst[(2) + (1) * stride] = dst[(3) + (2) * stride] = (tl + a0 * 2 + a1 + 2) >> 2;

dst[(2) + (0) * stride] = dst[(3) + (1) * stride] = (a0 + a1 * 2 + a2 + 2) >> 2;

dst[(3) + (0) * stride] = (a1 + a2 * 2 + a3 + 2) >> 2;

}

# 867 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void diag_downright_8x8_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t v[8 + 8 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 8 - 2; i++) { v[i ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; v[8 + 1 + i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; } v[8 - 2] = (left[8 - 2] + left[8 - 1] * 2 + top[-1] + 2) >> 2; v[8 - 1] = (left[8 - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; v[8 ] = (top[-1] + top[0] * 2 + top[ 1] + 2) >> 2; for (j = 0; j < 8; j++) memcpy(dst + j*stride, v + 8 - 1 - j, 8 * sizeof(uint8_t)); }

static void diag_downright_16x16_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t v[16 + 16 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 16 - 2; i++) { v[i ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; v[16 + 1 + i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; } v[16 - 2] = (left[16 - 2] + left[16 - 1] * 2 + top[-1] + 2) >> 2; v[16 - 1] = (left[16 - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; v[16 ] = (top[-1] + top[0] * 2 + top[ 1] + 2) >> 2; for (j = 0; j < 16; j++) memcpy(dst + j*stride, v + 16 - 1 - j, 16 * sizeof(uint8_t)); }

static void diag_downright_32x32_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t v[32 + 32 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 32 - 2; i++) { v[i ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; v[32 + 1 + i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; } v[32 - 2] = (left[32 - 2] + left[32 - 1] * 2 + top[-1] + 2) >> 2; v[32 - 1] = (left[32 - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; v[32 ] = (top[-1] + top[0] * 2 + top[ 1] + 2) >> 2; for (j = 0; j < 32; j++) memcpy(dst + j*stride, v + 32 - 1 - j, 32 * sizeof(uint8_t)); }

static void vert_right_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

const uint8_t *left = (const uint8_t *) _left;

int tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],

l0 = left[3], l1 = left[2], l2 = left[1];

stride /= sizeof(uint8_t);

dst[(0) + (3) * stride] = (l0 + l1 * 2 + l2 + 2) >> 2;

dst[(0) + (2) * stride] = (tl + l0 * 2 + l1 + 2) >> 2;

dst[(0) + (0) * stride] = dst[(1) + (2) * stride] = (tl + a0 + 1) >> 1;

dst[(0) + (1) * stride] = dst[(1) + (3) * stride] = (l0 + tl * 2 + a0 + 2) >> 2;

dst[(1) + (0) * stride] = dst[(2) + (2) * stride] = (a0 + a1 + 1) >> 1;

dst[(1) + (1) * stride] = dst[(2) + (3) * stride] = (tl + a0 * 2 + a1 + 2) >> 2;

dst[(2) + (0) * stride] = dst[(3) + (2) * stride] = (a1 + a2 + 1) >> 1;

dst[(2) + (1) * stride] = dst[(3) + (3) * stride] = (a0 + a1 * 2 + a2 + 2) >> 2;

dst[(3) + (0) * stride] = (a2 + a3 + 1) >> 1;

dst[(3) + (1) * stride] = (a1 + a2 * 2 + a3 + 2) >> 2;

}

# 924 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void vert_right_8x8_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t ve[8 + 8/2 - 1], vo[8 + 8/2 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 8/2 - 2; i++) { vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; } vo[8/2 - 2] = (left[8 - 1] + left[8 - 2] * 2 + left[8 - 3] + 2) >> 2; ve[8/2 - 2] = (top[-1] + left[8 - 1] * 2 + left[8 - 2] + 2) >> 2; ve[8/2 - 1] = (top[-1] + top[0] + 1) >> 1; vo[8/2 - 1] = (left[8 - 1] + top[-1] * 2 + top[0] + 2) >> 2; for (i = 0; i < 8 - 1; i++) { ve[8/2 + i] = (top[i] + top[i + 1] + 1) >> 1; vo[8/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; } for (j = 0; j < 8 / 2; j++) { memcpy(dst + j*2 *stride, ve + 8/2 - 1 - j, 8 * sizeof(uint8_t)); memcpy(dst + (j*2 + 1)*stride, vo + 8/2 - 1 - j, 8 * sizeof(uint8_t)); } }

static void vert_right_16x16_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t ve[16 + 16/2 - 1], vo[16 + 16/2 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 16/2 - 2; i++) { vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; } vo[16/2 - 2] = (left[16 - 1] + left[16 - 2] * 2 + left[16 - 3] + 2) >> 2; ve[16/2 - 2] = (top[-1] + left[16 - 1] * 2 + left[16 - 2] + 2) >> 2; ve[16/2 - 1] = (top[-1] + top[0] + 1) >> 1; vo[16/2 - 1] = (left[16 - 1] + top[-1] * 2 + top[0] + 2) >> 2; for (i = 0; i < 16 - 1; i++) { ve[16/2 + i] = (top[i] + top[i + 1] + 1) >> 1; vo[16/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; } for (j = 0; j < 16 / 2; j++) { memcpy(dst + j*2 *stride, ve + 16/2 - 1 - j, 16 * sizeof(uint8_t)); memcpy(dst + (j*2 + 1)*stride, vo + 16/2 - 1 - j, 16 * sizeof(uint8_t)); } }

static void vert_right_32x32_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t ve[32 + 32/2 - 1], vo[32 + 32/2 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 32/2 - 2; i++) { vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; } vo[32/2 - 2] = (left[32 - 1] + left[32 - 2] * 2 + left[32 - 3] + 2) >> 2; ve[32/2 - 2] = (top[-1] + left[32 - 1] * 2 + left[32 - 2] + 2) >> 2; ve[32/2 - 1] = (top[-1] + top[0] + 1) >> 1; vo[32/2 - 1] = (left[32 - 1] + top[-1] * 2 + top[0] + 2) >> 2; for (i = 0; i < 32 - 1; i++) { ve[32/2 + i] = (top[i] + top[i + 1] + 1) >> 1; vo[32/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; } for (j = 0; j < 32 / 2; j++) { memcpy(dst + j*2 *stride, ve + 32/2 - 1 - j, 32 * sizeof(uint8_t)); memcpy(dst + (j*2 + 1)*stride, vo + 32/2 - 1 - j, 32 * sizeof(uint8_t)); } }

static void hor_down_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

const uint8_t *left = (const uint8_t *) _left;

int l0 = left[3], l1 = left[2], l2 = left[1], l3 = left[0],

tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2];

stride /= sizeof(uint8_t);

dst[(2) + (0) * stride] = (tl + a0 * 2 + a1 + 2) >> 2;

dst[(3) + (0) * stride] = (a0 + a1 * 2 + a2 + 2) >> 2;

dst[(0) + (0) * stride] = dst[(2) + (1) * stride] = (tl + l0 + 1) >> 1;

dst[(1) + (0) * stride] = dst[(3) + (1) * stride] = (a0 + tl * 2 + l0 + 2) >> 2;

dst[(0) + (1) * stride] = dst[(2) + (2) * stride] = (l0 + l1 + 1) >> 1;

dst[(1) + (1) * stride] = dst[(3) + (2) * stride] = (tl + l0 * 2 + l1 + 2) >> 2;

dst[(0) + (2) * stride] = dst[(2) + (3) * stride] = (l1 + l2 + 1) >> 1;

dst[(1) + (2) * stride] = dst[(3) + (3) * stride] = (l0 + l1 * 2 + l2 + 2) >> 2;

dst[(0) + (3) * stride] = (l2 + l3 + 1) >> 1;

dst[(1) + (3) * stride] = (l1 + l2 * 2 + l3 + 2) >> 2;

}

# 975 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void hor_down_8x8_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t v[8 * 3 - 2]; stride /= sizeof(uint8_t); for (i = 0; i < 8 - 2; i++) { v[i*2 ] = (left[i + 1] + left[i + 0] + 1) >> 1; v[i*2 + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; v[8*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; } v[8*2 - 2] = (top[-1] + left[8 - 1] + 1) >> 1; v[8*2 - 4] = (left[8 - 1] + left[8 - 2] + 1) >> 1; v[8*2 - 1] = (top[0] + top[-1] * 2 + left[8 - 1] + 2) >> 2; v[8*2 - 3] = (top[-1] + left[8 - 1] * 2 + left[8 - 2] + 2) >> 2; for (j = 0; j < 8; j++) memcpy(dst + j*stride, v + 8*2 - 2 - j*2, 8 * sizeof(uint8_t)); }

static void hor_down_16x16_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t v[16 * 3 - 2]; stride /= sizeof(uint8_t); for (i = 0; i < 16 - 2; i++) { v[i*2 ] = (left[i + 1] + left[i + 0] + 1) >> 1; v[i*2 + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; v[16*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; } v[16*2 - 2] = (top[-1] + left[16 - 1] + 1) >> 1; v[16*2 - 4] = (left[16 - 1] + left[16 - 2] + 1) >> 1; v[16*2 - 1] = (top[0] + top[-1] * 2 + left[16 - 1] + 2) >> 2; v[16*2 - 3] = (top[-1] + left[16 - 1] * 2 + left[16 - 2] + 2) >> 2; for (j = 0; j < 16; j++) memcpy(dst + j*stride, v + 16*2 - 2 - j*2, 16 * sizeof(uint8_t)); }

static void hor_down_32x32_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t v[32 * 3 - 2]; stride /= sizeof(uint8_t); for (i = 0; i < 32 - 2; i++) { v[i*2 ] = (left[i + 1] + left[i + 0] + 1) >> 1; v[i*2 + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; v[32*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; } v[32*2 - 2] = (top[-1] + left[32 - 1] + 1) >> 1; v[32*2 - 4] = (left[32 - 1] + left[32 - 2] + 1) >> 1; v[32*2 - 1] = (top[0] + top[-1] * 2 + left[32 - 1] + 2) >> 2; v[32*2 - 3] = (top[-1] + left[32 - 1] * 2 + left[32 - 2] + 2) >> 2; for (j = 0; j < 32; j++) memcpy(dst + j*stride, v + 32*2 - 2 - j*2, 32 * sizeof(uint8_t)); }

static void vert_left_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *left, const uint8_t *_top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *top = (const uint8_t *) _top;

int a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],

a4 = top[4], a5 = top[5], a6 = top[6];

stride /= sizeof(uint8_t);

dst[(0) + (0) * stride] = (a0 + a1 + 1) >> 1;

dst[(0) + (1) * stride] = (a0 + a1 * 2 + a2 + 2) >> 2;

dst[(1) + (0) * stride] = dst[(0) + (2) * stride] = (a1 + a2 + 1) >> 1;

dst[(1) + (1) * stride] = dst[(0) + (3) * stride] = (a1 + a2 * 2 + a3 + 2) >> 2;

dst[(2) + (0) * stride] = dst[(1) + (2) * stride] = (a2 + a3 + 1) >> 1;

dst[(2) + (1) * stride] = dst[(1) + (3) * stride] = (a2 + a3 * 2 + a4 + 2) >> 2;

dst[(3) + (0) * stride] = dst[(2) + (2) * stride] = (a3 + a4 + 1) >> 1;

dst[(3) + (1) * stride] = dst[(2) + (3) * stride] = (a3 + a4 * 2 + a5 + 2) >> 2;

dst[(3) + (2) * stride] = (a4 + a5 + 1) >> 1;

dst[(3) + (3) * stride] = (a4 + a5 * 2 + a6 + 2) >> 2;

}

# 1025 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void vert_left_8x8_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; int i, j; uint8_t ve[8 - 1], vo[8 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 8 - 2; i++) { ve[i] = (top[i] + top[i + 1] + 1) >> 1; vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; } ve[8 - 2] = (top[8 - 2] + top[8 - 1] + 1) >> 1; vo[8 - 2] = (top[8 - 2] + top[8 - 1] * 3 + 2) >> 2; for (j = 0; j < 8 / 2; j++) { memcpy(dst + j*2 * stride, ve + j, (8 - j - 1) * sizeof(uint8_t)); memset(dst + j*2 * stride + 8 - j - 1, top[8 - 1], j + 1); memcpy(dst + (j*2 + 1) * stride, vo + j, (8 - j - 1) * sizeof(uint8_t)); memset(dst + (j*2 + 1) * stride + 8 - j - 1, top[8 - 1], j + 1); } }

static void vert_left_16x16_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; int i, j; uint8_t ve[16 - 1], vo[16 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 16 - 2; i++) { ve[i] = (top[i] + top[i + 1] + 1) >> 1; vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; } ve[16 - 2] = (top[16 - 2] + top[16 - 1] + 1) >> 1; vo[16 - 2] = (top[16 - 2] + top[16 - 1] * 3 + 2) >> 2; for (j = 0; j < 16 / 2; j++) { memcpy(dst + j*2 * stride, ve + j, (16 - j - 1) * sizeof(uint8_t)); memset(dst + j*2 * stride + 16 - j - 1, top[16 - 1], j + 1); memcpy(dst + (j*2 + 1) * stride, vo + j, (16 - j - 1) * sizeof(uint8_t)); memset(dst + (j*2 + 1) * stride + 16 - j - 1, top[16 - 1], j + 1); } }

static void vert_left_32x32_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *top = (const uint8_t *) _top; int i, j; uint8_t ve[32 - 1], vo[32 - 1]; stride /= sizeof(uint8_t); for (i = 0; i < 32 - 2; i++) { ve[i] = (top[i] + top[i + 1] + 1) >> 1; vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; } ve[32 - 2] = (top[32 - 2] + top[32 - 1] + 1) >> 1; vo[32 - 2] = (top[32 - 2] + top[32 - 1] * 3 + 2) >> 2; for (j = 0; j < 32 / 2; j++) { memcpy(dst + j*2 * stride, ve + j, (32 - j - 1) * sizeof(uint8_t)); memset(dst + j*2 * stride + 32 - j - 1, top[32 - 1], j + 1); memcpy(dst + (j*2 + 1) * stride, vo + j, (32 - j - 1) * sizeof(uint8_t)); memset(dst + (j*2 + 1) * stride + 32 - j - 1, top[32 - 1], j + 1); } }

static void hor_up_4x4_c(uint8_t *_dst, ptrdiff_t stride,

const uint8_t *_left, const uint8_t *top)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *left = (const uint8_t *) _left;

int l0 = left[0], l1 = left[1], l2 = left[2], l3 = left[3];

stride /= sizeof(uint8_t);

dst[(0) + (0) * stride] = (l0 + l1 + 1) >> 1;

dst[(1) + (0) * stride] = (l0 + l1 * 2 + l2 + 2) >> 2;

dst[(0) + (1) * stride] = dst[(2) + (0) * stride] = (l1 + l2 + 1) >> 1;

dst[(1) + (1) * stride] = dst[(3) + (0) * stride] = (l1 + l2 * 2 + l3 + 2) >> 2;

dst[(0) + (2) * stride] = dst[(2) + (1) * stride] = (l2 + l3 + 1) >> 1;

dst[(1) + (2) * stride] = dst[(3) + (1) * stride] = (l2 + l3 * 3 + 2) >> 2;

dst[(0) + (3) * stride] = dst[(1) + (3) * stride] = dst[(2) + (2) * stride] = dst[(2) + (3) * stride] = dst[(3) + (2) * stride] = dst[(3) + (3) * stride] = l3;

}

# 1072 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void hor_up_8x8_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t v[8*2 - 2]; stride /= sizeof(uint8_t); for (i = 0; i < 8 - 2; i++) { v[i*2 ] = (left[i] + left[i + 1] + 1) >> 1; v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; } v[8*2 - 4] = (left[8 - 2] + left[8 - 1] + 1) >> 1; v[8*2 - 3] = (left[8 - 2] + left[8 - 1] * 3 + 2) >> 2; for (j = 0; j < 8 / 2; j++) memcpy(dst + j*stride, v + j*2, 8 * sizeof(uint8_t)); for (j = 8 / 2; j < 8; j++) { memcpy(dst + j*stride, v + j*2, (8*2 - 2 - j*2) * sizeof(uint8_t)); memset(dst + j*stride + 8*2 - 2 - j*2, left[8 - 1], 2 + j*2 - 8); } }

static void hor_up_16x16_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t v[16*2 - 2]; stride /= sizeof(uint8_t); for (i = 0; i < 16 - 2; i++) { v[i*2 ] = (left[i] + left[i + 1] + 1) >> 1; v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; } v[16*2 - 4] = (left[16 - 2] + left[16 - 1] + 1) >> 1; v[16*2 - 3] = (left[16 - 2] + left[16 - 1] * 3 + 2) >> 2; for (j = 0; j < 16 / 2; j++) memcpy(dst + j*stride, v + j*2, 16 * sizeof(uint8_t)); for (j = 16 / 2; j < 16; j++) { memcpy(dst + j*stride, v + j*2, (16*2 - 2 - j*2) * sizeof(uint8_t)); memset(dst + j*stride + 16*2 - 2 - j*2, left[16 - 1], 2 + j*2 - 16); } }

static void hor_up_32x32_c(uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top) { uint8_t *dst = (uint8_t *) _dst; const uint8_t *left = (const uint8_t *) _left; int i, j; uint8_t v[32*2 - 2]; stride /= sizeof(uint8_t); for (i = 0; i < 32 - 2; i++) { v[i*2 ] = (left[i] + left[i + 1] + 1) >> 1; v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; } v[32*2 - 4] = (left[32 - 2] + left[32 - 1] + 1) >> 1; v[32*2 - 3] = (left[32 - 2] + left[32 - 1] * 3 + 2) >> 2; for (j = 0; j < 32 / 2; j++) memcpy(dst + j*stride, v + j*2, 32 * sizeof(uint8_t)); for (j = 32 / 2; j < 32; j++) { memcpy(dst + j*stride, v + j*2, (32*2 - 2 - j*2) * sizeof(uint8_t)); memset(dst + j*stride + 32*2 - 2 - j*2, left[32 - 1], 2 + j*2 - 32); } }

# 1084 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static

void ff_vp9dsp_intrapred_init_8(VP9DSPContext *dsp)

{

# 1114 "external/ffmpeg/libavcodec/vp9dsp_template.c"

dsp->intra_pred[TX_4X4][VERT_PRED] = vert_4x4_c; dsp->intra_pred[TX_4X4][HOR_PRED] = hor_4x4_c; dsp->intra_pred[TX_4X4][DC_PRED] = dc_4x4_c; dsp->intra_pred[TX_4X4][DIAG_DOWN_LEFT_PRED] = diag_downleft_4x4_c; dsp->intra_pred[TX_4X4][DIAG_DOWN_RIGHT_PRED] = diag_downright_4x4_c; dsp->intra_pred[TX_4X4][VERT_RIGHT_PRED] = vert_right_4x4_c; dsp->intra_pred[TX_4X4][HOR_DOWN_PRED] = hor_down_4x4_c; dsp->intra_pred[TX_4X4][VERT_LEFT_PRED] = vert_left_4x4_c; dsp->intra_pred[TX_4X4][HOR_UP_PRED] = hor_up_4x4_c; dsp->intra_pred[TX_4X4][LEFT_DC_PRED] = dc_left_4x4_c; dsp->intra_pred[TX_4X4][TOP_DC_PRED] = dc_top_4x4_c; dsp->intra_pred[TX_4X4][TM_VP8_PRED] = tm_4x4_c; dsp->intra_pred[TX_4X4][DC_128_PRED] = dc_128_4x4_c; dsp->intra_pred[TX_4X4][DC_127_PRED] = dc_127_4x4_c; dsp->intra_pred[TX_4X4][DC_129_PRED] = dc_129_4x4_c;

dsp->intra_pred[TX_8X8][VERT_PRED] = vert_8x8_c; dsp->intra_pred[TX_8X8][HOR_PRED] = hor_8x8_c; dsp->intra_pred[TX_8X8][DC_PRED] = dc_8x8_c; dsp->intra_pred[TX_8X8][DIAG_DOWN_LEFT_PRED] = diag_downleft_8x8_c; dsp->intra_pred[TX_8X8][DIAG_DOWN_RIGHT_PRED] = diag_downright_8x8_c; dsp->intra_pred[TX_8X8][VERT_RIGHT_PRED] = vert_right_8x8_c; dsp->intra_pred[TX_8X8][HOR_DOWN_PRED] = hor_down_8x8_c; dsp->intra_pred[TX_8X8][VERT_LEFT_PRED] = vert_left_8x8_c; dsp->intra_pred[TX_8X8][HOR_UP_PRED] = hor_up_8x8_c; dsp->intra_pred[TX_8X8][LEFT_DC_PRED] = dc_left_8x8_c; dsp->intra_pred[TX_8X8][TOP_DC_PRED] = dc_top_8x8_c; dsp->intra_pred[TX_8X8][TM_VP8_PRED] = tm_8x8_c; dsp->intra_pred[TX_8X8][DC_128_PRED] = dc_128_8x8_c; dsp->intra_pred[TX_8X8][DC_127_PRED] = dc_127_8x8_c; dsp->intra_pred[TX_8X8][DC_129_PRED] = dc_129_8x8_c;

dsp->intra_pred[TX_16X16][VERT_PRED] = vert_16x16_c; dsp->intra_pred[TX_16X16][HOR_PRED] = hor_16x16_c; dsp->intra_pred[TX_16X16][DC_PRED] = dc_16x16_c; dsp->intra_pred[TX_16X16][DIAG_DOWN_LEFT_PRED] = diag_downleft_16x16_c; dsp->intra_pred[TX_16X16][DIAG_DOWN_RIGHT_PRED] = diag_downright_16x16_c; dsp->intra_pred[TX_16X16][VERT_RIGHT_PRED] = vert_right_16x16_c; dsp->intra_pred[TX_16X16][HOR_DOWN_PRED] = hor_down_16x16_c; dsp->intra_pred[TX_16X16][VERT_LEFT_PRED] = vert_left_16x16_c; dsp->intra_pred[TX_16X16][HOR_UP_PRED] = hor_up_16x16_c; dsp->intra_pred[TX_16X16][LEFT_DC_PRED] = dc_left_16x16_c; dsp->intra_pred[TX_16X16][TOP_DC_PRED] = dc_top_16x16_c; dsp->intra_pred[TX_16X16][TM_VP8_PRED] = tm_16x16_c; dsp->intra_pred[TX_16X16][DC_128_PRED] = dc_128_16x16_c; dsp->intra_pred[TX_16X16][DC_127_PRED] = dc_127_16x16_c; dsp->intra_pred[TX_16X16][DC_129_PRED] = dc_129_16x16_c;

dsp->intra_pred[TX_32X32][VERT_PRED] = vert_32x32_c; dsp->intra_pred[TX_32X32][HOR_PRED] = hor_32x32_c; dsp->intra_pred[TX_32X32][DC_PRED] = dc_32x32_c; dsp->intra_pred[TX_32X32][DIAG_DOWN_LEFT_PRED] = diag_downleft_32x32_c; dsp->intra_pred[TX_32X32][DIAG_DOWN_RIGHT_PRED] = diag_downright_32x32_c; dsp->intra_pred[TX_32X32][VERT_RIGHT_PRED] = vert_right_32x32_c; dsp->intra_pred[TX_32X32][HOR_DOWN_PRED] = hor_down_32x32_c; dsp->intra_pred[TX_32X32][VERT_LEFT_PRED] = vert_left_32x32_c; dsp->intra_pred[TX_32X32][HOR_UP_PRED] = hor_up_32x32_c; dsp->intra_pred[TX_32X32][LEFT_DC_PRED] = dc_left_32x32_c; dsp->intra_pred[TX_32X32][TOP_DC_PRED] = dc_top_32x32_c; dsp->intra_pred[TX_32X32][TM_VP8_PRED] = tm_32x32_c; dsp->intra_pred[TX_32X32][DC_128_PRED] = dc_128_32x32_c; dsp->intra_pred[TX_32X32][DC_127_PRED] = dc_127_32x32_c; dsp->intra_pred[TX_32X32][DC_129_PRED] = dc_129_32x32_c;

}

# 1170 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static __attribute__((always_inline)) inline void idct4_1d(const int16_t *in, ptrdiff_t stride,

int16_t *out, int pass)

{

int t0, t1, t2, t3;

t0 = ((((int) in[(0) * stride]) + ((int) in[(2) * stride])) * 11585 + (1 << 13)) >> 14;

t1 = ((((int) in[(0) * stride]) - ((int) in[(2) * stride])) * 11585 + (1 << 13)) >> 14;

t2 = (((int) in[(1) * stride]) * 6270 - ((int) in[(3) * stride]) * 15137 + (1 << 13)) >> 14;

t3 = (((int) in[(1) * stride]) * 15137 + ((int) in[(3) * stride]) * 6270 + (1 << 13)) >> 14;

out[0] = t0 + t3;

out[1] = t1 + t2;

out[2] = t1 - t2;

out[3] = t0 - t3;

}

static __attribute__((always_inline)) inline void iadst4_1d(const int16_t *in, ptrdiff_t stride,

int16_t *out, int pass)

{

int t0, t1, t2, t3;

t0 = 5283 * ((int) in[(0) * stride]) + 15212 * ((int) in[(2) * stride]) + 9929 * ((int) in[(3) * stride]);

t1 = 9929 * ((int) in[(0) * stride]) - 5283 * ((int) in[(2) * stride]) - 15212 * ((int) in[(3) * stride]);

t2 = 13377 * (((int) in[(0) * stride]) - ((int) in[(2) * stride]) + ((int) in[(3) * stride]));

t3 = 13377 * ((int) in[(1) * stride]);

out[0] = (t0 + t3 + (1 << 13)) >> 14;

out[1] = (t1 + t3 + (1 << 13)) >> 14;

out[2] = (t2 + (1 << 13)) >> 14;

out[3] = (t0 + t1 - t3 + (1 << 13)) >> 14;

}

static void idct_idct_4x4_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[4 * 4], out[4]; stride /= sizeof(uint8_t); if (1 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (4 ? (t + (1 << (4 - 1))) >> 4 : t)); dst++; } return; } for (i = 0; i < 4; i++) idct4_1d(block + i, 4, tmp + i * 4, 0); memset(block, 0, 4 * 4 * sizeof(*block)); for (i = 0; i < 4; i++) { idct4_1d(tmp + i, 4, out, 1); for (j = 0; j < 4; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (4 ? (out[j] + (1 << (4 - 1))) >> 4 : out[j])); dst++; } } static void iadst_idct_4x4_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[4 * 4], out[4]; stride /= sizeof(uint8_t); if (0 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (4 ? (t + (1 << (4 - 1))) >> 4 : t)); dst++; } return; } for (i = 0; i < 4; i++) iadst4_1d(block + i, 4, tmp + i * 4, 0); memset(block, 0, 4 * 4 * sizeof(*block)); for (i = 0; i < 4; i++) { idct4_1d(tmp + i, 4, out, 1); for (j = 0; j < 4; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (4 ? (out[j] + (1 << (4 - 1))) >> 4 : out[j])); dst++; } } static void idct_iadst_4x4_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[4 * 4], out[4]; stride /= sizeof(uint8_t); if (0 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (4 ? (t + (1 << (4 - 1))) >> 4 : t)); dst++; } return; } for (i = 0; i < 4; i++) idct4_1d(block + i, 4, tmp + i * 4, 0); memset(block, 0, 4 * 4 * sizeof(*block)); for (i = 0; i < 4; i++) { iadst4_1d(tmp + i, 4, out, 1); for (j = 0; j < 4; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (4 ? (out[j] + (1 << (4 - 1))) >> 4 : out[j])); dst++; } } static void iadst_iadst_4x4_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[4 * 4], out[4]; stride /= sizeof(uint8_t); if (0 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (4 ? (t + (1 << (4 - 1))) >> 4 : t)); dst++; } return; } for (i = 0; i < 4; i++) iadst4_1d(block + i, 4, tmp + i * 4, 0); memset(block, 0, 4 * 4 * sizeof(*block)); for (i = 0; i < 4; i++) { iadst4_1d(tmp + i, 4, out, 1); for (j = 0; j < 4; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (4 ? (out[j] + (1 << (4 - 1))) >> 4 : out[j])); dst++; } }

static __attribute__((always_inline)) inline void idct8_1d(const int16_t *in, ptrdiff_t stride,

int16_t *out, int pass)

{

int t0, t0a, t1, t1a, t2, t2a, t3, t3a, t4, t4a, t5, t5a, t6, t6a, t7, t7a;

t0a = ((((int) in[(0) * stride]) + ((int) in[(4) * stride])) * 11585 + (1 << 13)) >> 14;

t1a = ((((int) in[(0) * stride]) - ((int) in[(4) * stride])) * 11585 + (1 << 13)) >> 14;

t2a = (((int) in[(2) * stride]) * 6270 - ((int) in[(6) * stride]) * 15137 + (1 << 13)) >> 14;

t3a = (((int) in[(2) * stride]) * 15137 + ((int) in[(6) * stride]) * 6270 + (1 << 13)) >> 14;

t4a = (((int) in[(1) * stride]) * 3196 - ((int) in[(7) * stride]) * 16069 + (1 << 13)) >> 14;

t5a = (((int) in[(5) * stride]) * 13623 - ((int) in[(3) * stride]) * 9102 + (1 << 13)) >> 14;

t6a = (((int) in[(5) * stride]) * 9102 + ((int) in[(3) * stride]) * 13623 + (1 << 13)) >> 14;

t7a = (((int) in[(1) * stride]) * 16069 + ((int) in[(7) * stride]) * 3196 + (1 << 13)) >> 14;

t0 = t0a + t3a;

t1 = t1a + t2a;

t2 = t1a - t2a;

t3 = t0a - t3a;

t4 = t4a + t5a;

t5a = t4a - t5a;

t7 = t7a + t6a;

t6a = t7a - t6a;

t5 = ((t6a - t5a) * 11585 + (1 << 13)) >> 14;

t6 = ((t6a + t5a) * 11585 + (1 << 13)) >> 14;

out[0] = t0 + t7;

out[1] = t1 + t6;

out[2] = t2 + t5;

out[3] = t3 + t4;

out[4] = t3 - t4;

out[5] = t2 - t5;

out[6] = t1 - t6;

out[7] = t0 - t7;

}

static __attribute__((always_inline)) inline void iadst8_1d(const int16_t *in, ptrdiff_t stride,

int16_t *out, int pass)

{

int t0, t0a, t1, t1a, t2, t2a, t3, t3a, t4, t4a, t5, t5a, t6, t6a, t7, t7a;

t0a = 16305 * ((int) in[(7) * stride]) + 1606 * ((int) in[(0) * stride]);

t1a = 1606 * ((int) in[(7) * stride]) - 16305 * ((int) in[(0) * stride]);

t2a = 14449 * ((int) in[(5) * stride]) + 7723 * ((int) in[(2) * stride]);

t3a = 7723 * ((int) in[(5) * stride]) - 14449 * ((int) in[(2) * stride]);

t4a = 10394 * ((int) in[(3) * stride]) + 12665 * ((int) in[(4) * stride]);

t5a = 12665 * ((int) in[(3) * stride]) - 10394 * ((int) in[(4) * stride]);

t6a = 4756 * ((int) in[(1) * stride]) + 15679 * ((int) in[(6) * stride]);

t7a = 15679 * ((int) in[(1) * stride]) - 4756 * ((int) in[(6) * stride]);

t0 = (t0a + t4a + (1 << 13)) >> 14;

t1 = (t1a + t5a + (1 << 13)) >> 14;

t2 = (t2a + t6a + (1 << 13)) >> 14;

t3 = (t3a + t7a + (1 << 13)) >> 14;

t4 = (t0a - t4a + (1 << 13)) >> 14;

t5 = (t1a - t5a + (1 << 13)) >> 14;

t6 = (t2a - t6a + (1 << 13)) >> 14;

t7 = (t3a - t7a + (1 << 13)) >> 14;

t4a = 15137 * t4 + 6270 * t5;

t5a = 6270 * t4 - 15137 * t5;

t6a = 15137 * t7 - 6270 * t6;

t7a = 6270 * t7 + 15137 * t6;

out[0] = t0 + t2;

out[7] = -(t1 + t3);

t2 = t0 - t2;

t3 = t1 - t3;

out[1] = -((t4a + t6a + (1 << 13)) >> 14);

out[6] = (t5a + t7a + (1 << 13)) >> 14;

t6 = (t4a - t6a + (1 << 13)) >> 14;

t7 = (t5a - t7a + (1 << 13)) >> 14;

out[3] = -(((t2 + t3) * 11585 + (1 << 13)) >> 14);

out[4] = ((t2 - t3) * 11585 + (1 << 13)) >> 14;

out[2] = ((t6 + t7) * 11585 + (1 << 13)) >> 14;

out[5] = -(((t6 - t7) * 11585 + (1 << 13)) >> 14);

}

static void idct_idct_8x8_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[8 * 8], out[8]; stride /= sizeof(uint8_t); if (1 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (5 ? (t + (1 << (5 - 1))) >> 5 : t)); dst++; } return; } for (i = 0; i < 8; i++) idct8_1d(block + i, 8, tmp + i * 8, 0); memset(block, 0, 8 * 8 * sizeof(*block)); for (i = 0; i < 8; i++) { idct8_1d(tmp + i, 8, out, 1); for (j = 0; j < 8; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (5 ? (out[j] + (1 << (5 - 1))) >> 5 : out[j])); dst++; } } static void iadst_idct_8x8_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[8 * 8], out[8]; stride /= sizeof(uint8_t); if (0 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (5 ? (t + (1 << (5 - 1))) >> 5 : t)); dst++; } return; } for (i = 0; i < 8; i++) iadst8_1d(block + i, 8, tmp + i * 8, 0); memset(block, 0, 8 * 8 * sizeof(*block)); for (i = 0; i < 8; i++) { idct8_1d(tmp + i, 8, out, 1); for (j = 0; j < 8; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (5 ? (out[j] + (1 << (5 - 1))) >> 5 : out[j])); dst++; } } static void idct_iadst_8x8_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[8 * 8], out[8]; stride /= sizeof(uint8_t); if (0 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (5 ? (t + (1 << (5 - 1))) >> 5 : t)); dst++; } return; } for (i = 0; i < 8; i++) idct8_1d(block + i, 8, tmp + i * 8, 0); memset(block, 0, 8 * 8 * sizeof(*block)); for (i = 0; i < 8; i++) { iadst8_1d(tmp + i, 8, out, 1); for (j = 0; j < 8; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (5 ? (out[j] + (1 << (5 - 1))) >> 5 : out[j])); dst++; } } static void iadst_iadst_8x8_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[8 * 8], out[8]; stride /= sizeof(uint8_t); if (0 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (5 ? (t + (1 << (5 - 1))) >> 5 : t)); dst++; } return; } for (i = 0; i < 8; i++) iadst8_1d(block + i, 8, tmp + i * 8, 0); memset(block, 0, 8 * 8 * sizeof(*block)); for (i = 0; i < 8; i++) { iadst8_1d(tmp + i, 8, out, 1); for (j = 0; j < 8; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (5 ? (out[j] + (1 << (5 - 1))) >> 5 : out[j])); dst++; } }

static __attribute__((always_inline)) inline void idct16_1d(const int16_t *in, ptrdiff_t stride,

int16_t *out, int pass)

{

int t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;

int t0a, t1a, t2a, t3a, t4a, t5a, t6a, t7a;

int t8a, t9a, t10a, t11a, t12a, t13a, t14a, t15a;

t0a = ((((int) in[(0) * stride]) + ((int) in[(8) * stride])) * 11585 + (1 << 13)) >> 14;

t1a = ((((int) in[(0) * stride]) - ((int) in[(8) * stride])) * 11585 + (1 << 13)) >> 14;

t2a = (((int) in[(4) * stride]) * 6270 - ((int) in[(12) * stride]) * 15137 + (1 << 13)) >> 14;

t3a = (((int) in[(4) * stride]) * 15137 + ((int) in[(12) * stride]) * 6270 + (1 << 13)) >> 14;

t4a = (((int) in[(2) * stride]) * 3196 - ((int) in[(14) * stride]) * 16069 + (1 << 13)) >> 14;

t7a = (((int) in[(2) * stride]) * 16069 + ((int) in[(14) * stride]) * 3196 + (1 << 13)) >> 14;

t5a = (((int) in[(10) * stride]) * 13623 - ((int) in[(6) * stride]) * 9102 + (1 << 13)) >> 14;

t6a = (((int) in[(10) * stride]) * 9102 + ((int) in[(6) * stride]) * 13623 + (1 << 13)) >> 14;

t8a = (((int) in[(1) * stride]) * 1606 - ((int) in[(15) * stride]) * 16305 + (1 << 13)) >> 14;

t15a = (((int) in[(1) * stride]) * 16305 + ((int) in[(15) * stride]) * 1606 + (1 << 13)) >> 14;

t9a = (((int) in[(9) * stride]) * 12665 - ((int) in[(7) * stride]) * 10394 + (1 << 13)) >> 14;

t14a = (((int) in[(9) * stride]) * 10394 + ((int) in[(7) * stride]) * 12665 + (1 << 13)) >> 14;

t10a = (((int) in[(5) * stride]) * 7723 - ((int) in[(11) * stride]) * 14449 + (1 << 13)) >> 14;

t13a = (((int) in[(5) * stride]) * 14449 + ((int) in[(11) * stride]) * 7723 + (1 << 13)) >> 14;

t11a = (((int) in[(13) * stride]) * 15679 - ((int) in[(3) * stride]) * 4756 + (1 << 13)) >> 14;

t12a = (((int) in[(13) * stride]) * 4756 + ((int) in[(3) * stride]) * 15679 + (1 << 13)) >> 14;

t0 = t0a + t3a;

t1 = t1a + t2a;

t2 = t1a - t2a;

t3 = t0a - t3a;

t4 = t4a + t5a;

t5 = t4a - t5a;

t6 = t7a - t6a;

t7 = t7a + t6a;

t8 = t8a + t9a;

t9 = t8a - t9a;

t10 = t11a - t10a;

t11 = t11a + t10a;

t12 = t12a + t13a;

t13 = t12a - t13a;

t14 = t15a - t14a;

t15 = t15a + t14a;

t5a = ((t6 - t5) * 11585 + (1 << 13)) >> 14;

t6a = ((t6 + t5) * 11585 + (1 << 13)) >> 14;

t9a = ( t14 * 6270 - t9 * 15137 + (1 << 13)) >> 14;

t14a = ( t14 * 15137 + t9 * 6270 + (1 << 13)) >> 14;

t10a = (-(t13 * 15137 + t10 * 6270) + (1 << 13)) >> 14;

t13a = ( t13 * 6270 - t10 * 15137 + (1 << 13)) >> 14;

t0a = t0 + t7;

t1a = t1 + t6a;

t2a = t2 + t5a;

t3a = t3 + t4;

t4 = t3 - t4;

t5 = t2 - t5a;

t6 = t1 - t6a;

t7 = t0 - t7;

t8a = t8 + t11;

t9 = t9a + t10a;

t10 = t9a - t10a;

t11a = t8 - t11;

t12a = t15 - t12;

t13 = t14a - t13a;

t14 = t14a + t13a;

t15a = t15 + t12;

t10a = ((t13 - t10) * 11585 + (1 << 13)) >> 14;

t13a = ((t13 + t10) * 11585 + (1 << 13)) >> 14;

t11 = ((t12a - t11a) * 11585 + (1 << 13)) >> 14;

t12 = ((t12a + t11a) * 11585 + (1 << 13)) >> 14;

out[ 0] = t0a + t15a;

out[ 1] = t1a + t14;

out[ 2] = t2a + t13a;

out[ 3] = t3a + t12;

out[ 4] = t4 + t11;

out[ 5] = t5 + t10a;

out[ 6] = t6 + t9;

out[ 7] = t7 + t8a;

out[ 8] = t7 - t8a;

out[ 9] = t6 - t9;

out[10] = t5 - t10a;

out[11] = t4 - t11;

out[12] = t3a - t12;

out[13] = t2a - t13a;

out[14] = t1a - t14;

out[15] = t0a - t15a;

}

static __attribute__((always_inline)) inline void iadst16_1d(const int16_t *in, ptrdiff_t stride,

int16_t *out, int pass)

{

int t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;

int t0a, t1a, t2a, t3a, t4a, t5a, t6a, t7a;

int t8a, t9a, t10a, t11a, t12a, t13a, t14a, t15a;

t0 = ((int) in[(15) * stride]) * 16364 + ((int) in[(0) * stride]) * 804;

t1 = ((int) in[(15) * stride]) * 804 - ((int) in[(0) * stride]) * 16364;

t2 = ((int) in[(13) * stride]) * 15893 + ((int) in[(2) * stride]) * 3981;

t3 = ((int) in[(13) * stride]) * 3981 - ((int) in[(2) * stride]) * 15893;

t4 = ((int) in[(11) * stride]) * 14811 + ((int) in[(4) * stride]) * 7005;

t5 = ((int) in[(11) * stride]) * 7005 - ((int) in[(4) * stride]) * 14811;

t6 = ((int) in[(9) * stride]) * 13160 + ((int) in[(6) * stride]) * 9760;

t7 = ((int) in[(9) * stride]) * 9760 - ((int) in[(6) * stride]) * 13160;

t8 = ((int) in[(7) * stride]) * 11003 + ((int) in[(8) * stride]) * 12140;

t9 = ((int) in[(7) * stride]) * 12140 - ((int) in[(8) * stride]) * 11003;

t10 = ((int) in[(5) * stride]) * 8423 + ((int) in[(10) * stride]) * 14053;

t11 = ((int) in[(5) * stride]) * 14053 - ((int) in[(10) * stride]) * 8423;

t12 = ((int) in[(3) * stride]) * 5520 + ((int) in[(12) * stride]) * 15426;

t13 = ((int) in[(3) * stride]) * 15426 - ((int) in[(12) * stride]) * 5520;

t14 = ((int) in[(1) * stride]) * 2404 + ((int) in[(14) * stride]) * 16207;

t15 = ((int) in[(1) * stride]) * 16207 - ((int) in[(14) * stride]) * 2404;

t0a = (t0 + t8 + (1 << 13)) >> 14;

t1a = (t1 + t9 + (1 << 13)) >> 14;

t2a = (t2 + t10 + (1 << 13)) >> 14;

t3a = (t3 + t11 + (1 << 13)) >> 14;

t4a = (t4 + t12 + (1 << 13)) >> 14;

t5a = (t5 + t13 + (1 << 13)) >> 14;

t6a = (t6 + t14 + (1 << 13)) >> 14;

t7a = (t7 + t15 + (1 << 13)) >> 14;

t8a = (t0 - t8 + (1 << 13)) >> 14;

t9a = (t1 - t9 + (1 << 13)) >> 14;

t10a = (t2 - t10 + (1 << 13)) >> 14;

t11a = (t3 - t11 + (1 << 13)) >> 14;

t12a = (t4 - t12 + (1 << 13)) >> 14;

t13a = (t5 - t13 + (1 << 13)) >> 14;

t14a = (t6 - t14 + (1 << 13)) >> 14;

t15a = (t7 - t15 + (1 << 13)) >> 14;

t8 = t8a * 16069 + t9a * 3196;

t9 = t8a * 3196 - t9a * 16069;

t10 = t10a * 9102 + t11a * 13623;

t11 = t10a * 13623 - t11a * 9102;

t12 = t13a * 16069 - t12a * 3196;

t13 = t13a * 3196 + t12a * 16069;

t14 = t15a * 9102 - t14a * 13623;

t15 = t15a * 13623 + t14a * 9102;

t0 = t0a + t4a;

t1 = t1a + t5a;

t2 = t2a + t6a;

t3 = t3a + t7a;

t4 = t0a - t4a;

t5 = t1a - t5a;

t6 = t2a - t6a;

t7 = t3a - t7a;

t8a = (t8 + t12 + (1 << 13)) >> 14;

t9a = (t9 + t13 + (1 << 13)) >> 14;

t10a = (t10 + t14 + (1 << 13)) >> 14;

t11a = (t11 + t15 + (1 << 13)) >> 14;

t12a = (t8 - t12 + (1 << 13)) >> 14;

t13a = (t9 - t13 + (1 << 13)) >> 14;

t14a = (t10 - t14 + (1 << 13)) >> 14;

t15a = (t11 - t15 + (1 << 13)) >> 14;

t4a = t4 * 15137 + t5 * 6270;

t5a = t4 * 6270 - t5 * 15137;

t6a = t7 * 15137 - t6 * 6270;

t7a = t7 * 6270 + t6 * 15137;

t12 = t12a * 15137 + t13a * 6270;

t13 = t12a * 6270 - t13a * 15137;

t14 = t15a * 15137 - t14a * 6270;

t15 = t15a * 6270 + t14a * 15137;

out[ 0] = t0 + t2;

out[15] = -(t1 + t3);

t2a = t0 - t2;

t3a = t1 - t3;

out[ 3] = -((t4a + t6a + (1 << 13)) >> 14);

out[12] = (t5a + t7a + (1 << 13)) >> 14;

t6 = (t4a - t6a + (1 << 13)) >> 14;

t7 = (t5a - t7a + (1 << 13)) >> 14;

out[ 1] = -(t8a + t10a);

out[14] = t9a + t11a;

t10 = t8a - t10a;

t11 = t9a - t11a;

out[ 2] = (t12 + t14 + (1 << 13)) >> 14;

out[13] = -((t13 + t15 + (1 << 13)) >> 14);

t14a = (t12 - t14 + (1 << 13)) >> 14;

t15a = (t13 - t15 + (1 << 13)) >> 14;

out[ 7] = ((t2a + t3a) * -11585 + (1 << 13)) >> 14;

out[ 8] = ((t2a - t3a) * 11585 + (1 << 13)) >> 14;

out[ 4] = ((t7 + t6) * 11585 + (1 << 13)) >> 14;

out[11] = ((t7 - t6) * 11585 + (1 << 13)) >> 14;

out[ 6] = ((t11 + t10) * 11585 + (1 << 13)) >> 14;

out[ 9] = ((t11 - t10) * 11585 + (1 << 13)) >> 14;

out[ 5] = ((t14a + t15a) * -11585 + (1 << 13)) >> 14;

out[10] = ((t14a - t15a) * 11585 + (1 << 13)) >> 14;

}

static void idct_idct_16x16_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[16 * 16], out[16]; stride /= sizeof(uint8_t); if (1 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 16; i++) { for (j = 0; j < 16; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (6 ? (t + (1 << (6 - 1))) >> 6 : t)); dst++; } return; } for (i = 0; i < 16; i++) idct16_1d(block + i, 16, tmp + i * 16, 0); memset(block, 0, 16 * 16 * sizeof(*block)); for (i = 0; i < 16; i++) { idct16_1d(tmp + i, 16, out, 1); for (j = 0; j < 16; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (6 ? (out[j] + (1 << (6 - 1))) >> 6 : out[j])); dst++; } } static void iadst_idct_16x16_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[16 * 16], out[16]; stride /= sizeof(uint8_t); if (0 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 16; i++) { for (j = 0; j < 16; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (6 ? (t + (1 << (6 - 1))) >> 6 : t)); dst++; } return; } for (i = 0; i < 16; i++) iadst16_1d(block + i, 16, tmp + i * 16, 0); memset(block, 0, 16 * 16 * sizeof(*block)); for (i = 0; i < 16; i++) { idct16_1d(tmp + i, 16, out, 1); for (j = 0; j < 16; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (6 ? (out[j] + (1 << (6 - 1))) >> 6 : out[j])); dst++; } } static void idct_iadst_16x16_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[16 * 16], out[16]; stride /= sizeof(uint8_t); if (0 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 16; i++) { for (j = 0; j < 16; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (6 ? (t + (1 << (6 - 1))) >> 6 : t)); dst++; } return; } for (i = 0; i < 16; i++) idct16_1d(block + i, 16, tmp + i * 16, 0); memset(block, 0, 16 * 16 * sizeof(*block)); for (i = 0; i < 16; i++) { iadst16_1d(tmp + i, 16, out, 1); for (j = 0; j < 16; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (6 ? (out[j] + (1 << (6 - 1))) >> 6 : out[j])); dst++; } } static void iadst_iadst_16x16_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[16 * 16], out[16]; stride /= sizeof(uint8_t); if (0 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 16; i++) { for (j = 0; j < 16; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (6 ? (t + (1 << (6 - 1))) >> 6 : t)); dst++; } return; } for (i = 0; i < 16; i++) iadst16_1d(block + i, 16, tmp + i * 16, 0); memset(block, 0, 16 * 16 * sizeof(*block)); for (i = 0; i < 16; i++) { iadst16_1d(tmp + i, 16, out, 1); for (j = 0; j < 16; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (6 ? (out[j] + (1 << (6 - 1))) >> 6 : out[j])); dst++; } }

static __attribute__((always_inline)) inline void idct32_1d(const int16_t *in, ptrdiff_t stride,

int16_t *out, int pass)

{

int t0a = ((((int) in[(0) * stride]) + ((int) in[(16) * stride])) * 11585 + (1 << 13)) >> 14;

int t1a = ((((int) in[(0) * stride]) - ((int) in[(16) * stride])) * 11585 + (1 << 13)) >> 14;

int t2a = (((int) in[(8) * stride]) * 6270 - ((int) in[(24) * stride]) * 15137 + (1 << 13)) >> 14;

int t3a = (((int) in[(8) * stride]) * 15137 + ((int) in[(24) * stride]) * 6270 + (1 << 13)) >> 14;

int t4a = (((int) in[(4) * stride]) * 3196 - ((int) in[(28) * stride]) * 16069 + (1 << 13)) >> 14;

int t7a = (((int) in[(4) * stride]) * 16069 + ((int) in[(28) * stride]) * 3196 + (1 << 13)) >> 14;

int t5a = (((int) in[(20) * stride]) * 13623 - ((int) in[(12) * stride]) * 9102 + (1 << 13)) >> 14;

int t6a = (((int) in[(20) * stride]) * 9102 + ((int) in[(12) * stride]) * 13623 + (1 << 13)) >> 14;

int t8a = (((int) in[(2) * stride]) * 1606 - ((int) in[(30) * stride]) * 16305 + (1 << 13)) >> 14;

int t15a = (((int) in[(2) * stride]) * 16305 + ((int) in[(30) * stride]) * 1606 + (1 << 13)) >> 14;

int t9a = (((int) in[(18) * stride]) * 12665 - ((int) in[(14) * stride]) * 10394 + (1 << 13)) >> 14;

int t14a = (((int) in[(18) * stride]) * 10394 + ((int) in[(14) * stride]) * 12665 + (1 << 13)) >> 14;

int t10a = (((int) in[(10) * stride]) * 7723 - ((int) in[(22) * stride]) * 14449 + (1 << 13)) >> 14;

int t13a = (((int) in[(10) * stride]) * 14449 + ((int) in[(22) * stride]) * 7723 + (1 << 13)) >> 14;

int t11a = (((int) in[(26) * stride]) * 15679 - ((int) in[(6) * stride]) * 4756 + (1 << 13)) >> 14;

int t12a = (((int) in[(26) * stride]) * 4756 + ((int) in[(6) * stride]) * 15679 + (1 << 13)) >> 14;

int t16a = (((int) in[(1) * stride]) * 804 - ((int) in[(31) * stride]) * 16364 + (1 << 13)) >> 14;

int t31a = (((int) in[(1) * stride]) * 16364 + ((int) in[(31) * stride]) * 804 + (1 << 13)) >> 14;

int t17a = (((int) in[(17) * stride]) * 12140 - ((int) in[(15) * stride]) * 11003 + (1 << 13)) >> 14;

int t30a = (((int) in[(17) * stride]) * 11003 + ((int) in[(15) * stride]) * 12140 + (1 << 13)) >> 14;

int t18a = (((int) in[(9) * stride]) * 7005 - ((int) in[(23) * stride]) * 14811 + (1 << 13)) >> 14;

int t29a = (((int) in[(9) * stride]) * 14811 + ((int) in[(23) * stride]) * 7005 + (1 << 13)) >> 14;

int t19a = (((int) in[(25) * stride]) * 15426 - ((int) in[(7) * stride]) * 5520 + (1 << 13)) >> 14;

int t28a = (((int) in[(25) * stride]) * 5520 + ((int) in[(7) * stride]) * 15426 + (1 << 13)) >> 14;

int t20a = (((int) in[(5) * stride]) * 3981 - ((int) in[(27) * stride]) * 15893 + (1 << 13)) >> 14;

int t27a = (((int) in[(5) * stride]) * 15893 + ((int) in[(27) * stride]) * 3981 + (1 << 13)) >> 14;

int t21a = (((int) in[(21) * stride]) * 14053 - ((int) in[(11) * stride]) * 8423 + (1 << 13)) >> 14;

int t26a = (((int) in[(21) * stride]) * 8423 + ((int) in[(11) * stride]) * 14053 + (1 << 13)) >> 14;

int t22a = (((int) in[(13) * stride]) * 9760 - ((int) in[(19) * stride]) * 13160 + (1 << 13)) >> 14;

int t25a = (((int) in[(13) * stride]) * 13160 + ((int) in[(19) * stride]) * 9760 + (1 << 13)) >> 14;

int t23a = (((int) in[(29) * stride]) * 16207 - ((int) in[(3) * stride]) * 2404 + (1 << 13)) >> 14;

int t24a = (((int) in[(29) * stride]) * 2404 + ((int) in[(3) * stride]) * 16207 + (1 << 13)) >> 14;

int t0 = t0a + t3a;

int t1 = t1a + t2a;

int t2 = t1a - t2a;

int t3 = t0a - t3a;

int t4 = t4a + t5a;

int t5 = t4a - t5a;

int t6 = t7a - t6a;

int t7 = t7a + t6a;

int t8 = t8a + t9a;

int t9 = t8a - t9a;

int t10 = t11a - t10a;

int t11 = t11a + t10a;

int t12 = t12a + t13a;

int t13 = t12a - t13a;

int t14 = t15a - t14a;

int t15 = t15a + t14a;

int t16 = t16a + t17a;

int t17 = t16a - t17a;

int t18 = t19a - t18a;

int t19 = t19a + t18a;

int t20 = t20a + t21a;

int t21 = t20a - t21a;

int t22 = t23a - t22a;

int t23 = t23a + t22a;

int t24 = t24a + t25a;

int t25 = t24a - t25a;

int t26 = t27a - t26a;

int t27 = t27a + t26a;

int t28 = t28a + t29a;

int t29 = t28a - t29a;

int t30 = t31a - t30a;

int t31 = t31a + t30a;

t5a = ((t6 - t5) * 11585 + (1 << 13)) >> 14;

t6a = ((t6 + t5) * 11585 + (1 << 13)) >> 14;

t9a = ( t14 * 6270 - t9 * 15137 + (1 << 13)) >> 14;

t14a = ( t14 * 15137 + t9 * 6270 + (1 << 13)) >> 14;

t10a = (-(t13 * 15137 + t10 * 6270) + (1 << 13)) >> 14;

t13a = ( t13 * 6270 - t10 * 15137 + (1 << 13)) >> 14;

t17a = ( t30 * 3196 - t17 * 16069 + (1 << 13)) >> 14;

t30a = ( t30 * 16069 + t17 * 3196 + (1 << 13)) >> 14;

t18a = (-(t29 * 16069 + t18 * 3196) + (1 << 13)) >> 14;

t29a = ( t29 * 3196 - t18 * 16069 + (1 << 13)) >> 14;

t21a = ( t26 * 13623 - t21 * 9102 + (1 << 13)) >> 14;

t26a = ( t26 * 9102 + t21 * 13623 + (1 << 13)) >> 14;

t22a = (-(t25 * 9102 + t22 * 13623) + (1 << 13)) >> 14;

t25a = ( t25 * 13623 - t22 * 9102 + (1 << 13)) >> 14;

t0a = t0 + t7;

t1a = t1 + t6a;

t2a = t2 + t5a;

t3a = t3 + t4;

t4a = t3 - t4;

t5 = t2 - t5a;

t6 = t1 - t6a;

t7a = t0 - t7;

t8a = t8 + t11;

t9 = t9a + t10a;

t10 = t9a - t10a;

t11a = t8 - t11;

t12a = t15 - t12;

t13 = t14a - t13a;

t14 = t14a + t13a;

t15a = t15 + t12;

t16a = t16 + t19;

t17 = t17a + t18a;

t18 = t17a - t18a;

t19a = t16 - t19;

t20a = t23 - t20;

t21 = t22a - t21a;

t22 = t22a + t21a;

t23a = t23 + t20;

t24a = t24 + t27;

t25 = t25a + t26a;

t26 = t25a - t26a;

t27a = t24 - t27;

t28a = t31 - t28;

t29 = t30a - t29a;

t30 = t30a + t29a;

t31a = t31 + t28;

t10a = ((t13 - t10) * 11585 + (1 << 13)) >> 14;

t13a = ((t13 + t10) * 11585 + (1 << 13)) >> 14;

t11 = ((t12a - t11a) * 11585 + (1 << 13)) >> 14;

t12 = ((t12a + t11a) * 11585 + (1 << 13)) >> 14;

t18a = ( t29 * 6270 - t18 * 15137 + (1 << 13)) >> 14;

t29a = ( t29 * 15137 + t18 * 6270 + (1 << 13)) >> 14;

t19 = ( t28a * 6270 - t19a * 15137 + (1 << 13)) >> 14;

t28 = ( t28a * 15137 + t19a * 6270 + (1 << 13)) >> 14;

t20 = (-(t27a * 15137 + t20a * 6270) + (1 << 13)) >> 14;

t27 = ( t27a * 6270 - t20a * 15137 + (1 << 13)) >> 14;

t21a = (-(t26 * 15137 + t21 * 6270) + (1 << 13)) >> 14;

t26a = ( t26 * 6270 - t21 * 15137 + (1 << 13)) >> 14;

t0 = t0a + t15a;

t1 = t1a + t14;

t2 = t2a + t13a;

t3 = t3a + t12;

t4 = t4a + t11;

t5a = t5 + t10a;

t6a = t6 + t9;

t7 = t7a + t8a;

t8 = t7a - t8a;

t9a = t6 - t9;

t10 = t5 - t10a;

t11a = t4a - t11;

t12a = t3a - t12;

t13 = t2a - t13a;

t14a = t1a - t14;

t15 = t0a - t15a;

t16 = t16a + t23a;

t17a = t17 + t22;

t18 = t18a + t21a;

t19a = t19 + t20;

t20a = t19 - t20;

t21 = t18a - t21a;

t22a = t17 - t22;

t23 = t16a - t23a;

t24 = t31a - t24a;

t25a = t30 - t25;

t26 = t29a - t26a;

t27a = t28 - t27;

t28a = t28 + t27;

t29 = t29a + t26a;

t30a = t30 + t25;

t31 = t31a + t24a;

t20 = ((t27a - t20a) * 11585 + (1 << 13)) >> 14;

t27 = ((t27a + t20a) * 11585 + (1 << 13)) >> 14;

t21a = ((t26 - t21 ) * 11585 + (1 << 13)) >> 14;

t26a = ((t26 + t21 ) * 11585 + (1 << 13)) >> 14;

t22 = ((t25a - t22a) * 11585 + (1 << 13)) >> 14;

t25 = ((t25a + t22a) * 11585 + (1 << 13)) >> 14;

t23a = ((t24 - t23 ) * 11585 + (1 << 13)) >> 14;

t24a = ((t24 + t23 ) * 11585 + (1 << 13)) >> 14;

out[ 0] = t0 + t31;

out[ 1] = t1 + t30a;

out[ 2] = t2 + t29;

out[ 3] = t3 + t28a;

out[ 4] = t4 + t27;

out[ 5] = t5a + t26a;

out[ 6] = t6a + t25;

out[ 7] = t7 + t24a;

out[ 8] = t8 + t23a;

out[ 9] = t9a + t22;

out[10] = t10 + t21a;

out[11] = t11a + t20;

out[12] = t12a + t19a;

out[13] = t13 + t18;

out[14] = t14a + t17a;

out[15] = t15 + t16;

out[16] = t15 - t16;

out[17] = t14a - t17a;

out[18] = t13 - t18;

out[19] = t12a - t19a;

out[20] = t11a - t20;

out[21] = t10 - t21a;

out[22] = t9a - t22;

out[23] = t8 - t23a;

out[24] = t7 - t24a;

out[25] = t6a - t25;

out[26] = t5a - t26a;

out[27] = t4 - t27;

out[28] = t3 - t28a;

out[29] = t2 - t29;

out[30] = t1 - t30a;

out[31] = t0 - t31;

}

static void idct_idct_32x32_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[32 * 32], out[32]; stride /= sizeof(uint8_t); if (1 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 32; i++) { for (j = 0; j < 32; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (6 ? (t + (1 << (6 - 1))) >> 6 : t)); dst++; } return; } for (i = 0; i < 32; i++) idct32_1d(block + i, 32, tmp + i * 32, 0); memset(block, 0, 32 * 32 * sizeof(*block)); for (i = 0; i < 32; i++) { idct32_1d(tmp + i, 32, out, 1); for (j = 0; j < 32; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (6 ? (out[j] + (1 << (6 - 1))) >> 6 : out[j])); dst++; } }

static __attribute__((always_inline)) inline void iwht4_1d(const int16_t *in, ptrdiff_t stride,

int16_t *out, int pass)

{

int t0, t1, t2, t3, t4;

if (pass == 0) {

t0 = ((int) in[(0) * stride]) >> 2;

t1 = ((int) in[(3) * stride]) >> 2;

t2 = ((int) in[(1) * stride]) >> 2;

t3 = ((int) in[(2) * stride]) >> 2;

} else {

t0 = ((int) in[(0) * stride]);

t1 = ((int) in[(3) * stride]);

t2 = ((int) in[(1) * stride]);

t3 = ((int) in[(2) * stride]);

}

t0 += t2;

t3 -= t1;

t4 = (t0 - t3) >> 1;

t1 = t4 - t1;

t2 = t4 - t2;

t0 -= t1;

t3 += t2;

out[0] = t0;

out[1] = t1;

out[2] = t2;

out[3] = t3;

}

static void iwht_iwht_4x4_add_c(uint8_t *_dst, ptrdiff_t stride, int16_t *_block, int eob) { int i, j; uint8_t *dst = (uint8_t *) _dst; int16_t *block = (int16_t *) _block, tmp[4 * 4], out[4]; stride /= sizeof(uint8_t); if (0 && eob == 1) { const int t = ((((int) block[0] * 11585 + (1 << 13)) >> 14) * 11585 + (1 << 13)) >> 14; block[0] = 0; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (0 ? (t + (1 << (0 - 1))) >> 0 : t)); dst++; } return; } for (i = 0; i < 4; i++) iwht4_1d(block + i, 4, tmp + i * 4, 0); memset(block, 0, 4 * 4 * sizeof(*block)); for (i = 0; i < 4; i++) { iwht4_1d(tmp + i, 4, out, 1); for (j = 0; j < 4; j++) dst[j * stride] = av_clip_uint8_c(dst[j * stride] + (0 ? (out[j] + (1 << (0 - 1))) >> 0 : out[j])); dst++; } }

static void vp9dsp_itxfm_init(VP9DSPContext *dsp)

{

# 1738 "external/ffmpeg/libavcodec/vp9dsp_template.c"

dsp->itxfm_add[TX_4X4][DCT_DCT] = idct_idct_4x4_add_c; dsp->itxfm_add[TX_4X4][DCT_ADST] = iadst_idct_4x4_add_c; dsp->itxfm_add[TX_4X4][ADST_DCT] = idct_iadst_4x4_add_c; dsp->itxfm_add[TX_4X4][ADST_ADST] = iadst_iadst_4x4_add_c;

dsp->itxfm_add[TX_8X8][DCT_DCT] = idct_idct_8x8_add_c; dsp->itxfm_add[TX_8X8][DCT_ADST] = iadst_idct_8x8_add_c; dsp->itxfm_add[TX_8X8][ADST_DCT] = idct_iadst_8x8_add_c; dsp->itxfm_add[TX_8X8][ADST_ADST] = iadst_iadst_8x8_add_c;

dsp->itxfm_add[TX_16X16][DCT_DCT] = idct_idct_16x16_add_c; dsp->itxfm_add[TX_16X16][DCT_ADST] = iadst_idct_16x16_add_c; dsp->itxfm_add[TX_16X16][ADST_DCT] = idct_iadst_16x16_add_c; dsp->itxfm_add[TX_16X16][ADST_ADST] = iadst_iadst_16x16_add_c;

dsp->itxfm_add[TX_32X32][DCT_DCT] = dsp->itxfm_add[TX_32X32][ADST_DCT] = dsp->itxfm_add[TX_32X32][DCT_ADST] = dsp->itxfm_add[TX_32X32][ADST_ADST] = idct_idct_32x32_add_c;

dsp->itxfm_add[4][DCT_DCT] = dsp->itxfm_add[4][ADST_DCT] = dsp->itxfm_add[4][DCT_ADST] = dsp->itxfm_add[4][ADST_ADST] = iwht_iwht_4x4_add_c;

}

static __attribute__((always_inline)) inline void loop_filter(uint8_t *dst, int E, int I, int H,

ptrdiff_t stridea, ptrdiff_t strideb,

int wd)

{

int i, F = 1 << (8 - 8);

E <<= (8 - 8);

I <<= (8 - 8);

H <<= (8 - 8);

for (i = 0; i < 8; i++, dst += stridea) {

int p7, p6, p5, p4;

int p3 = dst[strideb * -4], p2 = dst[strideb * -3];

int p1 = dst[strideb * -2], p0 = dst[strideb * -1];

int q0 = dst[strideb * +0], q1 = dst[strideb * +1];

int q2 = dst[strideb * +2], q3 = dst[strideb * +3];

int q4, q5, q6, q7;

int fm = ((p3 - p2) >= 0 ? (p3 - p2) : (-(p3 - p2))) <= I && ((p2 - p1) >= 0 ? (p2 - p1) : (-(p2 - p1))) <= I &&

((p1 - p0) >= 0 ? (p1 - p0) : (-(p1 - p0))) <= I && ((q1 - q0) >= 0 ? (q1 - q0) : (-(q1 - q0))) <= I &&

((q2 - q1) >= 0 ? (q2 - q1) : (-(q2 - q1))) <= I && ((q3 - q2) >= 0 ? (q3 - q2) : (-(q3 - q2))) <= I &&

((p0 - q0) >= 0 ? (p0 - q0) : (-(p0 - q0))) * 2 + (((p1 - q1) >= 0 ? (p1 - q1) : (-(p1 - q1))) >> 1) <= E;

int flat8out, flat8in;

if (!fm)

continue;

if (wd >= 16) {

p7 = dst[strideb * -8];

p6 = dst[strideb * -7];

p5 = dst[strideb * -6];

p4 = dst[strideb * -5];

q4 = dst[strideb * +4];

q5 = dst[strideb * +5];

q6 = dst[strideb * +6];

q7 = dst[strideb * +7];

flat8out = ((p7 - p0) >= 0 ? (p7 - p0) : (-(p7 - p0))) <= F && ((p6 - p0) >= 0 ? (p6 - p0) : (-(p6 - p0))) <= F &&

((p5 - p0) >= 0 ? (p5 - p0) : (-(p5 - p0))) <= F && ((p4 - p0) >= 0 ? (p4 - p0) : (-(p4 - p0))) <= F &&

((q4 - q0) >= 0 ? (q4 - q0) : (-(q4 - q0))) <= F && ((q5 - q0) >= 0 ? (q5 - q0) : (-(q5 - q0))) <= F &&

((q6 - q0) >= 0 ? (q6 - q0) : (-(q6 - q0))) <= F && ((q7 - q0) >= 0 ? (q7 - q0) : (-(q7 - q0))) <= F;

}

if (wd >= 8)

flat8in = ((p3 - p0) >= 0 ? (p3 - p0) : (-(p3 - p0))) <= F && ((p2 - p0) >= 0 ? (p2 - p0) : (-(p2 - p0))) <= F &&

((p1 - p0) >= 0 ? (p1 - p0) : (-(p1 - p0))) <= F && ((q1 - q0) >= 0 ? (q1 - q0) : (-(q1 - q0))) <= F &&

((q2 - q0) >= 0 ? (q2 - q0) : (-(q2 - q0))) <= F && ((q3 - q0) >= 0 ? (q3 - q0) : (-(q3 - q0))) <= F;

if (wd >= 16 && flat8out && flat8in) {

dst[strideb * -7] = (p7 + p7 + p7 + p7 + p7 + p7 + p7 + p6 * 2 +

p5 + p4 + p3 + p2 + p1 + p0 + q0 + 8) >> 4;

dst[strideb * -6] = (p7 + p7 + p7 + p7 + p7 + p7 + p6 + p5 * 2 +

p4 + p3 + p2 + p1 + p0 + q0 + q1 + 8) >> 4;

dst[strideb * -5] = (p7 + p7 + p7 + p7 + p7 + p6 + p5 + p4 * 2 +

p3 + p2 + p1 + p0 + q0 + q1 + q2 + 8) >> 4;

dst[strideb * -4] = (p7 + p7 + p7 + p7 + p6 + p5 + p4 + p3 * 2 +

p2 + p1 + p0 + q0 + q1 + q2 + q3 + 8) >> 4;

dst[strideb * -3] = (p7 + p7 + p7 + p6 + p5 + p4 + p3 + p2 * 2 +

p1 + p0 + q0 + q1 + q2 + q3 + q4 + 8) >> 4;

dst[strideb * -2] = (p7 + p7 + p6 + p5 + p4 + p3 + p2 + p1 * 2 +

p0 + q0 + q1 + q2 + q3 + q4 + q5 + 8) >> 4;

dst[strideb * -1] = (p7 + p6 + p5 + p4 + p3 + p2 + p1 + p0 * 2 +

q0 + q1 + q2 + q3 + q4 + q5 + q6 + 8) >> 4;

dst[strideb * +0] = (p6 + p5 + p4 + p3 + p2 + p1 + p0 + q0 * 2 +

q1 + q2 + q3 + q4 + q5 + q6 + q7 + 8) >> 4;

dst[strideb * +1] = (p5 + p4 + p3 + p2 + p1 + p0 + q0 + q1 * 2 +

q2 + q3 + q4 + q5 + q6 + q7 + q7 + 8) >> 4;

dst[strideb * +2] = (p4 + p3 + p2 + p1 + p0 + q0 + q1 + q2 * 2 +

q3 + q4 + q5 + q6 + q7 + q7 + q7 + 8) >> 4;

dst[strideb * +3] = (p3 + p2 + p1 + p0 + q0 + q1 + q2 + q3 * 2 +

q4 + q5 + q6 + q7 + q7 + q7 + q7 + 8) >> 4;

dst[strideb * +4] = (p2 + p1 + p0 + q0 + q1 + q2 + q3 + q4 * 2 +

q5 + q6 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;

dst[strideb * +5] = (p1 + p0 + q0 + q1 + q2 + q3 + q4 + q5 * 2 +

q6 + q7 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;

dst[strideb * +6] = (p0 + q0 + q1 + q2 + q3 + q4 + q5 + q6 * 2 +

q7 + q7 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;

} else if (wd >= 8 && flat8in) {

dst[strideb * -3] = (p3 + p3 + p3 + 2 * p2 + p1 + p0 + q0 + 4) >> 3;

dst[strideb * -2] = (p3 + p3 + p2 + 2 * p1 + p0 + q0 + q1 + 4) >> 3;

dst[strideb * -1] = (p3 + p2 + p1 + 2 * p0 + q0 + q1 + q2 + 4) >> 3;

dst[strideb * +0] = (p2 + p1 + p0 + 2 * q0 + q1 + q2 + q3 + 4) >> 3;

dst[strideb * +1] = (p1 + p0 + q0 + 2 * q1 + q2 + q3 + q3 + 4) >> 3;

dst[strideb * +2] = (p0 + q0 + q1 + 2 * q2 + q3 + q3 + q3 + 4) >> 3;

} else {

int hev = ((p1 - p0) >= 0 ? (p1 - p0) : (-(p1 - p0))) > H || ((q1 - q0) >= 0 ? (q1 - q0) : (-(q1 - q0))) > H;

if (hev) {

int f = av_clip_intp2_c(p1 - q1, 8 - 1), f1, f2;

f = av_clip_intp2_c(3 * (q0 - p0) + f, 8 - 1);

f1 = ((f + 4) > ((1 << (8 - 1)) - 1) ? ((1 << (8 - 1)) - 1) : (f + 4)) >> 3;

f2 = ((f + 3) > ((1 << (8 - 1)) - 1) ? ((1 << (8 - 1)) - 1) : (f + 3)) >> 3;

dst[strideb * -1] = av_clip_uint8_c(p0 + f2);

dst[strideb * +0] = av_clip_uint8_c(q0 - f1);

} else {

int f = av_clip_intp2_c(3 * (q0 - p0), 8 - 1), f1, f2;

f1 = ((f + 4) > ((1 << (8 - 1)) - 1) ? ((1 << (8 - 1)) - 1) : (f + 4)) >> 3;

f2 = ((f + 3) > ((1 << (8 - 1)) - 1) ? ((1 << (8 - 1)) - 1) : (f + 3)) >> 3;

dst[strideb * -1] = av_clip_uint8_c(p0 + f2);

dst[strideb * +0] = av_clip_uint8_c(q0 - f1);

f = (f1 + 1) >> 1;

dst[strideb * -2] = av_clip_uint8_c(p1 + f);

dst[strideb * +1] = av_clip_uint8_c(q1 - f);

}

}

}

}

# 1873 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void loop_filter_h_4_8_c(uint8_t *_dst, ptrdiff_t stride, int E, int I, int H) { uint8_t *dst = (uint8_t *) _dst; stride /= sizeof(uint8_t); loop_filter(dst, E, I, H, stride, 1, 4); } static void loop_filter_v_4_8_c(uint8_t *_dst, ptrdiff_t stride, int E, int I, int H) { uint8_t *dst = (uint8_t *) _dst; stride /= sizeof(uint8_t); loop_filter(dst, E, I, H, 1, stride, 4); }

static void loop_filter_h_8_8_c(uint8_t *_dst, ptrdiff_t stride, int E, int I, int H) { uint8_t *dst = (uint8_t *) _dst; stride /= sizeof(uint8_t); loop_filter(dst, E, I, H, stride, 1, 8); } static void loop_filter_v_8_8_c(uint8_t *_dst, ptrdiff_t stride, int E, int I, int H) { uint8_t *dst = (uint8_t *) _dst; stride /= sizeof(uint8_t); loop_filter(dst, E, I, H, 1, stride, 8); }

static void loop_filter_h_16_8_c(uint8_t *_dst, ptrdiff_t stride, int E, int I, int H) { uint8_t *dst = (uint8_t *) _dst; stride /= sizeof(uint8_t); loop_filter(dst, E, I, H, stride, 1, 16); } static void loop_filter_v_16_8_c(uint8_t *_dst, ptrdiff_t stride, int E, int I, int H) { uint8_t *dst = (uint8_t *) _dst; stride /= sizeof(uint8_t); loop_filter(dst, E, I, H, 1, stride, 16); }

# 1889 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void loop_filter_h_16_16_c(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) { loop_filter_h_16_8_c(dst, stride, E, I, H); loop_filter_h_16_8_c(dst + 8 * stride, stride, E, I, H); }

static void loop_filter_v_16_16_c(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) { loop_filter_v_16_8_c(dst, stride, E, I, H); loop_filter_v_16_8_c(dst + 8 * sizeof(uint8_t), stride, E, I, H); }

# 1907 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void loop_filter_h_44_16_c(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) { loop_filter_h_4_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); loop_filter_h_4_8_c(dst + 8 * stride, stride, E >> 8, I >> 8, H >> 8); } static void loop_filter_v_44_16_c(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) { loop_filter_v_4_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); loop_filter_v_4_8_c(dst + 8 * sizeof(uint8_t), stride, E >> 8, I >> 8, H >> 8); }

static void loop_filter_h_48_16_c(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) { loop_filter_h_4_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); loop_filter_h_8_8_c(dst + 8 * stride, stride, E >> 8, I >> 8, H >> 8); } static void loop_filter_v_48_16_c(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) { loop_filter_v_4_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); loop_filter_v_8_8_c(dst + 8 * sizeof(uint8_t), stride, E >> 8, I >> 8, H >> 8); }

static void loop_filter_h_84_16_c(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) { loop_filter_h_8_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); loop_filter_h_4_8_c(dst + 8 * stride, stride, E >> 8, I >> 8, H >> 8); } static void loop_filter_v_84_16_c(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) { loop_filter_v_8_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); loop_filter_v_4_8_c(dst + 8 * sizeof(uint8_t), stride, E >> 8, I >> 8, H >> 8); }

static void loop_filter_h_88_16_c(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) { loop_filter_h_8_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); loop_filter_h_8_8_c(dst + 8 * stride, stride, E >> 8, I >> 8, H >> 8); } static void loop_filter_v_88_16_c(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) { loop_filter_v_8_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); loop_filter_v_8_8_c(dst + 8 * sizeof(uint8_t), stride, E >> 8, I >> 8, H >> 8); }

static void vp9dsp_loopfilter_init(VP9DSPContext *dsp)

{

dsp->loop_filter_8[0][0] = loop_filter_h_4_8_c;

dsp->loop_filter_8[0][1] = loop_filter_v_4_8_c;

dsp->loop_filter_8[1][0] = loop_filter_h_8_8_c;

dsp->loop_filter_8[1][1] = loop_filter_v_8_8_c;

dsp->loop_filter_8[2][0] = loop_filter_h_16_8_c;

dsp->loop_filter_8[2][1] = loop_filter_v_16_8_c;

dsp->loop_filter_16[0] = loop_filter_h_16_16_c;

dsp->loop_filter_16[1] = loop_filter_v_16_16_c;

dsp->loop_filter_mix2[0][0][0] = loop_filter_h_44_16_c;

dsp->loop_filter_mix2[0][0][1] = loop_filter_v_44_16_c;

dsp->loop_filter_mix2[0][1][0] = loop_filter_h_48_16_c;

dsp->loop_filter_mix2[0][1][1] = loop_filter_v_48_16_c;

dsp->loop_filter_mix2[1][0][0] = loop_filter_h_84_16_c;

dsp->loop_filter_mix2[1][0][1] = loop_filter_v_84_16_c;

dsp->loop_filter_mix2[1][1][0] = loop_filter_h_88_16_c;

dsp->loop_filter_mix2[1][1][1] = loop_filter_v_88_16_c;

}

static __attribute__((always_inline)) inline void copy_c(uint8_t *dst, ptrdiff_t dst_stride,

const uint8_t *src, ptrdiff_t src_stride,

int w, int h)

{

do {

memcpy(dst, src, w * sizeof(uint8_t));

dst += dst_stride;

src += src_stride;

} while (--h);

}

static __attribute__((always_inline)) inline void avg_c(uint8_t *_dst, ptrdiff_t dst_stride,

const uint8_t *_src, ptrdiff_t src_stride,

int w, int h)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *src = (const uint8_t *) _src;

dst_stride /= sizeof(uint8_t);

src_stride /= sizeof(uint8_t);

do {

int x;

for (x = 0; x < w; x += 4)

(((av_alias32*)(&dst[x]))->u32 = (rnd_avg32((((const av_alias32*)(&dst[x]))->u32), (((const union unaligned_32 *) (&src[x]))->l))));

dst += dst_stride;

src += src_stride;

} while (--h);

}

# 1983 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void copy64_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { copy_c(dst, dst_stride, src, src_stride, 64, h); } static void avg64_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_c(dst, dst_stride, src, src_stride, 64, h); }

static void copy32_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { copy_c(dst, dst_stride, src, src_stride, 32, h); } static void avg32_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_c(dst, dst_stride, src, src_stride, 32, h); }

static void copy16_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { copy_c(dst, dst_stride, src, src_stride, 16, h); } static void avg16_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_c(dst, dst_stride, src, src_stride, 16, h); }

static void copy8_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { copy_c(dst, dst_stride, src, src_stride, 8, h); } static void avg8_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_c(dst, dst_stride, src, src_stride, 8, h); }

static void copy4_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { copy_c(dst, dst_stride, src, src_stride, 4, h); } static void avg4_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_c(dst, dst_stride, src, src_stride, 4, h); }

static const int16_t vp9_subpel_filters[3][16][8] = {

[FILTER_8TAP_REGULAR] = {

{ 0, 0, 0, 128, 0, 0, 0, 0 },

{ 0, 1, -5, 126, 8, -3, 1, 0 },

{ -1, 3, -10, 122, 18, -6, 2, 0 },

{ -1, 4, -13, 118, 27, -9, 3, -1 },

{ -1, 4, -16, 112, 37, -11, 4, -1 },

{ -1, 5, -18, 105, 48, -14, 4, -1 },

{ -1, 5, -19, 97, 58, -16, 5, -1 },

{ -1, 6, -19, 88, 68, -18, 5, -1 },

{ -1, 6, -19, 78, 78, -19, 6, -1 },

{ -1, 5, -18, 68, 88, -19, 6, -1 },

{ -1, 5, -16, 58, 97, -19, 5, -1 },

{ -1, 4, -14, 48, 105, -18, 5, -1 },

{ -1, 4, -11, 37, 112, -16, 4, -1 },

{ -1, 3, -9, 27, 118, -13, 4, -1 },

{ 0, 2, -6, 18, 122, -10, 3, -1 },

{ 0, 1, -3, 8, 126, -5, 1, 0 },

}, [FILTER_8TAP_SHARP] = {

{ 0, 0, 0, 128, 0, 0, 0, 0 },

{ -1, 3, -7, 127, 8, -3, 1, 0 },

{ -2, 5, -13, 125, 17, -6, 3, -1 },

{ -3, 7, -17, 121, 27, -10, 5, -2 },

{ -4, 9, -20, 115, 37, -13, 6, -2 },

{ -4, 10, -23, 108, 48, -16, 8, -3 },

{ -4, 10, -24, 100, 59, -19, 9, -3 },

{ -4, 11, -24, 90, 70, -21, 10, -4 },

{ -4, 11, -23, 80, 80, -23, 11, -4 },

{ -4, 10, -21, 70, 90, -24, 11, -4 },

{ -3, 9, -19, 59, 100, -24, 10, -4 },

{ -3, 8, -16, 48, 108, -23, 10, -4 },

{ -2, 6, -13, 37, 115, -20, 9, -4 },

{ -2, 5, -10, 27, 121, -17, 7, -3 },

{ -1, 3, -6, 17, 125, -13, 5, -2 },

{ 0, 1, -3, 8, 127, -7, 3, -1 },

}, [FILTER_8TAP_SMOOTH] = {

{ 0, 0, 0, 128, 0, 0, 0, 0 },

{ -3, -1, 32, 64, 38, 1, -3, 0 },

{ -2, -2, 29, 63, 41, 2, -3, 0 },

{ -2, -2, 26, 63, 43, 4, -4, 0 },

{ -2, -3, 24, 62, 46, 5, -4, 0 },

{ -2, -3, 21, 60, 49, 7, -4, 0 },

{ -1, -4, 18, 59, 51, 9, -4, 0 },

{ -1, -4, 16, 57, 53, 12, -4, -1 },

{ -1, -4, 14, 55, 55, 14, -4, -1 },

{ -1, -4, 12, 53, 57, 16, -4, -1 },

{ 0, -4, 9, 51, 59, 18, -4, -1 },

{ 0, -4, 7, 49, 60, 21, -3, -2 },

{ 0, -4, 5, 46, 62, 24, -3, -2 },

{ 0, -4, 4, 43, 63, 26, -2, -2 },

{ 0, -3, 2, 41, 63, 29, -2, -2 },

{ 0, -3, 1, 38, 64, 32, -1, -3 },

}

};

# 2059 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static __attribute__((always_inline)) inline void do_8tap_1d_c(uint8_t *_dst, ptrdiff_t dst_stride,

const uint8_t *_src, ptrdiff_t src_stride,

int w, int h, ptrdiff_t ds,

const int16_t *filter, int avg)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *src = (const uint8_t *) _src;

dst_stride /= sizeof(uint8_t);

src_stride /= sizeof(uint8_t);

do {

int x;

for (x = 0; x < w; x++)

if (avg) {

dst[x] = (dst[x] + av_clip_uint8_c((filter[0] * src[x + -3 * ds] + filter[1] * src[x + -2 * ds] + filter[2] * src[x + -1 * ds] + filter[3] * src[x + +0 * ds] + filter[4] * src[x + +1 * ds] + filter[5] * src[x + +2 * ds] + filter[6] * src[x + +3 * ds] + filter[7] * src[x + +4 * ds] + 64) >> 7) + 1) >> 1;

} else {

dst[x] = av_clip_uint8_c((filter[0] * src[x + -3 * ds] + filter[1] * src[x + -2 * ds] + filter[2] * src[x + -1 * ds] + filter[3] * src[x + +0 * ds] + filter[4] * src[x + +1 * ds] + filter[5] * src[x + +2 * ds] + filter[6] * src[x + +3 * ds] + filter[7] * src[x + +4 * ds] + 64) >> 7);

}

dst += dst_stride;

src += src_stride;

} while (--h);

}

# 2092 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static __attribute__((noinline)) void put_8tap_1d_v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, const int16_t *filter) { do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, src_stride / sizeof(uint8_t), filter, 0); }

static __attribute__((noinline)) void put_8tap_1d_h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, const int16_t *filter) { do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, 1, filter, 0); }

static __attribute__((noinline)) void avg_8tap_1d_v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, const int16_t *filter) { do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, src_stride / sizeof(uint8_t), filter, 1); }

static __attribute__((noinline)) void avg_8tap_1d_h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, const int16_t *filter) { do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, 1, filter, 1); }

static __attribute__((always_inline)) inline void do_8tap_2d_c(uint8_t *_dst, ptrdiff_t dst_stride,

const uint8_t *_src, ptrdiff_t src_stride,

int w, int h, const int16_t *filterx,

const int16_t *filtery, int avg)

{

int tmp_h = h + 7;

uint8_t tmp[64 * 71], *tmp_ptr = tmp;

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *src = (const uint8_t *) _src;

dst_stride /= sizeof(uint8_t);

src_stride /= sizeof(uint8_t);

src -= src_stride * 3;

do {

int x;

for (x = 0; x < w; x++)

tmp_ptr[x] = av_clip_uint8_c((filterx[0] * src[x + -3 * 1] + filterx[1] * src[x + -2 * 1] + filterx[2] * src[x + -1 * 1] + filterx[3] * src[x + +0 * 1] + filterx[4] * src[x + +1 * 1] + filterx[5] * src[x + +2 * 1] + filterx[6] * src[x + +3 * 1] + filterx[7] * src[x + +4 * 1] + 64) >> 7);

tmp_ptr += 64;

src += src_stride;

} while (--tmp_h);

tmp_ptr = tmp + 64 * 3;

do {

int x;

for (x = 0; x < w; x++)

if (avg) {

dst[x] = (dst[x] + av_clip_uint8_c((filtery[0] * tmp_ptr[x + -3 * 64] + filtery[1] * tmp_ptr[x + -2 * 64] + filtery[2] * tmp_ptr[x + -1 * 64] + filtery[3] * tmp_ptr[x + +0 * 64] + filtery[4] * tmp_ptr[x + +1 * 64] + filtery[5] * tmp_ptr[x + +2 * 64] + filtery[6] * tmp_ptr[x + +3 * 64] + filtery[7] * tmp_ptr[x + +4 * 64] + 64) >> 7) + 1) >> 1;

} else {

dst[x] = av_clip_uint8_c((filtery[0] * tmp_ptr[x + -3 * 64] + filtery[1] * tmp_ptr[x + -2 * 64] + filtery[2] * tmp_ptr[x + -1 * 64] + filtery[3] * tmp_ptr[x + +0 * 64] + filtery[4] * tmp_ptr[x + +1 * 64] + filtery[5] * tmp_ptr[x + +2 * 64] + filtery[6] * tmp_ptr[x + +3 * 64] + filtery[7] * tmp_ptr[x + +4 * 64] + 64) >> 7);

}

tmp_ptr += 64;

dst += dst_stride;

} while (--h);

}

# 2147 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static __attribute__((noinline)) void put_8tap_2d_hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, const int16_t *filterx, const int16_t *filtery) { do_8tap_2d_c(dst, dst_stride, src, src_stride, w, h, filterx, filtery, 0); }

static __attribute__((noinline)) void avg_8tap_2d_hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, const int16_t *filterx, const int16_t *filtery) { do_8tap_2d_c(dst, dst_stride, src, src_stride, w, h, filterx, filtery, 1); }

# 2176 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static __attribute__((always_inline)) inline void do_bilin_1d_c(uint8_t *_dst, ptrdiff_t dst_stride,

const uint8_t *_src, ptrdiff_t src_stride,

int w, int h, ptrdiff_t ds, int mxy, int avg)

{

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *src = (const uint8_t *) _src;

dst_stride /= sizeof(uint8_t);

src_stride /= sizeof(uint8_t);

do {

int x;

for (x = 0; x < w; x++)

if (avg) {

dst[x] = (dst[x] + (src[x] + ((mxy * (src[x + ds] - src[x]) + 8) >> 4)) + 1) >> 1;

} else {

dst[x] = (src[x] + ((mxy * (src[x + ds] - src[x]) + 8) >> 4));

}

dst += dst_stride;

src += src_stride;

} while (--h);

}

# 2208 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static __attribute__((noinline)) void put_bilin_1d_v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, int mxy) { do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, src_stride / sizeof(uint8_t), mxy, 0); }

static __attribute__((noinline)) void put_bilin_1d_h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, int mxy) { do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, 1, mxy, 0); }

static __attribute__((noinline)) void avg_bilin_1d_v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, int mxy) { do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, src_stride / sizeof(uint8_t), mxy, 1); }

static __attribute__((noinline)) void avg_bilin_1d_h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, int mxy) { do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, 1, mxy, 1); }

static __attribute__((always_inline)) inline void do_bilin_2d_c(uint8_t *_dst, ptrdiff_t dst_stride,

const uint8_t *_src, ptrdiff_t src_stride,

int w, int h, int mx, int my, int avg)

{

uint8_t tmp[64 * 65], *tmp_ptr = tmp;

int tmp_h = h + 1;

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *src = (const uint8_t *) _src;

dst_stride /= sizeof(uint8_t);

src_stride /= sizeof(uint8_t);

do {

int x;

for (x = 0; x < w; x++)

tmp_ptr[x] = (src[x] + ((mx * (src[x + 1] - src[x]) + 8) >> 4));

tmp_ptr += 64;

src += src_stride;

} while (--tmp_h);

tmp_ptr = tmp;

do {

int x;

for (x = 0; x < w; x++)

if (avg) {

dst[x] = (dst[x] + (tmp_ptr[x] + ((my * (tmp_ptr[x + 64] - tmp_ptr[x]) + 8) >> 4)) + 1) >> 1;

} else {

dst[x] = (tmp_ptr[x] + ((my * (tmp_ptr[x + 64] - tmp_ptr[x]) + 8) >> 4));

}

tmp_ptr += 64;

dst += dst_stride;

} while (--h);

}

# 2260 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static __attribute__((noinline)) void put_bilin_2d_hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, int mx, int my) { do_bilin_2d_c(dst, dst_stride, src, src_stride, w, h, mx, my, 0); }

static __attribute__((noinline)) void avg_bilin_2d_hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, int mx, int my) { do_bilin_2d_c(dst, dst_stride, src, src_stride, w, h, mx, my, 1); }

# 2309 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void put_8tap_regular_64h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx]); } static void put_8tap_regular_64v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void put_8tap_regular_64hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx], vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void put_8tap_smooth_64h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx]); } static void put_8tap_smooth_64v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void put_8tap_smooth_64hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx], vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void put_8tap_sharp_64h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx]); } static void put_8tap_sharp_64v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void put_8tap_sharp_64hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx], vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void put_bilin_64h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_1d_h_c(dst, dst_stride, src, src_stride, 64, h, mx); } static void put_bilin_64v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_1d_v_c(dst, dst_stride, src, src_stride, 64, h, my); } static void put_bilin_64hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_2d_hv_c(dst, dst_stride, src, src_stride, 64, h, mx, my); } static void put_8tap_regular_32h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx]); } static void put_8tap_regular_32v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void put_8tap_regular_32hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx], vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void put_8tap_smooth_32h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx]); } static void put_8tap_smooth_32v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void put_8tap_smooth_32hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx], vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void put_8tap_sharp_32h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx]); } static void put_8tap_sharp_32v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void put_8tap_sharp_32hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx], vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void put_bilin_32h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_1d_h_c(dst, dst_stride, src, src_stride, 32, h, mx); } static void put_bilin_32v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_1d_v_c(dst, dst_stride, src, src_stride, 32, h, my); } static void put_bilin_32hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_2d_hv_c(dst, dst_stride, src, src_stride, 32, h, mx, my); } static void put_8tap_regular_16h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx]); } static void put_8tap_regular_16v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void put_8tap_regular_16hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx], vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void put_8tap_smooth_16h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx]); } static void put_8tap_smooth_16v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void put_8tap_smooth_16hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx], vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void put_8tap_sharp_16h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx]); } static void put_8tap_sharp_16v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void put_8tap_sharp_16hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx], vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void put_bilin_16h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_1d_h_c(dst, dst_stride, src, src_stride, 16, h, mx); } static void put_bilin_16v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_1d_v_c(dst, dst_stride, src, src_stride, 16, h, my); } static void put_bilin_16hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_2d_hv_c(dst, dst_stride, src, src_stride, 16, h, mx, my); } static void put_8tap_regular_8h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx]); } static void put_8tap_regular_8v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void put_8tap_regular_8hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx], vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void put_8tap_smooth_8h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx]); } static void put_8tap_smooth_8v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void put_8tap_smooth_8hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx], vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void put_8tap_sharp_8h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx]); } static void put_8tap_sharp_8v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void put_8tap_sharp_8hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx], vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void put_bilin_8h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_1d_h_c(dst, dst_stride, src, src_stride, 8, h, mx); } static void put_bilin_8v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_1d_v_c(dst, dst_stride, src, src_stride, 8, h, my); } static void put_bilin_8hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_2d_hv_c(dst, dst_stride, src, src_stride, 8, h, mx, my); } static void put_8tap_regular_4h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx]); } static void put_8tap_regular_4v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void put_8tap_regular_4hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx], vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void put_8tap_smooth_4h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx]); } static void put_8tap_smooth_4v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void put_8tap_smooth_4hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx], vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void put_8tap_sharp_4h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_h_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx]); } static void put_8tap_sharp_4v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_1d_v_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void put_8tap_sharp_4hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx], vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void put_bilin_4h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_1d_h_c(dst, dst_stride, src, src_stride, 4, h, mx); } static void put_bilin_4v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_1d_v_c(dst, dst_stride, src, src_stride, 4, h, my); } static void put_bilin_4hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { put_bilin_2d_hv_c(dst, dst_stride, src, src_stride, 4, h, mx, my); }

static void avg_8tap_regular_64h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx]); } static void avg_8tap_regular_64v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void avg_8tap_regular_64hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx], vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void avg_8tap_smooth_64h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx]); } static void avg_8tap_smooth_64v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void avg_8tap_smooth_64hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx], vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void avg_8tap_sharp_64h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx]); } static void avg_8tap_sharp_64v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void avg_8tap_sharp_64hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 64, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx], vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void avg_bilin_64h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_1d_h_c(dst, dst_stride, src, src_stride, 64, h, mx); } static void avg_bilin_64v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_1d_v_c(dst, dst_stride, src, src_stride, 64, h, my); } static void avg_bilin_64hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_2d_hv_c(dst, dst_stride, src, src_stride, 64, h, mx, my); } static void avg_8tap_regular_32h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx]); } static void avg_8tap_regular_32v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void avg_8tap_regular_32hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx], vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void avg_8tap_smooth_32h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx]); } static void avg_8tap_smooth_32v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void avg_8tap_smooth_32hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx], vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void avg_8tap_sharp_32h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx]); } static void avg_8tap_sharp_32v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void avg_8tap_sharp_32hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 32, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx], vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void avg_bilin_32h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_1d_h_c(dst, dst_stride, src, src_stride, 32, h, mx); } static void avg_bilin_32v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_1d_v_c(dst, dst_stride, src, src_stride, 32, h, my); } static void avg_bilin_32hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_2d_hv_c(dst, dst_stride, src, src_stride, 32, h, mx, my); } static void avg_8tap_regular_16h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx]); } static void avg_8tap_regular_16v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void avg_8tap_regular_16hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx], vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void avg_8tap_smooth_16h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx]); } static void avg_8tap_smooth_16v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void avg_8tap_smooth_16hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx], vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void avg_8tap_sharp_16h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx]); } static void avg_8tap_sharp_16v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void avg_8tap_sharp_16hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 16, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx], vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void avg_bilin_16h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_1d_h_c(dst, dst_stride, src, src_stride, 16, h, mx); } static void avg_bilin_16v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_1d_v_c(dst, dst_stride, src, src_stride, 16, h, my); } static void avg_bilin_16hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_2d_hv_c(dst, dst_stride, src, src_stride, 16, h, mx, my); } static void avg_8tap_regular_8h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx]); } static void avg_8tap_regular_8v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void avg_8tap_regular_8hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx], vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void avg_8tap_smooth_8h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx]); } static void avg_8tap_smooth_8v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void avg_8tap_smooth_8hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx], vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void avg_8tap_sharp_8h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx]); } static void avg_8tap_sharp_8v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void avg_8tap_sharp_8hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 8, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx], vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void avg_bilin_8h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_1d_h_c(dst, dst_stride, src, src_stride, 8, h, mx); } static void avg_bilin_8v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_1d_v_c(dst, dst_stride, src, src_stride, 8, h, my); } static void avg_bilin_8hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_2d_hv_c(dst, dst_stride, src, src_stride, 8, h, mx, my); } static void avg_8tap_regular_4h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx]); } static void avg_8tap_regular_4v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void avg_8tap_regular_4hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_REGULAR][mx], vp9_subpel_filters[FILTER_8TAP_REGULAR][my]); } static void avg_8tap_smooth_4h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx]); } static void avg_8tap_smooth_4v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void avg_8tap_smooth_4hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SMOOTH][mx], vp9_subpel_filters[FILTER_8TAP_SMOOTH][my]); } static void avg_8tap_sharp_4h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_h_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx]); } static void avg_8tap_sharp_4v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_1d_v_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void avg_8tap_sharp_4hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_8tap_2d_hv_c(dst, dst_stride, src, src_stride, 4, h, vp9_subpel_filters[FILTER_8TAP_SHARP][mx], vp9_subpel_filters[FILTER_8TAP_SHARP][my]); } static void avg_bilin_4h_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_1d_h_c(dst, dst_stride, src, src_stride, 4, h, mx); } static void avg_bilin_4v_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_1d_v_c(dst, dst_stride, src, src_stride, 4, h, my); } static void avg_bilin_4hv_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my) { avg_bilin_2d_hv_c(dst, dst_stride, src, src_stride, 4, h, mx, my); }

# 2323 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static

void ff_vp9dsp_mc_init_8(VP9DSPContext *dsp)

{

# 2341 "external/ffmpeg/libavcodec/vp9dsp_template.c"

dsp->mc[0][FILTER_8TAP_SMOOTH ][0][0][0] = copy64_c; dsp->mc[0][FILTER_8TAP_REGULAR][0][0][0] = copy64_c; dsp->mc[0][FILTER_8TAP_SHARP ][0][0][0] = copy64_c; dsp->mc[0][FILTER_BILINEAR ][0][0][0] = copy64_c; dsp->mc[0][FILTER_8TAP_SMOOTH ][1][0][0] = avg64_c; dsp->mc[0][FILTER_8TAP_REGULAR][1][0][0] = avg64_c; dsp->mc[0][FILTER_8TAP_SHARP ][1][0][0] = avg64_c; dsp->mc[0][FILTER_BILINEAR ][1][0][0] = avg64_c;

dsp->mc[1][FILTER_8TAP_SMOOTH ][0][0][0] = copy32_c; dsp->mc[1][FILTER_8TAP_REGULAR][0][0][0] = copy32_c; dsp->mc[1][FILTER_8TAP_SHARP ][0][0][0] = copy32_c; dsp->mc[1][FILTER_BILINEAR ][0][0][0] = copy32_c; dsp->mc[1][FILTER_8TAP_SMOOTH ][1][0][0] = avg32_c; dsp->mc[1][FILTER_8TAP_REGULAR][1][0][0] = avg32_c; dsp->mc[1][FILTER_8TAP_SHARP ][1][0][0] = avg32_c; dsp->mc[1][FILTER_BILINEAR ][1][0][0] = avg32_c;

dsp->mc[2][FILTER_8TAP_SMOOTH ][0][0][0] = copy16_c; dsp->mc[2][FILTER_8TAP_REGULAR][0][0][0] = copy16_c; dsp->mc[2][FILTER_8TAP_SHARP ][0][0][0] = copy16_c; dsp->mc[2][FILTER_BILINEAR ][0][0][0] = copy16_c; dsp->mc[2][FILTER_8TAP_SMOOTH ][1][0][0] = avg16_c; dsp->mc[2][FILTER_8TAP_REGULAR][1][0][0] = avg16_c; dsp->mc[2][FILTER_8TAP_SHARP ][1][0][0] = avg16_c; dsp->mc[2][FILTER_BILINEAR ][1][0][0] = avg16_c;

dsp->mc[3][FILTER_8TAP_SMOOTH ][0][0][0] = copy8_c; dsp->mc[3][FILTER_8TAP_REGULAR][0][0][0] = copy8_c; dsp->mc[3][FILTER_8TAP_SHARP ][0][0][0] = copy8_c; dsp->mc[3][FILTER_BILINEAR ][0][0][0] = copy8_c; dsp->mc[3][FILTER_8TAP_SMOOTH ][1][0][0] = avg8_c; dsp->mc[3][FILTER_8TAP_REGULAR][1][0][0] = avg8_c; dsp->mc[3][FILTER_8TAP_SHARP ][1][0][0] = avg8_c; dsp->mc[3][FILTER_BILINEAR ][1][0][0] = avg8_c;

dsp->mc[4][FILTER_8TAP_SMOOTH ][0][0][0] = copy4_c; dsp->mc[4][FILTER_8TAP_REGULAR][0][0][0] = copy4_c; dsp->mc[4][FILTER_8TAP_SHARP ][0][0][0] = copy4_c; dsp->mc[4][FILTER_BILINEAR ][0][0][0] = copy4_c; dsp->mc[4][FILTER_8TAP_SMOOTH ][1][0][0] = avg4_c; dsp->mc[4][FILTER_8TAP_REGULAR][1][0][0] = avg4_c; dsp->mc[4][FILTER_8TAP_SHARP ][1][0][0] = avg4_c; dsp->mc[4][FILTER_BILINEAR ][1][0][0] = avg4_c;

# 2377 "external/ffmpeg/libavcodec/vp9dsp_template.c"

dsp->mc[0][FILTER_8TAP_SMOOTH ][0][1][1] = put_8tap_smooth_64hv_c; dsp->mc[0][FILTER_8TAP_REGULAR][0][1][1] = put_8tap_regular_64hv_c; dsp->mc[0][FILTER_8TAP_SHARP ][0][1][1] = put_8tap_sharp_64hv_c; dsp->mc[0][FILTER_BILINEAR ][0][1][1] = put_bilin_64hv_c; dsp->mc[1][FILTER_8TAP_SMOOTH ][0][1][1] = put_8tap_smooth_32hv_c; dsp->mc[1][FILTER_8TAP_REGULAR][0][1][1] = put_8tap_regular_32hv_c; dsp->mc[1][FILTER_8TAP_SHARP ][0][1][1] = put_8tap_sharp_32hv_c; dsp->mc[1][FILTER_BILINEAR ][0][1][1] = put_bilin_32hv_c; dsp->mc[2][FILTER_8TAP_SMOOTH ][0][1][1] = put_8tap_smooth_16hv_c; dsp->mc[2][FILTER_8TAP_REGULAR][0][1][1] = put_8tap_regular_16hv_c; dsp->mc[2][FILTER_8TAP_SHARP ][0][1][1] = put_8tap_sharp_16hv_c; dsp->mc[2][FILTER_BILINEAR ][0][1][1] = put_bilin_16hv_c; dsp->mc[3][FILTER_8TAP_SMOOTH ][0][1][1] = put_8tap_smooth_8hv_c; dsp->mc[3][FILTER_8TAP_REGULAR][0][1][1] = put_8tap_regular_8hv_c; dsp->mc[3][FILTER_8TAP_SHARP ][0][1][1] = put_8tap_sharp_8hv_c; dsp->mc[3][FILTER_BILINEAR ][0][1][1] = put_bilin_8hv_c; dsp->mc[4][FILTER_8TAP_SMOOTH ][0][1][1] = put_8tap_smooth_4hv_c; dsp->mc[4][FILTER_8TAP_REGULAR][0][1][1] = put_8tap_regular_4hv_c; dsp->mc[4][FILTER_8TAP_SHARP ][0][1][1] = put_8tap_sharp_4hv_c; dsp->mc[4][FILTER_BILINEAR ][0][1][1] = put_bilin_4hv_c; dsp->mc[0][FILTER_8TAP_SMOOTH ][0][0][1] = put_8tap_smooth_64v_c; dsp->mc[0][FILTER_8TAP_REGULAR][0][0][1] = put_8tap_regular_64v_c; dsp->mc[0][FILTER_8TAP_SHARP ][0][0][1] = put_8tap_sharp_64v_c; dsp->mc[0][FILTER_BILINEAR ][0][0][1] = put_bilin_64v_c; dsp->mc[1][FILTER_8TAP_SMOOTH ][0][0][1] = put_8tap_smooth_32v_c; dsp->mc[1][FILTER_8TAP_REGULAR][0][0][1] = put_8tap_regular_32v_c; dsp->mc[1][FILTER_8TAP_SHARP ][0][0][1] = put_8tap_sharp_32v_c; dsp->mc[1][FILTER_BILINEAR ][0][0][1] = put_bilin_32v_c; dsp->mc[2][FILTER_8TAP_SMOOTH ][0][0][1] = put_8tap_smooth_16v_c; dsp->mc[2][FILTER_8TAP_REGULAR][0][0][1] = put_8tap_regular_16v_c; dsp->mc[2][FILTER_8TAP_SHARP ][0][0][1] = put_8tap_sharp_16v_c; dsp->mc[2][FILTER_BILINEAR ][0][0][1] = put_bilin_16v_c; dsp->mc[3][FILTER_8TAP_SMOOTH ][0][0][1] = put_8tap_smooth_8v_c; dsp->mc[3][FILTER_8TAP_REGULAR][0][0][1] = put_8tap_regular_8v_c; dsp->mc[3][FILTER_8TAP_SHARP ][0][0][1] = put_8tap_sharp_8v_c; dsp->mc[3][FILTER_BILINEAR ][0][0][1] = put_bilin_8v_c; dsp->mc[4][FILTER_8TAP_SMOOTH ][0][0][1] = put_8tap_smooth_4v_c; dsp->mc[4][FILTER_8TAP_REGULAR][0][0][1] = put_8tap_regular_4v_c; dsp->mc[4][FILTER_8TAP_SHARP ][0][0][1] = put_8tap_sharp_4v_c; dsp->mc[4][FILTER_BILINEAR ][0][0][1] = put_bilin_4v_c; dsp->mc[0][FILTER_8TAP_SMOOTH ][0][1][0] = put_8tap_smooth_64h_c; dsp->mc[0][FILTER_8TAP_REGULAR][0][1][0] = put_8tap_regular_64h_c; dsp->mc[0][FILTER_8TAP_SHARP ][0][1][0] = put_8tap_sharp_64h_c; dsp->mc[0][FILTER_BILINEAR ][0][1][0] = put_bilin_64h_c; dsp->mc[1][FILTER_8TAP_SMOOTH ][0][1][0] = put_8tap_smooth_32h_c; dsp->mc[1][FILTER_8TAP_REGULAR][0][1][0] = put_8tap_regular_32h_c; dsp->mc[1][FILTER_8TAP_SHARP ][0][1][0] = put_8tap_sharp_32h_c; dsp->mc[1][FILTER_BILINEAR ][0][1][0] = put_bilin_32h_c; dsp->mc[2][FILTER_8TAP_SMOOTH ][0][1][0] = put_8tap_smooth_16h_c; dsp->mc[2][FILTER_8TAP_REGULAR][0][1][0] = put_8tap_regular_16h_c; dsp->mc[2][FILTER_8TAP_SHARP ][0][1][0] = put_8tap_sharp_16h_c; dsp->mc[2][FILTER_BILINEAR ][0][1][0] = put_bilin_16h_c; dsp->mc[3][FILTER_8TAP_SMOOTH ][0][1][0] = put_8tap_smooth_8h_c; dsp->mc[3][FILTER_8TAP_REGULAR][0][1][0] = put_8tap_regular_8h_c; dsp->mc[3][FILTER_8TAP_SHARP ][0][1][0] = put_8tap_sharp_8h_c; dsp->mc[3][FILTER_BILINEAR ][0][1][0] = put_bilin_8h_c; dsp->mc[4][FILTER_8TAP_SMOOTH ][0][1][0] = put_8tap_smooth_4h_c; dsp->mc[4][FILTER_8TAP_REGULAR][0][1][0] = put_8tap_regular_4h_c; dsp->mc[4][FILTER_8TAP_SHARP ][0][1][0] = put_8tap_sharp_4h_c; dsp->mc[4][FILTER_BILINEAR ][0][1][0] = put_bilin_4h_c;

dsp->mc[0][FILTER_8TAP_SMOOTH ][1][1][1] = avg_8tap_smooth_64hv_c; dsp->mc[0][FILTER_8TAP_REGULAR][1][1][1] = avg_8tap_regular_64hv_c; dsp->mc[0][FILTER_8TAP_SHARP ][1][1][1] = avg_8tap_sharp_64hv_c; dsp->mc[0][FILTER_BILINEAR ][1][1][1] = avg_bilin_64hv_c; dsp->mc[1][FILTER_8TAP_SMOOTH ][1][1][1] = avg_8tap_smooth_32hv_c; dsp->mc[1][FILTER_8TAP_REGULAR][1][1][1] = avg_8tap_regular_32hv_c; dsp->mc[1][FILTER_8TAP_SHARP ][1][1][1] = avg_8tap_sharp_32hv_c; dsp->mc[1][FILTER_BILINEAR ][1][1][1] = avg_bilin_32hv_c; dsp->mc[2][FILTER_8TAP_SMOOTH ][1][1][1] = avg_8tap_smooth_16hv_c; dsp->mc[2][FILTER_8TAP_REGULAR][1][1][1] = avg_8tap_regular_16hv_c; dsp->mc[2][FILTER_8TAP_SHARP ][1][1][1] = avg_8tap_sharp_16hv_c; dsp->mc[2][FILTER_BILINEAR ][1][1][1] = avg_bilin_16hv_c; dsp->mc[3][FILTER_8TAP_SMOOTH ][1][1][1] = avg_8tap_smooth_8hv_c; dsp->mc[3][FILTER_8TAP_REGULAR][1][1][1] = avg_8tap_regular_8hv_c; dsp->mc[3][FILTER_8TAP_SHARP ][1][1][1] = avg_8tap_sharp_8hv_c; dsp->mc[3][FILTER_BILINEAR ][1][1][1] = avg_bilin_8hv_c; dsp->mc[4][FILTER_8TAP_SMOOTH ][1][1][1] = avg_8tap_smooth_4hv_c; dsp->mc[4][FILTER_8TAP_REGULAR][1][1][1] = avg_8tap_regular_4hv_c; dsp->mc[4][FILTER_8TAP_SHARP ][1][1][1] = avg_8tap_sharp_4hv_c; dsp->mc[4][FILTER_BILINEAR ][1][1][1] = avg_bilin_4hv_c; dsp->mc[0][FILTER_8TAP_SMOOTH ][1][0][1] = avg_8tap_smooth_64v_c; dsp->mc[0][FILTER_8TAP_REGULAR][1][0][1] = avg_8tap_regular_64v_c; dsp->mc[0][FILTER_8TAP_SHARP ][1][0][1] = avg_8tap_sharp_64v_c; dsp->mc[0][FILTER_BILINEAR ][1][0][1] = avg_bilin_64v_c; dsp->mc[1][FILTER_8TAP_SMOOTH ][1][0][1] = avg_8tap_smooth_32v_c; dsp->mc[1][FILTER_8TAP_REGULAR][1][0][1] = avg_8tap_regular_32v_c; dsp->mc[1][FILTER_8TAP_SHARP ][1][0][1] = avg_8tap_sharp_32v_c; dsp->mc[1][FILTER_BILINEAR ][1][0][1] = avg_bilin_32v_c; dsp->mc[2][FILTER_8TAP_SMOOTH ][1][0][1] = avg_8tap_smooth_16v_c; dsp->mc[2][FILTER_8TAP_REGULAR][1][0][1] = avg_8tap_regular_16v_c; dsp->mc[2][FILTER_8TAP_SHARP ][1][0][1] = avg_8tap_sharp_16v_c; dsp->mc[2][FILTER_BILINEAR ][1][0][1] = avg_bilin_16v_c; dsp->mc[3][FILTER_8TAP_SMOOTH ][1][0][1] = avg_8tap_smooth_8v_c; dsp->mc[3][FILTER_8TAP_REGULAR][1][0][1] = avg_8tap_regular_8v_c; dsp->mc[3][FILTER_8TAP_SHARP ][1][0][1] = avg_8tap_sharp_8v_c; dsp->mc[3][FILTER_BILINEAR ][1][0][1] = avg_bilin_8v_c; dsp->mc[4][FILTER_8TAP_SMOOTH ][1][0][1] = avg_8tap_smooth_4v_c; dsp->mc[4][FILTER_8TAP_REGULAR][1][0][1] = avg_8tap_regular_4v_c; dsp->mc[4][FILTER_8TAP_SHARP ][1][0][1] = avg_8tap_sharp_4v_c; dsp->mc[4][FILTER_BILINEAR ][1][0][1] = avg_bilin_4v_c; dsp->mc[0][FILTER_8TAP_SMOOTH ][1][1][0] = avg_8tap_smooth_64h_c; dsp->mc[0][FILTER_8TAP_REGULAR][1][1][0] = avg_8tap_regular_64h_c; dsp->mc[0][FILTER_8TAP_SHARP ][1][1][0] = avg_8tap_sharp_64h_c; dsp->mc[0][FILTER_BILINEAR ][1][1][0] = avg_bilin_64h_c; dsp->mc[1][FILTER_8TAP_SMOOTH ][1][1][0] = avg_8tap_smooth_32h_c; dsp->mc[1][FILTER_8TAP_REGULAR][1][1][0] = avg_8tap_regular_32h_c; dsp->mc[1][FILTER_8TAP_SHARP ][1][1][0] = avg_8tap_sharp_32h_c; dsp->mc[1][FILTER_BILINEAR ][1][1][0] = avg_bilin_32h_c; dsp->mc[2][FILTER_8TAP_SMOOTH ][1][1][0] = avg_8tap_smooth_16h_c; dsp->mc[2][FILTER_8TAP_REGULAR][1][1][0] = avg_8tap_regular_16h_c; dsp->mc[2][FILTER_8TAP_SHARP ][1][1][0] = avg_8tap_sharp_16h_c; dsp->mc[2][FILTER_BILINEAR ][1][1][0] = avg_bilin_16h_c; dsp->mc[3][FILTER_8TAP_SMOOTH ][1][1][0] = avg_8tap_smooth_8h_c; dsp->mc[3][FILTER_8TAP_REGULAR][1][1][0] = avg_8tap_regular_8h_c; dsp->mc[3][FILTER_8TAP_SHARP ][1][1][0] = avg_8tap_sharp_8h_c; dsp->mc[3][FILTER_BILINEAR ][1][1][0] = avg_bilin_8h_c; dsp->mc[4][FILTER_8TAP_SMOOTH ][1][1][0] = avg_8tap_smooth_4h_c; dsp->mc[4][FILTER_8TAP_REGULAR][1][1][0] = avg_8tap_regular_4h_c; dsp->mc[4][FILTER_8TAP_SHARP ][1][1][0] = avg_8tap_sharp_4h_c; dsp->mc[4][FILTER_BILINEAR ][1][1][0] = avg_bilin_4h_c;

}

static __attribute__((always_inline)) inline void do_scaled_8tap_c(uint8_t *_dst, ptrdiff_t dst_stride,

const uint8_t *_src, ptrdiff_t src_stride,

int w, int h, int mx, int my,

int dx, int dy, int avg,

const int16_t (*filters)[8])

{

int tmp_h = (((h - 1) * dy + my) >> 4) + 8;

uint8_t tmp[64 * 135], *tmp_ptr = tmp;

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *src = (const uint8_t *) _src;

dst_stride /= sizeof(uint8_t);

src_stride /= sizeof(uint8_t);

src -= src_stride * 3;

do {

int x;

int imx = mx, ioff = 0;

for (x = 0; x < w; x++) {

tmp_ptr[x] = av_clip_uint8_c((filters[imx][0] * src[ioff + -3 * 1] + filters[imx][1] * src[ioff + -2 * 1] + filters[imx][2] * src[ioff + -1 * 1] + filters[imx][3] * src[ioff + +0 * 1] + filters[imx][4] * src[ioff + +1 * 1] + filters[imx][5] * src[ioff + +2 * 1] + filters[imx][6] * src[ioff + +3 * 1] + filters[imx][7] * src[ioff + +4 * 1] + 64) >> 7);

imx += dx;

ioff += imx >> 4;

imx &= 0xf;

}

tmp_ptr += 64;

src += src_stride;

} while (--tmp_h);

tmp_ptr = tmp + 64 * 3;

do {

int x;

const int16_t *filter = filters[my];

for (x = 0; x < w; x++)

if (avg) {

dst[x] = (dst[x] + av_clip_uint8_c((filter[0] * tmp_ptr[x + -3 * 64] + filter[1] * tmp_ptr[x + -2 * 64] + filter[2] * tmp_ptr[x + -1 * 64] + filter[3] * tmp_ptr[x + +0 * 64] + filter[4] * tmp_ptr[x + +1 * 64] + filter[5] * tmp_ptr[x + +2 * 64] + filter[6] * tmp_ptr[x + +3 * 64] + filter[7] * tmp_ptr[x + +4 * 64] + 64) >> 7) + 1) >> 1;

} else {

dst[x] = av_clip_uint8_c((filter[0] * tmp_ptr[x + -3 * 64] + filter[1] * tmp_ptr[x + -2 * 64] + filter[2] * tmp_ptr[x + -1 * 64] + filter[3] * tmp_ptr[x + +0 * 64] + filter[4] * tmp_ptr[x + +1 * 64] + filter[5] * tmp_ptr[x + +2 * 64] + filter[6] * tmp_ptr[x + +3 * 64] + filter[7] * tmp_ptr[x + +4 * 64] + 64) >> 7);

}

my += dy;

tmp_ptr += (my >> 4) * 64;

my &= 0xf;

dst += dst_stride;

} while (--h);

}

# 2444 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static __attribute__((noinline)) void put_scaled_8tap_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, int mx, int my, int dx, int dy, const int16_t (*filters)[8]) { do_scaled_8tap_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, 0, filters); }

static __attribute__((noinline)) void avg_scaled_8tap_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, int mx, int my, int dx, int dy, const int16_t (*filters)[8]) { do_scaled_8tap_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, 1, filters); }

# 2462 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static __attribute__((always_inline)) inline void do_scaled_bilin_c(uint8_t *_dst, ptrdiff_t dst_stride,

const uint8_t *_src, ptrdiff_t src_stride,

int w, int h, int mx, int my,

int dx, int dy, int avg)

{

uint8_t tmp[64 * 129], *tmp_ptr = tmp;

int tmp_h = (((h - 1) * dy + my) >> 4) + 2;

uint8_t *dst = (uint8_t *) _dst;

const uint8_t *src = (const uint8_t *) _src;

dst_stride /= sizeof(uint8_t);

src_stride /= sizeof(uint8_t);

do {

int x;

int imx = mx, ioff = 0;

for (x = 0; x < w; x++) {

tmp_ptr[x] = (src[ioff] + ((imx * (src[ioff + 1] - src[ioff]) + 8) >> 4));

imx += dx;

ioff += imx >> 4;

imx &= 0xf;

}

tmp_ptr += 64;

src += src_stride;

} while (--tmp_h);

tmp_ptr = tmp;

do {

int x;

for (x = 0; x < w; x++)

if (avg) {

dst[x] = (dst[x] + (tmp_ptr[x] + ((my * (tmp_ptr[x + 64] - tmp_ptr[x]) + 8) >> 4)) + 1) >> 1;

} else {

dst[x] = (tmp_ptr[x] + ((my * (tmp_ptr[x + 64] - tmp_ptr[x]) + 8) >> 4));

}

my += dy;

tmp_ptr += (my >> 4) * 64;

my &= 0xf;

dst += dst_stride;

} while (--h);

}

# 2515 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static __attribute__((noinline)) void put_scaled_bilin_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, int mx, int my, int dx, int dy) { do_scaled_bilin_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, 0); }

static __attribute__((noinline)) void avg_scaled_bilin_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h, int mx, int my, int dx, int dy) { do_scaled_bilin_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, 1); }

# 2549 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static void put_scaled_regular_64_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 64, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_REGULAR]); } static void put_scaled_smooth_64_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 64, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SMOOTH]); } static void put_scaled_sharp_64_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 64, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SHARP]); } static void put_scaled_bilin_64_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_bilin_c(dst, dst_stride, src, src_stride, 64, h, mx, my, dx, dy); } static void put_scaled_regular_32_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 32, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_REGULAR]); } static void put_scaled_smooth_32_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 32, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SMOOTH]); } static void put_scaled_sharp_32_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 32, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SHARP]); } static void put_scaled_bilin_32_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_bilin_c(dst, dst_stride, src, src_stride, 32, h, mx, my, dx, dy); } static void put_scaled_regular_16_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 16, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_REGULAR]); } static void put_scaled_smooth_16_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 16, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SMOOTH]); } static void put_scaled_sharp_16_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 16, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SHARP]); } static void put_scaled_bilin_16_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_bilin_c(dst, dst_stride, src, src_stride, 16, h, mx, my, dx, dy); } static void put_scaled_regular_8_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 8, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_REGULAR]); } static void put_scaled_smooth_8_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 8, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SMOOTH]); } static void put_scaled_sharp_8_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 8, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SHARP]); } static void put_scaled_bilin_8_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_bilin_c(dst, dst_stride, src, src_stride, 8, h, mx, my, dx, dy); } static void put_scaled_regular_4_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 4, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_REGULAR]); } static void put_scaled_smooth_4_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 4, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SMOOTH]); } static void put_scaled_sharp_4_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_8tap_c(dst, dst_stride, src, src_stride, 4, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SHARP]); } static void put_scaled_bilin_4_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { put_scaled_bilin_c(dst, dst_stride, src, src_stride, 4, h, mx, my, dx, dy); }

static void avg_scaled_regular_64_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 64, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_REGULAR]); } static void avg_scaled_smooth_64_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 64, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SMOOTH]); } static void avg_scaled_sharp_64_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 64, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SHARP]); } static void avg_scaled_bilin_64_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_bilin_c(dst, dst_stride, src, src_stride, 64, h, mx, my, dx, dy); } static void avg_scaled_regular_32_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 32, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_REGULAR]); } static void avg_scaled_smooth_32_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 32, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SMOOTH]); } static void avg_scaled_sharp_32_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 32, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SHARP]); } static void avg_scaled_bilin_32_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_bilin_c(dst, dst_stride, src, src_stride, 32, h, mx, my, dx, dy); } static void avg_scaled_regular_16_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 16, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_REGULAR]); } static void avg_scaled_smooth_16_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 16, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SMOOTH]); } static void avg_scaled_sharp_16_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 16, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SHARP]); } static void avg_scaled_bilin_16_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_bilin_c(dst, dst_stride, src, src_stride, 16, h, mx, my, dx, dy); } static void avg_scaled_regular_8_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 8, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_REGULAR]); } static void avg_scaled_smooth_8_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 8, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SMOOTH]); } static void avg_scaled_sharp_8_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 8, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SHARP]); } static void avg_scaled_bilin_8_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_bilin_c(dst, dst_stride, src, src_stride, 8, h, mx, my, dx, dy); } static void avg_scaled_regular_4_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 4, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_REGULAR]); } static void avg_scaled_smooth_4_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 4, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SMOOTH]); } static void avg_scaled_sharp_4_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_8tap_c(dst, dst_stride, src, src_stride, 4, h, mx, my, dx, dy, vp9_subpel_filters[FILTER_8TAP_SHARP]); } static void avg_scaled_bilin_4_c(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int h, int mx, int my, int dx, int dy) { avg_scaled_bilin_c(dst, dst_stride, src, src_stride, 4, h, mx, my, dx, dy); }

# 2561 "external/ffmpeg/libavcodec/vp9dsp_template.c"

static

void ff_vp9dsp_scaled_mc_init_8(VP9DSPContext *dsp)

{

# 2583 "external/ffmpeg/libavcodec/vp9dsp_template.c"

dsp->smc[0][FILTER_8TAP_SMOOTH ][0] = put_scaled_smooth_64_c; dsp->smc[0][FILTER_8TAP_REGULAR][0] = put_scaled_regular_64_c; dsp->smc[0][FILTER_8TAP_SHARP ][0] = put_scaled_sharp_64_c; dsp->smc[0][FILTER_BILINEAR ][0] = put_scaled_bilin_64_c; dsp->smc[0][FILTER_8TAP_SMOOTH ][1] = avg_scaled_smooth_64_c; dsp->smc[0][FILTER_8TAP_REGULAR][1] = avg_scaled_regular_64_c; dsp->smc[0][FILTER_8TAP_SHARP ][1] = avg_scaled_sharp_64_c; dsp->smc[0][FILTER_BILINEAR ][1] = avg_scaled_bilin_64_c;

dsp->smc[1][FILTER_8TAP_SMOOTH ][0] = put_scaled_smooth_32_c; dsp->smc[1][FILTER_8TAP_REGULAR][0] = put_scaled_regular_32_c; dsp->smc[1][FILTER_8TAP_SHARP ][0] = put_scaled_sharp_32_c; dsp->smc[1][FILTER_BILINEAR ][0] = put_scaled_bilin_32_c; dsp->smc[1][FILTER_8TAP_SMOOTH ][1] = avg_scaled_smooth_32_c; dsp->smc[1][FILTER_8TAP_REGULAR][1] = avg_scaled_regular_32_c; dsp->smc[1][FILTER_8TAP_SHARP ][1] = avg_scaled_sharp_32_c; dsp->smc[1][FILTER_BILINEAR ][1] = avg_scaled_bilin_32_c;

dsp->smc[2][FILTER_8TAP_SMOOTH ][0] = put_scaled_smooth_16_c; dsp->smc[2][FILTER_8TAP_REGULAR][0] = put_scaled_regular_16_c; dsp->smc[2][FILTER_8TAP_SHARP ][0] = put_scaled_sharp_16_c; dsp->smc[2][FILTER_BILINEAR ][0] = put_scaled_bilin_16_c; dsp->smc[2][FILTER_8TAP_SMOOTH ][1] = avg_scaled_smooth_16_c; dsp->smc[2][FILTER_8TAP_REGULAR][1] = avg_scaled_regular_16_c; dsp->smc[2][FILTER_8TAP_SHARP ][1] = avg_scaled_sharp_16_c; dsp->smc[2][FILTER_BILINEAR ][1] = avg_scaled_bilin_16_c;

dsp->smc[3][FILTER_8TAP_SMOOTH ][0] = put_scaled_smooth_8_c; dsp->smc[3][FILTER_8TAP_REGULAR][0] = put_scaled_regular_8_c; dsp->smc[3][FILTER_8TAP_SHARP ][0] = put_scaled_sharp_8_c; dsp->smc[3][FILTER_BILINEAR ][0] = put_scaled_bilin_8_c; dsp->smc[3][FILTER_8TAP_SMOOTH ][1] = avg_scaled_smooth_8_c; dsp->smc[3][FILTER_8TAP_REGULAR][1] = avg_scaled_regular_8_c; dsp->smc[3][FILTER_8TAP_SHARP ][1] = avg_scaled_sharp_8_c; dsp->smc[3][FILTER_BILINEAR ][1] = avg_scaled_bilin_8_c;

dsp->smc[4][FILTER_8TAP_SMOOTH ][0] = put_scaled_smooth_4_c; dsp->smc[4][FILTER_8TAP_REGULAR][0] = put_scaled_regular_4_c; dsp->smc[4][FILTER_8TAP_SHARP ][0] = put_scaled_sharp_4_c; dsp->smc[4][FILTER_BILINEAR ][0] = put_scaled_bilin_4_c; dsp->smc[4][FILTER_8TAP_SMOOTH ][1] = avg_scaled_smooth_4_c; dsp->smc[4][FILTER_8TAP_REGULAR][1] = avg_scaled_regular_4_c; dsp->smc[4][FILTER_8TAP_SHARP ][1] = avg_scaled_sharp_4_c; dsp->smc[4][FILTER_BILINEAR ][1] = avg_scaled_bilin_4_c;

}

void ff_vp9dsp_init_8(VP9DSPContext *dsp)

{

ff_vp9dsp_intrapred_init_8(dsp);

vp9dsp_itxfm_init(dsp);

vp9dsp_loopfilter_init(dsp);

ff_vp9dsp_mc_init_8(dsp);

ff_vp9dsp_scaled_mc_init_8(dsp);

}

# 27 "external/ffmpeg/libavcodec/vp9dsp_8bpp.c" 2

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值