Commit 1c18d077 authored by Jon Kunkee's avatar Jon Kunkee Committed by Commit Bot

Consume new ARM64 Windows support in libvpx

This change adds ARM64 Windows support to the configure/GNI-generation
script for libvpx and adds the generated config files.

Bug: 893460
Change-Id: I2b58bca3ac1e2650f68dd82495fa3bb5f44b88a7
Reviewed-on: https://chromium-review.googlesource.com/c/1332732Reviewed-by: default avatarJames Zern <jzern@chromium.org>
Reviewed-by: default avatarJohann Koenig <johannkoenig@google.com>
Commit-Queue: James Zern <jzern@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613379}
parent 3b7b671f
...@@ -30,7 +30,7 @@ if (current_cpu == "x86") { ...@@ -30,7 +30,7 @@ if (current_cpu == "x86") {
} }
} else { } else {
if (is_chromeos) { if (is_chromeos) {
# ChromeOS gets highbd vp9 but other arm targets do not. # ChromeOS on arm64 has an extra switch in generate_gni.sh
cpu_arch_full = "chromeos-arm64" cpu_arch_full = "chromeos-arm64"
} else { } else {
cpu_arch_full = current_cpu cpu_arch_full = current_cpu
......
...@@ -353,6 +353,7 @@ gen_config_files linux/chromeos-arm64 "--target=armv8-linux-gcc ${all_platforms} ...@@ -353,6 +353,7 @@ gen_config_files linux/chromeos-arm64 "--target=armv8-linux-gcc ${all_platforms}
gen_config_files linux/mipsel "--target=mips32-linux-gcc ${all_platforms}" gen_config_files linux/mipsel "--target=mips32-linux-gcc ${all_platforms}"
gen_config_files linux/mips64el "--target=mips64-linux-gcc ${all_platforms}" gen_config_files linux/mips64el "--target=mips64-linux-gcc ${all_platforms}"
gen_config_files linux/generic "--target=generic-gnu $HIGHBD ${all_platforms}" gen_config_files linux/generic "--target=generic-gnu $HIGHBD ${all_platforms}"
gen_config_files win/arm64 "--target=arm64-win64-vs15 ${all_platforms} ${HIGHBD}"
gen_config_files win/ia32 "--target=x86-win32-vs12 ${all_platforms} ${x86_platforms}" gen_config_files win/ia32 "--target=x86-win32-vs12 ${all_platforms} ${x86_platforms}"
gen_config_files win/x64 "--target=x86_64-win64-vs12 ${all_platforms} ${x86_platforms}" gen_config_files win/x64 "--target=x86_64-win64-vs12 ${all_platforms} ${x86_platforms}"
gen_config_files mac/ia32 "--target=x86-darwin9-gcc ${all_platforms} ${x86_platforms}" gen_config_files mac/ia32 "--target=x86-darwin9-gcc ${all_platforms} ${x86_platforms}"
...@@ -377,6 +378,7 @@ lint_config linux/chromeos-arm64 ...@@ -377,6 +378,7 @@ lint_config linux/chromeos-arm64
lint_config linux/mipsel lint_config linux/mipsel
lint_config linux/mips64el lint_config linux/mips64el
lint_config linux/generic lint_config linux/generic
lint_config win/arm64
lint_config win/ia32 lint_config win/ia32
lint_config win/x64 lint_config win/x64
lint_config mac/ia32 lint_config mac/ia32
...@@ -405,6 +407,7 @@ gen_rtcd_header linux/chromeos-arm64 armv8 ...@@ -405,6 +407,7 @@ gen_rtcd_header linux/chromeos-arm64 armv8
gen_rtcd_header linux/mipsel mipsel gen_rtcd_header linux/mipsel mipsel
gen_rtcd_header linux/mips64el mips64el gen_rtcd_header linux/mips64el mips64el
gen_rtcd_header linux/generic generic gen_rtcd_header linux/generic generic
gen_rtcd_header win/arm64 armv8
gen_rtcd_header win/ia32 x86 "${require_sse2}" gen_rtcd_header win/ia32 x86 "${require_sse2}"
gen_rtcd_header win/x64 x86_64 gen_rtcd_header win/x64 x86_64
gen_rtcd_header mac/ia32 x86 "${require_sse2}" gen_rtcd_header mac/ia32 x86 "${require_sse2}"
......
// This file is generated. Do not edit.
#ifndef VP8_RTCD_H_
#define VP8_RTCD_H_
#ifdef RTCD_C
#define RTCD_EXTERN
#else
#define RTCD_EXTERN extern
#endif
/*
* VP8
*/
struct blockd;
struct macroblockd;
struct loop_filter_info;
/* Encoder forward decls */
struct block;
struct macroblock;
struct variance_vtable;
union int_mv;
struct yv12_buffer_config;
#ifdef __cplusplus
extern "C" {
#endif
void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
void vp8_bilinear_predict16x16_neon(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_neon
void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
void vp8_bilinear_predict4x4_neon(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_neon
void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
void vp8_bilinear_predict8x4_neon(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_neon
void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
void vp8_bilinear_predict8x8_neon(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_neon
void vp8_blend_b_c(unsigned char* y,
unsigned char* u,
unsigned char* v,
int y_1,
int u_1,
int v_1,
int alpha,
int stride);
#define vp8_blend_b vp8_blend_b_c
void vp8_blend_mb_inner_c(unsigned char* y,
unsigned char* u,
unsigned char* v,
int y_1,
int u_1,
int v_1,
int alpha,
int stride);
#define vp8_blend_mb_inner vp8_blend_mb_inner_c
void vp8_blend_mb_outer_c(unsigned char* y,
unsigned char* u,
unsigned char* v,
int y_1,
int u_1,
int v_1,
int alpha,
int stride);
#define vp8_blend_mb_outer vp8_blend_mb_outer_c
int vp8_block_error_c(short* coeff, short* dqcoeff);
#define vp8_block_error vp8_block_error_c
void vp8_copy_mem16x16_c(unsigned char* src,
int src_stride,
unsigned char* dst,
int dst_stride);
void vp8_copy_mem16x16_neon(unsigned char* src,
int src_stride,
unsigned char* dst,
int dst_stride);
#define vp8_copy_mem16x16 vp8_copy_mem16x16_neon
void vp8_copy_mem8x4_c(unsigned char* src,
int src_stride,
unsigned char* dst,
int dst_stride);
void vp8_copy_mem8x4_neon(unsigned char* src,
int src_stride,
unsigned char* dst,
int dst_stride);
#define vp8_copy_mem8x4 vp8_copy_mem8x4_neon
void vp8_copy_mem8x8_c(unsigned char* src,
int src_stride,
unsigned char* dst,
int dst_stride);
void vp8_copy_mem8x8_neon(unsigned char* src,
int src_stride,
unsigned char* dst,
int dst_stride);
#define vp8_copy_mem8x8 vp8_copy_mem8x8_neon
void vp8_dc_only_idct_add_c(short input_dc,
unsigned char* pred_ptr,
int pred_stride,
unsigned char* dst_ptr,
int dst_stride);
void vp8_dc_only_idct_add_neon(short input_dc,
unsigned char* pred_ptr,
int pred_stride,
unsigned char* dst_ptr,
int dst_stride);
#define vp8_dc_only_idct_add vp8_dc_only_idct_add_neon
int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
int mc_avg_y_stride,
unsigned char* running_avg_y,
int avg_y_stride,
unsigned char* sig,
int sig_stride,
unsigned int motion_magnitude,
int increase_denoising);
int vp8_denoiser_filter_neon(unsigned char* mc_running_avg_y,
int mc_avg_y_stride,
unsigned char* running_avg_y,
int avg_y_stride,
unsigned char* sig,
int sig_stride,
unsigned int motion_magnitude,
int increase_denoising);
#define vp8_denoiser_filter vp8_denoiser_filter_neon
int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
int mc_avg_stride,
unsigned char* running_avg,
int avg_stride,
unsigned char* sig,
int sig_stride,
unsigned int motion_magnitude,
int increase_denoising);
int vp8_denoiser_filter_uv_neon(unsigned char* mc_running_avg,
int mc_avg_stride,
unsigned char* running_avg,
int avg_stride,
unsigned char* sig,
int sig_stride,
unsigned int motion_magnitude,
int increase_denoising);
#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_neon
void vp8_dequant_idct_add_c(short* input,
short* dq,
unsigned char* dest,
int stride);
void vp8_dequant_idct_add_neon(short* input,
short* dq,
unsigned char* dest,
int stride);
#define vp8_dequant_idct_add vp8_dequant_idct_add_neon
void vp8_dequant_idct_add_uv_block_c(short* q,
short* dq,
unsigned char* dst_u,
unsigned char* dst_v,
int stride,
char* eobs);
void vp8_dequant_idct_add_uv_block_neon(short* q,
short* dq,
unsigned char* dst_u,
unsigned char* dst_v,
int stride,
char* eobs);
#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_neon
void vp8_dequant_idct_add_y_block_c(short* q,
short* dq,
unsigned char* dst,
int stride,
char* eobs);
void vp8_dequant_idct_add_y_block_neon(short* q,
short* dq,
unsigned char* dst,
int stride,
char* eobs);
#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_neon
void vp8_dequantize_b_c(struct blockd*, short* DQC);
void vp8_dequantize_b_neon(struct blockd*, short* DQC);
#define vp8_dequantize_b vp8_dequantize_b_neon
int vp8_diamond_search_sad_c(struct macroblock* x,
struct block* b,
struct blockd* d,
union int_mv* ref_mv,
union int_mv* best_mv,
int search_param,
int sad_per_bit,
int* num00,
struct variance_vtable* fn_ptr,
int* mvcost[2],
union int_mv* center_mv);
#define vp8_diamond_search_sad vp8_diamond_search_sad_c
void vp8_fast_quantize_b_c(struct block*, struct blockd*);
void vp8_fast_quantize_b_neon(struct block*, struct blockd*);
#define vp8_fast_quantize_b vp8_fast_quantize_b_neon
void vp8_filter_by_weight16x16_c(unsigned char* src,
int src_stride,
unsigned char* dst,
int dst_stride,
int src_weight);
#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
void vp8_filter_by_weight4x4_c(unsigned char* src,
int src_stride,
unsigned char* dst,
int dst_stride,
int src_weight);
#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
void vp8_filter_by_weight8x8_c(unsigned char* src,
int src_stride,
unsigned char* dst,
int dst_stride,
int src_weight);
#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
int vp8_full_search_sad_c(struct macroblock* x,
struct block* b,
struct blockd* d,
union int_mv* ref_mv,
int sad_per_bit,
int distance,
struct variance_vtable* fn_ptr,
int* mvcost[2],
union int_mv* center_mv);
#define vp8_full_search_sad vp8_full_search_sad_c
void vp8_loop_filter_bh_c(unsigned char* y_ptr,
unsigned char* u_ptr,
unsigned char* v_ptr,
int y_stride,
int uv_stride,
struct loop_filter_info* lfi);
void vp8_loop_filter_bh_neon(unsigned char* y_ptr,
unsigned char* u_ptr,
unsigned char* v_ptr,
int y_stride,
int uv_stride,
struct loop_filter_info* lfi);
#define vp8_loop_filter_bh vp8_loop_filter_bh_neon
void vp8_loop_filter_bv_c(unsigned char* y_ptr,
unsigned char* u_ptr,
unsigned char* v_ptr,
int y_stride,
int uv_stride,
struct loop_filter_info* lfi);
void vp8_loop_filter_bv_neon(unsigned char* y_ptr,
unsigned char* u_ptr,
unsigned char* v_ptr,
int y_stride,
int uv_stride,
struct loop_filter_info* lfi);
#define vp8_loop_filter_bv vp8_loop_filter_bv_neon
void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
unsigned char* u_ptr,
unsigned char* v_ptr,
int y_stride,
int uv_stride,
struct loop_filter_info* lfi);
void vp8_loop_filter_mbh_neon(unsigned char* y_ptr,
unsigned char* u_ptr,
unsigned char* v_ptr,
int y_stride,
int uv_stride,
struct loop_filter_info* lfi);
#define vp8_loop_filter_mbh vp8_loop_filter_mbh_neon
void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
unsigned char* u_ptr,
unsigned char* v_ptr,
int y_stride,
int uv_stride,
struct loop_filter_info* lfi);
void vp8_loop_filter_mbv_neon(unsigned char* y_ptr,
unsigned char* u_ptr,
unsigned char* v_ptr,
int y_stride,
int uv_stride,
struct loop_filter_info* lfi);
#define vp8_loop_filter_mbv vp8_loop_filter_mbv_neon
void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
int y_stride,
const unsigned char* blimit);
void vp8_loop_filter_bhs_neon(unsigned char* y_ptr,
int y_stride,
const unsigned char* blimit);
#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_neon
void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
int y_stride,
const unsigned char* blimit);
void vp8_loop_filter_bvs_neon(unsigned char* y_ptr,
int y_stride,
const unsigned char* blimit);
#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_neon
void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
int y_stride,
const unsigned char* blimit);
void vp8_loop_filter_mbhs_neon(unsigned char* y_ptr,
int y_stride,
const unsigned char* blimit);
#define vp8_loop_filter_simple_mbh vp8_loop_filter_mbhs_neon
void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
int y_stride,
const unsigned char* blimit);
void vp8_loop_filter_mbvs_neon(unsigned char* y_ptr,
int y_stride,
const unsigned char* blimit);
#define vp8_loop_filter_simple_mbv vp8_loop_filter_mbvs_neon
int vp8_mbblock_error_c(struct macroblock* mb, int dc);
#define vp8_mbblock_error vp8_mbblock_error_c
int vp8_mbuverror_c(struct macroblock* mb);
#define vp8_mbuverror vp8_mbuverror_c
int vp8_refining_search_sad_c(struct macroblock* x,
struct block* b,
struct blockd* d,
union int_mv* ref_mv,
int error_per_bit,
int search_range,
struct variance_vtable* fn_ptr,
int* mvcost[2],
union int_mv* center_mv);
#define vp8_refining_search_sad vp8_refining_search_sad_c
void vp8_regular_quantize_b_c(struct block*, struct blockd*);
#define vp8_regular_quantize_b vp8_regular_quantize_b_c
void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
void vp8_short_fdct4x4_neon(short* input, short* output, int pitch);
#define vp8_short_fdct4x4 vp8_short_fdct4x4_neon
void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
void vp8_short_fdct8x4_neon(short* input, short* output, int pitch);
#define vp8_short_fdct8x4 vp8_short_fdct8x4_neon
void vp8_short_idct4x4llm_c(short* input,
unsigned char* pred_ptr,
int pred_stride,
unsigned char* dst_ptr,
int dst_stride);
void vp8_short_idct4x4llm_neon(short* input,
unsigned char* pred_ptr,
int pred_stride,
unsigned char* dst_ptr,
int dst_stride);
#define vp8_short_idct4x4llm vp8_short_idct4x4llm_neon
void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
void vp8_short_inv_walsh4x4_neon(short* input, short* mb_dqcoeff);
#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_neon
void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
void vp8_short_walsh4x4_neon(short* input, short* output, int pitch);
#define vp8_short_walsh4x4 vp8_short_walsh4x4_neon
void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
void vp8_sixtap_predict16x16_neon(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_neon
void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
void vp8_sixtap_predict4x4_neon(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_neon
void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
void vp8_sixtap_predict8x4_neon(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_neon
void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
void vp8_sixtap_predict8x8_neon(unsigned char* src_ptr,
int src_pixels_per_line,
int xoffset,
int yoffset,
unsigned char* dst_ptr,
int dst_pitch);
#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_neon
void vp8_rtcd(void);
#include "vpx_config.h"
#ifdef RTCD_C
#include "vpx_ports/arm.h"
static void setup_rtcd_internal(void) {
int flags = arm_cpu_caps();
(void)flags;
}
#endif
#ifdef __cplusplus
} // extern "C"
#endif
#endif
// This file is generated. Do not edit.
#ifndef VP9_RTCD_H_
#define VP9_RTCD_H_
#ifdef RTCD_C
#define RTCD_EXTERN
#else
#define RTCD_EXTERN extern
#endif
/*
* VP9
*/
#include "vp9/common/vp9_common.h"
#include "vp9/common/vp9_enums.h"
#include "vp9/common/vp9_filter.h"
#include "vpx/vpx_integer.h"
struct macroblockd;
/* Encoder forward decls */
struct macroblock;
struct vp9_variance_vtable;
struct search_site_config;
struct mv;
union int_mv;
struct yv12_buffer_config;
#ifdef __cplusplus
extern "C" {
#endif
int64_t vp9_block_error_c(const tran_low_t* coeff,
const tran_low_t* dqcoeff,
intptr_t block_size,
int64_t* ssz);
#define vp9_block_error vp9_block_error_c
int64_t vp9_block_error_fp_c(const tran_low_t* coeff,
const tran_low_t* dqcoeff,
int block_size);
#define vp9_block_error_fp vp9_block_error_fp_c
int vp9_denoiser_filter_c(const uint8_t* sig,
int sig_stride,
const uint8_t* mc_avg,
int mc_avg_stride,
uint8_t* avg,
int avg_stride,
int increase_denoising,
BLOCK_SIZE bs,
int motion_magnitude);
int vp9_denoiser_filter_neon(const uint8_t* sig,
int sig_stride,
const uint8_t* mc_avg,
int mc_avg_stride,
uint8_t* avg,
int avg_stride,
int increase_denoising,
BLOCK_SIZE bs,
int motion_magnitude);
#define vp9_denoiser_filter vp9_denoiser_filter_neon
int vp9_diamond_search_sad_c(const struct macroblock* x,
const struct search_site_config* cfg,
struct mv* ref_mv,
struct mv* best_mv,
int search_param,
int sad_per_bit,
int* num00,
const struct vp9_variance_vtable* fn_ptr,
const struct mv* center_mv);
#define vp9_diamond_search_sad vp9_diamond_search_sad_c
void vp9_fdct8x8_quant_c(const int16_t* input,
int stride,
tran_low_t* coeff_ptr,
intptr_t n_coeffs,
int skip_block,
const int16_t* round_ptr,
const int16_t* quant_ptr,
tran_low_t* qcoeff_ptr,
tran_low_t* dqcoeff_ptr,
const int16_t* dequant_ptr,
uint16_t* eob_ptr,
const int16_t* scan,
const int16_t* iscan);
void vp9_fdct8x8_quant_neon(const int16_t* input,
int stride,
tran_low_t* coeff_ptr,
intptr_t n_coeffs,
int skip_block,
const int16_t* round_ptr,
const int16_t* quant_ptr,
tran_low_t* qcoeff_ptr,
tran_low_t* dqcoeff_ptr,
const int16_t* dequant_ptr,
uint16_t* eob_ptr,
const int16_t* scan,
const int16_t* iscan);
#define vp9_fdct8x8_quant vp9_fdct8x8_quant_neon
void vp9_fht16x16_c(const int16_t* input,
tran_low_t* output,
int stride,
int tx_type);
#define vp9_fht16x16 vp9_fht16x16_c
void vp9_fht4x4_c(const int16_t* input,
tran_low_t* output,
int stride,
int tx_type);
#define vp9_fht4x4 vp9_fht4x4_c
void vp9_fht8x8_c(const int16_t* input,
tran_low_t* output,
int stride,
int tx_type);
#define vp9_fht8x8 vp9_fht8x8_c
void vp9_filter_by_weight16x16_c(const uint8_t* src,
int src_stride,
uint8_t* dst,
int dst_stride,
int src_weight);
#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
void vp9_filter_by_weight8x8_c(const uint8_t* src,
int src_stride,
uint8_t* dst,
int dst_stride,
int src_weight);
#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
#define vp9_fwht4x4 vp9_fwht4x4_c
int64_t vp9_highbd_block_error_c(const tran_low_t* coeff,
const tran_low_t* dqcoeff,
intptr_t block_size,
int64_t* ssz,
int bd);
#define vp9_highbd_block_error vp9_highbd_block_error_c
void vp9_highbd_fht16x16_c(const int16_t* input,
tran_low_t* output,
int stride,
int tx_type);
#define vp9_highbd_fht16x16 vp9_highbd_fht16x16_c
void vp9_highbd_fht4x4_c(const int16_t* input,
tran_low_t* output,
int stride,
int tx_type);
#define vp9_highbd_fht4x4 vp9_highbd_fht4x4_c
void vp9_highbd_fht8x8_c(const int16_t* input,
tran_low_t* output,
int stride,
int tx_type);
#define vp9_highbd_fht8x8 vp9_highbd_fht8x8_c
void vp9_highbd_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
#define vp9_highbd_fwht4x4 vp9_highbd_fwht4x4_c
void vp9_highbd_iht16x16_256_add_c(const tran_low_t* input,
uint16_t* dest,
int stride,
int tx_type,
int bd);
void vp9_highbd_iht16x16_256_add_neon(const tran_low_t* input,
uint16_t* dest,
int stride,
int tx_type,
int bd);
#define vp9_highbd_iht16x16_256_add vp9_highbd_iht16x16_256_add_neon
void vp9_highbd_iht4x4_16_add_c(const tran_low_t* input,
uint16_t* dest,
int stride,
int tx_type,
int bd);
void vp9_highbd_iht4x4_16_add_neon(const tran_low_t* input,
uint16_t* dest,
int stride,
int tx_type,
int bd);
#define vp9_highbd_iht4x4_16_add vp9_highbd_iht4x4_16_add_neon
void vp9_highbd_iht8x8_64_add_c(const tran_low_t* input,
uint16_t* dest,
int stride,
int tx_type,
int bd);
void vp9_highbd_iht8x8_64_add_neon(const tran_low_t* input,
uint16_t* dest,
int stride,
int tx_type,
int bd);
#define vp9_highbd_iht8x8_64_add vp9_highbd_iht8x8_64_add_neon
void vp9_highbd_mbpost_proc_across_ip_c(uint16_t* src,
int pitch,
int rows,
int cols,
int flimit);
#define vp9_highbd_mbpost_proc_across_ip vp9_highbd_mbpost_proc_across_ip_c
void vp9_highbd_mbpost_proc_down_c(uint16_t* dst,
int pitch,
int rows,
int cols,
int flimit);
#define vp9_highbd_mbpost_proc_down vp9_highbd_mbpost_proc_down_c
void vp9_highbd_post_proc_down_and_across_c(const uint16_t* src_ptr,
uint16_t* dst_ptr,
int src_pixels_per_line,
int dst_pixels_per_line,
int rows,
int cols,
int flimit);
#define vp9_highbd_post_proc_down_and_across \
vp9_highbd_post_proc_down_and_across_c
void vp9_highbd_quantize_fp_c(const tran_low_t* coeff_ptr,
intptr_t n_coeffs,
int skip_block,
const int16_t* round_ptr,
const int16_t* quant_ptr,
tran_low_t* qcoeff_ptr,
tran_low_t* dqcoeff_ptr,
const int16_t* dequant_ptr,
uint16_t* eob_ptr,
const int16_t* scan,
const int16_t* iscan);
#define vp9_highbd_quantize_fp vp9_highbd_quantize_fp_c
void vp9_highbd_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
intptr_t n_coeffs,
int skip_block,
const int16_t* round_ptr,
const int16_t* quant_ptr,
tran_low_t* qcoeff_ptr,
tran_low_t* dqcoeff_ptr,
const int16_t* dequant_ptr,
uint16_t* eob_ptr,
const int16_t* scan,
const int16_t* iscan);
#define vp9_highbd_quantize_fp_32x32 vp9_highbd_quantize_fp_32x32_c
void vp9_highbd_temporal_filter_apply_c(const uint8_t* frame1,
unsigned int stride,
const uint8_t* frame2,
unsigned int block_width,
unsigned int block_height,
int strength,
int filter_weight,
uint32_t* accumulator,
uint16_t* count);
#define vp9_highbd_temporal_filter_apply vp9_highbd_temporal_filter_apply_c
void vp9_iht16x16_256_add_c(const tran_low_t* input,
uint8_t* dest,
int stride,
int tx_type);
void vp9_iht16x16_256_add_neon(const tran_low_t* input,
uint8_t* dest,
int stride,
int tx_type);
#define vp9_iht16x16_256_add vp9_iht16x16_256_add_neon
void vp9_iht4x4_16_add_c(const tran_low_t* input,
uint8_t* dest,
int stride,
int tx_type);
void vp9_iht4x4_16_add_neon(const tran_low_t* input,
uint8_t* dest,
int stride,
int tx_type);
#define vp9_iht4x4_16_add vp9_iht4x4_16_add_neon
void vp9_iht8x8_64_add_c(const tran_low_t* input,
uint8_t* dest,
int stride,
int tx_type);
void vp9_iht8x8_64_add_neon(const tran_low_t* input,
uint8_t* dest,
int stride,
int tx_type);
#define vp9_iht8x8_64_add vp9_iht8x8_64_add_neon
void vp9_quantize_fp_c(const tran_low_t* coeff_ptr,
intptr_t n_coeffs,
int skip_block,
const int16_t* round_ptr,
const int16_t* quant_ptr,
tran_low_t* qcoeff_ptr,
tran_low_t* dqcoeff_ptr,
const int16_t* dequant_ptr,
uint16_t* eob_ptr,
const int16_t* scan,
const int16_t* iscan);
void vp9_quantize_fp_neon(const tran_low_t* coeff_ptr,
intptr_t n_coeffs,
int skip_block,
const int16_t* round_ptr,
const int16_t* quant_ptr,
tran_low_t* qcoeff_ptr,
tran_low_t* dqcoeff_ptr,
const int16_t* dequant_ptr,
uint16_t* eob_ptr,
const int16_t* scan,
const int16_t* iscan);
#define vp9_quantize_fp vp9_quantize_fp_neon
void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
intptr_t n_coeffs,
int skip_block,
const int16_t* round_ptr,
const int16_t* quant_ptr,
tran_low_t* qcoeff_ptr,
tran_low_t* dqcoeff_ptr,
const int16_t* dequant_ptr,
uint16_t* eob_ptr,
const int16_t* scan,
const int16_t* iscan);
void vp9_quantize_fp_32x32_neon(const tran_low_t* coeff_ptr,
intptr_t n_coeffs,
int skip_block,
const int16_t* round_ptr,
const int16_t* quant_ptr,
tran_low_t* qcoeff_ptr,
tran_low_t* dqcoeff_ptr,
const int16_t* dequant_ptr,
uint16_t* eob_ptr,
const int16_t* scan,
const int16_t* iscan);
#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_neon
void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src,
struct yv12_buffer_config* dst,
INTERP_FILTER filter_type,
int phase_scaler);
void vp9_scale_and_extend_frame_neon(const struct yv12_buffer_config* src,
struct yv12_buffer_config* dst,
INTERP_FILTER filter_type,
int phase_scaler);
#define vp9_scale_and_extend_frame vp9_scale_and_extend_frame_neon
void vp9_rtcd(void);
#include "vpx_config.h"
#ifdef RTCD_C
#include "vpx_ports/arm.h"
static void setup_rtcd_internal(void) {
int flags = arm_cpu_caps();
(void)flags;
}
#endif
#ifdef __cplusplus
} // extern "C"
#endif
#endif
@ This file was created from a .asm file
@ using the ads2gas_apple.pl script.
.set WIDE_REFERENCE, 0
.set ARCHITECTURE, 5
.set DO1STROUNDING, 0
.syntax unified
.set ARCH_ARM , 1
.set ARCH_MIPS , 0
.set ARCH_X86 , 0
.set ARCH_X86_64 , 0
.set ARCH_PPC , 0
.set HAVE_NEON , 1
.set HAVE_NEON_ASM , 0
.set HAVE_MIPS32 , 0
.set HAVE_DSPR2 , 0
.set HAVE_MSA , 0
.set HAVE_MIPS64 , 0
.set HAVE_MMX , 0
.set HAVE_SSE , 0
.set HAVE_SSE2 , 0
.set HAVE_SSE3 , 0
.set HAVE_SSSE3 , 0
.set HAVE_SSE4_1 , 0
.set HAVE_AVX , 0
.set HAVE_AVX2 , 0
.set HAVE_AVX512 , 0
.set HAVE_VSX , 0
.set HAVE_MMI , 0
.set HAVE_VPX_PORTS , 1
.set HAVE_PTHREAD_H , 0
.set HAVE_UNISTD_H , 0
.set CONFIG_DEPENDENCY_TRACKING , 1
.set CONFIG_EXTERNAL_BUILD , 1
.set CONFIG_INSTALL_DOCS , 0
.set CONFIG_INSTALL_BINS , 1
.set CONFIG_INSTALL_LIBS , 1
.set CONFIG_INSTALL_SRCS , 0
.set CONFIG_DEBUG , 0
.set CONFIG_GPROF , 0
.set CONFIG_GCOV , 0
.set CONFIG_RVCT , 0
.set CONFIG_GCC , 0
.set CONFIG_MSVS , 1
.set CONFIG_PIC , 0
.set CONFIG_BIG_ENDIAN , 0
.set CONFIG_CODEC_SRCS , 0
.set CONFIG_DEBUG_LIBS , 0
.set CONFIG_DEQUANT_TOKENS , 0
.set CONFIG_DC_RECON , 0
.set CONFIG_RUNTIME_CPU_DETECT , 0
.set CONFIG_POSTPROC , 1
.set CONFIG_VP9_POSTPROC , 1
.set CONFIG_MULTITHREAD , 1
.set CONFIG_INTERNAL_STATS , 0
.set CONFIG_VP8_ENCODER , 1
.set CONFIG_VP8_DECODER , 1
.set CONFIG_VP9_ENCODER , 1
.set CONFIG_VP9_DECODER , 1
.set CONFIG_VP8 , 1
.set CONFIG_VP9 , 1
.set CONFIG_ENCODERS , 1
.set CONFIG_DECODERS , 1
.set CONFIG_STATIC_MSVCRT , 0
.set CONFIG_SPATIAL_RESAMPLING , 1
.set CONFIG_REALTIME_ONLY , 1
.set CONFIG_ONTHEFLY_BITPACKING , 0
.set CONFIG_ERROR_CONCEALMENT , 0
.set CONFIG_SHARED , 0
.set CONFIG_STATIC , 1
.set CONFIG_SMALL , 0
.set CONFIG_POSTPROC_VISUALIZER , 0
.set CONFIG_OS_SUPPORT , 1
.set CONFIG_UNIT_TESTS , 1
.set CONFIG_WEBM_IO , 1
.set CONFIG_LIBYUV , 1
.set CONFIG_DECODE_PERF_TESTS , 0
.set CONFIG_ENCODE_PERF_TESTS , 0
.set CONFIG_MULTI_RES_ENCODING , 1
.set CONFIG_TEMPORAL_DENOISING , 1
.set CONFIG_VP9_TEMPORAL_DENOISING , 1
.set CONFIG_CONSISTENT_RECODE , 0
.set CONFIG_COEFFICIENT_RANGE_CHECKING , 0
.set CONFIG_VP9_HIGHBITDEPTH , 1
.set CONFIG_BETTER_HW_COMPATIBILITY , 0
.set CONFIG_EXPERIMENTAL , 0
.set CONFIG_SIZE_LIMIT , 1
.set CONFIG_ALWAYS_ADJUST_BPM , 0
.set CONFIG_FP_MB_STATS , 0
.set CONFIG_EMULATE_HARDWARE , 0
.set CONFIG_NON_GREEDY_MV , 0
.set CONFIG_ML_VAR_PARTITION , 0
.set DECODE_WIDTH_LIMIT , 16384
.set DECODE_HEIGHT_LIMIT , 16384
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
/* */
/* Use of this source code is governed by a BSD-style license */
/* that can be found in the LICENSE file in the root of the source */
/* tree. An additional intellectual property rights grant can be found */
/* in the file PATENTS. All contributing project authors may */
/* be found in the AUTHORS file in the root of the source tree. */
#include "vpx/vpx_codec.h"
static const char* const cfg = "--target=arm64-win64-vs15 --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --enable-vp9-highbitdepth";
const char *vpx_codec_build_config(void) {return cfg;}
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
/* */
/* Use of this source code is governed by a BSD-style license */
/* that can be found in the LICENSE file in the root of the source */
/* tree. An additional intellectual property rights grant can be found */
/* in the file PATENTS. All contributing project authors may */
/* be found in the AUTHORS file in the root of the source tree. */
/* This file automatically generated by configure. Do not edit! */
#ifndef VPX_CONFIG_H
#define VPX_CONFIG_H
#define RESTRICT
#define INLINE __inline
#define ARCH_ARM 1
#define ARCH_MIPS 0
#define ARCH_X86 0
#define ARCH_X86_64 0
#define ARCH_PPC 0
#define HAVE_NEON 1
#define HAVE_NEON_ASM 0
#define HAVE_MIPS32 0
#define HAVE_DSPR2 0
#define HAVE_MSA 0
#define HAVE_MIPS64 0
#define HAVE_MMX 0
#define HAVE_SSE 0
#define HAVE_SSE2 0
#define HAVE_SSE3 0
#define HAVE_SSSE3 0
#define HAVE_SSE4_1 0
#define HAVE_AVX 0
#define HAVE_AVX2 0
#define HAVE_AVX512 0
#define HAVE_VSX 0
#define HAVE_MMI 0
#define HAVE_VPX_PORTS 1
#define HAVE_PTHREAD_H 0
#define HAVE_UNISTD_H 0
#define CONFIG_DEPENDENCY_TRACKING 1
#define CONFIG_EXTERNAL_BUILD 1
#define CONFIG_INSTALL_DOCS 0
#define CONFIG_INSTALL_BINS 1
#define CONFIG_INSTALL_LIBS 1
#define CONFIG_INSTALL_SRCS 0
#define CONFIG_DEBUG 0
#define CONFIG_GPROF 0
#define CONFIG_GCOV 0
#define CONFIG_RVCT 0
#define CONFIG_GCC 0
#define CONFIG_MSVS 1
#define CONFIG_PIC 0
#define CONFIG_BIG_ENDIAN 0
#define CONFIG_CODEC_SRCS 0
#define CONFIG_DEBUG_LIBS 0
#define CONFIG_DEQUANT_TOKENS 0
#define CONFIG_DC_RECON 0
#define CONFIG_RUNTIME_CPU_DETECT 0
#define CONFIG_POSTPROC 1
#define CONFIG_VP9_POSTPROC 1
#define CONFIG_MULTITHREAD 1
#define CONFIG_INTERNAL_STATS 0
#define CONFIG_VP8_ENCODER 1
#define CONFIG_VP8_DECODER 1
#define CONFIG_VP9_ENCODER 1
#define CONFIG_VP9_DECODER 1
#define CONFIG_VP8 1
#define CONFIG_VP9 1
#define CONFIG_ENCODERS 1
#define CONFIG_DECODERS 1
#define CONFIG_STATIC_MSVCRT 0
#define CONFIG_SPATIAL_RESAMPLING 1
#define CONFIG_REALTIME_ONLY 1
#define CONFIG_ONTHEFLY_BITPACKING 0
#define CONFIG_ERROR_CONCEALMENT 0
#define CONFIG_SHARED 0
#define CONFIG_STATIC 1
#define CONFIG_SMALL 0
#define CONFIG_POSTPROC_VISUALIZER 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_UNIT_TESTS 1
#define CONFIG_WEBM_IO 1
#define CONFIG_LIBYUV 1
#define CONFIG_DECODE_PERF_TESTS 0
#define CONFIG_ENCODE_PERF_TESTS 0
#define CONFIG_MULTI_RES_ENCODING 1
#define CONFIG_TEMPORAL_DENOISING 1
#define CONFIG_VP9_TEMPORAL_DENOISING 1
#define CONFIG_CONSISTENT_RECODE 0
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
#define CONFIG_VP9_HIGHBITDEPTH 1
#define CONFIG_BETTER_HW_COMPATIBILITY 0
#define CONFIG_EXPERIMENTAL 0
#define CONFIG_SIZE_LIMIT 1
#define CONFIG_ALWAYS_ADJUST_BPM 0
#define CONFIG_FP_MB_STATS 0
#define CONFIG_EMULATE_HARDWARE 0
#define CONFIG_NON_GREEDY_MV 0
#define CONFIG_ML_VAR_PARTITION 0
#define DECODE_WIDTH_LIMIT 16384
#define DECODE_HEIGHT_LIMIT 16384
#endif /* VPX_CONFIG_H */
This source diff could not be displayed because it is too large. You can view the blob instead.
// This file is generated. Do not edit.
#ifndef VPX_SCALE_RTCD_H_
#define VPX_SCALE_RTCD_H_
#ifdef RTCD_C
#define RTCD_EXTERN
#else
#define RTCD_EXTERN extern
#endif
struct yv12_buffer_config;
#ifdef __cplusplus
extern "C" {
#endif
void vp8_horizontal_line_2_1_scale_c(const unsigned char* source,
unsigned int source_width,
unsigned char* dest,
unsigned int dest_width);
#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
void vp8_horizontal_line_5_3_scale_c(const unsigned char* source,
unsigned int source_width,
unsigned char* dest,
unsigned int dest_width);
#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
void vp8_horizontal_line_5_4_scale_c(const unsigned char* source,
unsigned int source_width,
unsigned char* dest,
unsigned int dest_width);
#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
void vp8_vertical_band_2_1_scale_c(unsigned char* source,
unsigned int src_pitch,
unsigned char* dest,
unsigned int dest_pitch,
unsigned int dest_width);
#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
void vp8_vertical_band_2_1_scale_i_c(unsigned char* source,
unsigned int src_pitch,
unsigned char* dest,
unsigned int dest_pitch,
unsigned int dest_width);
#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
void vp8_vertical_band_5_3_scale_c(unsigned char* source,
unsigned int src_pitch,
unsigned char* dest,
unsigned int dest_pitch,
unsigned int dest_width);
#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
void vp8_vertical_band_5_4_scale_c(unsigned char* source,
unsigned int src_pitch,
unsigned char* dest,
unsigned int dest_pitch,
unsigned int dest_width);
#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
struct yv12_buffer_config* dst_ybc);
#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf);
#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf);
#define vpx_extend_frame_borders vpx_extend_frame_borders_c
void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf);
#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
struct yv12_buffer_config* dst_ybc);
#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c
void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc,
struct yv12_buffer_config* dst_ybc);
#define vpx_yv12_copy_y vpx_yv12_copy_y_c
void vpx_scale_rtcd(void);
#include "vpx_config.h"
#ifdef RTCD_C
#include "vpx_ports/arm.h"
static void setup_rtcd_internal(void) {
int flags = arm_cpu_caps();
(void)flags;
}
#endif
#ifdef __cplusplus
} // extern "C"
#endif
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment