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") {
}
} else {
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"
} else {
cpu_arch_full = current_cpu
......
......@@ -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/mips64el "--target=mips64-linux-gcc ${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/x64 "--target=x86_64-win64-vs12 ${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
lint_config linux/mipsel
lint_config linux/mips64el
lint_config linux/generic
lint_config win/arm64
lint_config win/ia32
lint_config win/x64
lint_config mac/ia32
......@@ -405,6 +407,7 @@ gen_rtcd_header linux/chromeos-arm64 armv8
gen_rtcd_header linux/mipsel mipsel
gen_rtcd_header linux/mips64el mips64el
gen_rtcd_header linux/generic generic
gen_rtcd_header win/arm64 armv8
gen_rtcd_header win/ia32 x86 "${require_sse2}"
gen_rtcd_header win/x64 x86_64
gen_rtcd_header mac/ia32 x86 "${require_sse2}"
......
This diff is collapsed.
This diff is collapsed.
@ 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 diff is collapsed.
// 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