Update libaom to commit ID 1e227d41f0616de9548a673a83a21ef990b62591

This commit is contained in:
trav90 2018-10-19 23:05:00 -05:00 • committed by Roy Tam
commit 368651059a
526 changed files with 34535 additions and 15900 deletions

View file

@ -10,4 +10,4 @@ The upstream aom git repository is:
https://aomedia.googlesource.com/aom https://aomedia.googlesource.com/aom
The git commit ID used was b25610052a1398032320008d69b51d2da94f5928. The git commit ID used was 1e227d41f0616de9548a673a83a21ef990b62591.

View file

@ -14,6 +14,7 @@ ARCH_MIPS equ 0
ARCH_PPC equ 0 ARCH_PPC equ 0
ARCH_X86 equ 0 ARCH_X86 equ 0
ARCH_X86_64 equ 0 ARCH_X86_64 equ 0
CONFIG_2PASS_PARTITION_SEARCH_LVL equ 1
CONFIG_ACCOUNTING equ 0 CONFIG_ACCOUNTING equ 0
CONFIG_ANALYZER equ 0 CONFIG_ANALYZER equ 0
CONFIG_AV1_DECODER equ 1 CONFIG_AV1_DECODER equ 1
@ -21,30 +22,35 @@ CONFIG_AV1_ENCODER equ 0
CONFIG_BIG_ENDIAN equ 0 CONFIG_BIG_ENDIAN equ 0
CONFIG_BITSTREAM_DEBUG equ 0 CONFIG_BITSTREAM_DEBUG equ 0
CONFIG_COEFFICIENT_RANGE_CHECKING equ 0 CONFIG_COEFFICIENT_RANGE_CHECKING equ 0
CONFIG_COLLECT_INTER_MODE_RD_STATS equ 1 CONFIG_COLLECT_INTER_MODE_RD_STATS equ 0
CONFIG_COLLECT_RD_STATS equ 0 CONFIG_COLLECT_RD_STATS equ 0
CONFIG_DEBUG equ 0 CONFIG_DEBUG equ 0
CONFIG_DENOISE equ 0 CONFIG_DENOISE equ 1
CONFIG_DIST_8X8 equ 1 CONFIG_DIST_8X8 equ 0
CONFIG_ENTROPY_STATS equ 0 CONFIG_ENTROPY_STATS equ 0
CONFIG_FILEOPTIONS equ 1 CONFIG_FILEOPTIONS equ 1
CONFIG_FIX_GF_LENGTH equ 1
CONFIG_FP_MB_STATS equ 0 CONFIG_FP_MB_STATS equ 0
CONFIG_GCC equ 1 CONFIG_GCC equ 1
CONFIG_GCOV equ 0 CONFIG_GCOV equ 0
CONFIG_GLOBAL_MOTION_SEARCH equ 1
CONFIG_GPROF equ 0 CONFIG_GPROF equ 0
CONFIG_INSPECTION equ 0 CONFIG_INSPECTION equ 0
CONFIG_INTERNAL_STATS equ 0 CONFIG_INTERNAL_STATS equ 0
CONFIG_INTER_STATS_ONLY equ 0 CONFIG_INTER_STATS_ONLY equ 0
CONFIG_LIBYUV equ 0 CONFIG_LIBYUV equ 0
CONFIG_LOWBITDEPTH equ 0 CONFIG_LOWBITDEPTH equ 1
CONFIG_MAX_DECODE_PROFILE equ 2
CONFIG_MISMATCH_DEBUG equ 0 CONFIG_MISMATCH_DEBUG equ 0
CONFIG_MSVS equ 0
CONFIG_MULTITHREAD equ 1 CONFIG_MULTITHREAD equ 1
CONFIG_NORMAL_TILE_MODE equ 0
CONFIG_OS_SUPPORT equ 1 CONFIG_OS_SUPPORT equ 1
CONFIG_PIC equ 0 CONFIG_PIC equ 0
CONFIG_RD_DEBUG equ 0 CONFIG_RD_DEBUG equ 0
CONFIG_REDUCED_ENCODER_BORDER equ 0
CONFIG_RUNTIME_CPU_DETECT equ 1 CONFIG_RUNTIME_CPU_DETECT equ 1
CONFIG_SHARED equ 0 CONFIG_SHARED equ 0
CONFIG_SHARP_SETTINGS equ 0
CONFIG_SIZE_LIMIT equ 0 CONFIG_SIZE_LIMIT equ 0
CONFIG_SPATIAL_RESAMPLING equ 1 CONFIG_SPATIAL_RESAMPLING equ 1
CONFIG_STATIC equ 1 CONFIG_STATIC equ 1

View file

@ -16,6 +16,7 @@
#define ARCH_PPC 0 #define ARCH_PPC 0
#define ARCH_X86 0 #define ARCH_X86 0
#define ARCH_X86_64 0 #define ARCH_X86_64 0
#define CONFIG_2PASS_PARTITION_SEARCH_LVL 1
#define CONFIG_ACCOUNTING 0 #define CONFIG_ACCOUNTING 0
#define CONFIG_ANALYZER 0 #define CONFIG_ANALYZER 0
#define CONFIG_AV1_DECODER 1 #define CONFIG_AV1_DECODER 1
@ -23,30 +24,35 @@
#define CONFIG_BIG_ENDIAN 0 #define CONFIG_BIG_ENDIAN 0
#define CONFIG_BITSTREAM_DEBUG 0 #define CONFIG_BITSTREAM_DEBUG 0
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 #define CONFIG_COEFFICIENT_RANGE_CHECKING 0
#define CONFIG_COLLECT_INTER_MODE_RD_STATS 1 #define CONFIG_COLLECT_INTER_MODE_RD_STATS 0
#define CONFIG_COLLECT_RD_STATS 0 #define CONFIG_COLLECT_RD_STATS 0
#define CONFIG_DEBUG 0 #define CONFIG_DEBUG 0
#define CONFIG_DENOISE 0 #define CONFIG_DENOISE 1
#define CONFIG_DIST_8X8 1 #define CONFIG_DIST_8X8 0
#define CONFIG_ENTROPY_STATS 0 #define CONFIG_ENTROPY_STATS 0
#define CONFIG_FILEOPTIONS 1 #define CONFIG_FILEOPTIONS 1
#define CONFIG_FIX_GF_LENGTH 1
#define CONFIG_FP_MB_STATS 0 #define CONFIG_FP_MB_STATS 0
#define CONFIG_GCC 1 #define CONFIG_GCC 1
#define CONFIG_GCOV 0 #define CONFIG_GCOV 0
#define CONFIG_GLOBAL_MOTION_SEARCH 1
#define CONFIG_GPROF 0 #define CONFIG_GPROF 0
#define CONFIG_INSPECTION 0 #define CONFIG_INSPECTION 0
#define CONFIG_INTERNAL_STATS 0 #define CONFIG_INTERNAL_STATS 0
#define CONFIG_INTER_STATS_ONLY 0 #define CONFIG_INTER_STATS_ONLY 0
#define CONFIG_LIBYUV 0 #define CONFIG_LIBYUV 0
#define CONFIG_LOWBITDEPTH 0 #define CONFIG_LOWBITDEPTH 1
#define CONFIG_MAX_DECODE_PROFILE 2
#define CONFIG_MISMATCH_DEBUG 0 #define CONFIG_MISMATCH_DEBUG 0
#define CONFIG_MSVS 0
#define CONFIG_MULTITHREAD 1 #define CONFIG_MULTITHREAD 1
#define CONFIG_NORMAL_TILE_MODE 0
#define CONFIG_OS_SUPPORT 1 #define CONFIG_OS_SUPPORT 1
#define CONFIG_PIC 0 #define CONFIG_PIC 0
#define CONFIG_RD_DEBUG 0 #define CONFIG_RD_DEBUG 0
#define CONFIG_REDUCED_ENCODER_BORDER 0
#define CONFIG_RUNTIME_CPU_DETECT 1 #define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0 #define CONFIG_SHARED 0
#define CONFIG_SHARP_SETTINGS 0
#define CONFIG_SIZE_LIMIT 0 #define CONFIG_SIZE_LIMIT 0
#define CONFIG_SPATIAL_RESAMPLING 1 #define CONFIG_SPATIAL_RESAMPLING 1
#define CONFIG_STATIC 1 #define CONFIG_STATIC 1

View file

@ -1,6 +1,6 @@
// This file is generated. Do not edit. // This file is generated. Do not edit.
#ifndef AOM_RTCD_H_ #ifndef AV1_RTCD_H_
#define AOM_RTCD_H_ #define AV1_RTCD_H_
#ifdef RTCD_C #ifdef RTCD_C
#define RTCD_EXTERN #define RTCD_EXTERN
@ -141,6 +141,27 @@ void av1_highbd_dr_prediction_z2_c(uint16_t *dst, ptrdiff_t stride, int bw, int
void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd); void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd);
#define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c #define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c
void av1_highbd_inv_txfm_add_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add av1_highbd_inv_txfm_add_c
void av1_highbd_inv_txfm_add_16x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_16x16 av1_highbd_inv_txfm_add_16x16_c
void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_16x8 av1_highbd_inv_txfm_add_16x8_c
void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_32x32 av1_highbd_inv_txfm_add_32x32_c
void av1_highbd_inv_txfm_add_4x4_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_4x4 av1_highbd_inv_txfm_add_4x4_c
void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_8x16 av1_highbd_inv_txfm_add_8x16_c
void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_8x8 av1_highbd_inv_txfm_add_8x8_c
void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd);
#define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c #define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c
@ -237,9 +258,9 @@ void av1_jnt_convolve_x_c(const uint8_t *src, int src_stride, uint8_t *dst, int
void av1_jnt_convolve_y_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); void av1_jnt_convolve_y_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
#define av1_jnt_convolve_y av1_jnt_convolve_y_c #define av1_jnt_convolve_y av1_jnt_convolve_y_c
void av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
#define av1_selfguided_restoration av1_selfguided_restoration_c #define av1_selfguided_restoration av1_selfguided_restoration_c
void av1_upsample_intra_edge_c(uint8_t *p, int sz); void av1_upsample_intra_edge_c(uint8_t *p, int sz);
@ -293,7 +314,7 @@ cfl_predict_lbd_fn get_predict_lbd_fn_c(TX_SIZE tx_size);
cfl_subtract_average_fn get_subtract_average_fn_c(TX_SIZE tx_size); cfl_subtract_average_fn get_subtract_average_fn_c(TX_SIZE tx_size);
#define get_subtract_average_fn get_subtract_average_fn_c #define get_subtract_average_fn get_subtract_average_fn_c
void aom_rtcd(void); void av1_rtcd(void);
#include "config/aom_config.h" #include "config/aom_config.h"

View file

@ -14,6 +14,7 @@
.equ ARCH_PPC, 0 .equ ARCH_PPC, 0
.equ ARCH_X86, 0 .equ ARCH_X86, 0
.equ ARCH_X86_64, 0 .equ ARCH_X86_64, 0
.equ CONFIG_2PASS_PARTITION_SEARCH_LVL, 1
.equ CONFIG_ACCOUNTING, 0 .equ CONFIG_ACCOUNTING, 0
.equ CONFIG_ANALYZER, 0 .equ CONFIG_ANALYZER, 0
.equ CONFIG_AV1_DECODER, 1 .equ CONFIG_AV1_DECODER, 1
@ -21,30 +22,35 @@
.equ CONFIG_BIG_ENDIAN, 0 .equ CONFIG_BIG_ENDIAN, 0
.equ CONFIG_BITSTREAM_DEBUG, 0 .equ CONFIG_BITSTREAM_DEBUG, 0
.equ CONFIG_COEFFICIENT_RANGE_CHECKING, 0 .equ CONFIG_COEFFICIENT_RANGE_CHECKING, 0
.equ CONFIG_COLLECT_INTER_MODE_RD_STATS, 1 .equ CONFIG_COLLECT_INTER_MODE_RD_STATS, 0
.equ CONFIG_COLLECT_RD_STATS, 0 .equ CONFIG_COLLECT_RD_STATS, 0
.equ CONFIG_DEBUG, 0 .equ CONFIG_DEBUG, 0
.equ CONFIG_DENOISE, 0 .equ CONFIG_DENOISE, 1
.equ CONFIG_DIST_8X8, 1 .equ CONFIG_DIST_8X8, 0
.equ CONFIG_ENTROPY_STATS, 0 .equ CONFIG_ENTROPY_STATS, 0
.equ CONFIG_FILEOPTIONS, 1 .equ CONFIG_FILEOPTIONS, 1
.equ CONFIG_FIX_GF_LENGTH, 1
.equ CONFIG_FP_MB_STATS, 0 .equ CONFIG_FP_MB_STATS, 0
.equ CONFIG_GCC, 1 .equ CONFIG_GCC, 1
.equ CONFIG_GCOV, 0 .equ CONFIG_GCOV, 0
.equ CONFIG_GLOBAL_MOTION_SEARCH, 1
.equ CONFIG_GPROF, 0 .equ CONFIG_GPROF, 0
.equ CONFIG_INSPECTION, 0 .equ CONFIG_INSPECTION, 0
.equ CONFIG_INTERNAL_STATS, 0 .equ CONFIG_INTERNAL_STATS, 0
.equ CONFIG_INTER_STATS_ONLY, 0 .equ CONFIG_INTER_STATS_ONLY, 0
.equ CONFIG_LIBYUV, 0 .equ CONFIG_LIBYUV, 0
.equ CONFIG_LOWBITDEPTH, 0 .equ CONFIG_LOWBITDEPTH, 1
.equ CONFIG_MAX_DECODE_PROFILE, 2
.equ CONFIG_MISMATCH_DEBUG, 0 .equ CONFIG_MISMATCH_DEBUG, 0
.equ CONFIG_MSVS, 0
.equ CONFIG_MULTITHREAD, 1 .equ CONFIG_MULTITHREAD, 1
.equ CONFIG_NORMAL_TILE_MODE, 0
.equ CONFIG_OS_SUPPORT, 1 .equ CONFIG_OS_SUPPORT, 1
.equ CONFIG_PIC, 0 .equ CONFIG_PIC, 1
.equ CONFIG_RD_DEBUG, 0 .equ CONFIG_RD_DEBUG, 0
.equ CONFIG_REDUCED_ENCODER_BORDER, 0
.equ CONFIG_RUNTIME_CPU_DETECT, 1 .equ CONFIG_RUNTIME_CPU_DETECT, 1
.equ CONFIG_SHARED, 0 .equ CONFIG_SHARED, 0
.equ CONFIG_SHARP_SETTINGS, 0
.equ CONFIG_SIZE_LIMIT, 0 .equ CONFIG_SIZE_LIMIT, 0
.equ CONFIG_SPATIAL_RESAMPLING, 1 .equ CONFIG_SPATIAL_RESAMPLING, 1
.equ CONFIG_STATIC, 1 .equ CONFIG_STATIC, 1

View file

@ -16,6 +16,7 @@
#define ARCH_PPC 0 #define ARCH_PPC 0
#define ARCH_X86 0 #define ARCH_X86 0
#define ARCH_X86_64 0 #define ARCH_X86_64 0
#define CONFIG_2PASS_PARTITION_SEARCH_LVL 1
#define CONFIG_ACCOUNTING 0 #define CONFIG_ACCOUNTING 0
#define CONFIG_ANALYZER 0 #define CONFIG_ANALYZER 0
#define CONFIG_AV1_DECODER 1 #define CONFIG_AV1_DECODER 1
@ -23,30 +24,35 @@
#define CONFIG_BIG_ENDIAN 0 #define CONFIG_BIG_ENDIAN 0
#define CONFIG_BITSTREAM_DEBUG 0 #define CONFIG_BITSTREAM_DEBUG 0
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 #define CONFIG_COEFFICIENT_RANGE_CHECKING 0
#define CONFIG_COLLECT_INTER_MODE_RD_STATS 1 #define CONFIG_COLLECT_INTER_MODE_RD_STATS 0
#define CONFIG_COLLECT_RD_STATS 0 #define CONFIG_COLLECT_RD_STATS 0
#define CONFIG_DEBUG 0 #define CONFIG_DEBUG 0
#define CONFIG_DENOISE 0 #define CONFIG_DENOISE 1
#define CONFIG_DIST_8X8 1 #define CONFIG_DIST_8X8 0
#define CONFIG_ENTROPY_STATS 0 #define CONFIG_ENTROPY_STATS 0
#define CONFIG_FILEOPTIONS 1 #define CONFIG_FILEOPTIONS 1
#define CONFIG_FIX_GF_LENGTH 1
#define CONFIG_FP_MB_STATS 0 #define CONFIG_FP_MB_STATS 0
#define CONFIG_GCC 1 #define CONFIG_GCC 1
#define CONFIG_GCOV 0 #define CONFIG_GCOV 0
#define CONFIG_GLOBAL_MOTION_SEARCH 1
#define CONFIG_GPROF 0 #define CONFIG_GPROF 0
#define CONFIG_INSPECTION 0 #define CONFIG_INSPECTION 0
#define CONFIG_INTERNAL_STATS 0 #define CONFIG_INTERNAL_STATS 0
#define CONFIG_INTER_STATS_ONLY 0 #define CONFIG_INTER_STATS_ONLY 0
#define CONFIG_LIBYUV 0 #define CONFIG_LIBYUV 0
#define CONFIG_LOWBITDEPTH 0 #define CONFIG_LOWBITDEPTH 1
#define CONFIG_MAX_DECODE_PROFILE 2
#define CONFIG_MISMATCH_DEBUG 0 #define CONFIG_MISMATCH_DEBUG 0
#define CONFIG_MSVS 0
#define CONFIG_MULTITHREAD 1 #define CONFIG_MULTITHREAD 1
#define CONFIG_NORMAL_TILE_MODE 0
#define CONFIG_OS_SUPPORT 1 #define CONFIG_OS_SUPPORT 1
#define CONFIG_PIC 0 #define CONFIG_PIC 1
#define CONFIG_RD_DEBUG 0 #define CONFIG_RD_DEBUG 0
#define CONFIG_REDUCED_ENCODER_BORDER 0
#define CONFIG_RUNTIME_CPU_DETECT 1 #define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0 #define CONFIG_SHARED 0
#define CONFIG_SHARP_SETTINGS 0
#define CONFIG_SIZE_LIMIT 0 #define CONFIG_SIZE_LIMIT 0
#define CONFIG_SPATIAL_RESAMPLING 1 #define CONFIG_SPATIAL_RESAMPLING 1
#define CONFIG_STATIC 1 #define CONFIG_STATIC 1

View file

@ -1412,7 +1412,7 @@ void aom_dsp_rtcd(void);
#include "aom_ports/arm.h" #include "aom_ports/arm.h"
static void setup_rtcd_internal(void) static void setup_rtcd_internal(void)
{ {
int flags = arm_cpu_caps(); int flags = aom_arm_cpu_caps();
(void)flags; (void)flags;

View file

@ -76,7 +76,7 @@ void aom_scale_rtcd(void);
#include "aom_ports/arm.h" #include "aom_ports/arm.h"
static void setup_rtcd_internal(void) static void setup_rtcd_internal(void)
{ {
int flags = arm_cpu_caps(); int flags = aom_arm_cpu_caps();
(void)flags; (void)flags;

View file

@ -1,6 +1,6 @@
// This file is generated. Do not edit. // This file is generated. Do not edit.
#ifndef AOM_RTCD_H_ #ifndef AV1_RTCD_H_
#define AOM_RTCD_H_ #define AV1_RTCD_H_
#ifdef RTCD_C #ifdef RTCD_C
#define RTCD_EXTERN #define RTCD_EXTERN
@ -147,6 +147,27 @@ void av1_highbd_dr_prediction_z2_c(uint16_t *dst, ptrdiff_t stride, int bw, int
void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd); void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd);
#define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c #define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c
void av1_highbd_inv_txfm_add_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add av1_highbd_inv_txfm_add_c
void av1_highbd_inv_txfm_add_16x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_16x16 av1_highbd_inv_txfm_add_16x16_c
void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_16x8 av1_highbd_inv_txfm_add_16x8_c
void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_32x32 av1_highbd_inv_txfm_add_32x32_c
void av1_highbd_inv_txfm_add_4x4_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_4x4 av1_highbd_inv_txfm_add_4x4_c
void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_8x16 av1_highbd_inv_txfm_add_8x16_c
void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
#define av1_highbd_inv_txfm_add_8x8 av1_highbd_inv_txfm_add_8x8_c
void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd);
#define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c #define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c
@ -248,15 +269,15 @@ void av1_jnt_convolve_y_c(const uint8_t *src, int src_stride, uint8_t *dst, int
void av1_jnt_convolve_y_neon(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); void av1_jnt_convolve_y_neon(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
void av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_neon(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_neon(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height, RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_upsample_intra_edge_c(uint8_t *p, int sz); void av1_upsample_intra_edge_c(uint8_t *p, int sz);
#define av1_upsample_intra_edge av1_upsample_intra_edge_c #define av1_upsample_intra_edge av1_upsample_intra_edge_c
@ -265,7 +286,8 @@ void av1_upsample_intra_edge_high_c(uint16_t *p, int sz, int bd);
#define av1_upsample_intra_edge_high av1_upsample_intra_edge_high_c #define av1_upsample_intra_edge_high av1_upsample_intra_edge_high_c
void av1_warp_affine_c(const int32_t *mat, const uint8_t *ref, int width, int height, int stride, uint8_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta); void av1_warp_affine_c(const int32_t *mat, const uint8_t *ref, int width, int height, int stride, uint8_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta);
#define av1_warp_affine av1_warp_affine_c void av1_warp_affine_neon(const int32_t *mat, const uint8_t *ref, int width, int height, int stride, uint8_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta);
RTCD_EXTERN void (*av1_warp_affine)(const int32_t *mat, const uint8_t *ref, int width, int height, int stride, uint8_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta);
void av1_wiener_convolve_add_src_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params); void av1_wiener_convolve_add_src_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params);
void av1_wiener_convolve_add_src_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params); void av1_wiener_convolve_add_src_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params);
@ -323,7 +345,7 @@ cfl_subtract_average_fn get_subtract_average_fn_c(TX_SIZE tx_size);
cfl_subtract_average_fn get_subtract_average_fn_neon(TX_SIZE tx_size); cfl_subtract_average_fn get_subtract_average_fn_neon(TX_SIZE tx_size);
RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size); RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size);
void aom_rtcd(void); void av1_rtcd(void);
#include "config/aom_config.h" #include "config/aom_config.h"
@ -331,7 +353,7 @@ void aom_rtcd(void);
#include "aom_ports/arm.h" #include "aom_ports/arm.h"
static void setup_rtcd_internal(void) static void setup_rtcd_internal(void)
{ {
int flags = arm_cpu_caps(); int flags = aom_arm_cpu_caps();
(void)flags; (void)flags;
@ -359,6 +381,8 @@ static void setup_rtcd_internal(void)
if (flags & HAS_NEON) av1_jnt_convolve_y = av1_jnt_convolve_y_neon; if (flags & HAS_NEON) av1_jnt_convolve_y = av1_jnt_convolve_y_neon;
av1_selfguided_restoration = av1_selfguided_restoration_c; av1_selfguided_restoration = av1_selfguided_restoration_c;
if (flags & HAS_NEON) av1_selfguided_restoration = av1_selfguided_restoration_neon; if (flags & HAS_NEON) av1_selfguided_restoration = av1_selfguided_restoration_neon;
av1_warp_affine = av1_warp_affine_c;
if (flags & HAS_NEON) av1_warp_affine = av1_warp_affine_neon;
av1_wiener_convolve_add_src = av1_wiener_convolve_add_src_c; av1_wiener_convolve_add_src = av1_wiener_convolve_add_src_c;
if (flags & HAS_NEON) av1_wiener_convolve_add_src = av1_wiener_convolve_add_src_neon; if (flags & HAS_NEON) av1_wiener_convolve_add_src = av1_wiener_convolve_add_src_neon;
cdef_filter_block = cdef_filter_block_c; cdef_filter_block = cdef_filter_block_c;

View file

@ -14,6 +14,7 @@ ARCH_MIPS equ 0
ARCH_PPC equ 0 ARCH_PPC equ 0
ARCH_X86 equ 1 ARCH_X86 equ 1
ARCH_X86_64 equ 0 ARCH_X86_64 equ 0
CONFIG_2PASS_PARTITION_SEARCH_LVL equ 1
CONFIG_ACCOUNTING equ 0 CONFIG_ACCOUNTING equ 0
CONFIG_ANALYZER equ 0 CONFIG_ANALYZER equ 0
CONFIG_AV1_DECODER equ 1 CONFIG_AV1_DECODER equ 1
@ -21,30 +22,35 @@ CONFIG_AV1_ENCODER equ 0
CONFIG_BIG_ENDIAN equ 0 CONFIG_BIG_ENDIAN equ 0
CONFIG_BITSTREAM_DEBUG equ 0 CONFIG_BITSTREAM_DEBUG equ 0
CONFIG_COEFFICIENT_RANGE_CHECKING equ 0 CONFIG_COEFFICIENT_RANGE_CHECKING equ 0
CONFIG_COLLECT_INTER_MODE_RD_STATS equ 1 CONFIG_COLLECT_INTER_MODE_RD_STATS equ 0
CONFIG_COLLECT_RD_STATS equ 0 CONFIG_COLLECT_RD_STATS equ 0
CONFIG_DEBUG equ 0 CONFIG_DEBUG equ 0
CONFIG_DENOISE equ 0 CONFIG_DENOISE equ 1
CONFIG_DIST_8X8 equ 1 CONFIG_DIST_8X8 equ 0
CONFIG_ENTROPY_STATS equ 0 CONFIG_ENTROPY_STATS equ 0
CONFIG_FILEOPTIONS equ 1 CONFIG_FILEOPTIONS equ 1
CONFIG_FIX_GF_LENGTH equ 1
CONFIG_FP_MB_STATS equ 0 CONFIG_FP_MB_STATS equ 0
CONFIG_GCC equ 1 CONFIG_GCC equ 1
CONFIG_GCOV equ 0 CONFIG_GCOV equ 0
CONFIG_GLOBAL_MOTION_SEARCH equ 1
CONFIG_GPROF equ 0 CONFIG_GPROF equ 0
CONFIG_INSPECTION equ 0 CONFIG_INSPECTION equ 0
CONFIG_INTERNAL_STATS equ 0 CONFIG_INTERNAL_STATS equ 0
CONFIG_INTER_STATS_ONLY equ 0 CONFIG_INTER_STATS_ONLY equ 0
CONFIG_LIBYUV equ 0 CONFIG_LIBYUV equ 0
CONFIG_LOWBITDEPTH equ 0 CONFIG_LOWBITDEPTH equ 1
CONFIG_MAX_DECODE_PROFILE equ 2
CONFIG_MISMATCH_DEBUG equ 0 CONFIG_MISMATCH_DEBUG equ 0
CONFIG_MSVS equ 0
CONFIG_MULTITHREAD equ 1 CONFIG_MULTITHREAD equ 1
CONFIG_NORMAL_TILE_MODE equ 0
CONFIG_OS_SUPPORT equ 1 CONFIG_OS_SUPPORT equ 1
CONFIG_PIC equ 1 CONFIG_PIC equ 1
CONFIG_RD_DEBUG equ 0 CONFIG_RD_DEBUG equ 0
CONFIG_REDUCED_ENCODER_BORDER equ 0
CONFIG_RUNTIME_CPU_DETECT equ 1 CONFIG_RUNTIME_CPU_DETECT equ 1
CONFIG_SHARED equ 0 CONFIG_SHARED equ 0
CONFIG_SHARP_SETTINGS equ 0
CONFIG_SIZE_LIMIT equ 0 CONFIG_SIZE_LIMIT equ 0
CONFIG_SPATIAL_RESAMPLING equ 1 CONFIG_SPATIAL_RESAMPLING equ 1
CONFIG_STATIC equ 1 CONFIG_STATIC equ 1

View file

@ -16,6 +16,7 @@
#define ARCH_PPC 0 #define ARCH_PPC 0
#define ARCH_X86 1 #define ARCH_X86 1
#define ARCH_X86_64 0 #define ARCH_X86_64 0
#define CONFIG_2PASS_PARTITION_SEARCH_LVL 1
#define CONFIG_ACCOUNTING 0 #define CONFIG_ACCOUNTING 0
#define CONFIG_ANALYZER 0 #define CONFIG_ANALYZER 0
#define CONFIG_AV1_DECODER 1 #define CONFIG_AV1_DECODER 1
@ -23,30 +24,35 @@
#define CONFIG_BIG_ENDIAN 0 #define CONFIG_BIG_ENDIAN 0
#define CONFIG_BITSTREAM_DEBUG 0 #define CONFIG_BITSTREAM_DEBUG 0
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 #define CONFIG_COEFFICIENT_RANGE_CHECKING 0
#define CONFIG_COLLECT_INTER_MODE_RD_STATS 1 #define CONFIG_COLLECT_INTER_MODE_RD_STATS 0
#define CONFIG_COLLECT_RD_STATS 0 #define CONFIG_COLLECT_RD_STATS 0
#define CONFIG_DEBUG 0 #define CONFIG_DEBUG 0
#define CONFIG_DENOISE 0 #define CONFIG_DENOISE 1
#define CONFIG_DIST_8X8 1 #define CONFIG_DIST_8X8 0
#define CONFIG_ENTROPY_STATS 0 #define CONFIG_ENTROPY_STATS 0
#define CONFIG_FILEOPTIONS 1 #define CONFIG_FILEOPTIONS 1
#define CONFIG_FIX_GF_LENGTH 1
#define CONFIG_FP_MB_STATS 0 #define CONFIG_FP_MB_STATS 0
#define CONFIG_GCC 1 #define CONFIG_GCC 1
#define CONFIG_GCOV 0 #define CONFIG_GCOV 0
#define CONFIG_GLOBAL_MOTION_SEARCH 1
#define CONFIG_GPROF 0 #define CONFIG_GPROF 0
#define CONFIG_INSPECTION 0 #define CONFIG_INSPECTION 0
#define CONFIG_INTERNAL_STATS 0 #define CONFIG_INTERNAL_STATS 0
#define CONFIG_INTER_STATS_ONLY 0 #define CONFIG_INTER_STATS_ONLY 0
#define CONFIG_LIBYUV 0 #define CONFIG_LIBYUV 0
#define CONFIG_LOWBITDEPTH 0 #define CONFIG_LOWBITDEPTH 1
#define CONFIG_MAX_DECODE_PROFILE 2
#define CONFIG_MISMATCH_DEBUG 0 #define CONFIG_MISMATCH_DEBUG 0
#define CONFIG_MSVS 0
#define CONFIG_MULTITHREAD 1 #define CONFIG_MULTITHREAD 1
#define CONFIG_NORMAL_TILE_MODE 0
#define CONFIG_OS_SUPPORT 1 #define CONFIG_OS_SUPPORT 1
#define CONFIG_PIC 1 #define CONFIG_PIC 1
#define CONFIG_RD_DEBUG 0 #define CONFIG_RD_DEBUG 0
#define CONFIG_REDUCED_ENCODER_BORDER 0
#define CONFIG_RUNTIME_CPU_DETECT 1 #define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0 #define CONFIG_SHARED 0
#define CONFIG_SHARP_SETTINGS 0
#define CONFIG_SIZE_LIMIT 0 #define CONFIG_SIZE_LIMIT 0
#define CONFIG_SPATIAL_RESAMPLING 1 #define CONFIG_SPATIAL_RESAMPLING 1
#define CONFIG_STATIC 1 #define CONFIG_STATIC 1

View file

@ -28,6 +28,7 @@ RTCD_EXTERN void (*aom_blend_a64_hmask)(uint8_t *dst, uint32_t dst_stride, const
void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_avx2(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h); void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h);
@ -1230,6 +1231,7 @@ RTCD_EXTERN void (*aom_highbd_v_predictor_8x8)(uint16_t *dst, ptrdiff_t y_stride
void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_avx2(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
@ -1725,6 +1727,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1;
aom_blend_a64_mask = aom_blend_a64_mask_c; aom_blend_a64_mask = aom_blend_a64_mask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1;
if (flags & HAS_AVX2) aom_blend_a64_mask = aom_blend_a64_mask_avx2;
aom_blend_a64_vmask = aom_blend_a64_vmask_c; aom_blend_a64_vmask = aom_blend_a64_vmask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1;
aom_convolve8_horiz = aom_convolve8_horiz_c; aom_convolve8_horiz = aom_convolve8_horiz_c;
@ -2125,6 +2128,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_SSE2) aom_highbd_v_predictor_8x8 = aom_highbd_v_predictor_8x8_sse2; if (flags & HAS_SSE2) aom_highbd_v_predictor_8x8 = aom_highbd_v_predictor_8x8_sse2;
aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c; aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c;
if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1; if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1;
if (flags & HAS_AVX2) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_avx2;
aom_lpf_horizontal_14 = aom_lpf_horizontal_14_c; aom_lpf_horizontal_14 = aom_lpf_horizontal_14_c;
if (flags & HAS_SSE2) aom_lpf_horizontal_14 = aom_lpf_horizontal_14_sse2; if (flags & HAS_SSE2) aom_lpf_horizontal_14 = aom_lpf_horizontal_14_sse2;
aom_lpf_horizontal_14_dual = aom_lpf_horizontal_14_dual_c; aom_lpf_horizontal_14_dual = aom_lpf_horizontal_14_dual_c;

View file

@ -1,6 +1,6 @@
// This file is generated. Do not edit. // This file is generated. Do not edit.
#ifndef AOM_RTCD_H_ #ifndef AV1_RTCD_H_
#define AOM_RTCD_H_ #define AV1_RTCD_H_
#ifdef RTCD_C #ifdef RTCD_C
#define RTCD_EXTERN #define RTCD_EXTERN
@ -58,10 +58,12 @@ RTCD_EXTERN void (*apply_selfguided_restoration)(const uint8_t *dat, int width,
void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd); void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd);
@ -170,6 +172,36 @@ void av1_highbd_dr_prediction_z2_c(uint16_t *dst, ptrdiff_t stride, int bw, int
void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd); void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd);
#define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c #define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c
void av1_highbd_inv_txfm_add_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_32x32)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_4x4)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd);
#define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c #define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c
@ -206,8 +238,7 @@ void av1_highbd_wiener_convolve_add_src_avx2(const uint8_t *src, ptrdiff_t src_s
RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps); RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps);
void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x16_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_16x16 av1_inv_txfm2d_add_16x16_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_16x16)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c #define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c
@ -225,8 +256,7 @@ void av1_inv_txfm2d_add_32x16_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c #define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c
void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x32_avx2(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_32x32 av1_inv_txfm2d_add_32x32_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_32x32)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c #define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c
@ -251,8 +281,7 @@ void av1_inv_txfm2d_add_64x32_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c #define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c
void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_64x64_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_64x64 av1_inv_txfm2d_add_64x64_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_64x64)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c #define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c
@ -292,18 +321,18 @@ void av1_jnt_convolve_y_sse2(const uint8_t *src, int src_stride, uint8_t *dst, i
void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
void av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height, RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_upsample_intra_edge_c(uint8_t *p, int sz); void av1_upsample_intra_edge_c(uint8_t *p, int sz);
void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz); void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz);
@ -395,7 +424,7 @@ cfl_subtract_average_fn get_subtract_average_fn_sse2(TX_SIZE tx_size);
cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size); cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size);
RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size); RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size);
void aom_rtcd(void); void av1_rtcd(void);
#ifdef RTCD_C #ifdef RTCD_C
#include "aom_ports/x86.h" #include "aom_ports/x86.h"
@ -410,8 +439,10 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2; if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2;
av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c; av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_avx2;
av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c; av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2;
av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c; av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c;
if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3; if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2; if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2;
@ -453,6 +484,22 @@ static void setup_rtcd_internal(void)
av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c; av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c;
if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3; if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3;
if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2; if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2;
av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_avx2;
av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c; av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c;
if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1; if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1;
if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2; if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2;
@ -470,14 +517,8 @@ static void setup_rtcd_internal(void)
av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c; av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c;
if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3; if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3;
if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2; if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2;
av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_sse4_1;
av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_c;
if (flags & HAS_AVX2) av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_avx2;
av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c; av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1;
av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_sse4_1;
av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c; av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1;
av1_inv_txfm_add = av1_inv_txfm_add_c; av1_inv_txfm_add = av1_inv_txfm_add_c;

View file

@ -14,6 +14,7 @@ ARCH_MIPS equ 0
ARCH_PPC equ 0 ARCH_PPC equ 0
ARCH_X86 equ 0 ARCH_X86 equ 0
ARCH_X86_64 equ 1 ARCH_X86_64 equ 1
CONFIG_2PASS_PARTITION_SEARCH_LVL equ 1
CONFIG_ACCOUNTING equ 0 CONFIG_ACCOUNTING equ 0
CONFIG_ANALYZER equ 0 CONFIG_ANALYZER equ 0
CONFIG_AV1_DECODER equ 1 CONFIG_AV1_DECODER equ 1
@ -21,30 +22,35 @@ CONFIG_AV1_ENCODER equ 0
CONFIG_BIG_ENDIAN equ 0 CONFIG_BIG_ENDIAN equ 0
CONFIG_BITSTREAM_DEBUG equ 0 CONFIG_BITSTREAM_DEBUG equ 0
CONFIG_COEFFICIENT_RANGE_CHECKING equ 0 CONFIG_COEFFICIENT_RANGE_CHECKING equ 0
CONFIG_COLLECT_INTER_MODE_RD_STATS equ 1 CONFIG_COLLECT_INTER_MODE_RD_STATS equ 0
CONFIG_COLLECT_RD_STATS equ 0 CONFIG_COLLECT_RD_STATS equ 0
CONFIG_DEBUG equ 0 CONFIG_DEBUG equ 0
CONFIG_DENOISE equ 0 CONFIG_DENOISE equ 1
CONFIG_DIST_8X8 equ 1 CONFIG_DIST_8X8 equ 0
CONFIG_ENTROPY_STATS equ 0 CONFIG_ENTROPY_STATS equ 0
CONFIG_FILEOPTIONS equ 1 CONFIG_FILEOPTIONS equ 1
CONFIG_FIX_GF_LENGTH equ 1
CONFIG_FP_MB_STATS equ 0 CONFIG_FP_MB_STATS equ 0
CONFIG_GCC equ 1 CONFIG_GCC equ 1
CONFIG_GCOV equ 0 CONFIG_GCOV equ 0
CONFIG_GLOBAL_MOTION_SEARCH equ 1
CONFIG_GPROF equ 0 CONFIG_GPROF equ 0
CONFIG_INSPECTION equ 0 CONFIG_INSPECTION equ 0
CONFIG_INTERNAL_STATS equ 0 CONFIG_INTERNAL_STATS equ 0
CONFIG_INTER_STATS_ONLY equ 0 CONFIG_INTER_STATS_ONLY equ 0
CONFIG_LIBYUV equ 0 CONFIG_LIBYUV equ 0
CONFIG_LOWBITDEPTH equ 0 CONFIG_LOWBITDEPTH equ 1
CONFIG_MAX_DECODE_PROFILE equ 2
CONFIG_MISMATCH_DEBUG equ 0 CONFIG_MISMATCH_DEBUG equ 0
CONFIG_MSVS equ 0
CONFIG_MULTITHREAD equ 1 CONFIG_MULTITHREAD equ 1
CONFIG_NORMAL_TILE_MODE equ 0
CONFIG_OS_SUPPORT equ 1 CONFIG_OS_SUPPORT equ 1
CONFIG_PIC equ 0 CONFIG_PIC equ 0
CONFIG_RD_DEBUG equ 0 CONFIG_RD_DEBUG equ 0
CONFIG_REDUCED_ENCODER_BORDER equ 0
CONFIG_RUNTIME_CPU_DETECT equ 1 CONFIG_RUNTIME_CPU_DETECT equ 1
CONFIG_SHARED equ 0 CONFIG_SHARED equ 0
CONFIG_SHARP_SETTINGS equ 0
CONFIG_SIZE_LIMIT equ 0 CONFIG_SIZE_LIMIT equ 0
CONFIG_SPATIAL_RESAMPLING equ 1 CONFIG_SPATIAL_RESAMPLING equ 1
CONFIG_STATIC equ 1 CONFIG_STATIC equ 1

View file

@ -16,6 +16,7 @@
#define ARCH_PPC 0 #define ARCH_PPC 0
#define ARCH_X86 0 #define ARCH_X86 0
#define ARCH_X86_64 1 #define ARCH_X86_64 1
#define CONFIG_2PASS_PARTITION_SEARCH_LVL 1
#define CONFIG_ACCOUNTING 0 #define CONFIG_ACCOUNTING 0
#define CONFIG_ANALYZER 0 #define CONFIG_ANALYZER 0
#define CONFIG_AV1_DECODER 1 #define CONFIG_AV1_DECODER 1
@ -23,30 +24,35 @@
#define CONFIG_BIG_ENDIAN 0 #define CONFIG_BIG_ENDIAN 0
#define CONFIG_BITSTREAM_DEBUG 0 #define CONFIG_BITSTREAM_DEBUG 0
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 #define CONFIG_COEFFICIENT_RANGE_CHECKING 0
#define CONFIG_COLLECT_INTER_MODE_RD_STATS 1 #define CONFIG_COLLECT_INTER_MODE_RD_STATS 0
#define CONFIG_COLLECT_RD_STATS 0 #define CONFIG_COLLECT_RD_STATS 0
#define CONFIG_DEBUG 0 #define CONFIG_DEBUG 0
#define CONFIG_DENOISE 0 #define CONFIG_DENOISE 1
#define CONFIG_DIST_8X8 1 #define CONFIG_DIST_8X8 0
#define CONFIG_ENTROPY_STATS 0 #define CONFIG_ENTROPY_STATS 0
#define CONFIG_FILEOPTIONS 1 #define CONFIG_FILEOPTIONS 1
#define CONFIG_FIX_GF_LENGTH 1
#define CONFIG_FP_MB_STATS 0 #define CONFIG_FP_MB_STATS 0
#define CONFIG_GCC 1 #define CONFIG_GCC 1
#define CONFIG_GCOV 0 #define CONFIG_GCOV 0
#define CONFIG_GLOBAL_MOTION_SEARCH 1
#define CONFIG_GPROF 0 #define CONFIG_GPROF 0
#define CONFIG_INSPECTION 0 #define CONFIG_INSPECTION 0
#define CONFIG_INTERNAL_STATS 0 #define CONFIG_INTERNAL_STATS 0
#define CONFIG_INTER_STATS_ONLY 0 #define CONFIG_INTER_STATS_ONLY 0
#define CONFIG_LIBYUV 0 #define CONFIG_LIBYUV 0
#define CONFIG_LOWBITDEPTH 0 #define CONFIG_LOWBITDEPTH 1
#define CONFIG_MAX_DECODE_PROFILE 2
#define CONFIG_MISMATCH_DEBUG 0 #define CONFIG_MISMATCH_DEBUG 0
#define CONFIG_MSVS 0
#define CONFIG_MULTITHREAD 1 #define CONFIG_MULTITHREAD 1
#define CONFIG_NORMAL_TILE_MODE 0
#define CONFIG_OS_SUPPORT 1 #define CONFIG_OS_SUPPORT 1
#define CONFIG_PIC 0 #define CONFIG_PIC 0
#define CONFIG_RD_DEBUG 0 #define CONFIG_RD_DEBUG 0
#define CONFIG_REDUCED_ENCODER_BORDER 0
#define CONFIG_RUNTIME_CPU_DETECT 1 #define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0 #define CONFIG_SHARED 0
#define CONFIG_SHARP_SETTINGS 0
#define CONFIG_SIZE_LIMIT 0 #define CONFIG_SIZE_LIMIT 0
#define CONFIG_SPATIAL_RESAMPLING 1 #define CONFIG_SPATIAL_RESAMPLING 1
#define CONFIG_STATIC 1 #define CONFIG_STATIC 1

View file

@ -28,6 +28,7 @@ RTCD_EXTERN void (*aom_blend_a64_hmask)(uint8_t *dst, uint32_t dst_stride, const
void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_avx2(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h); void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h);
@ -1232,6 +1233,7 @@ void aom_highbd_v_predictor_8x8_sse2(uint16_t *dst, ptrdiff_t y_stride, const ui
void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_avx2(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
@ -1727,6 +1729,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1;
aom_blend_a64_mask = aom_blend_a64_mask_c; aom_blend_a64_mask = aom_blend_a64_mask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1;
if (flags & HAS_AVX2) aom_blend_a64_mask = aom_blend_a64_mask_avx2;
aom_blend_a64_vmask = aom_blend_a64_vmask_c; aom_blend_a64_vmask = aom_blend_a64_vmask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1;
aom_convolve8_horiz = aom_convolve8_horiz_sse2; aom_convolve8_horiz = aom_convolve8_horiz_sse2;
@ -1811,6 +1814,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) aom_highbd_lpf_vertical_8_dual = aom_highbd_lpf_vertical_8_dual_avx2; if (flags & HAS_AVX2) aom_highbd_lpf_vertical_8_dual = aom_highbd_lpf_vertical_8_dual_avx2;
aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c; aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c;
if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1; if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1;
if (flags & HAS_AVX2) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_avx2;
aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_c; aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_c;
if (flags & HAS_SSSE3) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_ssse3; if (flags & HAS_SSSE3) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_ssse3;
if (flags & HAS_AVX2) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_avx2; if (flags & HAS_AVX2) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_avx2;

View file

@ -1,6 +1,6 @@
// This file is generated. Do not edit. // This file is generated. Do not edit.
#ifndef AOM_RTCD_H_ #ifndef AV1_RTCD_H_
#define AOM_RTCD_H_ #define AV1_RTCD_H_
#ifdef RTCD_C #ifdef RTCD_C
#define RTCD_EXTERN #define RTCD_EXTERN
@ -58,10 +58,12 @@ RTCD_EXTERN void (*apply_selfguided_restoration)(const uint8_t *dat, int width,
void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd); void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd);
@ -173,6 +175,36 @@ void av1_highbd_dr_prediction_z2_c(uint16_t *dst, ptrdiff_t stride, int bw, int
void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd); void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd);
#define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c #define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c
void av1_highbd_inv_txfm_add_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_32x32)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_4x4)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd);
#define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c #define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c
@ -209,8 +241,7 @@ void av1_highbd_wiener_convolve_add_src_avx2(const uint8_t *src, ptrdiff_t src_s
RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps); RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps);
void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x16_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_16x16 av1_inv_txfm2d_add_16x16_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_16x16)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c #define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c
@ -228,8 +259,7 @@ void av1_inv_txfm2d_add_32x16_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c #define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c
void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x32_avx2(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_32x32 av1_inv_txfm2d_add_32x32_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_32x32)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c #define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c
@ -254,8 +284,7 @@ void av1_inv_txfm2d_add_64x32_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c #define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c
void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_64x64_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_64x64 av1_inv_txfm2d_add_64x64_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_64x64)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c #define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c
@ -295,18 +324,18 @@ void av1_jnt_convolve_y_sse2(const uint8_t *src, int src_stride, uint8_t *dst, i
void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
void av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height, RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_upsample_intra_edge_c(uint8_t *p, int sz); void av1_upsample_intra_edge_c(uint8_t *p, int sz);
void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz); void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz);
@ -398,7 +427,7 @@ cfl_subtract_average_fn get_subtract_average_fn_sse2(TX_SIZE tx_size);
cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size); cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size);
RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size); RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size);
void aom_rtcd(void); void av1_rtcd(void);
#ifdef RTCD_C #ifdef RTCD_C
#include "aom_ports/x86.h" #include "aom_ports/x86.h"
@ -413,8 +442,10 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2; if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2;
av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c; av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_avx2;
av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c; av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2;
av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c; av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c;
if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3; if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2; if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2;
@ -451,6 +482,22 @@ static void setup_rtcd_internal(void)
av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c; av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c;
if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3; if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3;
if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2; if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2;
av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_avx2;
av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c; av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c;
if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1; if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1;
if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2; if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2;
@ -468,14 +515,8 @@ static void setup_rtcd_internal(void)
av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c; av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c;
if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3; if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3;
if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2; if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2;
av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_sse4_1;
av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_c;
if (flags & HAS_AVX2) av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_avx2;
av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c; av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1;
av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_sse4_1;
av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c; av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1;
av1_inv_txfm_add = av1_inv_txfm_add_c; av1_inv_txfm_add = av1_inv_txfm_add_c;

View file

@ -14,6 +14,7 @@ ARCH_MIPS equ 0
ARCH_PPC equ 0 ARCH_PPC equ 0
ARCH_X86 equ 0 ARCH_X86 equ 0
ARCH_X86_64 equ 1 ARCH_X86_64 equ 1
CONFIG_2PASS_PARTITION_SEARCH_LVL equ 1
CONFIG_ACCOUNTING equ 0 CONFIG_ACCOUNTING equ 0
CONFIG_ANALYZER equ 0 CONFIG_ANALYZER equ 0
CONFIG_AV1_DECODER equ 1 CONFIG_AV1_DECODER equ 1
@ -21,30 +22,35 @@ CONFIG_AV1_ENCODER equ 0
CONFIG_BIG_ENDIAN equ 0 CONFIG_BIG_ENDIAN equ 0
CONFIG_BITSTREAM_DEBUG equ 0 CONFIG_BITSTREAM_DEBUG equ 0
CONFIG_COEFFICIENT_RANGE_CHECKING equ 0 CONFIG_COEFFICIENT_RANGE_CHECKING equ 0
CONFIG_COLLECT_INTER_MODE_RD_STATS equ 1 CONFIG_COLLECT_INTER_MODE_RD_STATS equ 0
CONFIG_COLLECT_RD_STATS equ 0 CONFIG_COLLECT_RD_STATS equ 0
CONFIG_DEBUG equ 0 CONFIG_DEBUG equ 0
CONFIG_DENOISE equ 0 CONFIG_DENOISE equ 1
CONFIG_DIST_8X8 equ 1 CONFIG_DIST_8X8 equ 0
CONFIG_ENTROPY_STATS equ 0 CONFIG_ENTROPY_STATS equ 0
CONFIG_FILEOPTIONS equ 1 CONFIG_FILEOPTIONS equ 1
CONFIG_FIX_GF_LENGTH equ 1
CONFIG_FP_MB_STATS equ 0 CONFIG_FP_MB_STATS equ 0
CONFIG_GCC equ 1 CONFIG_GCC equ 1
CONFIG_GCOV equ 0 CONFIG_GCOV equ 0
CONFIG_GLOBAL_MOTION_SEARCH equ 1
CONFIG_GPROF equ 0 CONFIG_GPROF equ 0
CONFIG_INSPECTION equ 0 CONFIG_INSPECTION equ 0
CONFIG_INTERNAL_STATS equ 0 CONFIG_INTERNAL_STATS equ 0
CONFIG_INTER_STATS_ONLY equ 0 CONFIG_INTER_STATS_ONLY equ 0
CONFIG_LIBYUV equ 0 CONFIG_LIBYUV equ 0
CONFIG_LOWBITDEPTH equ 0 CONFIG_LOWBITDEPTH equ 1
CONFIG_MAX_DECODE_PROFILE equ 2
CONFIG_MISMATCH_DEBUG equ 0 CONFIG_MISMATCH_DEBUG equ 0
CONFIG_MSVS equ 0
CONFIG_MULTITHREAD equ 1 CONFIG_MULTITHREAD equ 1
CONFIG_NORMAL_TILE_MODE equ 0
CONFIG_OS_SUPPORT equ 1 CONFIG_OS_SUPPORT equ 1
CONFIG_PIC equ 0 CONFIG_PIC equ 0
CONFIG_RD_DEBUG equ 0 CONFIG_RD_DEBUG equ 0
CONFIG_REDUCED_ENCODER_BORDER equ 0
CONFIG_RUNTIME_CPU_DETECT equ 1 CONFIG_RUNTIME_CPU_DETECT equ 1
CONFIG_SHARED equ 0 CONFIG_SHARED equ 0
CONFIG_SHARP_SETTINGS equ 0
CONFIG_SIZE_LIMIT equ 0 CONFIG_SIZE_LIMIT equ 0
CONFIG_SPATIAL_RESAMPLING equ 1 CONFIG_SPATIAL_RESAMPLING equ 1
CONFIG_STATIC equ 1 CONFIG_STATIC equ 1

View file

@ -16,6 +16,7 @@
#define ARCH_PPC 0 #define ARCH_PPC 0
#define ARCH_X86 0 #define ARCH_X86 0
#define ARCH_X86_64 1 #define ARCH_X86_64 1
#define CONFIG_2PASS_PARTITION_SEARCH_LVL 1
#define CONFIG_ACCOUNTING 0 #define CONFIG_ACCOUNTING 0
#define CONFIG_ANALYZER 0 #define CONFIG_ANALYZER 0
#define CONFIG_AV1_DECODER 1 #define CONFIG_AV1_DECODER 1
@ -23,30 +24,35 @@
#define CONFIG_BIG_ENDIAN 0 #define CONFIG_BIG_ENDIAN 0
#define CONFIG_BITSTREAM_DEBUG 0 #define CONFIG_BITSTREAM_DEBUG 0
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 #define CONFIG_COEFFICIENT_RANGE_CHECKING 0
#define CONFIG_COLLECT_INTER_MODE_RD_STATS 1 #define CONFIG_COLLECT_INTER_MODE_RD_STATS 0
#define CONFIG_COLLECT_RD_STATS 0 #define CONFIG_COLLECT_RD_STATS 0
#define CONFIG_DEBUG 0 #define CONFIG_DEBUG 0
#define CONFIG_DENOISE 0 #define CONFIG_DENOISE 1
#define CONFIG_DIST_8X8 1 #define CONFIG_DIST_8X8 0
#define CONFIG_ENTROPY_STATS 0 #define CONFIG_ENTROPY_STATS 0
#define CONFIG_FILEOPTIONS 1 #define CONFIG_FILEOPTIONS 1
#define CONFIG_FIX_GF_LENGTH 1
#define CONFIG_FP_MB_STATS 0 #define CONFIG_FP_MB_STATS 0
#define CONFIG_GCC 1 #define CONFIG_GCC 1
#define CONFIG_GCOV 0 #define CONFIG_GCOV 0
#define CONFIG_GLOBAL_MOTION_SEARCH 1
#define CONFIG_GPROF 0 #define CONFIG_GPROF 0
#define CONFIG_INSPECTION 0 #define CONFIG_INSPECTION 0
#define CONFIG_INTERNAL_STATS 0 #define CONFIG_INTERNAL_STATS 0
#define CONFIG_INTER_STATS_ONLY 0 #define CONFIG_INTER_STATS_ONLY 0
#define CONFIG_LIBYUV 0 #define CONFIG_LIBYUV 0
#define CONFIG_LOWBITDEPTH 0 #define CONFIG_LOWBITDEPTH 1
#define CONFIG_MAX_DECODE_PROFILE 2
#define CONFIG_MISMATCH_DEBUG 0 #define CONFIG_MISMATCH_DEBUG 0
#define CONFIG_MSVS 0
#define CONFIG_MULTITHREAD 1 #define CONFIG_MULTITHREAD 1
#define CONFIG_NORMAL_TILE_MODE 0
#define CONFIG_OS_SUPPORT 1 #define CONFIG_OS_SUPPORT 1
#define CONFIG_PIC 0 #define CONFIG_PIC 0
#define CONFIG_RD_DEBUG 0 #define CONFIG_RD_DEBUG 0
#define CONFIG_REDUCED_ENCODER_BORDER 0
#define CONFIG_RUNTIME_CPU_DETECT 1 #define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0 #define CONFIG_SHARED 0
#define CONFIG_SHARP_SETTINGS 0
#define CONFIG_SIZE_LIMIT 0 #define CONFIG_SIZE_LIMIT 0
#define CONFIG_SPATIAL_RESAMPLING 1 #define CONFIG_SPATIAL_RESAMPLING 1
#define CONFIG_STATIC 1 #define CONFIG_STATIC 1

View file

@ -28,6 +28,7 @@ RTCD_EXTERN void (*aom_blend_a64_hmask)(uint8_t *dst, uint32_t dst_stride, const
void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_avx2(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h); void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h);
@ -1232,6 +1233,7 @@ void aom_highbd_v_predictor_8x8_sse2(uint16_t *dst, ptrdiff_t y_stride, const ui
void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_avx2(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
@ -1727,6 +1729,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1;
aom_blend_a64_mask = aom_blend_a64_mask_c; aom_blend_a64_mask = aom_blend_a64_mask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1;
if (flags & HAS_AVX2) aom_blend_a64_mask = aom_blend_a64_mask_avx2;
aom_blend_a64_vmask = aom_blend_a64_vmask_c; aom_blend_a64_vmask = aom_blend_a64_vmask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1;
aom_convolve8_horiz = aom_convolve8_horiz_sse2; aom_convolve8_horiz = aom_convolve8_horiz_sse2;
@ -1811,6 +1814,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) aom_highbd_lpf_vertical_8_dual = aom_highbd_lpf_vertical_8_dual_avx2; if (flags & HAS_AVX2) aom_highbd_lpf_vertical_8_dual = aom_highbd_lpf_vertical_8_dual_avx2;
aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c; aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c;
if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1; if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1;
if (flags & HAS_AVX2) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_avx2;
aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_c; aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_c;
if (flags & HAS_SSSE3) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_ssse3; if (flags & HAS_SSSE3) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_ssse3;
if (flags & HAS_AVX2) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_avx2; if (flags & HAS_AVX2) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_avx2;

View file

@ -1,6 +1,6 @@
// This file is generated. Do not edit. // This file is generated. Do not edit.
#ifndef AOM_RTCD_H_ #ifndef AV1_RTCD_H_
#define AOM_RTCD_H_ #define AV1_RTCD_H_
#ifdef RTCD_C #ifdef RTCD_C
#define RTCD_EXTERN #define RTCD_EXTERN
@ -58,10 +58,12 @@ RTCD_EXTERN void (*apply_selfguided_restoration)(const uint8_t *dat, int width,
void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd); void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd);
@ -173,6 +175,36 @@ void av1_highbd_dr_prediction_z2_c(uint16_t *dst, ptrdiff_t stride, int bw, int
void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd); void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd);
#define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c #define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c
void av1_highbd_inv_txfm_add_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_32x32)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_4x4)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd);
#define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c #define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c
@ -209,8 +241,7 @@ void av1_highbd_wiener_convolve_add_src_avx2(const uint8_t *src, ptrdiff_t src_s
RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps); RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps);
void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x16_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_16x16 av1_inv_txfm2d_add_16x16_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_16x16)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c #define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c
@ -228,8 +259,7 @@ void av1_inv_txfm2d_add_32x16_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c #define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c
void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x32_avx2(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_32x32 av1_inv_txfm2d_add_32x32_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_32x32)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c #define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c
@ -254,8 +284,7 @@ void av1_inv_txfm2d_add_64x32_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c #define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c
void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_64x64_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_64x64 av1_inv_txfm2d_add_64x64_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_64x64)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c #define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c
@ -295,18 +324,18 @@ void av1_jnt_convolve_y_sse2(const uint8_t *src, int src_stride, uint8_t *dst, i
void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
void av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height, RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_upsample_intra_edge_c(uint8_t *p, int sz); void av1_upsample_intra_edge_c(uint8_t *p, int sz);
void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz); void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz);
@ -398,7 +427,7 @@ cfl_subtract_average_fn get_subtract_average_fn_sse2(TX_SIZE tx_size);
cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size); cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size);
RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size); RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size);
void aom_rtcd(void); void av1_rtcd(void);
#ifdef RTCD_C #ifdef RTCD_C
#include "aom_ports/x86.h" #include "aom_ports/x86.h"
@ -413,8 +442,10 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2; if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2;
av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c; av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_avx2;
av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c; av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2;
av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c; av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c;
if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3; if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2; if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2;
@ -451,6 +482,22 @@ static void setup_rtcd_internal(void)
av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c; av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c;
if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3; if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3;
if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2; if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2;
av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_avx2;
av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c; av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c;
if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1; if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1;
if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2; if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2;
@ -468,14 +515,8 @@ static void setup_rtcd_internal(void)
av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c; av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c;
if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3; if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3;
if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2; if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2;
av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_sse4_1;
av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_c;
if (flags & HAS_AVX2) av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_avx2;
av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c; av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1;
av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_sse4_1;
av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c; av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1;
av1_inv_txfm_add = av1_inv_txfm_add_c; av1_inv_txfm_add = av1_inv_txfm_add_c;

View file

@ -14,6 +14,7 @@ ARCH_MIPS equ 0
ARCH_PPC equ 0 ARCH_PPC equ 0
ARCH_X86 equ 1 ARCH_X86 equ 1
ARCH_X86_64 equ 0 ARCH_X86_64 equ 0
CONFIG_2PASS_PARTITION_SEARCH_LVL equ 1
CONFIG_ACCOUNTING equ 0 CONFIG_ACCOUNTING equ 0
CONFIG_ANALYZER equ 0 CONFIG_ANALYZER equ 0
CONFIG_AV1_DECODER equ 1 CONFIG_AV1_DECODER equ 1
@ -21,30 +22,35 @@ CONFIG_AV1_ENCODER equ 0
CONFIG_BIG_ENDIAN equ 0 CONFIG_BIG_ENDIAN equ 0
CONFIG_BITSTREAM_DEBUG equ 0 CONFIG_BITSTREAM_DEBUG equ 0
CONFIG_COEFFICIENT_RANGE_CHECKING equ 0 CONFIG_COEFFICIENT_RANGE_CHECKING equ 0
CONFIG_COLLECT_INTER_MODE_RD_STATS equ 1 CONFIG_COLLECT_INTER_MODE_RD_STATS equ 0
CONFIG_COLLECT_RD_STATS equ 0 CONFIG_COLLECT_RD_STATS equ 0
CONFIG_DEBUG equ 0 CONFIG_DEBUG equ 0
CONFIG_DENOISE equ 0 CONFIG_DENOISE equ 1
CONFIG_DIST_8X8 equ 1 CONFIG_DIST_8X8 equ 0
CONFIG_ENTROPY_STATS equ 0 CONFIG_ENTROPY_STATS equ 0
CONFIG_FILEOPTIONS equ 1 CONFIG_FILEOPTIONS equ 1
CONFIG_FIX_GF_LENGTH equ 1
CONFIG_FP_MB_STATS equ 0 CONFIG_FP_MB_STATS equ 0
CONFIG_GCC equ 1 CONFIG_GCC equ 1
CONFIG_GCOV equ 0 CONFIG_GCOV equ 0
CONFIG_GLOBAL_MOTION_SEARCH equ 1
CONFIG_GPROF equ 0 CONFIG_GPROF equ 0
CONFIG_INSPECTION equ 0 CONFIG_INSPECTION equ 0
CONFIG_INTERNAL_STATS equ 0 CONFIG_INTERNAL_STATS equ 0
CONFIG_INTER_STATS_ONLY equ 0 CONFIG_INTER_STATS_ONLY equ 0
CONFIG_LIBYUV equ 0 CONFIG_LIBYUV equ 0
CONFIG_LOWBITDEPTH equ 0 CONFIG_LOWBITDEPTH equ 1
CONFIG_MAX_DECODE_PROFILE equ 2
CONFIG_MISMATCH_DEBUG equ 0 CONFIG_MISMATCH_DEBUG equ 0
CONFIG_MSVS equ 1
CONFIG_MULTITHREAD equ 1 CONFIG_MULTITHREAD equ 1
CONFIG_NORMAL_TILE_MODE equ 0
CONFIG_OS_SUPPORT equ 1 CONFIG_OS_SUPPORT equ 1
CONFIG_PIC equ 0 CONFIG_PIC equ 0
CONFIG_RD_DEBUG equ 0 CONFIG_RD_DEBUG equ 0
CONFIG_REDUCED_ENCODER_BORDER equ 0
CONFIG_RUNTIME_CPU_DETECT equ 1 CONFIG_RUNTIME_CPU_DETECT equ 1
CONFIG_SHARED equ 0 CONFIG_SHARED equ 0
CONFIG_SHARP_SETTINGS equ 0
CONFIG_SIZE_LIMIT equ 0 CONFIG_SIZE_LIMIT equ 0
CONFIG_SPATIAL_RESAMPLING equ 1 CONFIG_SPATIAL_RESAMPLING equ 1
CONFIG_STATIC equ 1 CONFIG_STATIC equ 1

View file

@ -16,6 +16,7 @@
#define ARCH_PPC 0 #define ARCH_PPC 0
#define ARCH_X86 1 #define ARCH_X86 1
#define ARCH_X86_64 0 #define ARCH_X86_64 0
#define CONFIG_2PASS_PARTITION_SEARCH_LVL 1
#define CONFIG_ACCOUNTING 0 #define CONFIG_ACCOUNTING 0
#define CONFIG_ANALYZER 0 #define CONFIG_ANALYZER 0
#define CONFIG_AV1_DECODER 1 #define CONFIG_AV1_DECODER 1
@ -23,30 +24,35 @@
#define CONFIG_BIG_ENDIAN 0 #define CONFIG_BIG_ENDIAN 0
#define CONFIG_BITSTREAM_DEBUG 0 #define CONFIG_BITSTREAM_DEBUG 0
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 #define CONFIG_COEFFICIENT_RANGE_CHECKING 0
#define CONFIG_COLLECT_INTER_MODE_RD_STATS 1 #define CONFIG_COLLECT_INTER_MODE_RD_STATS 0
#define CONFIG_COLLECT_RD_STATS 0 #define CONFIG_COLLECT_RD_STATS 0
#define CONFIG_DEBUG 0 #define CONFIG_DEBUG 0
#define CONFIG_DENOISE 0 #define CONFIG_DENOISE 1
#define CONFIG_DIST_8X8 1 #define CONFIG_DIST_8X8 0
#define CONFIG_ENTROPY_STATS 0 #define CONFIG_ENTROPY_STATS 0
#define CONFIG_FILEOPTIONS 1 #define CONFIG_FILEOPTIONS 1
#define CONFIG_FIX_GF_LENGTH 1
#define CONFIG_FP_MB_STATS 0 #define CONFIG_FP_MB_STATS 0
#define CONFIG_GCC 1 #define CONFIG_GCC 1
#define CONFIG_GCOV 0 #define CONFIG_GCOV 0
#define CONFIG_GLOBAL_MOTION_SEARCH 1
#define CONFIG_GPROF 0 #define CONFIG_GPROF 0
#define CONFIG_INSPECTION 0 #define CONFIG_INSPECTION 0
#define CONFIG_INTERNAL_STATS 0 #define CONFIG_INTERNAL_STATS 0
#define CONFIG_INTER_STATS_ONLY 0 #define CONFIG_INTER_STATS_ONLY 0
#define CONFIG_LIBYUV 0 #define CONFIG_LIBYUV 0
#define CONFIG_LOWBITDEPTH 0 #define CONFIG_LOWBITDEPTH 1
#define CONFIG_MAX_DECODE_PROFILE 2
#define CONFIG_MISMATCH_DEBUG 0 #define CONFIG_MISMATCH_DEBUG 0
#define CONFIG_MSVS 1
#define CONFIG_MULTITHREAD 1 #define CONFIG_MULTITHREAD 1
#define CONFIG_NORMAL_TILE_MODE 0
#define CONFIG_OS_SUPPORT 1 #define CONFIG_OS_SUPPORT 1
#define CONFIG_PIC 0 #define CONFIG_PIC 0
#define CONFIG_RD_DEBUG 0 #define CONFIG_RD_DEBUG 0
#define CONFIG_REDUCED_ENCODER_BORDER 0
#define CONFIG_RUNTIME_CPU_DETECT 1 #define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0 #define CONFIG_SHARED 0
#define CONFIG_SHARP_SETTINGS 0
#define CONFIG_SIZE_LIMIT 0 #define CONFIG_SIZE_LIMIT 0
#define CONFIG_SPATIAL_RESAMPLING 1 #define CONFIG_SPATIAL_RESAMPLING 1
#define CONFIG_STATIC 1 #define CONFIG_STATIC 1

View file

@ -28,6 +28,7 @@ RTCD_EXTERN void (*aom_blend_a64_hmask)(uint8_t *dst, uint32_t dst_stride, const
void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_avx2(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h); void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h);
@ -1230,6 +1231,7 @@ RTCD_EXTERN void (*aom_highbd_v_predictor_8x8)(uint16_t *dst, ptrdiff_t y_stride
void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_avx2(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
@ -1725,6 +1727,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1;
aom_blend_a64_mask = aom_blend_a64_mask_c; aom_blend_a64_mask = aom_blend_a64_mask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1;
if (flags & HAS_AVX2) aom_blend_a64_mask = aom_blend_a64_mask_avx2;
aom_blend_a64_vmask = aom_blend_a64_vmask_c; aom_blend_a64_vmask = aom_blend_a64_vmask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1;
aom_convolve8_horiz = aom_convolve8_horiz_c; aom_convolve8_horiz = aom_convolve8_horiz_c;
@ -2125,6 +2128,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_SSE2) aom_highbd_v_predictor_8x8 = aom_highbd_v_predictor_8x8_sse2; if (flags & HAS_SSE2) aom_highbd_v_predictor_8x8 = aom_highbd_v_predictor_8x8_sse2;
aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c; aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c;
if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1; if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1;
if (flags & HAS_AVX2) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_avx2;
aom_lpf_horizontal_14 = aom_lpf_horizontal_14_c; aom_lpf_horizontal_14 = aom_lpf_horizontal_14_c;
if (flags & HAS_SSE2) aom_lpf_horizontal_14 = aom_lpf_horizontal_14_sse2; if (flags & HAS_SSE2) aom_lpf_horizontal_14 = aom_lpf_horizontal_14_sse2;
aom_lpf_horizontal_14_dual = aom_lpf_horizontal_14_dual_c; aom_lpf_horizontal_14_dual = aom_lpf_horizontal_14_dual_c;

View file

@ -1,6 +1,6 @@
// This file is generated. Do not edit. // This file is generated. Do not edit.
#ifndef AOM_RTCD_H_ #ifndef AV1_RTCD_H_
#define AOM_RTCD_H_ #define AV1_RTCD_H_
#ifdef RTCD_C #ifdef RTCD_C
#define RTCD_EXTERN #define RTCD_EXTERN
@ -58,10 +58,12 @@ RTCD_EXTERN void (*apply_selfguided_restoration)(const uint8_t *dat, int width,
void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd); void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd);
@ -170,6 +172,36 @@ void av1_highbd_dr_prediction_z2_c(uint16_t *dst, ptrdiff_t stride, int bw, int
void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd); void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd);
#define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c #define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c
void av1_highbd_inv_txfm_add_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_32x32)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_4x4)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd);
#define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c #define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c
@ -206,8 +238,7 @@ void av1_highbd_wiener_convolve_add_src_avx2(const uint8_t *src, ptrdiff_t src_s
RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps); RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps);
void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x16_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_16x16 av1_inv_txfm2d_add_16x16_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_16x16)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c #define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c
@ -225,8 +256,7 @@ void av1_inv_txfm2d_add_32x16_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c #define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c
void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x32_avx2(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_32x32 av1_inv_txfm2d_add_32x32_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_32x32)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c #define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c
@ -251,8 +281,7 @@ void av1_inv_txfm2d_add_64x32_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c #define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c
void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_64x64_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_64x64 av1_inv_txfm2d_add_64x64_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_64x64)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c #define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c
@ -292,18 +321,18 @@ void av1_jnt_convolve_y_sse2(const uint8_t *src, int src_stride, uint8_t *dst, i
void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
void av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height, RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_upsample_intra_edge_c(uint8_t *p, int sz); void av1_upsample_intra_edge_c(uint8_t *p, int sz);
void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz); void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz);
@ -395,7 +424,7 @@ cfl_subtract_average_fn get_subtract_average_fn_sse2(TX_SIZE tx_size);
cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size); cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size);
RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size); RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size);
void aom_rtcd(void); void av1_rtcd(void);
#ifdef RTCD_C #ifdef RTCD_C
#include "aom_ports/x86.h" #include "aom_ports/x86.h"
@ -410,8 +439,10 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2; if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2;
av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c; av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_avx2;
av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c; av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2;
av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c; av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c;
if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3; if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2; if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2;
@ -453,6 +484,22 @@ static void setup_rtcd_internal(void)
av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c; av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c;
if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3; if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3;
if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2; if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2;
av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_avx2;
av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c; av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c;
if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1; if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1;
if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2; if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2;
@ -470,14 +517,8 @@ static void setup_rtcd_internal(void)
av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c; av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c;
if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3; if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3;
if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2; if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2;
av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_sse4_1;
av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_c;
if (flags & HAS_AVX2) av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_avx2;
av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c; av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1;
av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_sse4_1;
av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c; av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1;
av1_inv_txfm_add = av1_inv_txfm_add_c; av1_inv_txfm_add = av1_inv_txfm_add_c;

View file

@ -14,6 +14,7 @@ ARCH_MIPS equ 0
ARCH_PPC equ 0 ARCH_PPC equ 0
ARCH_X86 equ 1 ARCH_X86 equ 1
ARCH_X86_64 equ 0 ARCH_X86_64 equ 0
CONFIG_2PASS_PARTITION_SEARCH_LVL equ 1
CONFIG_ACCOUNTING equ 0 CONFIG_ACCOUNTING equ 0
CONFIG_ANALYZER equ 0 CONFIG_ANALYZER equ 0
CONFIG_AV1_DECODER equ 1 CONFIG_AV1_DECODER equ 1
@ -21,30 +22,35 @@ CONFIG_AV1_ENCODER equ 0
CONFIG_BIG_ENDIAN equ 0 CONFIG_BIG_ENDIAN equ 0
CONFIG_BITSTREAM_DEBUG equ 0 CONFIG_BITSTREAM_DEBUG equ 0
CONFIG_COEFFICIENT_RANGE_CHECKING equ 0 CONFIG_COEFFICIENT_RANGE_CHECKING equ 0
CONFIG_COLLECT_INTER_MODE_RD_STATS equ 1 CONFIG_COLLECT_INTER_MODE_RD_STATS equ 0
CONFIG_COLLECT_RD_STATS equ 0 CONFIG_COLLECT_RD_STATS equ 0
CONFIG_DEBUG equ 0 CONFIG_DEBUG equ 0
CONFIG_DENOISE equ 0 CONFIG_DENOISE equ 1
CONFIG_DIST_8X8 equ 1 CONFIG_DIST_8X8 equ 0
CONFIG_ENTROPY_STATS equ 0 CONFIG_ENTROPY_STATS equ 0
CONFIG_FILEOPTIONS equ 1 CONFIG_FILEOPTIONS equ 1
CONFIG_FIX_GF_LENGTH equ 1
CONFIG_FP_MB_STATS equ 0 CONFIG_FP_MB_STATS equ 0
CONFIG_GCC equ 1 CONFIG_GCC equ 1
CONFIG_GCOV equ 0 CONFIG_GCOV equ 0
CONFIG_GLOBAL_MOTION_SEARCH equ 1
CONFIG_GPROF equ 0 CONFIG_GPROF equ 0
CONFIG_INSPECTION equ 0 CONFIG_INSPECTION equ 0
CONFIG_INTERNAL_STATS equ 0 CONFIG_INTERNAL_STATS equ 0
CONFIG_INTER_STATS_ONLY equ 0 CONFIG_INTER_STATS_ONLY equ 0
CONFIG_LIBYUV equ 0 CONFIG_LIBYUV equ 0
CONFIG_LOWBITDEPTH equ 0 CONFIG_LOWBITDEPTH equ 1
CONFIG_MAX_DECODE_PROFILE equ 2
CONFIG_MISMATCH_DEBUG equ 0 CONFIG_MISMATCH_DEBUG equ 0
CONFIG_MSVS equ 0
CONFIG_MULTITHREAD equ 1 CONFIG_MULTITHREAD equ 1
CONFIG_NORMAL_TILE_MODE equ 0
CONFIG_OS_SUPPORT equ 1 CONFIG_OS_SUPPORT equ 1
CONFIG_PIC equ 0 CONFIG_PIC equ 0
CONFIG_RD_DEBUG equ 0 CONFIG_RD_DEBUG equ 0
CONFIG_REDUCED_ENCODER_BORDER equ 0
CONFIG_RUNTIME_CPU_DETECT equ 1 CONFIG_RUNTIME_CPU_DETECT equ 1
CONFIG_SHARED equ 0 CONFIG_SHARED equ 0
CONFIG_SHARP_SETTINGS equ 0
CONFIG_SIZE_LIMIT equ 0 CONFIG_SIZE_LIMIT equ 0
CONFIG_SPATIAL_RESAMPLING equ 1 CONFIG_SPATIAL_RESAMPLING equ 1
CONFIG_STATIC equ 1 CONFIG_STATIC equ 1

View file

@ -16,6 +16,7 @@
#define ARCH_PPC 0 #define ARCH_PPC 0
#define ARCH_X86 1 #define ARCH_X86 1
#define ARCH_X86_64 0 #define ARCH_X86_64 0
#define CONFIG_2PASS_PARTITION_SEARCH_LVL 1
#define CONFIG_ACCOUNTING 0 #define CONFIG_ACCOUNTING 0
#define CONFIG_ANALYZER 0 #define CONFIG_ANALYZER 0
#define CONFIG_AV1_DECODER 1 #define CONFIG_AV1_DECODER 1
@ -23,30 +24,35 @@
#define CONFIG_BIG_ENDIAN 0 #define CONFIG_BIG_ENDIAN 0
#define CONFIG_BITSTREAM_DEBUG 0 #define CONFIG_BITSTREAM_DEBUG 0
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 #define CONFIG_COEFFICIENT_RANGE_CHECKING 0
#define CONFIG_COLLECT_INTER_MODE_RD_STATS 1 #define CONFIG_COLLECT_INTER_MODE_RD_STATS 0
#define CONFIG_COLLECT_RD_STATS 0 #define CONFIG_COLLECT_RD_STATS 0
#define CONFIG_DEBUG 0 #define CONFIG_DEBUG 0
#define CONFIG_DENOISE 0 #define CONFIG_DENOISE 1
#define CONFIG_DIST_8X8 1 #define CONFIG_DIST_8X8 0
#define CONFIG_ENTROPY_STATS 0 #define CONFIG_ENTROPY_STATS 0
#define CONFIG_FILEOPTIONS 1 #define CONFIG_FILEOPTIONS 1
#define CONFIG_FIX_GF_LENGTH 1
#define CONFIG_FP_MB_STATS 0 #define CONFIG_FP_MB_STATS 0
#define CONFIG_GCC 1 #define CONFIG_GCC 1
#define CONFIG_GCOV 0 #define CONFIG_GCOV 0
#define CONFIG_GLOBAL_MOTION_SEARCH 1
#define CONFIG_GPROF 0 #define CONFIG_GPROF 0
#define CONFIG_INSPECTION 0 #define CONFIG_INSPECTION 0
#define CONFIG_INTERNAL_STATS 0 #define CONFIG_INTERNAL_STATS 0
#define CONFIG_INTER_STATS_ONLY 0 #define CONFIG_INTER_STATS_ONLY 0
#define CONFIG_LIBYUV 0 #define CONFIG_LIBYUV 0
#define CONFIG_LOWBITDEPTH 0 #define CONFIG_LOWBITDEPTH 1
#define CONFIG_MAX_DECODE_PROFILE 2
#define CONFIG_MISMATCH_DEBUG 0 #define CONFIG_MISMATCH_DEBUG 0
#define CONFIG_MSVS 0
#define CONFIG_MULTITHREAD 1 #define CONFIG_MULTITHREAD 1
#define CONFIG_NORMAL_TILE_MODE 0
#define CONFIG_OS_SUPPORT 1 #define CONFIG_OS_SUPPORT 1
#define CONFIG_PIC 0 #define CONFIG_PIC 0
#define CONFIG_RD_DEBUG 0 #define CONFIG_RD_DEBUG 0
#define CONFIG_REDUCED_ENCODER_BORDER 0
#define CONFIG_RUNTIME_CPU_DETECT 1 #define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0 #define CONFIG_SHARED 0
#define CONFIG_SHARP_SETTINGS 0
#define CONFIG_SIZE_LIMIT 0 #define CONFIG_SIZE_LIMIT 0
#define CONFIG_SPATIAL_RESAMPLING 1 #define CONFIG_SPATIAL_RESAMPLING 1
#define CONFIG_STATIC 1 #define CONFIG_STATIC 1

View file

@ -28,6 +28,7 @@ RTCD_EXTERN void (*aom_blend_a64_hmask)(uint8_t *dst, uint32_t dst_stride, const
void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_avx2(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h); void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h);
@ -1230,6 +1231,7 @@ RTCD_EXTERN void (*aom_highbd_v_predictor_8x8)(uint16_t *dst, ptrdiff_t y_stride
void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_avx2(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
@ -1725,6 +1727,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1;
aom_blend_a64_mask = aom_blend_a64_mask_c; aom_blend_a64_mask = aom_blend_a64_mask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1;
if (flags & HAS_AVX2) aom_blend_a64_mask = aom_blend_a64_mask_avx2;
aom_blend_a64_vmask = aom_blend_a64_vmask_c; aom_blend_a64_vmask = aom_blend_a64_vmask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1;
aom_convolve8_horiz = aom_convolve8_horiz_c; aom_convolve8_horiz = aom_convolve8_horiz_c;
@ -2125,6 +2128,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_SSE2) aom_highbd_v_predictor_8x8 = aom_highbd_v_predictor_8x8_sse2; if (flags & HAS_SSE2) aom_highbd_v_predictor_8x8 = aom_highbd_v_predictor_8x8_sse2;
aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c; aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c;
if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1; if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1;
if (flags & HAS_AVX2) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_avx2;
aom_lpf_horizontal_14 = aom_lpf_horizontal_14_c; aom_lpf_horizontal_14 = aom_lpf_horizontal_14_c;
if (flags & HAS_SSE2) aom_lpf_horizontal_14 = aom_lpf_horizontal_14_sse2; if (flags & HAS_SSE2) aom_lpf_horizontal_14 = aom_lpf_horizontal_14_sse2;
aom_lpf_horizontal_14_dual = aom_lpf_horizontal_14_dual_c; aom_lpf_horizontal_14_dual = aom_lpf_horizontal_14_dual_c;

View file

@ -1,6 +1,6 @@
// This file is generated. Do not edit. // This file is generated. Do not edit.
#ifndef AOM_RTCD_H_ #ifndef AV1_RTCD_H_
#define AOM_RTCD_H_ #define AV1_RTCD_H_
#ifdef RTCD_C #ifdef RTCD_C
#define RTCD_EXTERN #define RTCD_EXTERN
@ -58,10 +58,12 @@ RTCD_EXTERN void (*apply_selfguided_restoration)(const uint8_t *dat, int width,
void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd); void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd);
@ -170,6 +172,36 @@ void av1_highbd_dr_prediction_z2_c(uint16_t *dst, ptrdiff_t stride, int bw, int
void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd); void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd);
#define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c #define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c
void av1_highbd_inv_txfm_add_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_32x32)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_4x4)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd);
#define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c #define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c
@ -206,8 +238,7 @@ void av1_highbd_wiener_convolve_add_src_avx2(const uint8_t *src, ptrdiff_t src_s
RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps); RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps);
void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x16_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_16x16 av1_inv_txfm2d_add_16x16_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_16x16)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c #define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c
@ -225,8 +256,7 @@ void av1_inv_txfm2d_add_32x16_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c #define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c
void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x32_avx2(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_32x32 av1_inv_txfm2d_add_32x32_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_32x32)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c #define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c
@ -251,8 +281,7 @@ void av1_inv_txfm2d_add_64x32_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c #define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c
void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_64x64_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_64x64 av1_inv_txfm2d_add_64x64_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_64x64)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c #define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c
@ -292,18 +321,18 @@ void av1_jnt_convolve_y_sse2(const uint8_t *src, int src_stride, uint8_t *dst, i
void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
void av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height, RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_upsample_intra_edge_c(uint8_t *p, int sz); void av1_upsample_intra_edge_c(uint8_t *p, int sz);
void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz); void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz);
@ -395,7 +424,7 @@ cfl_subtract_average_fn get_subtract_average_fn_sse2(TX_SIZE tx_size);
cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size); cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size);
RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size); RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size);
void aom_rtcd(void); void av1_rtcd(void);
#ifdef RTCD_C #ifdef RTCD_C
#include "aom_ports/x86.h" #include "aom_ports/x86.h"
@ -410,8 +439,10 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2; if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2;
av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c; av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_avx2;
av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c; av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2;
av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c; av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c;
if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3; if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2; if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2;
@ -453,6 +484,22 @@ static void setup_rtcd_internal(void)
av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c; av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c;
if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3; if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3;
if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2; if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2;
av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_avx2;
av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c; av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c;
if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1; if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1;
if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2; if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2;
@ -470,14 +517,8 @@ static void setup_rtcd_internal(void)
av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c; av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c;
if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3; if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3;
if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2; if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2;
av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_sse4_1;
av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_c;
if (flags & HAS_AVX2) av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_avx2;
av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c; av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1;
av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_sse4_1;
av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c; av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1;
av1_inv_txfm_add = av1_inv_txfm_add_c; av1_inv_txfm_add = av1_inv_txfm_add_c;

View file

@ -14,6 +14,7 @@ ARCH_MIPS equ 0
ARCH_PPC equ 0 ARCH_PPC equ 0
ARCH_X86 equ 0 ARCH_X86 equ 0
ARCH_X86_64 equ 1 ARCH_X86_64 equ 1
CONFIG_2PASS_PARTITION_SEARCH_LVL equ 1
CONFIG_ACCOUNTING equ 0 CONFIG_ACCOUNTING equ 0
CONFIG_ANALYZER equ 0 CONFIG_ANALYZER equ 0
CONFIG_AV1_DECODER equ 1 CONFIG_AV1_DECODER equ 1
@ -21,30 +22,35 @@ CONFIG_AV1_ENCODER equ 0
CONFIG_BIG_ENDIAN equ 0 CONFIG_BIG_ENDIAN equ 0
CONFIG_BITSTREAM_DEBUG equ 0 CONFIG_BITSTREAM_DEBUG equ 0
CONFIG_COEFFICIENT_RANGE_CHECKING equ 0 CONFIG_COEFFICIENT_RANGE_CHECKING equ 0
CONFIG_COLLECT_INTER_MODE_RD_STATS equ 1 CONFIG_COLLECT_INTER_MODE_RD_STATS equ 0
CONFIG_COLLECT_RD_STATS equ 0 CONFIG_COLLECT_RD_STATS equ 0
CONFIG_DEBUG equ 0 CONFIG_DEBUG equ 0
CONFIG_DENOISE equ 0 CONFIG_DENOISE equ 1
CONFIG_DIST_8X8 equ 1 CONFIG_DIST_8X8 equ 0
CONFIG_ENTROPY_STATS equ 0 CONFIG_ENTROPY_STATS equ 0
CONFIG_FILEOPTIONS equ 1 CONFIG_FILEOPTIONS equ 1
CONFIG_FIX_GF_LENGTH equ 1
CONFIG_FP_MB_STATS equ 0 CONFIG_FP_MB_STATS equ 0
CONFIG_GCC equ 1 CONFIG_GCC equ 1
CONFIG_GCOV equ 0 CONFIG_GCOV equ 0
CONFIG_GLOBAL_MOTION_SEARCH equ 1
CONFIG_GPROF equ 0 CONFIG_GPROF equ 0
CONFIG_INSPECTION equ 0 CONFIG_INSPECTION equ 0
CONFIG_INTERNAL_STATS equ 0 CONFIG_INTERNAL_STATS equ 0
CONFIG_INTER_STATS_ONLY equ 0 CONFIG_INTER_STATS_ONLY equ 0
CONFIG_LIBYUV equ 0 CONFIG_LIBYUV equ 0
CONFIG_LOWBITDEPTH equ 0 CONFIG_LOWBITDEPTH equ 1
CONFIG_MAX_DECODE_PROFILE equ 2
CONFIG_MISMATCH_DEBUG equ 0 CONFIG_MISMATCH_DEBUG equ 0
CONFIG_MSVS equ 0
CONFIG_MULTITHREAD equ 1 CONFIG_MULTITHREAD equ 1
CONFIG_NORMAL_TILE_MODE equ 0
CONFIG_OS_SUPPORT equ 1 CONFIG_OS_SUPPORT equ 1
CONFIG_PIC equ 0 CONFIG_PIC equ 0
CONFIG_RD_DEBUG equ 0 CONFIG_RD_DEBUG equ 0
CONFIG_REDUCED_ENCODER_BORDER equ 0
CONFIG_RUNTIME_CPU_DETECT equ 1 CONFIG_RUNTIME_CPU_DETECT equ 1
CONFIG_SHARED equ 0 CONFIG_SHARED equ 0
CONFIG_SHARP_SETTINGS equ 0
CONFIG_SIZE_LIMIT equ 0 CONFIG_SIZE_LIMIT equ 0
CONFIG_SPATIAL_RESAMPLING equ 1 CONFIG_SPATIAL_RESAMPLING equ 1
CONFIG_STATIC equ 1 CONFIG_STATIC equ 1

View file

@ -16,6 +16,7 @@
#define ARCH_PPC 0 #define ARCH_PPC 0
#define ARCH_X86 0 #define ARCH_X86 0
#define ARCH_X86_64 1 #define ARCH_X86_64 1
#define CONFIG_2PASS_PARTITION_SEARCH_LVL 1
#define CONFIG_ACCOUNTING 0 #define CONFIG_ACCOUNTING 0
#define CONFIG_ANALYZER 0 #define CONFIG_ANALYZER 0
#define CONFIG_AV1_DECODER 1 #define CONFIG_AV1_DECODER 1
@ -23,30 +24,35 @@
#define CONFIG_BIG_ENDIAN 0 #define CONFIG_BIG_ENDIAN 0
#define CONFIG_BITSTREAM_DEBUG 0 #define CONFIG_BITSTREAM_DEBUG 0
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 #define CONFIG_COEFFICIENT_RANGE_CHECKING 0
#define CONFIG_COLLECT_INTER_MODE_RD_STATS 1 #define CONFIG_COLLECT_INTER_MODE_RD_STATS 0
#define CONFIG_COLLECT_RD_STATS 0 #define CONFIG_COLLECT_RD_STATS 0
#define CONFIG_DEBUG 0 #define CONFIG_DEBUG 0
#define CONFIG_DENOISE 0 #define CONFIG_DENOISE 1
#define CONFIG_DIST_8X8 1 #define CONFIG_DIST_8X8 0
#define CONFIG_ENTROPY_STATS 0 #define CONFIG_ENTROPY_STATS 0
#define CONFIG_FILEOPTIONS 1 #define CONFIG_FILEOPTIONS 1
#define CONFIG_FIX_GF_LENGTH 1
#define CONFIG_FP_MB_STATS 0 #define CONFIG_FP_MB_STATS 0
#define CONFIG_GCC 1 #define CONFIG_GCC 1
#define CONFIG_GCOV 0 #define CONFIG_GCOV 0
#define CONFIG_GLOBAL_MOTION_SEARCH 1
#define CONFIG_GPROF 0 #define CONFIG_GPROF 0
#define CONFIG_INSPECTION 0 #define CONFIG_INSPECTION 0
#define CONFIG_INTERNAL_STATS 0 #define CONFIG_INTERNAL_STATS 0
#define CONFIG_INTER_STATS_ONLY 0 #define CONFIG_INTER_STATS_ONLY 0
#define CONFIG_LIBYUV 0 #define CONFIG_LIBYUV 0
#define CONFIG_LOWBITDEPTH 0 #define CONFIG_LOWBITDEPTH 1
#define CONFIG_MAX_DECODE_PROFILE 2
#define CONFIG_MISMATCH_DEBUG 0 #define CONFIG_MISMATCH_DEBUG 0
#define CONFIG_MSVS 0
#define CONFIG_MULTITHREAD 1 #define CONFIG_MULTITHREAD 1
#define CONFIG_NORMAL_TILE_MODE 0
#define CONFIG_OS_SUPPORT 1 #define CONFIG_OS_SUPPORT 1
#define CONFIG_PIC 0 #define CONFIG_PIC 0
#define CONFIG_RD_DEBUG 0 #define CONFIG_RD_DEBUG 0
#define CONFIG_REDUCED_ENCODER_BORDER 0
#define CONFIG_RUNTIME_CPU_DETECT 1 #define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0 #define CONFIG_SHARED 0
#define CONFIG_SHARP_SETTINGS 0
#define CONFIG_SIZE_LIMIT 0 #define CONFIG_SIZE_LIMIT 0
#define CONFIG_SPATIAL_RESAMPLING 1 #define CONFIG_SPATIAL_RESAMPLING 1
#define CONFIG_STATIC 1 #define CONFIG_STATIC 1

View file

@ -28,6 +28,7 @@ RTCD_EXTERN void (*aom_blend_a64_hmask)(uint8_t *dst, uint32_t dst_stride, const
void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_avx2(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h); void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h);
@ -1232,6 +1233,7 @@ void aom_highbd_v_predictor_8x8_sse2(uint16_t *dst, ptrdiff_t y_stride, const ui
void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_avx2(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
@ -1727,6 +1729,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1;
aom_blend_a64_mask = aom_blend_a64_mask_c; aom_blend_a64_mask = aom_blend_a64_mask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1;
if (flags & HAS_AVX2) aom_blend_a64_mask = aom_blend_a64_mask_avx2;
aom_blend_a64_vmask = aom_blend_a64_vmask_c; aom_blend_a64_vmask = aom_blend_a64_vmask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1;
aom_convolve8_horiz = aom_convolve8_horiz_sse2; aom_convolve8_horiz = aom_convolve8_horiz_sse2;
@ -1811,6 +1814,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) aom_highbd_lpf_vertical_8_dual = aom_highbd_lpf_vertical_8_dual_avx2; if (flags & HAS_AVX2) aom_highbd_lpf_vertical_8_dual = aom_highbd_lpf_vertical_8_dual_avx2;
aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c; aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c;
if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1; if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1;
if (flags & HAS_AVX2) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_avx2;
aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_c; aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_c;
if (flags & HAS_SSSE3) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_ssse3; if (flags & HAS_SSSE3) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_ssse3;
if (flags & HAS_AVX2) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_avx2; if (flags & HAS_AVX2) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_avx2;

View file

@ -1,6 +1,6 @@
// This file is generated. Do not edit. // This file is generated. Do not edit.
#ifndef AOM_RTCD_H_ #ifndef AV1_RTCD_H_
#define AOM_RTCD_H_ #define AV1_RTCD_H_
#ifdef RTCD_C #ifdef RTCD_C
#define RTCD_EXTERN #define RTCD_EXTERN
@ -58,10 +58,12 @@ RTCD_EXTERN void (*apply_selfguided_restoration)(const uint8_t *dat, int width,
void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd); void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd);
@ -173,6 +175,36 @@ void av1_highbd_dr_prediction_z2_c(uint16_t *dst, ptrdiff_t stride, int bw, int
void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd); void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd);
#define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c #define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c
void av1_highbd_inv_txfm_add_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_32x32)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_4x4)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd);
#define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c #define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c
@ -209,8 +241,7 @@ void av1_highbd_wiener_convolve_add_src_avx2(const uint8_t *src, ptrdiff_t src_s
RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps); RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps);
void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x16_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_16x16 av1_inv_txfm2d_add_16x16_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_16x16)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c #define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c
@ -228,8 +259,7 @@ void av1_inv_txfm2d_add_32x16_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c #define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c
void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x32_avx2(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_32x32 av1_inv_txfm2d_add_32x32_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_32x32)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c #define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c
@ -254,8 +284,7 @@ void av1_inv_txfm2d_add_64x32_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c #define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c
void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_64x64_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_64x64 av1_inv_txfm2d_add_64x64_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_64x64)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c #define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c
@ -295,18 +324,18 @@ void av1_jnt_convolve_y_sse2(const uint8_t *src, int src_stride, uint8_t *dst, i
void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
void av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height, RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_upsample_intra_edge_c(uint8_t *p, int sz); void av1_upsample_intra_edge_c(uint8_t *p, int sz);
void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz); void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz);
@ -398,7 +427,7 @@ cfl_subtract_average_fn get_subtract_average_fn_sse2(TX_SIZE tx_size);
cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size); cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size);
RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size); RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size);
void aom_rtcd(void); void av1_rtcd(void);
#ifdef RTCD_C #ifdef RTCD_C
#include "aom_ports/x86.h" #include "aom_ports/x86.h"
@ -413,8 +442,10 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2; if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2;
av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c; av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_avx2;
av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c; av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2;
av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c; av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c;
if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3; if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2; if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2;
@ -451,6 +482,22 @@ static void setup_rtcd_internal(void)
av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c; av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c;
if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3; if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3;
if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2; if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2;
av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_avx2;
av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c; av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c;
if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1; if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1;
if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2; if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2;
@ -468,14 +515,8 @@ static void setup_rtcd_internal(void)
av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c; av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c;
if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3; if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3;
if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2; if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2;
av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_sse4_1;
av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_c;
if (flags & HAS_AVX2) av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_avx2;
av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c; av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1;
av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_sse4_1;
av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c; av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1;
av1_inv_txfm_add = av1_inv_txfm_add_c; av1_inv_txfm_add = av1_inv_txfm_add_c;

View file

@ -14,6 +14,7 @@ ARCH_MIPS equ 0
ARCH_PPC equ 0 ARCH_PPC equ 0
ARCH_X86 equ 0 ARCH_X86 equ 0
ARCH_X86_64 equ 1 ARCH_X86_64 equ 1
CONFIG_2PASS_PARTITION_SEARCH_LVL equ 1
CONFIG_ACCOUNTING equ 0 CONFIG_ACCOUNTING equ 0
CONFIG_ANALYZER equ 0 CONFIG_ANALYZER equ 0
CONFIG_AV1_DECODER equ 1 CONFIG_AV1_DECODER equ 1
@ -21,30 +22,35 @@ CONFIG_AV1_ENCODER equ 0
CONFIG_BIG_ENDIAN equ 0 CONFIG_BIG_ENDIAN equ 0
CONFIG_BITSTREAM_DEBUG equ 0 CONFIG_BITSTREAM_DEBUG equ 0
CONFIG_COEFFICIENT_RANGE_CHECKING equ 0 CONFIG_COEFFICIENT_RANGE_CHECKING equ 0
CONFIG_COLLECT_INTER_MODE_RD_STATS equ 1 CONFIG_COLLECT_INTER_MODE_RD_STATS equ 0
CONFIG_COLLECT_RD_STATS equ 0 CONFIG_COLLECT_RD_STATS equ 0
CONFIG_DEBUG equ 0 CONFIG_DEBUG equ 0
CONFIG_DENOISE equ 0 CONFIG_DENOISE equ 1
CONFIG_DIST_8X8 equ 1 CONFIG_DIST_8X8 equ 0
CONFIG_ENTROPY_STATS equ 0 CONFIG_ENTROPY_STATS equ 0
CONFIG_FILEOPTIONS equ 1 CONFIG_FILEOPTIONS equ 1
CONFIG_FIX_GF_LENGTH equ 1
CONFIG_FP_MB_STATS equ 0 CONFIG_FP_MB_STATS equ 0
CONFIG_GCC equ 1 CONFIG_GCC equ 1
CONFIG_GCOV equ 0 CONFIG_GCOV equ 0
CONFIG_GLOBAL_MOTION_SEARCH equ 1
CONFIG_GPROF equ 0 CONFIG_GPROF equ 0
CONFIG_INSPECTION equ 0 CONFIG_INSPECTION equ 0
CONFIG_INTERNAL_STATS equ 0 CONFIG_INTERNAL_STATS equ 0
CONFIG_INTER_STATS_ONLY equ 0 CONFIG_INTER_STATS_ONLY equ 0
CONFIG_LIBYUV equ 0 CONFIG_LIBYUV equ 0
CONFIG_LOWBITDEPTH equ 0 CONFIG_LOWBITDEPTH equ 1
CONFIG_MAX_DECODE_PROFILE equ 2
CONFIG_MISMATCH_DEBUG equ 0 CONFIG_MISMATCH_DEBUG equ 0
CONFIG_MSVS equ 1
CONFIG_MULTITHREAD equ 1 CONFIG_MULTITHREAD equ 1
CONFIG_NORMAL_TILE_MODE equ 0
CONFIG_OS_SUPPORT equ 1 CONFIG_OS_SUPPORT equ 1
CONFIG_PIC equ 0 CONFIG_PIC equ 0
CONFIG_RD_DEBUG equ 0 CONFIG_RD_DEBUG equ 0
CONFIG_REDUCED_ENCODER_BORDER equ 0
CONFIG_RUNTIME_CPU_DETECT equ 1 CONFIG_RUNTIME_CPU_DETECT equ 1
CONFIG_SHARED equ 0 CONFIG_SHARED equ 0
CONFIG_SHARP_SETTINGS equ 0
CONFIG_SIZE_LIMIT equ 0 CONFIG_SIZE_LIMIT equ 0
CONFIG_SPATIAL_RESAMPLING equ 1 CONFIG_SPATIAL_RESAMPLING equ 1
CONFIG_STATIC equ 1 CONFIG_STATIC equ 1

View file

@ -16,6 +16,7 @@
#define ARCH_PPC 0 #define ARCH_PPC 0
#define ARCH_X86 0 #define ARCH_X86 0
#define ARCH_X86_64 1 #define ARCH_X86_64 1
#define CONFIG_2PASS_PARTITION_SEARCH_LVL 1
#define CONFIG_ACCOUNTING 0 #define CONFIG_ACCOUNTING 0
#define CONFIG_ANALYZER 0 #define CONFIG_ANALYZER 0
#define CONFIG_AV1_DECODER 1 #define CONFIG_AV1_DECODER 1
@ -23,30 +24,35 @@
#define CONFIG_BIG_ENDIAN 0 #define CONFIG_BIG_ENDIAN 0
#define CONFIG_BITSTREAM_DEBUG 0 #define CONFIG_BITSTREAM_DEBUG 0
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 #define CONFIG_COEFFICIENT_RANGE_CHECKING 0
#define CONFIG_COLLECT_INTER_MODE_RD_STATS 1 #define CONFIG_COLLECT_INTER_MODE_RD_STATS 0
#define CONFIG_COLLECT_RD_STATS 0 #define CONFIG_COLLECT_RD_STATS 0
#define CONFIG_DEBUG 0 #define CONFIG_DEBUG 0
#define CONFIG_DENOISE 0 #define CONFIG_DENOISE 1
#define CONFIG_DIST_8X8 1 #define CONFIG_DIST_8X8 0
#define CONFIG_ENTROPY_STATS 0 #define CONFIG_ENTROPY_STATS 0
#define CONFIG_FILEOPTIONS 1 #define CONFIG_FILEOPTIONS 1
#define CONFIG_FIX_GF_LENGTH 1
#define CONFIG_FP_MB_STATS 0 #define CONFIG_FP_MB_STATS 0
#define CONFIG_GCC 1 #define CONFIG_GCC 1
#define CONFIG_GCOV 0 #define CONFIG_GCOV 0
#define CONFIG_GLOBAL_MOTION_SEARCH 1
#define CONFIG_GPROF 0 #define CONFIG_GPROF 0
#define CONFIG_INSPECTION 0 #define CONFIG_INSPECTION 0
#define CONFIG_INTERNAL_STATS 0 #define CONFIG_INTERNAL_STATS 0
#define CONFIG_INTER_STATS_ONLY 0 #define CONFIG_INTER_STATS_ONLY 0
#define CONFIG_LIBYUV 0 #define CONFIG_LIBYUV 0
#define CONFIG_LOWBITDEPTH 0 #define CONFIG_LOWBITDEPTH 1
#define CONFIG_MAX_DECODE_PROFILE 2
#define CONFIG_MISMATCH_DEBUG 0 #define CONFIG_MISMATCH_DEBUG 0
#define CONFIG_MSVS 1
#define CONFIG_MULTITHREAD 1 #define CONFIG_MULTITHREAD 1
#define CONFIG_NORMAL_TILE_MODE 0
#define CONFIG_OS_SUPPORT 1 #define CONFIG_OS_SUPPORT 1
#define CONFIG_PIC 0 #define CONFIG_PIC 0
#define CONFIG_RD_DEBUG 0 #define CONFIG_RD_DEBUG 0
#define CONFIG_REDUCED_ENCODER_BORDER 0
#define CONFIG_RUNTIME_CPU_DETECT 1 #define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0 #define CONFIG_SHARED 0
#define CONFIG_SHARP_SETTINGS 0
#define CONFIG_SIZE_LIMIT 0 #define CONFIG_SIZE_LIMIT 0
#define CONFIG_SPATIAL_RESAMPLING 1 #define CONFIG_SPATIAL_RESAMPLING 1
#define CONFIG_STATIC 1 #define CONFIG_STATIC 1

View file

@ -28,6 +28,7 @@ RTCD_EXTERN void (*aom_blend_a64_hmask)(uint8_t *dst, uint32_t dst_stride, const
void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); void aom_blend_a64_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_mask_avx2(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby); RTCD_EXTERN void (*aom_blend_a64_mask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby);
void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h); void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h);
@ -1232,6 +1233,7 @@ void aom_highbd_v_predictor_8x8_sse2(uint16_t *dst, ptrdiff_t y_stride, const ui
void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); void aom_lowbd_blend_a64_d16_mask_sse4_1(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lowbd_blend_a64_d16_mask_avx2(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params); RTCD_EXTERN void (*aom_lowbd_blend_a64_d16_mask)(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params);
void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
@ -1727,6 +1729,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1;
aom_blend_a64_mask = aom_blend_a64_mask_c; aom_blend_a64_mask = aom_blend_a64_mask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1;
if (flags & HAS_AVX2) aom_blend_a64_mask = aom_blend_a64_mask_avx2;
aom_blend_a64_vmask = aom_blend_a64_vmask_c; aom_blend_a64_vmask = aom_blend_a64_vmask_c;
if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1; if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1;
aom_convolve8_horiz = aom_convolve8_horiz_sse2; aom_convolve8_horiz = aom_convolve8_horiz_sse2;
@ -1811,6 +1814,7 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) aom_highbd_lpf_vertical_8_dual = aom_highbd_lpf_vertical_8_dual_avx2; if (flags & HAS_AVX2) aom_highbd_lpf_vertical_8_dual = aom_highbd_lpf_vertical_8_dual_avx2;
aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c; aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c;
if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1; if (flags & HAS_SSE4_1) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_sse4_1;
if (flags & HAS_AVX2) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_avx2;
aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_c; aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_c;
if (flags & HAS_SSSE3) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_ssse3; if (flags & HAS_SSSE3) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_ssse3;
if (flags & HAS_AVX2) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_avx2; if (flags & HAS_AVX2) aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_avx2;

View file

@ -1,6 +1,6 @@
// This file is generated. Do not edit. // This file is generated. Do not edit.
#ifndef AOM_RTCD_H_ #ifndef AV1_RTCD_H_
#define AOM_RTCD_H_ #define AV1_RTCD_H_
#ifdef RTCD_C #ifdef RTCD_C
#define RTCD_EXTERN #define RTCD_EXTERN
@ -58,10 +58,12 @@ RTCD_EXTERN void (*apply_selfguided_restoration)(const uint8_t *dat, int width,
void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); void av1_build_compound_diffwtd_mask_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w);
void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); void av1_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_d16_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd);
void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd); void av1_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w, int bd);
@ -173,6 +175,36 @@ void av1_highbd_dr_prediction_z2_c(uint16_t *dst, ptrdiff_t stride, int bw, int
void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd); void av1_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd);
#define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c #define av1_highbd_dr_prediction_z3 av1_highbd_dr_prediction_z3_c
void av1_highbd_inv_txfm_add_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_32x32_avx2(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_32x32)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_4x4_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_4x4)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_inv_txfm_add_8x8_sse4_1(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x8)(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param);
void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd);
#define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c #define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c
@ -209,8 +241,7 @@ void av1_highbd_wiener_convolve_add_src_avx2(const uint8_t *src, ptrdiff_t src_s
RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps); RTCD_EXTERN void (*av1_highbd_wiener_convolve_add_src)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const ConvolveParams *conv_params, int bps);
void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x16_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_16x16 av1_inv_txfm2d_add_16x16_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_16x16)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c #define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c
@ -228,8 +259,7 @@ void av1_inv_txfm2d_add_32x16_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c #define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c
void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x32_avx2(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_32x32 av1_inv_txfm2d_add_32x32_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_32x32)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c #define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c
@ -254,8 +284,7 @@ void av1_inv_txfm2d_add_64x32_c(const int32_t *input, uint16_t *output, int stri
#define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c #define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c
void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_64x64_sse4_1(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); #define av1_inv_txfm2d_add_64x64 av1_inv_txfm2d_add_64x64_c
RTCD_EXTERN void (*av1_inv_txfm2d_add_64x64)(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd);
#define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c #define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c
@ -295,18 +324,18 @@ void av1_jnt_convolve_y_sse2(const uint8_t *src, int src_stride, uint8_t *dst, i
void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); void av1_jnt_convolve_y_avx2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params); RTCD_EXTERN void (*av1_jnt_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_q4, const int subpel_y_q4, ConvolveParams *conv_params);
void av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_sse4_1(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height, int av1_selfguided_restoration_avx2(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height, RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t *dgd8, int width, int height,
int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
int sgr_params_idx, int bit_depth, int highbd); int sgr_params_idx, int bit_depth, int highbd);
void av1_upsample_intra_edge_c(uint8_t *p, int sz); void av1_upsample_intra_edge_c(uint8_t *p, int sz);
void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz); void av1_upsample_intra_edge_sse4_1(uint8_t *p, int sz);
@ -398,7 +427,7 @@ cfl_subtract_average_fn get_subtract_average_fn_sse2(TX_SIZE tx_size);
cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size); cfl_subtract_average_fn get_subtract_average_fn_avx2(TX_SIZE tx_size);
RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size); RTCD_EXTERN cfl_subtract_average_fn (*get_subtract_average_fn)(TX_SIZE tx_size);
void aom_rtcd(void); void av1_rtcd(void);
#ifdef RTCD_C #ifdef RTCD_C
#include "aom_ports/x86.h" #include "aom_ports/x86.h"
@ -413,8 +442,10 @@ static void setup_rtcd_internal(void)
if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2; if (flags & HAS_AVX2) apply_selfguided_restoration = apply_selfguided_restoration_avx2;
av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c; av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_avx2;
av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c; av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c;
if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1; if (flags & HAS_SSE4_1) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_sse4_1;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2;
av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c; av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_c;
if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3; if (flags & HAS_SSSE3) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_ssse3;
if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2; if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_highbd = av1_build_compound_diffwtd_mask_highbd_avx2;
@ -451,6 +482,22 @@ static void setup_rtcd_internal(void)
av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c; av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_c;
if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3; if (flags & HAS_SSSE3) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_ssse3;
if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2; if (flags & HAS_AVX2) av1_highbd_convolve_y_sr = av1_highbd_convolve_y_sr_avx2;
av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add = av1_highbd_inv_txfm_add_avx2;
av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_sse4_1;
if (flags & HAS_AVX2) av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
if (flags & HAS_SSE4_1) av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c; av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_c;
if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1; if (flags & HAS_SSE4_1) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_sse4_1;
if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2; if (flags & HAS_AVX2) av1_highbd_jnt_convolve_2d = av1_highbd_jnt_convolve_2d_avx2;
@ -468,14 +515,8 @@ static void setup_rtcd_internal(void)
av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c; av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_c;
if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3; if (flags & HAS_SSSE3) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_ssse3;
if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2; if (flags & HAS_AVX2) av1_highbd_wiener_convolve_add_src = av1_highbd_wiener_convolve_add_src_avx2;
av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_16x16 = av1_inv_txfm2d_add_16x16_sse4_1;
av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_c;
if (flags & HAS_AVX2) av1_inv_txfm2d_add_32x32 = av1_inv_txfm2d_add_32x32_avx2;
av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c; av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_4x4 = av1_inv_txfm2d_add_4x4_sse4_1;
av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_64x64 = av1_inv_txfm2d_add_64x64_sse4_1;
av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c; av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_c;
if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1; if (flags & HAS_SSE4_1) av1_inv_txfm2d_add_8x8 = av1_inv_txfm2d_add_8x8_sse4_1;
av1_inv_txfm_add = av1_inv_txfm_add_c; av1_inv_txfm_add = av1_inv_txfm_add_c;

View file

@ -36,6 +36,7 @@ files = {
'../../third_party/aom/aom_dsp/arm/subtract_neon.c', '../../third_party/aom/aom_dsp/arm/subtract_neon.c',
'../../third_party/aom/aom_dsp/binary_codes_reader.c', '../../third_party/aom/aom_dsp/binary_codes_reader.c',
'../../third_party/aom/aom_dsp/bitreader_buffer.c', '../../third_party/aom/aom_dsp/bitreader_buffer.c',
'../../third_party/aom/aom_dsp/bitwriter_buffer.c',
'../../third_party/aom/aom_dsp/blend_a64_hmask.c', '../../third_party/aom/aom_dsp/blend_a64_hmask.c',
'../../third_party/aom/aom_dsp/blend_a64_mask.c', '../../third_party/aom/aom_dsp/blend_a64_mask.c',
'../../third_party/aom/aom_dsp/blend_a64_vmask.c', '../../third_party/aom/aom_dsp/blend_a64_vmask.c',
@ -67,6 +68,7 @@ files = {
'../../third_party/aom/av1/common/arm/jnt_convolve_neon.c', '../../third_party/aom/av1/common/arm/jnt_convolve_neon.c',
'../../third_party/aom/av1/common/arm/reconinter_neon.c', '../../third_party/aom/av1/common/arm/reconinter_neon.c',
'../../third_party/aom/av1/common/arm/selfguided_neon.c', '../../third_party/aom/av1/common/arm/selfguided_neon.c',
'../../third_party/aom/av1/common/arm/warp_plane_neon.c',
'../../third_party/aom/av1/common/arm/wiener_convolve_neon.c', '../../third_party/aom/av1/common/arm/wiener_convolve_neon.c',
'../../third_party/aom/av1/common/av1_inv_txfm1d.c', '../../third_party/aom/av1/common/av1_inv_txfm1d.c',
'../../third_party/aom/av1/common/av1_inv_txfm2d.c', '../../third_party/aom/av1/common/av1_inv_txfm2d.c',
@ -86,6 +88,7 @@ files = {
'../../third_party/aom/av1/common/frame_buffers.c', '../../third_party/aom/av1/common/frame_buffers.c',
'../../third_party/aom/av1/common/idct.c', '../../third_party/aom/av1/common/idct.c',
'../../third_party/aom/av1/common/mvref_common.c', '../../third_party/aom/av1/common/mvref_common.c',
'../../third_party/aom/av1/common/obu_util.c',
'../../third_party/aom/av1/common/odintrin.c', '../../third_party/aom/av1/common/odintrin.c',
'../../third_party/aom/av1/common/pred_common.c', '../../third_party/aom/av1/common/pred_common.c',
'../../third_party/aom/av1/common/quant_common.c', '../../third_party/aom/av1/common/quant_common.c',
@ -139,6 +142,7 @@ files = {
'../../third_party/aom/aom_dsp/aom_dsp_rtcd.c', '../../third_party/aom/aom_dsp/aom_dsp_rtcd.c',
'../../third_party/aom/aom_dsp/binary_codes_reader.c', '../../third_party/aom/aom_dsp/binary_codes_reader.c',
'../../third_party/aom/aom_dsp/bitreader_buffer.c', '../../third_party/aom/aom_dsp/bitreader_buffer.c',
'../../third_party/aom/aom_dsp/bitwriter_buffer.c',
'../../third_party/aom/aom_dsp/blend_a64_hmask.c', '../../third_party/aom/aom_dsp/blend_a64_hmask.c',
'../../third_party/aom/aom_dsp/blend_a64_mask.c', '../../third_party/aom/aom_dsp/blend_a64_mask.c',
'../../third_party/aom/aom_dsp/blend_a64_vmask.c', '../../third_party/aom/aom_dsp/blend_a64_vmask.c',
@ -177,6 +181,7 @@ files = {
'../../third_party/aom/av1/common/frame_buffers.c', '../../third_party/aom/av1/common/frame_buffers.c',
'../../third_party/aom/av1/common/idct.c', '../../third_party/aom/av1/common/idct.c',
'../../third_party/aom/av1/common/mvref_common.c', '../../third_party/aom/av1/common/mvref_common.c',
'../../third_party/aom/av1/common/obu_util.c',
'../../third_party/aom/av1/common/odintrin.c', '../../third_party/aom/av1/common/odintrin.c',
'../../third_party/aom/av1/common/pred_common.c', '../../third_party/aom/av1/common/pred_common.c',
'../../third_party/aom/av1/common/quant_common.c', '../../third_party/aom/av1/common/quant_common.c',
@ -229,6 +234,7 @@ files = {
'../../third_party/aom/aom_dsp/aom_dsp_rtcd.c', '../../third_party/aom/aom_dsp/aom_dsp_rtcd.c',
'../../third_party/aom/aom_dsp/binary_codes_reader.c', '../../third_party/aom/aom_dsp/binary_codes_reader.c',
'../../third_party/aom/aom_dsp/bitreader_buffer.c', '../../third_party/aom/aom_dsp/bitreader_buffer.c',
'../../third_party/aom/aom_dsp/bitwriter_buffer.c',
'../../third_party/aom/aom_dsp/blend_a64_hmask.c', '../../third_party/aom/aom_dsp/blend_a64_hmask.c',
'../../third_party/aom/aom_dsp/blend_a64_mask.c', '../../third_party/aom/aom_dsp/blend_a64_mask.c',
'../../third_party/aom/aom_dsp/blend_a64_vmask.c', '../../third_party/aom/aom_dsp/blend_a64_vmask.c',
@ -251,6 +257,7 @@ files = {
'../../third_party/aom/aom_dsp/x86/aom_subpixel_bilinear_sse2.asm', '../../third_party/aom/aom_dsp/x86/aom_subpixel_bilinear_sse2.asm',
'../../third_party/aom/aom_dsp/x86/aom_subpixel_bilinear_ssse3.asm', '../../third_party/aom/aom_dsp/x86/aom_subpixel_bilinear_ssse3.asm',
'../../third_party/aom/aom_dsp/x86/blend_a64_hmask_sse4.c', '../../third_party/aom/aom_dsp/x86/blend_a64_hmask_sse4.c',
'../../third_party/aom/aom_dsp/x86/blend_a64_mask_avx2.c',
'../../third_party/aom/aom_dsp/x86/blend_a64_mask_sse4.c', '../../third_party/aom/aom_dsp/x86/blend_a64_mask_sse4.c',
'../../third_party/aom/aom_dsp/x86/blend_a64_vmask_sse4.c', '../../third_party/aom/aom_dsp/x86/blend_a64_vmask_sse4.c',
'../../third_party/aom/aom_dsp/x86/fft_avx2.c', '../../third_party/aom/aom_dsp/x86/fft_avx2.c',
@ -300,6 +307,7 @@ files = {
'../../third_party/aom/av1/common/frame_buffers.c', '../../third_party/aom/av1/common/frame_buffers.c',
'../../third_party/aom/av1/common/idct.c', '../../third_party/aom/av1/common/idct.c',
'../../third_party/aom/av1/common/mvref_common.c', '../../third_party/aom/av1/common/mvref_common.c',
'../../third_party/aom/av1/common/obu_util.c',
'../../third_party/aom/av1/common/odintrin.c', '../../third_party/aom/av1/common/odintrin.c',
'../../third_party/aom/av1/common/pred_common.c', '../../third_party/aom/av1/common/pred_common.c',
'../../third_party/aom/av1/common/quant_common.c', '../../third_party/aom/av1/common/quant_common.c',
@ -389,6 +397,7 @@ files = {
'../../third_party/aom/aom_dsp/aom_dsp_rtcd.c', '../../third_party/aom/aom_dsp/aom_dsp_rtcd.c',
'../../third_party/aom/aom_dsp/binary_codes_reader.c', '../../third_party/aom/aom_dsp/binary_codes_reader.c',
'../../third_party/aom/aom_dsp/bitreader_buffer.c', '../../third_party/aom/aom_dsp/bitreader_buffer.c',
'../../third_party/aom/aom_dsp/bitwriter_buffer.c',
'../../third_party/aom/aom_dsp/blend_a64_hmask.c', '../../third_party/aom/aom_dsp/blend_a64_hmask.c',
'../../third_party/aom/aom_dsp/blend_a64_mask.c', '../../third_party/aom/aom_dsp/blend_a64_mask.c',
'../../third_party/aom/aom_dsp/blend_a64_vmask.c', '../../third_party/aom/aom_dsp/blend_a64_vmask.c',
@ -411,6 +420,7 @@ files = {
'../../third_party/aom/aom_dsp/x86/aom_subpixel_bilinear_sse2.asm', '../../third_party/aom/aom_dsp/x86/aom_subpixel_bilinear_sse2.asm',
'../../third_party/aom/aom_dsp/x86/aom_subpixel_bilinear_ssse3.asm', '../../third_party/aom/aom_dsp/x86/aom_subpixel_bilinear_ssse3.asm',
'../../third_party/aom/aom_dsp/x86/blend_a64_hmask_sse4.c', '../../third_party/aom/aom_dsp/x86/blend_a64_hmask_sse4.c',
'../../third_party/aom/aom_dsp/x86/blend_a64_mask_avx2.c',
'../../third_party/aom/aom_dsp/x86/blend_a64_mask_sse4.c', '../../third_party/aom/aom_dsp/x86/blend_a64_mask_sse4.c',
'../../third_party/aom/aom_dsp/x86/blend_a64_vmask_sse4.c', '../../third_party/aom/aom_dsp/x86/blend_a64_vmask_sse4.c',
'../../third_party/aom/aom_dsp/x86/fft_avx2.c', '../../third_party/aom/aom_dsp/x86/fft_avx2.c',
@ -459,6 +469,7 @@ files = {
'../../third_party/aom/av1/common/frame_buffers.c', '../../third_party/aom/av1/common/frame_buffers.c',
'../../third_party/aom/av1/common/idct.c', '../../third_party/aom/av1/common/idct.c',
'../../third_party/aom/av1/common/mvref_common.c', '../../third_party/aom/av1/common/mvref_common.c',
'../../third_party/aom/av1/common/obu_util.c',
'../../third_party/aom/av1/common/odintrin.c', '../../third_party/aom/av1/common/odintrin.c',
'../../third_party/aom/av1/common/pred_common.c', '../../third_party/aom/av1/common/pred_common.c',
'../../third_party/aom/av1/common/quant_common.c', '../../third_party/aom/av1/common/quant_common.c',

View file

@ -18,45 +18,6 @@ if(NOT EMSCRIPTEN)
endif() endif()
endif() endif()
option(ENABLE_CCACHE "Enable ccache support." OFF)
option(ENABLE_DECODE_PERF_TESTS "Enables decoder performance tests" OFF)
option(ENABLE_DISTCC "Enable distcc support." OFF)
option(ENABLE_DOCS "Enable documentation generation (doxygen required)." ON)
option(ENABLE_ENCODE_PERF_TESTS "Enables encoder performance tests" OFF)
option(ENABLE_EXAMPLES "Enables build of example code." ON)
option(ENABLE_GOMA "Enable goma support." OFF)
option(ENABLE_IDE_TEST_HOSTING
"Enables running tests within IDEs like Visual Studio and Xcode." OFF)
option(ENABLE_NASM "Use nasm instead of yasm for x86 assembly." OFF)
option(ENABLE_TESTDATA "Enables unit test data download targets." ON)
option(ENABLE_TESTS "Enables unit tests." ON)
option(ENABLE_TOOLS "Enable applications in tools sub directory." ON)
option(ENABLE_WERROR "Converts warnings to errors at compile time." OFF)
# ARM assembly/intrinsics flags.
option(ENABLE_NEON "Enables NEON optimizations on ARM targets." ON)
# MIPS assembly/intrinsics flags.
option(ENABLE_DSPR2 "Enables DSPR2 optimizations on MIPS targets." OFF)
option(ENABLE_MSA "Enables MSA optimizations on MIPS targets." OFF)
# VSX intrinsics flags.
option(ENABLE_VSX "Enables VSX optimizations on PowerPC targets." ON)
# x86/x86_64 assembly/intrinsics flags.
option(ENABLE_MMX "Enables MMX optimizations on x86/x86_64 targets." ON)
option(ENABLE_SSE "Enables SSE optimizations on x86/x86_64 targets." ON)
option(ENABLE_SSE2 "Enables SSE2 optimizations on x86/x86_64 targets." ON)
option(ENABLE_SSE3 "Enables SSE3 optimizations on x86/x86_64 targets." ON)
option(ENABLE_SSSE3 "Enables SSSE3 optimizations on x86/x86_64 targets." ON)
option(ENABLE_SSE4_1 "Enables SSE4_1 optimizations on x86/x86_64 targets." ON)
option(ENABLE_SSE4_2 "Enables SSE4_2 optimizations on x86/x86_64 targets." ON)
option(ENABLE_AVX "Enables AVX optimizations on x86/x86_64 targets." ON)
option(ENABLE_AVX2 "Enables AVX2 optimizations on x86/x86_64 targets." ON)
# $BUILD_SHARED_LIBS is a CMake built-in-- it's listed here for visibility.
option(BUILD_SHARED_LIBS "CMake should generate a shared library build." OFF)
project(AOM C CXX) project(AOM C CXX)
set(AOM_ROOT "${CMAKE_CURRENT_SOURCE_DIR}") set(AOM_ROOT "${CMAKE_CURRENT_SOURCE_DIR}")
@ -95,7 +56,7 @@ list(APPEND AOM_RTCD_SOURCES
"${AOM_ROOT}/aom_scale/aom_scale_rtcd.c" "${AOM_ROOT}/aom_scale/aom_scale_rtcd.c"
"${AOM_ROOT}/av1/common/av1_rtcd_defs.pl" "${AOM_ROOT}/av1/common/av1_rtcd_defs.pl"
"${AOM_ROOT}/av1/common/av1_rtcd.c" "${AOM_ROOT}/av1/common/av1_rtcd.c"
"${AOM_ROOT}/build/make/rtcd.pl") "${AOM_ROOT}/build/cmake/rtcd.pl")
list(APPEND AOM_LIBWEBM_SOURCES list(APPEND AOM_LIBWEBM_SOURCES
"${AOM_ROOT}/third_party/libwebm/common/hdr_util.cc" "${AOM_ROOT}/third_party/libwebm/common/hdr_util.cc"
@ -161,12 +122,19 @@ list(APPEND AOM_SOURCES
"${AOM_ROOT}/aom/src/aom_image.c" "${AOM_ROOT}/aom/src/aom_image.c"
"${AOM_ROOT}/aom/src/aom_integer.c") "${AOM_ROOT}/aom/src/aom_integer.c")
list(APPEND AOM_COMMON_APP_UTIL_SOURCES "${AOM_ROOT}/common/args.c" list(APPEND AOM_COMMON_APP_UTIL_SOURCES
"${AOM_ROOT}/common/args.h" "${AOM_ROOT}/common/md5_utils.c" "${AOM_ROOT}/common/args.c"
"${AOM_ROOT}/common/args.h"
"${AOM_ROOT}/common/av1_config.c"
"${AOM_ROOT}/common/av1_config.h"
"${AOM_ROOT}/common/md5_utils.c"
"${AOM_ROOT}/common/md5_utils.h" "${AOM_ROOT}/common/md5_utils.h"
"${AOM_ROOT}/common/tools_common.c" "${AOM_ROOT}/common/tools_common.c"
"${AOM_ROOT}/common/tools_common.h" "${AOM_ROOT}/common/tools_common.h"
"${AOM_ROOT}/common/video_common.h" "${AOM_ROOT}/common/y4menc.c" "${AOM_ROOT}/common/video_common.h"
"${AOM_ROOT}/common/rawenc.c"
"${AOM_ROOT}/common/rawenc.h"
"${AOM_ROOT}/common/y4menc.c"
"${AOM_ROOT}/common/y4menc.h") "${AOM_ROOT}/common/y4menc.h")
list(APPEND AOM_DECODER_APP_UTIL_SOURCES "${AOM_ROOT}/common/ivfdec.c" list(APPEND AOM_DECODER_APP_UTIL_SOURCES "${AOM_ROOT}/common/ivfdec.c"
@ -255,10 +223,10 @@ add_rtcd_build_step("${AOM_ROOT}/av1/common/av1_rtcd_defs.pl"
add_library(aom_rtcd OBJECT ${AOM_RTCD_SOURCES}) add_library(aom_rtcd OBJECT ${AOM_RTCD_SOURCES})
add_dependencies(aom_rtcd aom_version) add_dependencies(aom_rtcd aom_version)
if (ENABLE_EXAMPLES) if(ENABLE_EXAMPLES)
add_library(aom_encoder_stats OBJECT ${AOM_ENCODER_STATS_SOURCES}) add_library(aom_encoder_stats OBJECT ${AOM_ENCODER_STATS_SOURCES})
endif () set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} aom_encoder_stats)
endif()
add_library(aom ${AOM_SOURCES} $<TARGET_OBJECTS:aom_rtcd>) add_library(aom ${AOM_SOURCES} $<TARGET_OBJECTS:aom_rtcd>)
if(NOT MSVC AND NOT APPLE) if(NOT MSVC AND NOT APPLE)
@ -288,8 +256,8 @@ endforeach()
# aom_common_app_util library must define this function. This is a convenience # aom_common_app_util library must define this function. This is a convenience
# to allow omission of the function from applications that might want to use # to allow omission of the function from applications that might want to use
# other pieces of the util support without defining usage_exit(). # other pieces of the util support without defining usage_exit().
file(WRITE "${AOM_CONFIG_DIR}/usage_exit.c" "void usage_exit(void) {}") file(WRITE "${AOM_GEN_SRC_DIR}/usage_exit.c" "void usage_exit(void) {}")
file(WRITE "${AOM_CONFIG_DIR}/usage_exit.cc" file(WRITE "${AOM_GEN_SRC_DIR}/usage_exit.cc"
"extern \"C\" void usage_exit(void) {}") "extern \"C\" void usage_exit(void) {}")
# #
@ -349,6 +317,8 @@ if(CONFIG_AV1_DECODER AND ENABLE_EXAMPLES)
add_preproc_definition(_POSIX_SOURCE) add_preproc_definition(_POSIX_SOURCE)
append_link_flag_to_target("inspect" "-s TOTAL_MEMORY=402653184") append_link_flag_to_target("inspect" "-s TOTAL_MEMORY=402653184")
append_link_flag_to_target("inspect" "-s MODULARIZE=1") append_link_flag_to_target("inspect" "-s MODULARIZE=1")
append_link_flag_to_target(
"inspect" "-s \'EXTRA_EXPORTED_RUNTIME_METHODS=[\"UTF8ToString\"]\'")
append_link_flag_to_target("inspect" append_link_flag_to_target("inspect"
"-s EXPORT_NAME=\"\'DecoderModule\'\"") "-s EXPORT_NAME=\"\'DecoderModule\'\"")
append_link_flag_to_target("inspect" "--memory-init-file 0") append_link_flag_to_target("inspect" "--memory-init-file 0")
@ -407,7 +377,7 @@ if(CONFIG_AV1_ENCODER)
# TODO(tomfinegan): Sort out why a simple link command with # TODO(tomfinegan): Sort out why a simple link command with
# aom_entropy_optimizer.c won't work on macos, but dragging in all the # aom_entropy_optimizer.c won't work on macos, but dragging in all the
# helper machinery allows the link to succeed. # helper machinery allows the link to succeed.
add_executable(aom_entropy_optimizer "${AOM_CONFIG_DIR}/usage_exit.c" add_executable(aom_entropy_optimizer "${AOM_GEN_SRC_DIR}/usage_exit.c"
"${AOM_ROOT}/tools/aom_entropy_optimizer.c" "${AOM_ROOT}/tools/aom_entropy_optimizer.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_encoder_app_util>) $<TARGET_OBJECTS:aom_encoder_app_util>)
@ -434,7 +404,7 @@ endif()
if(ENABLE_TOOLS) if(ENABLE_TOOLS)
if(CONFIG_AV1_DECODER) if(CONFIG_AV1_DECODER)
require_cxx_flag_nomsvc("-std=c++11" NO) require_cxx_flag_nomsvc("-std=c++11" NO)
add_executable(dump_obu "${AOM_CONFIG_DIR}/usage_exit.cc" add_executable(dump_obu "${AOM_GEN_SRC_DIR}/usage_exit.cc"
"${AOM_ROOT}/tools/dump_obu.cc" "${AOM_ROOT}/tools/dump_obu.cc"
"${AOM_ROOT}/tools/obu_parser.cc" "${AOM_ROOT}/tools/obu_parser.cc"
"${AOM_ROOT}/tools/obu_parser.h" "${AOM_ROOT}/tools/obu_parser.h"
@ -555,9 +525,7 @@ endif()
if(HAVE_PTHREAD_H AND CONFIG_MULTITHREAD) if(HAVE_PTHREAD_H AND CONFIG_MULTITHREAD)
find_package(Threads) find_package(Threads)
foreach(app_target ${AOM_APP_TARGETS}) target_link_libraries(aom ${AOM_LIB_LINK_TYPE} Threads::Threads)
target_link_libraries(${app_target} ${AOM_LIB_LINK_TYPE} Threads::Threads)
endforeach()
endif() endif()
if(XCODE) if(XCODE)

View file

@ -414,6 +414,16 @@ First, add the new test data file to the `aom-test-data` bucket of the
`aomedia-testing` project on Google Cloud Platform. You may need to ask someone `aomedia-testing` project on Google Cloud Platform. You may need to ask someone
with the necessary access permissions to do this for you. with the necessary access permissions to do this for you.
NOTE: When a new test data file is added to the `aom-test-data` bucket, its
"Public access" is initially "Not public". We need to change its
"Public access" to "Public" by using the following
[`gsutil`](https://cloud.google.com/storage/docs/gsutil_install) command:
~~~
$ gsutil acl ch -g all:R gs://aom-test-data/test-data-file-name
~~~
This command grants the `AllUsers` group READ access to the file named
"test-data-file-name" in the `aom-test-data` bucket.
Once the new test data file has been added to `aom-test-data`, create a CL to Once the new test data file has been added to `aom-test-data`, create a CL to
add the name of the new test data file to `test/test_data_util.cmake` and add add the name of the new test data file to `test/test_data_util.cmake` and add
the SHA1 checksum of the new test data file to `test/test-data.sha1`. (The SHA1 the SHA1 checksum of the new test data file to `test/test-data.sha1`. (The SHA1

View file

@ -28,8 +28,8 @@
/*!\file /*!\file
* \brief Provides controls common to both the AOM encoder and decoder. * \brief Provides controls common to both the AOM encoder and decoder.
*/ */
#ifndef AOM_AOM_H_ #ifndef AOM_AOM_AOM_H_
#define AOM_AOM_H_ #define AOM_AOM_AOM_H_
#include "aom/aom_codec.h" #include "aom/aom_codec.h"
#include "aom/aom_image.h" #include "aom/aom_image.h"
@ -144,4 +144,4 @@ AOM_CTRL_USE_TYPE(AV1_COPY_NEW_FRAME_IMAGE, aom_image_t *)
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_AOM_H_ #endif // AOM_AOM_AOM_H_

View file

@ -33,11 +33,11 @@
* } * }
* </pre> * </pre>
* *
* Once initialized, the instance is manged using other functions from * Once initialized, the instance is managed using other functions from
* the aom_codec_* family. * the aom_codec_* family.
*/ */
#ifndef AOM_AOM_CODEC_H_ #ifndef AOM_AOM_AOM_CODEC_H_
#define AOM_AOM_CODEC_H_ #define AOM_AOM_AOM_CODEC_H_
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -259,12 +259,6 @@ typedef enum aom_superblock_size {
* *
*/ */
int aom_codec_version(void); int aom_codec_version(void);
#define AOM_VERSION_MAJOR(v) \
((v >> 16) & 0xff) /**< extract major from packed version */
#define AOM_VERSION_MINOR(v) \
((v >> 8) & 0xff) /**< extract minor from packed version */
#define AOM_VERSION_PATCH(v) \
((v >> 0) & 0xff) /**< extract patch from packed version */
/*!\brief Return the version major number */ /*!\brief Return the version major number */
#define aom_codec_version_major() ((aom_codec_version() >> 16) & 0xff) #define aom_codec_version_major() ((aom_codec_version() >> 16) & 0xff)
@ -526,4 +520,4 @@ typedef struct cfg_options {
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif // AOM_AOM_CODEC_H_ #endif // AOM_AOM_AOM_CODEC_H_

View file

@ -8,8 +8,8 @@
* Media Patent License 1.0 was not distributed with this source code in the * Media Patent License 1.0 was not distributed with this source code in the
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_AOM_DECODER_H_ #ifndef AOM_AOM_AOM_DECODER_H_
#define AOM_AOM_DECODER_H_ #define AOM_AOM_AOM_DECODER_H_
/*!\defgroup decoder Decoder Algorithm Interface /*!\defgroup decoder Decoder Algorithm Interface
* \ingroup codec * \ingroup codec
@ -361,4 +361,4 @@ aom_codec_err_t aom_codec_set_frame_buffer_functions(
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif // AOM_AOM_DECODER_H_ #endif // AOM_AOM_AOM_DECODER_H_

View file

@ -8,8 +8,8 @@
* Media Patent License 1.0 was not distributed with this source code in the * Media Patent License 1.0 was not distributed with this source code in the
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_AOM_ENCODER_H_ #ifndef AOM_AOM_AOM_ENCODER_H_
#define AOM_AOM_ENCODER_H_ #define AOM_AOM_AOM_ENCODER_H_
/*!\defgroup encoder Encoder Algorithm Interface /*!\defgroup encoder Encoder Algorithm Interface
* \ingroup codec * \ingroup codec
@ -54,13 +54,6 @@ extern "C" {
*/ */
#define AOM_CODEC_CAP_PSNR 0x10000 /**< Can issue PSNR packets */ #define AOM_CODEC_CAP_PSNR 0x10000 /**< Can issue PSNR packets */
/*! Can output one partition at a time. Each partition is returned in its
* own AOM_CODEC_CX_FRAME_PKT, with the FRAME_IS_FRAGMENT flag set for
* every partition but the last. In this mode all frames are always
* returned partition by partition.
*/
#define AOM_CODEC_CAP_OUTPUT_PARTITION 0x20000
/*! Can support input images at greater than 8 bitdepth. /*! Can support input images at greater than 8 bitdepth.
*/ */
#define AOM_CODEC_CAP_HIGHBITDEPTH 0x40000 #define AOM_CODEC_CAP_HIGHBITDEPTH 0x40000
@ -74,7 +67,6 @@ extern "C" {
*/ */
#define AOM_CODEC_USE_PSNR 0x10000 /**< Calculate PSNR on each frame */ #define AOM_CODEC_USE_PSNR 0x10000 /**< Calculate PSNR on each frame */
/*!\brief Make the encoder output one partition at a time. */ /*!\brief Make the encoder output one partition at a time. */
#define AOM_CODEC_USE_OUTPUT_PARTITION 0x20000
#define AOM_CODEC_USE_HIGHBITDEPTH 0x40000 /**< Use high bitdepth */ #define AOM_CODEC_USE_HIGHBITDEPTH 0x40000 /**< Use high bitdepth */
/*!\brief Generic fixed size buffer structure /*!\brief Generic fixed size buffer structure
@ -119,11 +111,6 @@ typedef uint32_t aom_codec_frame_flags_t;
typedef uint32_t aom_codec_er_flags_t; typedef uint32_t aom_codec_er_flags_t;
/*!\brief Improve resiliency against losses of whole frames */ /*!\brief Improve resiliency against losses of whole frames */
#define AOM_ERROR_RESILIENT_DEFAULT 0x1 #define AOM_ERROR_RESILIENT_DEFAULT 0x1
/*!\brief The frame partitions are independently decodable by the bool decoder,
* meaning that partitions can be decoded even though earlier partitions have
* been lost. Note that intra prediction is still done over the partition
* boundary. */
#define AOM_ERROR_RESILIENT_PARTITIONS 0x2
/*!\brief Encoder output packet variants /*!\brief Encoder output packet variants
* *
@ -849,13 +836,25 @@ aom_codec_err_t aom_codec_enc_config_set(aom_codec_ctx_t *ctx,
/*!\brief Get global stream headers /*!\brief Get global stream headers
* *
* Retrieves a stream level global header packet, if supported by the codec. * Retrieves a stream level global header packet, if supported by the codec.
* Calls to this function should be deferred until all configuration information
* has been passed to libaom. Otherwise the global header data may be
* invalidated by additional configuration changes.
*
* The AV1 implementation of this function returns an OBU. The OBU returned is
* in Low Overhead Bitstream Format. Specifically, the obu_has_size_field bit is
* set, and the buffer contains the obu_size field for the returned OBU.
* *
* \param[in] ctx Pointer to this instance's context * \param[in] ctx Pointer to this instance's context
* *
* \retval NULL * \retval NULL
* Encoder does not support global header * Encoder does not support global header, or an error occurred while
* generating the global header.
*
* \retval Non-NULL * \retval Non-NULL
* Pointer to buffer containing global header packet * Pointer to buffer containing global header packet. The caller owns the
* memory associated with this buffer, and must free the 'buf' member of the
* aom_fixed_buf_t as well as the aom_fixed_buf_t pointer. Memory returned
* must be freed via call to free().
*/ */
aom_fixed_buf_t *aom_codec_get_global_headers(aom_codec_ctx_t *ctx); aom_fixed_buf_t *aom_codec_get_global_headers(aom_codec_ctx_t *ctx);
@ -979,4 +978,4 @@ const aom_image_t *aom_codec_get_preview_frame(aom_codec_ctx_t *ctx);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif // AOM_AOM_ENCODER_H_ #endif // AOM_AOM_AOM_ENCODER_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_AOM_FRAME_BUFFER_H_ #ifndef AOM_AOM_AOM_FRAME_BUFFER_H_
#define AOM_AOM_FRAME_BUFFER_H_ #define AOM_AOM_AOM_FRAME_BUFFER_H_
/*!\file /*!\file
* \brief Describes the decoder external frame buffer interface. * \brief Describes the decoder external frame buffer interface.
@ -81,4 +81,4 @@ typedef int (*aom_release_frame_buffer_cb_fn_t)(void *priv,
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_AOM_FRAME_BUFFER_H_ #endif // AOM_AOM_AOM_FRAME_BUFFER_H_

View file

@ -13,8 +13,8 @@
* \brief Describes the aom image descriptor and associated operations * \brief Describes the aom image descriptor and associated operations
* *
*/ */
#ifndef AOM_AOM_IMAGE_H_ #ifndef AOM_AOM_AOM_IMAGE_H_
#define AOM_AOM_IMAGE_H_ #define AOM_AOM_AOM_IMAGE_H_
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -328,4 +328,4 @@ int aom_img_plane_height(const aom_image_t *img, int plane);
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_AOM_IMAGE_H_ #endif // AOM_AOM_AOM_IMAGE_H_

View file

@ -8,8 +8,8 @@
* Media Patent License 1.0 was not distributed with this source code in the * Media Patent License 1.0 was not distributed with this source code in the
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_AOM_INTEGER_H_ #ifndef AOM_AOM_AOM_INTEGER_H_
#define AOM_AOM_INTEGER_H_ #define AOM_AOM_AOM_INTEGER_H_
/* get ptrdiff_t, size_t, wchar_t, NULL */ /* get ptrdiff_t, size_t, wchar_t, NULL */
#include <stddef.h> #include <stddef.h>
@ -103,4 +103,4 @@ int aom_uleb_encode_fixed_size(uint64_t value, size_t available,
} // extern "C" } // extern "C"
#endif // __cplusplus #endif // __cplusplus
#endif // AOM_AOM_INTEGER_H_ #endif // AOM_AOM_AOM_INTEGER_H_

View file

@ -8,8 +8,8 @@
* Media Patent License 1.0 was not distributed with this source code in the * Media Patent License 1.0 was not distributed with this source code in the
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_AOMCX_H_ #ifndef AOM_AOM_AOMCX_H_
#define AOM_AOMCX_H_ #define AOM_AOM_AOMCX_H_
/*!\defgroup aom_encoder AOMedia AOM/AV1 Encoder /*!\defgroup aom_encoder AOMedia AOM/AV1 Encoder
* \ingroup aom * \ingroup aom
@ -181,10 +181,6 @@ enum aome_enc_control_id {
*/ */
AOME_SET_CPUUSED = 13, AOME_SET_CPUUSED = 13,
/*!\brief Speed features for codec development
*/
AOME_SET_DEVSF,
/*!\brief Codec control function to enable automatic set and use alf frames. /*!\brief Codec control function to enable automatic set and use alf frames.
*/ */
AOME_SET_ENABLEAUTOALTREF, AOME_SET_ENABLEAUTOALTREF,
@ -286,14 +282,19 @@ enum aome_enc_control_id {
*/ */
AV1E_SET_LOSSLESS = AV1E_SET_GF_CBR_BOOST_PCT + 2, AV1E_SET_LOSSLESS = AV1E_SET_GF_CBR_BOOST_PCT + 2,
/** control function to enable the row based multi-threading of encoder. A
* value that is equal to 1 indicates that row based multi-threading is
* enabled.
*/
AV1E_SET_ROW_MT,
/*!\brief Codec control function to set number of tile columns. /*!\brief Codec control function to set number of tile columns.
* *
* In encoding and decoding, AV1 allows an input image frame be partitioned * In encoding and decoding, AV1 allows an input image frame be partitioned
* into separated vertical tile columns, which can be encoded or decoded * into separate vertical tile columns, which can be encoded or decoded
* independently. This enables easy implementation of parallel encoding and * independently. This enables easy implementation of parallel encoding and
* decoding. This control requests the encoder to use column tiles in * decoding. The parameter for this control describes the number of tile
* encoding an input frame, with number of tile columns (in Log2 unit) as * columns (in log2 units), which has a valid range of [0, 6]:
* the parameter:
* 0 = 1 tile column * 0 = 1 tile column
* 1 = 2 tile columns * 1 = 2 tile columns
* 2 = 4 tile columns * 2 = 4 tile columns
@ -310,16 +311,14 @@ enum aome_enc_control_id {
/*!\brief Codec control function to set number of tile rows. /*!\brief Codec control function to set number of tile rows.
* *
* In encoding and decoding, AV1 allows an input image frame be partitioned * In encoding and decoding, AV1 allows an input image frame be partitioned
* into separated horizontal tile rows. Tile rows are encoded or decoded * into separate horizontal tile rows, which can be encoded or decoded
* sequentially. Even though encoding/decoding of later tile rows depends on * independently. The parameter for this control describes the number of tile
* earlier ones, this allows the encoder to output data packets for tile rows * rows (in log2 units), which has a valid range of [0, 6]:
* prior to completely processing all tile rows in a frame, thereby reducing
* the latency in processing between input and output. The parameter
* for this control describes the number of tile rows, which has a valid
* range [0, 2]:
* 0 = 1 tile row * 0 = 1 tile row
* 1 = 2 tile rows * 1 = 2 tile rows
* 2 = 4 tile rows * 2 = 4 tile rows
* .....
* n = 2**n tile rows
* *
* By default, the value is 0, i.e. one single row tile for entire image. * By default, the value is 0, i.e. one single row tile for entire image.
*/ */
@ -860,6 +859,12 @@ enum aome_enc_control_id {
/*!\brief Sets the denoisers block size */ /*!\brief Sets the denoisers block size */
AV1E_SET_DENOISE_BLOCK_SIZE, AV1E_SET_DENOISE_BLOCK_SIZE,
/*!\brief Sets the chroma subsampling x value */
AV1E_SET_CHROMA_SUBSAMPLING_X,
/*!\brief Sets the chroma subsampling y value */
AV1E_SET_CHROMA_SUBSAMPLING_Y,
}; };
/*!\brief aom 1-D scaling mode /*!\brief aom 1-D scaling mode
@ -993,6 +998,9 @@ AOM_CTRL_USE_TYPE(AOME_SET_TUNING, int) /* aom_tune_metric */
AOM_CTRL_USE_TYPE(AOME_SET_CQ_LEVEL, unsigned int) AOM_CTRL_USE_TYPE(AOME_SET_CQ_LEVEL, unsigned int)
#define AOM_CTRL_AOME_SET_CQ_LEVEL #define AOM_CTRL_AOME_SET_CQ_LEVEL
AOM_CTRL_USE_TYPE(AV1E_SET_ROW_MT, int)
#define AOM_CTRL_AV1E_SET_ROW_MT
AOM_CTRL_USE_TYPE(AV1E_SET_TILE_COLUMNS, int) AOM_CTRL_USE_TYPE(AV1E_SET_TILE_COLUMNS, int)
#define AOM_CTRL_AV1E_SET_TILE_COLUMNS #define AOM_CTRL_AV1E_SET_TILE_COLUMNS
AOM_CTRL_USE_TYPE(AV1E_SET_TILE_ROWS, int) AOM_CTRL_USE_TYPE(AV1E_SET_TILE_ROWS, int)
@ -1137,10 +1145,6 @@ AOM_CTRL_USE_TYPE(AV1E_GET_ACTIVEMAP, aom_active_map_t *)
AOM_CTRL_USE_TYPE(AV1E_SET_COLOR_RANGE, int) AOM_CTRL_USE_TYPE(AV1E_SET_COLOR_RANGE, int)
#define AOM_CTRL_AV1E_SET_COLOR_RANGE #define AOM_CTRL_AV1E_SET_COLOR_RANGE
/*!\brief
*
* TODO(rbultje) : add support of the control in ffmpeg
*/
#define AOM_CTRL_AV1E_SET_RENDER_SIZE #define AOM_CTRL_AV1E_SET_RENDER_SIZE
AOM_CTRL_USE_TYPE(AV1E_SET_RENDER_SIZE, int *) AOM_CTRL_USE_TYPE(AV1E_SET_RENDER_SIZE, int *)
@ -1179,10 +1183,16 @@ AOM_CTRL_USE_TYPE(AV1E_SET_DENOISE_BLOCK_SIZE, unsigned int);
#define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE #define AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
#endif #endif
AOM_CTRL_USE_TYPE(AV1E_SET_CHROMA_SUBSAMPLING_X, unsigned int)
#define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_X
AOM_CTRL_USE_TYPE(AV1E_SET_CHROMA_SUBSAMPLING_Y, unsigned int)
#define AOM_CTRL_AV1E_SET_CHROMA_SUBSAMPLING_Y
/*!\endcond */ /*!\endcond */
/*! @} - end defgroup aom_encoder */ /*! @} - end defgroup aom_encoder */
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_AOMCX_H_ #endif // AOM_AOM_AOMCX_H_

View file

@ -18,8 +18,8 @@
* \brief Provides definitions for using AOM or AV1 within the aom Decoder * \brief Provides definitions for using AOM or AV1 within the aom Decoder
* interface. * interface.
*/ */
#ifndef AOM_AOMDX_H_ #ifndef AOM_AOM_AOMDX_H_
#define AOM_AOMDX_H_ #define AOM_AOM_AOMDX_H_
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -227,6 +227,12 @@ enum aom_dec_control_id {
*/ */
AV1_SET_INSPECTION_CALLBACK, AV1_SET_INSPECTION_CALLBACK,
/** control function to set the skip film grain flag. Valid values are
* integers. The decoder will skip the film grain when its value is set to
* nonzero. The default value is 0.
*/
AV1D_SET_SKIP_FILM_GRAIN,
AOM_DECODER_CTRL_ID_MAX, AOM_DECODER_CTRL_ID_MAX,
}; };
@ -276,6 +282,8 @@ AOM_CTRL_USE_TYPE(AV1D_EXT_TILE_DEBUG, unsigned int)
#define AOM_CTRL_AV1D_EXT_TILE_DEBUG #define AOM_CTRL_AV1D_EXT_TILE_DEBUG
AOM_CTRL_USE_TYPE(AV1D_SET_ROW_MT, unsigned int) AOM_CTRL_USE_TYPE(AV1D_SET_ROW_MT, unsigned int)
#define AOM_CTRL_AV1D_SET_ROW_MT #define AOM_CTRL_AV1D_SET_ROW_MT
AOM_CTRL_USE_TYPE(AV1D_SET_SKIP_FILM_GRAIN, int)
#define AOM_CTRL_AV1D_SET_SKIP_FILM_GRAIN
AOM_CTRL_USE_TYPE(AV1D_SET_IS_ANNEXB, unsigned int) AOM_CTRL_USE_TYPE(AV1D_SET_IS_ANNEXB, unsigned int)
#define AOM_CTRL_AV1D_SET_IS_ANNEXB #define AOM_CTRL_AV1D_SET_IS_ANNEXB
AOM_CTRL_USE_TYPE(AV1D_SET_OPERATING_POINT, int) AOM_CTRL_USE_TYPE(AV1D_SET_OPERATING_POINT, int)
@ -291,4 +299,4 @@ AOM_CTRL_USE_TYPE(AV1_SET_INSPECTION_CALLBACK, aom_inspect_init *)
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_AOMDX_H_ #endif // AOM_AOM_AOMDX_H_

View file

@ -10,14 +10,23 @@ text aom_codec_version
text aom_codec_version_extra_str text aom_codec_version_extra_str
text aom_codec_version_str text aom_codec_version_str
text aom_img_alloc text aom_img_alloc
text aom_img_alloc_with_border
text aom_img_flip text aom_img_flip
text aom_img_free text aom_img_free
text aom_img_plane_width
text aom_img_plane_height text aom_img_plane_height
text aom_img_plane_width
text aom_img_set_rect text aom_img_set_rect
text aom_img_wrap text aom_img_wrap
text aom_img_alloc_with_border text aom_malloc
text aom_rb_bytes_read
text aom_rb_read_bit
text aom_rb_read_literal
text aom_rb_read_uvlc
text aom_uleb_decode text aom_uleb_decode
text aom_uleb_encode text aom_uleb_encode
text aom_uleb_encode_fixed_size text aom_uleb_encode_fixed_size
text aom_uleb_size_in_bytes text aom_uleb_size_in_bytes
text aom_wb_bytes_written
text aom_wb_write_bit
text aom_wb_write_literal
text aom_wb_write_unsigned_literal

View file

@ -6,3 +6,5 @@ text aom_codec_peek_stream_info
text aom_codec_register_put_frame_cb text aom_codec_register_put_frame_cb
text aom_codec_register_put_slice_cb text aom_codec_register_put_slice_cb
text aom_codec_set_frame_buffer_functions text aom_codec_set_frame_buffer_functions
text aom_obu_type_to_string
text aom_read_obu_header

View file

@ -7,3 +7,12 @@ text aom_codec_get_cx_data
text aom_codec_get_global_headers text aom_codec_get_global_headers
text aom_codec_get_preview_frame text aom_codec_get_preview_frame
text aom_codec_set_cx_data_buf text aom_codec_set_cx_data_buf
text aom_film_grain_table_append
text aom_film_grain_table_free
text aom_film_grain_table_write
text aom_flat_block_finder_init
text aom_flat_block_finder_run
text aom_noise_model_init
text aom_noise_model_get_grain_parameters
text aom_noise_model_save_latest
text aom_noise_model_update

2
third_party/aom/aom/exports_test vendored Normal file
View file

@ -0,0 +1,2 @@
text aom_dsp_rtcd
text aom_scale_rtcd

View file

@ -38,11 +38,11 @@
* } * }
* </pre> * </pre>
* *
* Once initialized, the instance is manged using other functions from * Once initialized, the instance is managed using other functions from
* the aom_codec_* family. * the aom_codec_* family.
*/ */
#ifndef AOM_INTERNAL_AOM_CODEC_INTERNAL_H_ #ifndef AOM_AOM_INTERNAL_AOM_CODEC_INTERNAL_H_
#define AOM_INTERNAL_AOM_CODEC_INTERNAL_H_ #define AOM_AOM_INTERNAL_AOM_CODEC_INTERNAL_H_
#include "../aom_decoder.h" #include "../aom_decoder.h"
#include "../aom_encoder.h" #include "../aom_encoder.h"
#include <stdarg.h> #include <stdarg.h>
@ -438,4 +438,4 @@ void aom_merge_corrupted_flag(int *corrupted, int value);
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_INTERNAL_AOM_CODEC_INTERNAL_H_ #endif // AOM_AOM_INTERNAL_AOM_CODEC_INTERNAL_H_

View file

@ -101,9 +101,7 @@ aom_codec_err_t aom_codec_decode(aom_codec_ctx_t *ctx, const uint8_t *data,
size_t data_sz, void *user_priv) { size_t data_sz, void *user_priv) {
aom_codec_err_t res; aom_codec_err_t res;
/* Sanity checks */ if (!ctx)
/* NULL data ptr allowed if data_sz is 0 too */
if (!ctx || (!data && data_sz) || (data && !data_sz))
res = AOM_CODEC_INVALID_PARAM; res = AOM_CODEC_INVALID_PARAM;
else if (!ctx->iface || !ctx->priv) else if (!ctx->iface || !ctx->priv)
res = AOM_CODEC_ERROR; res = AOM_CODEC_ERROR;

View file

@ -16,7 +16,9 @@
#include "config/aom_config.h" #include "config/aom_config.h"
#if HAVE_FEXCEPT #if HAVE_FEXCEPT
#ifndef _GNU_SOURCE
#define _GNU_SOURCE #define _GNU_SOURCE
#endif
#include <fenv.h> #include <fenv.h>
#endif #endif
@ -46,9 +48,6 @@ aom_codec_err_t aom_codec_enc_init_ver(aom_codec_ctx_t *ctx,
res = AOM_CODEC_INCAPABLE; res = AOM_CODEC_INCAPABLE;
else if ((flags & AOM_CODEC_USE_PSNR) && !(iface->caps & AOM_CODEC_CAP_PSNR)) else if ((flags & AOM_CODEC_USE_PSNR) && !(iface->caps & AOM_CODEC_CAP_PSNR))
res = AOM_CODEC_INCAPABLE; res = AOM_CODEC_INCAPABLE;
else if ((flags & AOM_CODEC_USE_OUTPUT_PARTITION) &&
!(iface->caps & AOM_CODEC_CAP_OUTPUT_PARTITION))
res = AOM_CODEC_INCAPABLE;
else { else {
ctx->iface = iface; ctx->iface = iface;
ctx->name = iface->name; ctx->name = iface->name;
@ -81,9 +80,6 @@ aom_codec_err_t aom_codec_enc_init_multi_ver(
res = AOM_CODEC_INCAPABLE; res = AOM_CODEC_INCAPABLE;
else if ((flags & AOM_CODEC_USE_PSNR) && !(iface->caps & AOM_CODEC_CAP_PSNR)) else if ((flags & AOM_CODEC_USE_PSNR) && !(iface->caps & AOM_CODEC_CAP_PSNR))
res = AOM_CODEC_INCAPABLE; res = AOM_CODEC_INCAPABLE;
else if ((flags & AOM_CODEC_USE_OUTPUT_PARTITION) &&
!(iface->caps & AOM_CODEC_CAP_OUTPUT_PARTITION))
res = AOM_CODEC_INCAPABLE;
else { else {
int i; int i;
void *mem_loc = NULL; void *mem_loc = NULL;

View file

@ -16,7 +16,6 @@
#include "config/aom_dsp_rtcd.h" #include "config/aom_dsp_rtcd.h"
#include "aom/aom_integer.h" #include "aom/aom_integer.h"
#include "aom_dsp/aom_convolve.h"
#include "aom_dsp/aom_dsp_common.h" #include "aom_dsp/aom_dsp_common.h"
#include "aom_dsp/aom_filter.h" #include "aom_dsp/aom_filter.h"
#include "aom_ports/mem.h" #include "aom_ports/mem.h"

View file

@ -1,56 +0,0 @@
/*
* Copyright (c) 2016, Alliance for Open Media. All rights reserved
*
* This source code is subject to the terms of the BSD 2 Clause License and
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
* was not distributed with this source code in the LICENSE file, you can
* obtain it at www.aomedia.org/license/software. If the Alliance for Open
* Media Patent License 1.0 was not distributed with this source code in the
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/
#ifndef AOM_DSP_AOM_CONVOLVE_H_
#define AOM_DSP_AOM_CONVOLVE_H_
#include "config/aom_config.h"
#include "aom/aom_integer.h"
#ifdef __cplusplus
extern "C" {
#endif
// Note: Fixed size intermediate buffers, place limits on parameters
// of some functions. 2d filtering proceeds in 2 steps:
// (1) Interpolate horizontally into an intermediate buffer, temp.
// (2) Interpolate temp vertically to derive the sub-pixel result.
// Deriving the maximum number of rows in the temp buffer (135):
// --Smallest scaling factor is x1/2 ==> y_step_q4 = 32 (Normative).
// --Largest block size is 64x64 pixels.
// --64 rows in the downscaled frame span a distance of (64 - 1) * 32 in the
// original frame (in 1/16th pixel units).
// --Must round-up because block may be located at sub-pixel position.
// --Require an additional SUBPEL_TAPS rows for the 8-tap filter tails.
// --((64 - 1) * 32 + 15) >> 4 + 8 = 135.
// TODO(wtc): Update the above comment to explain the value 263 used in aom.
#define MAX_EXT_SIZE 263
#define EXTRAPREC_BITS 2
#define EXTRAPREC_CLAMP_LIMIT(bd) (1 << ((bd) + 1 + EXTRAPREC_BITS))
typedef void (*convolve_fn_t)(const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride,
const int16_t *filter_x, int x_step_q4,
const int16_t *filter_y, int y_step_q4, int w,
int h);
typedef void (*highbd_convolve_fn_t)(const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride,
const int16_t *filter_x, int x_step_q4,
const int16_t *filter_y, int y_step_q4,
int w, int h, int bd);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // AOM_DSP_AOM_CONVOLVE_H_

View file

@ -15,11 +15,14 @@ set(AOM_AOM_DSP_AOM_DSP_CMAKE_ 1)
list(APPEND AOM_DSP_COMMON_SOURCES list(APPEND AOM_DSP_COMMON_SOURCES
"${AOM_ROOT}/aom_dsp/aom_convolve.c" "${AOM_ROOT}/aom_dsp/aom_convolve.c"
"${AOM_ROOT}/aom_dsp/aom_convolve.h"
"${AOM_ROOT}/aom_dsp/aom_dsp_common.h" "${AOM_ROOT}/aom_dsp/aom_dsp_common.h"
"${AOM_ROOT}/aom_dsp/aom_filter.h" "${AOM_ROOT}/aom_dsp/aom_filter.h"
"${AOM_ROOT}/aom_dsp/aom_simd.h" "${AOM_ROOT}/aom_dsp/aom_simd.h"
"${AOM_ROOT}/aom_dsp/aom_simd_inline.h" "${AOM_ROOT}/aom_dsp/aom_simd_inline.h"
"${AOM_ROOT}/aom_dsp/bitreader_buffer.c"
"${AOM_ROOT}/aom_dsp/bitreader_buffer.h"
"${AOM_ROOT}/aom_dsp/bitwriter_buffer.c"
"${AOM_ROOT}/aom_dsp/bitwriter_buffer.h"
"${AOM_ROOT}/aom_dsp/blend.h" "${AOM_ROOT}/aom_dsp/blend.h"
"${AOM_ROOT}/aom_dsp/blend_a64_hmask.c" "${AOM_ROOT}/aom_dsp/blend_a64_hmask.c"
"${AOM_ROOT}/aom_dsp/blend_a64_mask.c" "${AOM_ROOT}/aom_dsp/blend_a64_mask.c"
@ -64,7 +67,8 @@ list(APPEND AOM_DSP_COMMON_INTRIN_SSE2
"${AOM_ROOT}/aom_dsp/x86/lpf_common_sse2.h" "${AOM_ROOT}/aom_dsp/x86/lpf_common_sse2.h"
"${AOM_ROOT}/aom_dsp/x86/mem_sse2.h" "${AOM_ROOT}/aom_dsp/x86/mem_sse2.h"
"${AOM_ROOT}/aom_dsp/x86/transpose_sse2.h" "${AOM_ROOT}/aom_dsp/x86/transpose_sse2.h"
"${AOM_ROOT}/aom_dsp/x86/txfm_common_sse2.h") "${AOM_ROOT}/aom_dsp/x86/txfm_common_sse2.h"
"${AOM_ROOT}/aom_dsp/x86/sum_squares_sse2.h")
list(APPEND AOM_DSP_COMMON_ASM_SSSE3 list(APPEND AOM_DSP_COMMON_ASM_SSSE3
"${AOM_ROOT}/aom_dsp/x86/aom_subpixel_8t_ssse3.asm" "${AOM_ROOT}/aom_dsp/x86/aom_subpixel_8t_ssse3.asm"
@ -76,6 +80,7 @@ list(APPEND AOM_DSP_COMMON_INTRIN_SSSE3
"${AOM_ROOT}/aom_dsp/x86/intrapred_ssse3.c") "${AOM_ROOT}/aom_dsp/x86/intrapred_ssse3.c")
list(APPEND AOM_DSP_COMMON_INTRIN_SSE4_1 list(APPEND AOM_DSP_COMMON_INTRIN_SSE4_1
"${AOM_ROOT}/aom_dsp/x86/blend_mask_sse4.h"
"${AOM_ROOT}/aom_dsp/x86/blend_a64_hmask_sse4.c" "${AOM_ROOT}/aom_dsp/x86/blend_a64_hmask_sse4.c"
"${AOM_ROOT}/aom_dsp/x86/blend_a64_mask_sse4.c" "${AOM_ROOT}/aom_dsp/x86/blend_a64_mask_sse4.c"
"${AOM_ROOT}/aom_dsp/x86/blend_a64_vmask_sse4.c") "${AOM_ROOT}/aom_dsp/x86/blend_a64_vmask_sse4.c")
@ -88,7 +93,8 @@ list(APPEND AOM_DSP_COMMON_INTRIN_AVX2
"${AOM_ROOT}/aom_dsp/x86/fft_avx2.c" "${AOM_ROOT}/aom_dsp/x86/fft_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/highbd_convolve_avx2.c" "${AOM_ROOT}/aom_dsp/x86/highbd_convolve_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/highbd_loopfilter_avx2.c" "${AOM_ROOT}/aom_dsp/x86/highbd_loopfilter_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/intrapred_avx2.c") "${AOM_ROOT}/aom_dsp/x86/intrapred_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/blend_a64_mask_avx2.c")
list(APPEND AOM_DSP_COMMON_INTRIN_NEON list(APPEND AOM_DSP_COMMON_INTRIN_NEON
"${AOM_ROOT}/aom_dsp/arm/fwd_txfm_neon.c" "${AOM_ROOT}/aom_dsp/arm/fwd_txfm_neon.c"
@ -125,12 +131,9 @@ if(CONFIG_AV1_DECODER)
"${AOM_ROOT}/aom_dsp/binary_codes_reader.c" "${AOM_ROOT}/aom_dsp/binary_codes_reader.c"
"${AOM_ROOT}/aom_dsp/binary_codes_reader.h" "${AOM_ROOT}/aom_dsp/binary_codes_reader.h"
"${AOM_ROOT}/aom_dsp/bitreader.h" "${AOM_ROOT}/aom_dsp/bitreader.h"
"${AOM_ROOT}/aom_dsp/bitreader_buffer.c"
"${AOM_ROOT}/aom_dsp/bitreader_buffer.h"
"${AOM_ROOT}/aom_dsp/daalaboolreader.c" "${AOM_ROOT}/aom_dsp/daalaboolreader.c"
"${AOM_ROOT}/aom_dsp/daalaboolreader.h" "${AOM_ROOT}/aom_dsp/daalaboolreader.h"
"${AOM_ROOT}/aom_dsp/entdec.c" "${AOM_ROOT}/aom_dsp/entdec.c" "${AOM_ROOT}/aom_dsp/entdec.h"
"${AOM_ROOT}/aom_dsp/entdec.h"
"${AOM_ROOT}/aom_dsp/grain_synthesis.c" "${AOM_ROOT}/aom_dsp/grain_synthesis.c"
"${AOM_ROOT}/aom_dsp/grain_synthesis.h") "${AOM_ROOT}/aom_dsp/grain_synthesis.h")
endif() endif()
@ -140,8 +143,6 @@ if(CONFIG_AV1_ENCODER)
"${AOM_ROOT}/aom_dsp/binary_codes_writer.c" "${AOM_ROOT}/aom_dsp/binary_codes_writer.c"
"${AOM_ROOT}/aom_dsp/binary_codes_writer.h" "${AOM_ROOT}/aom_dsp/binary_codes_writer.h"
"${AOM_ROOT}/aom_dsp/bitwriter.h" "${AOM_ROOT}/aom_dsp/bitwriter.h"
"${AOM_ROOT}/aom_dsp/bitwriter_buffer.c"
"${AOM_ROOT}/aom_dsp/bitwriter_buffer.h"
"${AOM_ROOT}/aom_dsp/daalaboolwriter.c" "${AOM_ROOT}/aom_dsp/daalaboolwriter.c"
"${AOM_ROOT}/aom_dsp/daalaboolwriter.h" "${AOM_ROOT}/aom_dsp/daalaboolwriter.h"
"${AOM_ROOT}/aom_dsp/entenc.c" "${AOM_ROOT}/aom_dsp/entenc.c"
@ -158,13 +159,13 @@ if(CONFIG_AV1_ENCODER)
"${AOM_ROOT}/aom_dsp/quantize.c" "${AOM_ROOT}/aom_dsp/quantize.c"
"${AOM_ROOT}/aom_dsp/quantize.h" "${AOM_ROOT}/aom_dsp/quantize.h"
"${AOM_ROOT}/aom_dsp/sad.c" "${AOM_ROOT}/aom_dsp/sad.c"
"${AOM_ROOT}/aom_dsp/sse.c"
"${AOM_ROOT}/aom_dsp/sad_av1.c" "${AOM_ROOT}/aom_dsp/sad_av1.c"
"${AOM_ROOT}/aom_dsp/sum_squares.c" "${AOM_ROOT}/aom_dsp/sum_squares.c"
"${AOM_ROOT}/aom_dsp/variance.c" "${AOM_ROOT}/aom_dsp/variance.c"
"${AOM_ROOT}/aom_dsp/variance.h") "${AOM_ROOT}/aom_dsp/variance.h")
list(APPEND AOM_DSP_ENCODER_ASM_SSE2 list(APPEND AOM_DSP_ENCODER_ASM_SSE2
"${AOM_ROOT}/aom_dsp/x86/halfpix_variance_impl_sse2.asm"
"${AOM_ROOT}/aom_dsp/x86/highbd_sad4d_sse2.asm" "${AOM_ROOT}/aom_dsp/x86/highbd_sad4d_sse2.asm"
"${AOM_ROOT}/aom_dsp/x86/highbd_sad_sse2.asm" "${AOM_ROOT}/aom_dsp/x86/highbd_sad_sse2.asm"
"${AOM_ROOT}/aom_dsp/x86/highbd_subpel_variance_impl_sse2.asm" "${AOM_ROOT}/aom_dsp/x86/highbd_subpel_variance_impl_sse2.asm"
@ -178,11 +179,11 @@ if(CONFIG_AV1_ENCODER)
"${AOM_ROOT}/aom_dsp/x86/fwd_txfm_impl_sse2.h" "${AOM_ROOT}/aom_dsp/x86/fwd_txfm_impl_sse2.h"
"${AOM_ROOT}/aom_dsp/x86/fwd_txfm_sse2.c" "${AOM_ROOT}/aom_dsp/x86/fwd_txfm_sse2.c"
"${AOM_ROOT}/aom_dsp/x86/fwd_txfm_sse2.h" "${AOM_ROOT}/aom_dsp/x86/fwd_txfm_sse2.h"
"${AOM_ROOT}/aom_dsp/x86/halfpix_variance_sse2.c"
"${AOM_ROOT}/aom_dsp/x86/highbd_quantize_intrin_sse2.c" "${AOM_ROOT}/aom_dsp/x86/highbd_quantize_intrin_sse2.c"
"${AOM_ROOT}/aom_dsp/x86/highbd_subtract_sse2.c" "${AOM_ROOT}/aom_dsp/x86/highbd_subtract_sse2.c"
"${AOM_ROOT}/aom_dsp/x86/highbd_variance_sse2.c" "${AOM_ROOT}/aom_dsp/x86/highbd_variance_sse2.c"
"${AOM_ROOT}/aom_dsp/x86/quantize_sse2.c" "${AOM_ROOT}/aom_dsp/x86/quantize_sse2.c"
"${AOM_ROOT}/aom_dsp/x86/quantize_x86.h"
"${AOM_ROOT}/aom_dsp/x86/sum_squares_sse2.c" "${AOM_ROOT}/aom_dsp/x86/sum_squares_sse2.c"
"${AOM_ROOT}/aom_dsp/x86/variance_sse2.c") "${AOM_ROOT}/aom_dsp/x86/variance_sse2.c")
@ -199,8 +200,12 @@ if(CONFIG_AV1_ENCODER)
"${AOM_ROOT}/aom_dsp/x86/sad_highbd_avx2.c" "${AOM_ROOT}/aom_dsp/x86/sad_highbd_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/sad_impl_avx2.c" "${AOM_ROOT}/aom_dsp/x86/sad_impl_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/variance_avx2.c" "${AOM_ROOT}/aom_dsp/x86/variance_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/highbd_variance_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/sse_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/variance_impl_avx2.c" "${AOM_ROOT}/aom_dsp/x86/variance_impl_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/obmc_sad_avx2.c") "${AOM_ROOT}/aom_dsp/x86/obmc_sad_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/obmc_variance_avx2.c"
"${AOM_ROOT}/aom_dsp/x86/sum_squares_avx2.c")
list(APPEND AOM_DSP_ENCODER_ASM_SSSE3_X86_64 list(APPEND AOM_DSP_ENCODER_ASM_SSSE3_X86_64
"${AOM_ROOT}/aom_dsp/x86/quantize_ssse3_x86_64.asm") "${AOM_ROOT}/aom_dsp/x86/quantize_ssse3_x86_64.asm")
@ -219,6 +224,7 @@ if(CONFIG_AV1_ENCODER)
list(APPEND AOM_DSP_ENCODER_INTRIN_SSE4_1 list(APPEND AOM_DSP_ENCODER_INTRIN_SSE4_1
"${AOM_ROOT}/aom_dsp/x86/highbd_variance_sse4.c" "${AOM_ROOT}/aom_dsp/x86/highbd_variance_sse4.c"
"${AOM_ROOT}/aom_dsp/x86/sse_sse4.c"
"${AOM_ROOT}/aom_dsp/x86/obmc_sad_sse4.c" "${AOM_ROOT}/aom_dsp/x86/obmc_sad_sse4.c"
"${AOM_ROOT}/aom_dsp/x86/obmc_variance_sse4.c") "${AOM_ROOT}/aom_dsp/x86/obmc_variance_sse4.c")

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_AOM_DSP_COMMON_H_ #ifndef AOM_AOM_DSP_AOM_DSP_COMMON_H_
#define AOM_DSP_AOM_DSP_COMMON_H_ #define AOM_AOM_DSP_AOM_DSP_COMMON_H_
#include "config/aom_config.h" #include "config/aom_config.h"
@ -95,4 +95,4 @@ static INLINE unsigned int negative_to_zero(int value) {
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_AOM_DSP_COMMON_H_ #endif // AOM_AOM_DSP_AOM_DSP_COMMON_H_

View file

@ -519,23 +519,23 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes"){
# Quantization # Quantization
# #
if (aom_config("CONFIG_AV1_ENCODER") eq "yes") { if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
add_proto qw/void aom_quantize_b/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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"; add_proto qw/void aom_quantize_b/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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";
specialize qw/aom_quantize_b sse2/, "$ssse3_x86_64", "$avx_x86_64"; specialize qw/aom_quantize_b sse2/, "$ssse3_x86_64", "$avx_x86_64";
add_proto qw/void aom_quantize_b_32x32/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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"; add_proto qw/void aom_quantize_b_32x32/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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";
specialize qw/aom_quantize_b_32x32/, "$ssse3_x86_64", "$avx_x86_64"; specialize qw/aom_quantize_b_32x32/, "$ssse3_x86_64", "$avx_x86_64";
add_proto qw/void aom_quantize_b_64x64/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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"; add_proto qw/void aom_quantize_b_64x64/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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";
} # CONFIG_AV1_ENCODER } # CONFIG_AV1_ENCODER
if (aom_config("CONFIG_AV1_ENCODER") eq "yes") { if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
add_proto qw/void aom_highbd_quantize_b/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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"; add_proto qw/void aom_highbd_quantize_b/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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";
specialize qw/aom_highbd_quantize_b sse2 avx2/; specialize qw/aom_highbd_quantize_b sse2 avx2/;
add_proto qw/void aom_highbd_quantize_b_32x32/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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"; add_proto qw/void aom_highbd_quantize_b_32x32/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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";
specialize qw/aom_highbd_quantize_b_32x32 sse2/; specialize qw/aom_highbd_quantize_b_32x32 sse2/;
add_proto qw/void aom_highbd_quantize_b_64x64/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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"; add_proto qw/void aom_highbd_quantize_b_64x64/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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";
} # CONFIG_AV1_ENCODER } # CONFIG_AV1_ENCODER
@ -543,12 +543,12 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
# Alpha blending with mask # Alpha blending with mask
# #
add_proto qw/void aom_lowbd_blend_a64_d16_mask/, "uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params"; add_proto qw/void aom_lowbd_blend_a64_d16_mask/, "uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params";
specialize qw/aom_lowbd_blend_a64_d16_mask sse4_1 neon/; specialize qw/aom_lowbd_blend_a64_d16_mask sse4_1 avx2 neon/;
add_proto qw/void aom_highbd_blend_a64_d16_mask/, "uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params, const int bd"; add_proto qw/void aom_highbd_blend_a64_d16_mask/, "uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby, ConvolveParams *conv_params, const int bd";
add_proto qw/void aom_blend_a64_mask/, "uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby"; add_proto qw/void aom_blend_a64_mask/, "uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subx, int suby";
add_proto qw/void aom_blend_a64_hmask/, "uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h"; add_proto qw/void aom_blend_a64_hmask/, "uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h";
add_proto qw/void aom_blend_a64_vmask/, "uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h"; add_proto qw/void aom_blend_a64_vmask/, "uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h";
specialize "aom_blend_a64_mask", qw/sse4_1/; specialize "aom_blend_a64_mask", qw/sse4_1 avx2/;
specialize "aom_blend_a64_hmask", qw/sse4_1 neon/; specialize "aom_blend_a64_hmask", qw/sse4_1 neon/;
specialize "aom_blend_a64_vmask", qw/sse4_1 neon/; specialize "aom_blend_a64_vmask", qw/sse4_1 neon/;
@ -569,15 +569,22 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
add_proto qw/void aom_highbd_subtract_block/, "int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride, int bd"; add_proto qw/void aom_highbd_subtract_block/, "int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride, int bd";
specialize qw/aom_highbd_subtract_block sse2/; specialize qw/aom_highbd_subtract_block sse2/;
add_proto qw/int64_t/, "aom_sse", "const uint8_t *a, int a_stride, const uint8_t *b,int b_stride, int width, int height";
specialize qw/aom_sse sse4_1 avx2/;
add_proto qw/int64_t/, "aom_highbd_sse", "const uint8_t *a8, int a_stride, const uint8_t *b8,int b_stride, int width, int height";
specialize qw/aom_highbd_sse sse4_1 avx2/;
if (aom_config("CONFIG_AV1_ENCODER") eq "yes") { if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
# #
# Sum of Squares # Sum of Squares
# #
add_proto qw/uint64_t aom_sum_squares_2d_i16/, "const int16_t *src, int stride, int width, int height"; add_proto qw/uint64_t aom_sum_squares_2d_i16/, "const int16_t *src, int stride, int width, int height";
specialize qw/aom_sum_squares_2d_i16 sse2/; specialize qw/aom_sum_squares_2d_i16 sse2 avx2/;
add_proto qw/uint64_t aom_sum_squares_i16/, "const int16_t *src, uint32_t N"; add_proto qw/uint64_t aom_sum_squares_i16/, "const int16_t *src, uint32_t N";
specialize qw/aom_sum_squares_i16 sse2/; specialize qw/aom_sum_squares_i16 sse2/;
} }
@ -830,7 +837,6 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
specialize qw/aom_highbd_sad16x64x4d sse2/; specialize qw/aom_highbd_sad16x64x4d sse2/;
specialize qw/aom_highbd_sad64x16x4d sse2/; specialize qw/aom_highbd_sad64x16x4d sse2/;
# #
# Structured Similarity (SSIM) # Structured Similarity (SSIM)
# #
@ -888,36 +894,43 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
# #
add_proto qw/void aom_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col, add_proto qw/void aom_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col,
const MV *const mv, uint8_t *comp_pred, int width, int height, int subpel_x_q3, const MV *const mv, uint8_t *comp_pred, int width, int height, int subpel_x_q3,
int subpel_y_q3, const uint8_t *ref, int ref_stride"; int subpel_y_q3, const uint8_t *ref, int ref_stride, int subpel_search";
specialize qw/aom_upsampled_pred sse2/; specialize qw/aom_upsampled_pred sse2/;
add_proto qw/void aom_comp_avg_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col, add_proto qw/void aom_comp_avg_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col,
const MV *const mv, uint8_t *comp_pred, const uint8_t *pred, int width, const MV *const mv, uint8_t *comp_pred, const uint8_t *pred, int width,
int height, int subpel_x_q3, int subpel_y_q3, const uint8_t *ref, int height, int subpel_x_q3, int subpel_y_q3, const uint8_t *ref,
int ref_stride"; int ref_stride, int subpel_search";
specialize qw/aom_comp_avg_upsampled_pred sse2/; specialize qw/aom_comp_avg_upsampled_pred sse2/;
add_proto qw/void aom_jnt_comp_avg_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col, add_proto qw/void aom_jnt_comp_avg_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col,
const MV *const mv, uint8_t *comp_pred, const uint8_t *pred, int width, const MV *const mv, uint8_t *comp_pred, const uint8_t *pred, int width,
int height, int subpel_x_q3, int subpel_y_q3, const uint8_t *ref, int height, int subpel_x_q3, int subpel_y_q3, const uint8_t *ref,
int ref_stride, const JNT_COMP_PARAMS *jcp_param"; int ref_stride, const JNT_COMP_PARAMS *jcp_param, int subpel_search";
specialize qw/aom_jnt_comp_avg_upsampled_pred ssse3/; specialize qw/aom_jnt_comp_avg_upsampled_pred ssse3/;
add_proto qw/void aom_comp_mask_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col,
const MV *const mv, uint8_t *comp_pred, const uint8_t *pred, int width,
int height, int subpel_x_q3, int subpel_y_q3, const uint8_t *ref,
int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask,
int subpel_search";
specialize qw/aom_comp_mask_upsampled_pred sse2/;
add_proto qw/void aom_highbd_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col, add_proto qw/void aom_highbd_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col,
const MV *const mv, uint16_t *comp_pred, int width, int height, int subpel_x_q3, const MV *const mv, uint8_t *comp_pred8, int width, int height, int subpel_x_q3,
int subpel_y_q3, const uint8_t *ref8, int ref_stride, int bd"; int subpel_y_q3, const uint8_t *ref8, int ref_stride, int bd, int subpel_search";
specialize qw/aom_highbd_upsampled_pred sse2/; specialize qw/aom_highbd_upsampled_pred sse2/;
add_proto qw/void aom_highbd_comp_avg_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col, add_proto qw/void aom_highbd_comp_avg_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col,
const MV *const mv, uint16_t *comp_pred, const uint8_t *pred8, int width, const MV *const mv, uint8_t *comp_pred8, const uint8_t *pred8, int width,
int height, int subpel_x_q3, int subpel_y_q3, const uint8_t *ref8, int ref_stride, int bd"; int height, int subpel_x_q3, int subpel_y_q3, const uint8_t *ref8, int ref_stride, int bd, int subpel_search";
specialize qw/aom_highbd_comp_avg_upsampled_pred sse2/; specialize qw/aom_highbd_comp_avg_upsampled_pred sse2/;
add_proto qw/void aom_highbd_jnt_comp_avg_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col, add_proto qw/void aom_highbd_jnt_comp_avg_upsampled_pred/, "MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col,
const MV *const mv, uint16_t *comp_pred, const uint8_t *pred8, int width, const MV *const mv, uint8_t *comp_pred8, const uint8_t *pred8, int width,
int height, int subpel_x_q3, int subpel_y_q3, const uint8_t *ref8, int height, int subpel_x_q3, int subpel_y_q3, const uint8_t *ref8,
int ref_stride, int bd, const JNT_COMP_PARAMS *jcp_param"; int ref_stride, int bd, const JNT_COMP_PARAMS *jcp_param, int subpel_search";
specialize qw/aom_highbd_jnt_comp_avg_upsampled_pred sse2/; specialize qw/aom_highbd_jnt_comp_avg_upsampled_pred sse2/;
@ -1101,7 +1114,7 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
($w, $h) = @$_; ($w, $h) = @$_;
add_proto qw/unsigned int/, "aom_obmc_variance${w}x${h}", "const uint8_t *pre, int pre_stride, const int32_t *wsrc, const int32_t *mask, unsigned int *sse"; add_proto qw/unsigned int/, "aom_obmc_variance${w}x${h}", "const uint8_t *pre, int pre_stride, const int32_t *wsrc, const int32_t *mask, unsigned int *sse";
add_proto qw/unsigned int/, "aom_obmc_sub_pixel_variance${w}x${h}", "const uint8_t *pre, int pre_stride, int xoffset, int yoffset, const int32_t *wsrc, const int32_t *mask, unsigned int *sse"; add_proto qw/unsigned int/, "aom_obmc_sub_pixel_variance${w}x${h}", "const uint8_t *pre, int pre_stride, int xoffset, int yoffset, const int32_t *wsrc, const int32_t *mask, unsigned int *sse";
specialize "aom_obmc_variance${w}x${h}", q/sse4_1/; specialize "aom_obmc_variance${w}x${h}", qw/sse4_1 avx2/;
specialize "aom_obmc_sub_pixel_variance${w}x${h}", q/sse4_1/; specialize "aom_obmc_sub_pixel_variance${w}x${h}", q/sse4_1/;
} }
@ -1154,17 +1167,6 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
add_proto qw/uint32_t aom_sub_pixel_avg_variance4x4/, "const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred"; add_proto qw/uint32_t aom_sub_pixel_avg_variance4x4/, "const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred";
specialize qw/aom_sub_pixel_avg_variance4x4 msa sse2 ssse3/; specialize qw/aom_sub_pixel_avg_variance4x4 msa sse2 ssse3/;
#
# Specialty Subpixel
#
add_proto qw/uint32_t aom_variance_halfpixvar16x16_h/, "const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse";
specialize qw/aom_variance_halfpixvar16x16_h sse2/;
add_proto qw/uint32_t aom_variance_halfpixvar16x16_v/, "const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse";
specialize qw/aom_variance_halfpixvar16x16_v sse2/;
add_proto qw/uint32_t aom_variance_halfpixvar16x16_hv/, "const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse";
specialize qw/aom_variance_halfpixvar16x16_hv sse2/;
# #
# Comp Avg # Comp Avg
@ -1174,6 +1176,14 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
add_proto qw/void aom_jnt_comp_avg_pred/, "uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride, const JNT_COMP_PARAMS *jcp_param"; add_proto qw/void aom_jnt_comp_avg_pred/, "uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride, const JNT_COMP_PARAMS *jcp_param";
specialize qw/aom_jnt_comp_avg_pred ssse3/; specialize qw/aom_jnt_comp_avg_pred ssse3/;
add_proto qw/unsigned int aom_highbd_12_variance128x128/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_12_variance128x128 sse2/;
add_proto qw/unsigned int aom_highbd_12_variance128x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_12_variance128x64 sse2/;
add_proto qw/unsigned int aom_highbd_12_variance64x128/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_12_variance64x128 sse2/;
add_proto qw/unsigned int aom_highbd_12_variance64x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_12_variance64x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_12_variance64x64 sse2/; specialize qw/aom_highbd_12_variance64x64 sse2/;
@ -1209,40 +1219,58 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
add_proto qw/unsigned int aom_highbd_12_variance4x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_12_variance4x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
add_proto qw/unsigned int aom_highbd_12_variance4x4/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_12_variance4x4/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
add_proto qw/unsigned int aom_highbd_10_variance128x128/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance128x128 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance128x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance128x64 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance64x128/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance64x128 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance64x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance64x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance64x64 sse2/; specialize qw/aom_highbd_10_variance64x64 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance64x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance64x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance64x32 sse2/; specialize qw/aom_highbd_10_variance64x32 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance32x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance32x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance32x64 sse2/; specialize qw/aom_highbd_10_variance32x64 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance32x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance32x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance32x32 sse2/; specialize qw/aom_highbd_10_variance32x32 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance32x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance32x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance32x16 sse2/; specialize qw/aom_highbd_10_variance32x16 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance16x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance16x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance16x32 sse2/; specialize qw/aom_highbd_10_variance16x32 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance16x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance16x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance16x16 sse2/; specialize qw/aom_highbd_10_variance16x16 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance16x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance16x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance16x8 sse2/; specialize qw/aom_highbd_10_variance16x8 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance8x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance8x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance8x16 sse2/; specialize qw/aom_highbd_10_variance8x16 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance8x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance8x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_10_variance8x8 sse2/; specialize qw/aom_highbd_10_variance8x8 sse2 avx2/;
add_proto qw/unsigned int aom_highbd_10_variance8x4/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance8x4/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
add_proto qw/unsigned int aom_highbd_10_variance4x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance4x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
add_proto qw/unsigned int aom_highbd_10_variance4x4/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_10_variance4x4/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
add_proto qw/unsigned int aom_highbd_8_variance128x128/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_8_variance128x128 sse2/;
add_proto qw/unsigned int aom_highbd_8_variance128x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_8_variance128x64 sse2/;
add_proto qw/unsigned int aom_highbd_8_variance64x128/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_8_variance64x128 sse2/;
add_proto qw/unsigned int aom_highbd_8_variance64x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_8_variance64x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse";
specialize qw/aom_highbd_8_variance64x64 sse2/; specialize qw/aom_highbd_8_variance64x64 sse2/;
@ -1310,9 +1338,9 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
add_proto qw/unsigned int aom_highbd_12_mse8x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; add_proto qw/unsigned int aom_highbd_12_mse8x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse";
specialize qw/aom_highbd_12_mse8x8 sse2/; specialize qw/aom_highbd_12_mse8x8 sse2/;
add_proto qw/void aom_highbd_comp_avg_pred/, "uint16_t *comp_pred, const uint8_t *pred8, int width, int height, const uint8_t *ref8, int ref_stride"; add_proto qw/void aom_highbd_comp_avg_pred/, "uint8_t *comp_pred8, const uint8_t *pred8, int width, int height, const uint8_t *ref8, int ref_stride";
add_proto qw/void aom_highbd_jnt_comp_avg_pred/, "uint16_t *comp_pred, const uint8_t *pred8, int width, int height, const uint8_t *ref8, int ref_stride, const JNT_COMP_PARAMS *jcp_param"; add_proto qw/void aom_highbd_jnt_comp_avg_pred/, "uint8_t *comp_pred8, const uint8_t *pred8, int width, int height, const uint8_t *ref8, int ref_stride, const JNT_COMP_PARAMS *jcp_param";
specialize qw/aom_highbd_jnt_comp_avg_pred sse2/; specialize qw/aom_highbd_jnt_comp_avg_pred sse2/;
# #
@ -1539,8 +1567,8 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
add_proto qw/void aom_comp_mask_pred/, "uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask"; add_proto qw/void aom_comp_mask_pred/, "uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask";
specialize qw/aom_comp_mask_pred ssse3 avx2/; specialize qw/aom_comp_mask_pred ssse3 avx2/;
add_proto qw/void aom_highbd_comp_mask_pred/, "uint16_t *comp_pred, const uint8_t *pred8, int width, int height, const uint8_t *ref8, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask"; add_proto qw/void aom_highbd_comp_mask_pred/, "uint8_t *comp_pred, const uint8_t *pred8, int width, int height, const uint8_t *ref8, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask";
specialize qw/aom_highbd_comp_mask_pred avx2/; specialize qw/aom_highbd_comp_mask_pred sse2 avx2/;
} # CONFIG_AV1_ENCODER } # CONFIG_AV1_ENCODER

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_AOM_FILTER_H_ #ifndef AOM_AOM_DSP_AOM_FILTER_H_
#define AOM_DSP_AOM_FILTER_H_ #define AOM_AOM_DSP_AOM_FILTER_H_
#include "aom/aom_integer.h" #include "aom/aom_integer.h"
@ -53,4 +53,4 @@ static const uint8_t bilinear_filters_2t[BIL_SUBPEL_SHIFTS][2] = {
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_AOM_FILTER_H_ #endif // AOM_AOM_DSP_AOM_FILTER_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_AOM_AOM_SIMD_H_ #ifndef AOM_AOM_DSP_AOM_SIMD_H_
#define AOM_DSP_AOM_AOM_SIMD_H_ #define AOM_AOM_DSP_AOM_SIMD_H_
#include <stdint.h> #include <stdint.h>
@ -35,4 +35,4 @@
#include "simd/v256_intrinsics.h" #include "simd/v256_intrinsics.h"
#endif #endif
#endif // AOM_DSP_AOM_AOM_SIMD_H_ #endif // AOM_AOM_DSP_AOM_SIMD_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_AOM_SIMD_INLINE_H_ #ifndef AOM_AOM_DSP_AOM_SIMD_INLINE_H_
#define AOM_DSP_AOM_SIMD_INLINE_H_ #define AOM_AOM_DSP_AOM_SIMD_INLINE_H_
#include "aom/aom_integer.h" #include "aom/aom_integer.h"
@ -18,4 +18,4 @@
#define SIMD_INLINE static AOM_FORCE_INLINE #define SIMD_INLINE static AOM_FORCE_INLINE
#endif #endif
#endif // AOM_DSP_AOM_SIMD_INLINE_H_ #endif // AOM_AOM_DSP_AOM_SIMD_INLINE_H_

View file

@ -86,7 +86,8 @@ static INLINE void blend_4x4(uint8_t *dst, uint32_t dst_stride,
const int16x8_t vec_round_bits) { const int16x8_t vec_round_bits) {
int16x8_t src0_0, src0_1; int16x8_t src0_0, src0_1;
int16x8_t src1_0, src1_1; int16x8_t src1_0, src1_1;
uint64x2_t tu0, tu1, tu2, tu3; uint64x2_t tu0 = vdupq_n_u64(0), tu1 = vdupq_n_u64(0), tu2 = vdupq_n_u64(0),
tu3 = vdupq_n_u64(0);
int16x8_t mask0_1, mask2_3; int16x8_t mask0_1, mask2_3;
int16x8_t res0, res1; int16x8_t res0, res1;
@ -154,7 +155,8 @@ void aom_lowbd_blend_a64_d16_mask_neon(
assert(IS_POWER_OF_TWO(w)); assert(IS_POWER_OF_TWO(w));
uint8x8_t s0, s1, s2, s3; uint8x8_t s0, s1, s2, s3;
uint32x2_t tu0, tu1, tu2, tu3; uint32x2_t tu0 = vdup_n_u32(0), tu1 = vdup_n_u32(0), tu2 = vdup_n_u32(0),
tu3 = vdup_n_u32(0);
uint8x16_t t0, t1, t2, t3, t4, t5, t6, t7; uint8x16_t t0, t1, t2, t3, t4, t5, t6, t7;
int16x8_t mask0, mask1, mask2, mask3; int16x8_t mask0, mask1, mask2, mask3;
int16x8_t mask4, mask5, mask6, mask7; int16x8_t mask4, mask5, mask6, mask7;

View file

@ -17,13 +17,9 @@
#include "aom_ports/mem.h" #include "aom_ports/mem.h"
#include "aom/aom_integer.h" #include "aom/aom_integer.h"
#include "aom_dsp/aom_filter.h"
#include "aom_dsp/variance.h" #include "aom_dsp/variance.h"
static const uint8_t bilinear_filters[8][2] = {
{ 128, 0 }, { 112, 16 }, { 96, 32 }, { 80, 48 },
{ 64, 64 }, { 48, 80 }, { 32, 96 }, { 16, 112 },
};
static void var_filter_block2d_bil_w8(const uint8_t *src_ptr, static void var_filter_block2d_bil_w8(const uint8_t *src_ptr,
uint8_t *output_ptr, uint8_t *output_ptr,
unsigned int src_pixels_per_line, unsigned int src_pixels_per_line,
@ -83,9 +79,9 @@ unsigned int aom_sub_pixel_variance8x8_neon(const uint8_t *src, int src_stride,
DECLARE_ALIGNED(16, uint8_t, fdata3[9 * 8]); DECLARE_ALIGNED(16, uint8_t, fdata3[9 * 8]);
var_filter_block2d_bil_w8(src, fdata3, src_stride, 1, 9, 8, var_filter_block2d_bil_w8(src, fdata3, src_stride, 1, 9, 8,
bilinear_filters[xoffset]); bilinear_filters_2t[xoffset]);
var_filter_block2d_bil_w8(fdata3, temp2, 8, 8, 8, 8, var_filter_block2d_bil_w8(fdata3, temp2, 8, 8, 8, 8,
bilinear_filters[yoffset]); bilinear_filters_2t[yoffset]);
return aom_variance8x8_neon(temp2, 8, dst, dst_stride, sse); return aom_variance8x8_neon(temp2, 8, dst, dst_stride, sse);
} }
@ -98,9 +94,9 @@ unsigned int aom_sub_pixel_variance16x16_neon(const uint8_t *src,
DECLARE_ALIGNED(16, uint8_t, fdata3[17 * 16]); DECLARE_ALIGNED(16, uint8_t, fdata3[17 * 16]);
var_filter_block2d_bil_w16(src, fdata3, src_stride, 1, 17, 16, var_filter_block2d_bil_w16(src, fdata3, src_stride, 1, 17, 16,
bilinear_filters[xoffset]); bilinear_filters_2t[xoffset]);
var_filter_block2d_bil_w16(fdata3, temp2, 16, 16, 16, 16, var_filter_block2d_bil_w16(fdata3, temp2, 16, 16, 16, 16,
bilinear_filters[yoffset]); bilinear_filters_2t[yoffset]);
return aom_variance16x16_neon(temp2, 16, dst, dst_stride, sse); return aom_variance16x16_neon(temp2, 16, dst, dst_stride, sse);
} }
@ -113,9 +109,9 @@ unsigned int aom_sub_pixel_variance32x32_neon(const uint8_t *src,
DECLARE_ALIGNED(16, uint8_t, fdata3[33 * 32]); DECLARE_ALIGNED(16, uint8_t, fdata3[33 * 32]);
var_filter_block2d_bil_w16(src, fdata3, src_stride, 1, 33, 32, var_filter_block2d_bil_w16(src, fdata3, src_stride, 1, 33, 32,
bilinear_filters[xoffset]); bilinear_filters_2t[xoffset]);
var_filter_block2d_bil_w16(fdata3, temp2, 32, 32, 32, 32, var_filter_block2d_bil_w16(fdata3, temp2, 32, 32, 32, 32,
bilinear_filters[yoffset]); bilinear_filters_2t[yoffset]);
return aom_variance32x32_neon(temp2, 32, dst, dst_stride, sse); return aom_variance32x32_neon(temp2, 32, dst, dst_stride, sse);
} }
@ -128,8 +124,8 @@ unsigned int aom_sub_pixel_variance64x64_neon(const uint8_t *src,
DECLARE_ALIGNED(16, uint8_t, fdata3[65 * 64]); DECLARE_ALIGNED(16, uint8_t, fdata3[65 * 64]);
var_filter_block2d_bil_w16(src, fdata3, src_stride, 1, 65, 64, var_filter_block2d_bil_w16(src, fdata3, src_stride, 1, 65, 64,
bilinear_filters[xoffset]); bilinear_filters_2t[xoffset]);
var_filter_block2d_bil_w16(fdata3, temp2, 64, 64, 64, 64, var_filter_block2d_bil_w16(fdata3, temp2, 64, 64, 64, 64,
bilinear_filters[yoffset]); bilinear_filters_2t[yoffset]);
return aom_variance64x64_neon(temp2, 64, dst, dst_stride, sse); return aom_variance64x64_neon(temp2, 64, dst, dst_stride, sse);
} }

View file

@ -36,7 +36,7 @@ static uint16_t inv_recenter_finite_nonneg(uint16_t n, uint16_t r, uint16_t v) {
uint16_t aom_read_primitive_quniform_(aom_reader *r, uint16_t aom_read_primitive_quniform_(aom_reader *r,
uint16_t n ACCT_STR_PARAM) { uint16_t n ACCT_STR_PARAM) {
if (n <= 1) return 0; if (n <= 1) return 0;
const int l = get_msb(n - 1) + 1; const int l = get_msb(n) + 1;
const int m = (1 << l) - n; const int m = (1 << l) - n;
const int v = aom_read_literal(r, l - 1, ACCT_STR_NAME); const int v = aom_read_literal(r, l - 1, ACCT_STR_NAME);
return v < m ? v : (v << 1) - m + aom_read_bit(r, ACCT_STR_NAME); return v < m ? v : (v << 1) - m + aom_read_bit(r, ACCT_STR_NAME);
@ -45,7 +45,7 @@ uint16_t aom_read_primitive_quniform_(aom_reader *r,
static uint16_t aom_rb_read_primitive_quniform(struct aom_read_bit_buffer *rb, static uint16_t aom_rb_read_primitive_quniform(struct aom_read_bit_buffer *rb,
uint16_t n) { uint16_t n) {
if (n <= 1) return 0; if (n <= 1) return 0;
const int l = get_msb(n - 1) + 1; const int l = get_msb(n) + 1;
const int m = (1 << l) - n; const int m = (1 << l) - n;
const int v = aom_rb_read_literal(rb, l - 1); const int v = aom_rb_read_literal(rb, l - 1);
return v < m ? v : (v << 1) - m + aom_rb_read_bit(rb); return v < m ? v : (v << 1) - m + aom_rb_read_bit(rb);
@ -121,13 +121,3 @@ int16_t aom_rb_read_signed_primitive_refsubexpfin(
const uint16_t scaled_n = (n << 1) - 1; const uint16_t scaled_n = (n << 1) - 1;
return aom_rb_read_primitive_refsubexpfin(rb, scaled_n, k, ref) - n + 1; return aom_rb_read_primitive_refsubexpfin(rb, scaled_n, k, ref) - n + 1;
} }
uint32_t aom_rb_read_uvlc(struct aom_read_bit_buffer *rb) {
int leading_zeros = 0;
while (!aom_rb_read_bit(rb)) ++leading_zeros;
// Maximum 32 bits.
if (leading_zeros >= 32) return UINT32_MAX;
const uint32_t base = (1u << leading_zeros) - 1;
const uint32_t value = aom_rb_read_literal(rb, leading_zeros);
return base + value;
}

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_BINARY_CODES_READER_H_ #ifndef AOM_AOM_DSP_BINARY_CODES_READER_H_
#define AOM_DSP_BINARY_CODES_READER_H_ #define AOM_AOM_DSP_BINARY_CODES_READER_H_
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -40,10 +40,8 @@ uint16_t aom_read_primitive_refsubexpfin_(aom_reader *r, uint16_t n, uint16_t k,
int16_t aom_rb_read_signed_primitive_refsubexpfin( int16_t aom_rb_read_signed_primitive_refsubexpfin(
struct aom_read_bit_buffer *rb, uint16_t n, uint16_t k, int16_t ref); struct aom_read_bit_buffer *rb, uint16_t n, uint16_t k, int16_t ref);
uint32_t aom_rb_read_uvlc(struct aom_read_bit_buffer *rb);
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_BINARY_CODES_READER_H_ #endif // AOM_AOM_DSP_BINARY_CODES_READER_H_

View file

@ -59,7 +59,7 @@ int aom_count_primitive_symmetric(int16_t v, unsigned int abs_bits) {
// Encodes a value v in [0, n-1] quasi-uniformly // Encodes a value v in [0, n-1] quasi-uniformly
void aom_write_primitive_quniform(aom_writer *w, uint16_t n, uint16_t v) { void aom_write_primitive_quniform(aom_writer *w, uint16_t n, uint16_t v) {
if (n <= 1) return; if (n <= 1) return;
const int l = get_msb(n - 1) + 1; const int l = get_msb(n) + 1;
const int m = (1 << l) - n; const int m = (1 << l) - n;
if (v < m) { if (v < m) {
aom_write_literal(w, v, l - 1); aom_write_literal(w, v, l - 1);
@ -72,7 +72,7 @@ void aom_write_primitive_quniform(aom_writer *w, uint16_t n, uint16_t v) {
static void aom_wb_write_primitive_quniform(struct aom_write_bit_buffer *wb, static void aom_wb_write_primitive_quniform(struct aom_write_bit_buffer *wb,
uint16_t n, uint16_t v) { uint16_t n, uint16_t v) {
if (n <= 1) return; if (n <= 1) return;
const int l = get_msb(n - 1) + 1; const int l = get_msb(n) + 1;
const int m = (1 << l) - n; const int m = (1 << l) - n;
if (v < m) { if (v < m) {
aom_wb_write_literal(wb, v, l - 1); aom_wb_write_literal(wb, v, l - 1);
@ -84,7 +84,7 @@ static void aom_wb_write_primitive_quniform(struct aom_write_bit_buffer *wb,
int aom_count_primitive_quniform(uint16_t n, uint16_t v) { int aom_count_primitive_quniform(uint16_t n, uint16_t v) {
if (n <= 1) return 0; if (n <= 1) return 0;
const int l = get_msb(n - 1) + 1; const int l = get_msb(n) + 1;
const int m = (1 << l) - n; const int m = (1 << l) - n;
return v < m ? l - 1 : l; return v < m ? l - 1 : l;
} }
@ -208,15 +208,3 @@ int aom_count_signed_primitive_refsubexpfin(uint16_t n, uint16_t k, int16_t ref,
const uint16_t scaled_n = (n << 1) - 1; const uint16_t scaled_n = (n << 1) - 1;
return aom_count_primitive_refsubexpfin(scaled_n, k, ref, v); return aom_count_primitive_refsubexpfin(scaled_n, k, ref, v);
} }
void aom_wb_write_uvlc(struct aom_write_bit_buffer *wb, uint32_t v) {
int64_t shift_val = ++v;
int leading_zeroes = 1;
assert(shift_val > 0);
while (shift_val >>= 1) leading_zeroes += 2;
aom_wb_write_literal(wb, 0, leading_zeroes >> 1);
aom_wb_write_unsigned_literal(wb, v, (leading_zeroes + 1) >> 1);
}

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_BINARY_CODES_WRITER_H_ #ifndef AOM_AOM_DSP_BINARY_CODES_WRITER_H_
#define AOM_DSP_BINARY_CODES_WRITER_H_ #define AOM_AOM_DSP_BINARY_CODES_WRITER_H_
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -61,9 +61,8 @@ int aom_count_primitive_refsubexpfin(uint16_t n, uint16_t k, uint16_t ref,
uint16_t v); uint16_t v);
int aom_count_signed_primitive_refsubexpfin(uint16_t n, uint16_t k, int16_t ref, int aom_count_signed_primitive_refsubexpfin(uint16_t n, uint16_t k, int16_t ref,
int16_t v); int16_t v);
void aom_wb_write_uvlc(struct aom_write_bit_buffer *wb, uint32_t v);
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_BINARY_CODES_WRITER_H_ #endif // AOM_AOM_DSP_BINARY_CODES_WRITER_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_BITREADER_H_ #ifndef AOM_AOM_DSP_BITREADER_H_
#define AOM_DSP_BITREADER_H_ #define AOM_AOM_DSP_BITREADER_H_
#include <assert.h> #include <assert.h>
#include <limits.h> #include <limits.h>
@ -69,6 +69,12 @@ static INLINE int aom_reader_has_error(aom_reader *r) {
return aom_daala_reader_has_error(r); return aom_daala_reader_has_error(r);
} }
// Returns true if the bit reader has tried to decode more data from the buffer
// than was actually provided.
static INLINE int aom_reader_has_overflowed(const aom_reader *r) {
return aom_daala_reader_has_overflowed(r);
}
// Returns the position in the bit reader in bits. // Returns the position in the bit reader in bits.
static INLINE uint32_t aom_reader_tell(const aom_reader *r) { static INLINE uint32_t aom_reader_tell(const aom_reader *r) {
return aom_daala_reader_tell(r); return aom_daala_reader_tell(r);
@ -151,4 +157,4 @@ static INLINE int aom_read_symbol_(aom_reader *r, aom_cdf_prob *cdf,
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_BITREADER_H_ #endif // AOM_AOM_DSP_BITREADER_H_

View file

@ -55,3 +55,13 @@ int aom_rb_read_inv_signed_literal(struct aom_read_bit_buffer *rb, int bits) {
const unsigned value = (unsigned)aom_rb_read_literal(rb, bits + 1) << nbits; const unsigned value = (unsigned)aom_rb_read_literal(rb, bits + 1) << nbits;
return ((int)value) >> nbits; return ((int)value) >> nbits;
} }
uint32_t aom_rb_read_uvlc(struct aom_read_bit_buffer *rb) {
int leading_zeros = 0;
while (!aom_rb_read_bit(rb)) ++leading_zeros;
// Maximum 32 bits.
if (leading_zeros >= 32) return UINT32_MAX;
const uint32_t base = (1u << leading_zeros) - 1;
const uint32_t value = aom_rb_read_literal(rb, leading_zeros);
return base + value;
}

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_BITREADER_BUFFER_H_ #ifndef AOM_AOM_DSP_BITREADER_BUFFER_H_
#define AOM_DSP_BITREADER_BUFFER_H_ #define AOM_AOM_DSP_BITREADER_BUFFER_H_
#include <limits.h> #include <limits.h>
@ -41,8 +41,10 @@ uint32_t aom_rb_read_unsigned_literal(struct aom_read_bit_buffer *rb, int bits);
int aom_rb_read_inv_signed_literal(struct aom_read_bit_buffer *rb, int bits); int aom_rb_read_inv_signed_literal(struct aom_read_bit_buffer *rb, int bits);
uint32_t aom_rb_read_uvlc(struct aom_read_bit_buffer *rb);
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_BITREADER_BUFFER_H_ #endif // AOM_AOM_DSP_BITREADER_BUFFER_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_BITWRITER_H_ #ifndef AOM_AOM_DSP_BITWRITER_H_
#define AOM_DSP_BITWRITER_H_ #define AOM_AOM_DSP_BITWRITER_H_
#include <assert.h> #include <assert.h>
@ -86,4 +86,4 @@ static INLINE void aom_write_symbol(aom_writer *w, int symb, aom_cdf_prob *cdf,
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_BITWRITER_H_ #endif // AOM_AOM_DSP_BITWRITER_H_

View file

@ -73,3 +73,15 @@ void aom_wb_write_inv_signed_literal(struct aom_write_bit_buffer *wb, int data,
int bits) { int bits) {
aom_wb_write_literal(wb, data, bits + 1); aom_wb_write_literal(wb, data, bits + 1);
} }
void aom_wb_write_uvlc(struct aom_write_bit_buffer *wb, uint32_t v) {
int64_t shift_val = ++v;
int leading_zeroes = 1;
assert(shift_val > 0);
while (shift_val >>= 1) leading_zeroes += 2;
aom_wb_write_literal(wb, 0, leading_zeroes >> 1);
aom_wb_write_unsigned_literal(wb, v, (leading_zeroes + 1) >> 1);
}

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_BITWRITER_BUFFER_H_ #ifndef AOM_AOM_DSP_BITWRITER_BUFFER_H_
#define AOM_DSP_BITWRITER_BUFFER_H_ #define AOM_AOM_DSP_BITWRITER_BUFFER_H_
#include "aom/aom_integer.h" #include "aom/aom_integer.h"
@ -42,8 +42,10 @@ void aom_wb_overwrite_literal(struct aom_write_bit_buffer *wb, int data,
void aom_wb_write_inv_signed_literal(struct aom_write_bit_buffer *wb, int data, void aom_wb_write_inv_signed_literal(struct aom_write_bit_buffer *wb, int data,
int bits); int bits);
void aom_wb_write_uvlc(struct aom_write_bit_buffer *wb, uint32_t v);
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_BITWRITER_BUFFER_H_ #endif // AOM_AOM_DSP_BITWRITER_BUFFER_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_BLEND_H_ #ifndef AOM_AOM_DSP_BLEND_H_
#define AOM_DSP_BLEND_H_ #define AOM_AOM_DSP_BLEND_H_
#include "aom_ports/mem.h" #include "aom_ports/mem.h"
@ -42,4 +42,4 @@
#define DIFF_FACTOR_LOG2 4 #define DIFF_FACTOR_LOG2 4
#define DIFF_FACTOR (1 << DIFF_FACTOR_LOG2) #define DIFF_FACTOR (1 << DIFF_FACTOR_LOG2)
#endif // AOM_DSP_BLEND_H_ #endif // AOM_AOM_DSP_BLEND_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_BUF_ANS_H_ #ifndef AOM_AOM_DSP_BUF_ANS_H_
#define AOM_DSP_BUF_ANS_H_ #define AOM_AOM_DSP_BUF_ANS_H_
// Buffered forward ANS writer. // Buffered forward ANS writer.
// Symbols are written to the writer in forward (decode) order and serialized // Symbols are written to the writer in forward (decode) order and serialized
// backwards due to ANS's stack like behavior. // backwards due to ANS's stack like behavior.
@ -133,4 +133,4 @@ static INLINE int buf_ans_write_end(struct BufAnsCoder *const c) {
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif // __cplusplus #endif // __cplusplus
#endif // AOM_DSP_BUF_ANS_H_ #endif // AOM_AOM_DSP_BUF_ANS_H_

View file

@ -39,3 +39,9 @@ uint32_t aom_daala_reader_tell(const daala_reader *r) {
uint32_t aom_daala_reader_tell_frac(const daala_reader *r) { uint32_t aom_daala_reader_tell_frac(const daala_reader *r) {
return od_ec_dec_tell_frac(&r->ec); return od_ec_dec_tell_frac(&r->ec);
} }
int aom_daala_reader_has_overflowed(const daala_reader *r) {
const uint32_t tell_bits = aom_daala_reader_tell(r);
const uint32_t tell_bytes = (tell_bits + 7) >> 3;
return ((ptrdiff_t)tell_bytes > r->buffer_end - r->buffer);
}

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_DAALABOOLREADER_H_ #ifndef AOM_AOM_DSP_DAALABOOLREADER_H_
#define AOM_DSP_DAALABOOLREADER_H_ #define AOM_AOM_DSP_DAALABOOLREADER_H_
#include "aom/aom_integer.h" #include "aom/aom_integer.h"
#include "aom_dsp/entdec.h" #include "aom_dsp/entdec.h"
@ -44,6 +44,9 @@ const uint8_t *aom_daala_reader_find_begin(daala_reader *r);
const uint8_t *aom_daala_reader_find_end(daala_reader *r); const uint8_t *aom_daala_reader_find_end(daala_reader *r);
uint32_t aom_daala_reader_tell(const daala_reader *r); uint32_t aom_daala_reader_tell(const daala_reader *r);
uint32_t aom_daala_reader_tell_frac(const daala_reader *r); uint32_t aom_daala_reader_tell_frac(const daala_reader *r);
// Returns true if the reader has tried to decode more data from the buffer
// than was actually provided.
int aom_daala_reader_has_overflowed(const daala_reader *r);
static INLINE int aom_daala_read(daala_reader *r, int prob) { static INLINE int aom_daala_read(daala_reader *r, int prob) {
int bit; int bit;
@ -154,4 +157,4 @@ static INLINE int daala_read_symbol(daala_reader *r, const aom_cdf_prob *cdf,
} // extern "C" } // extern "C"
#endif #endif
#endif #endif // AOM_AOM_DSP_DAALABOOLREADER_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_DAALABOOLWRITER_H_ #ifndef AOM_AOM_DSP_DAALABOOLWRITER_H_
#define AOM_DSP_DAALABOOLWRITER_H_ #define AOM_AOM_DSP_DAALABOOLWRITER_H_
#include <stdio.h> #include <stdio.h>
@ -75,4 +75,4 @@ static INLINE void daala_write_symbol(daala_writer *w, int symb,
} // extern "C" } // extern "C"
#endif #endif
#endif #endif // AOM_AOM_DSP_DAALABOOLWRITER_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_ENTCODE_H_ #ifndef AOM_AOM_DSP_ENTCODE_H_
#define AOM_DSP_ENTCODE_H_ #define AOM_AOM_DSP_ENTCODE_H_
#include <limits.h> #include <limits.h>
#include <stddef.h> #include <stddef.h>
@ -37,4 +37,4 @@ typedef uint32_t od_ec_window;
OD_WARN_UNUSED_RESULT uint32_t od_ec_tell_frac(uint32_t nbits_total, OD_WARN_UNUSED_RESULT uint32_t od_ec_tell_frac(uint32_t nbits_total,
uint32_t rng); uint32_t rng);
#endif // AOM_DSP_ENTCODE_H_ #endif // AOM_AOM_DSP_ENTCODE_H_

View file

@ -112,6 +112,7 @@ static int od_ec_dec_normalize(od_ec_dec *dec, od_ec_window dif, unsigned rng,
int ret) { int ret) {
int d; int d;
assert(rng <= 65535U); assert(rng <= 65535U);
// The number of leading zeros in the 16-bit binary representation of rng.
d = 16 - OD_ILOG_NZ(rng); d = 16 - OD_ILOG_NZ(rng);
dec->cnt -= d; dec->cnt -= d;
/*This is equivalent to shifting in 1's instead of 0's.*/ /*This is equivalent to shifting in 1's instead of 0's.*/

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#if !defined(_entdec_H) #ifndef AOM_AOM_DSP_ENTDEC_H_
#define _entdec_H (1) #define AOM_AOM_DSP_ENTDEC_H_
#include <limits.h> #include <limits.h>
#include "aom_dsp/entcode.h" #include "aom_dsp/entcode.h"
@ -80,4 +80,4 @@ OD_WARN_UNUSED_RESULT uint32_t od_ec_dec_tell_frac(const od_ec_dec *dec)
} // extern "C" } // extern "C"
#endif #endif
#endif #endif // AOM_AOM_DSP_ENTDEC_H_

View file

@ -60,6 +60,7 @@ static void od_ec_enc_normalize(od_ec_enc *enc, od_ec_window low,
int s; int s;
c = enc->cnt; c = enc->cnt;
assert(rng <= 65535U); assert(rng <= 65535U);
// The number of leading zeros in the 16-bit binary representation of rng.
d = 16 - OD_ILOG_NZ(rng); d = 16 - OD_ILOG_NZ(rng);
s = c + d; s = c + d;
/*TODO: Right now we flush every time we have at least one byte available. /*TODO: Right now we flush every time we have at least one byte available.

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#if !defined(_entenc_H) #ifndef AOM_AOM_DSP_ENTENC_H_
#define _entenc_H (1) #define AOM_AOM_DSP_ENTENC_H_
#include <stddef.h> #include <stddef.h>
#include "aom_dsp/entcode.h" #include "aom_dsp/entcode.h"
@ -82,4 +82,4 @@ void od_ec_enc_rollback(od_ec_enc *dst, const od_ec_enc *src);
} // extern "C" } // extern "C"
#endif #endif
#endif #endif // AOM_AOM_DSP_ENTENC_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_FFT_COMMON_H_ #ifndef AOM_AOM_DSP_FFT_COMMON_H_
#define AOM_DSP_FFT_COMMON_H_ #define AOM_AOM_DSP_FFT_COMMON_H_
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -1047,4 +1047,4 @@ void aom_ifft_2d_gen(const float *input, float *temp, float *output, int n,
add(w93[0], sub(mul(kWeight5, w157[0]), mul(kWeight6, w157[1])))); \ add(w93[0], sub(mul(kWeight5, w157[0]), mul(kWeight6, w157[1])))); \
} }
#endif // AOM_DSP_FFT_COMMON_H_ #endif // AOM_AOM_DSP_FFT_COMMON_H_

View file

@ -396,14 +396,15 @@ static void init_random_generator(int luma_line, uint16_t seed) {
random_register ^= ((luma_num * 173 + 105) & 255); random_register ^= ((luma_num * 173 + 105) & 255);
} }
static void generate_luma_grain_block( // Return 0 for success, -1 for failure
static int generate_luma_grain_block(
const aom_film_grain_t *params, int **pred_pos_luma, int *luma_grain_block, const aom_film_grain_t *params, int **pred_pos_luma, int *luma_grain_block,
int luma_block_size_y, int luma_block_size_x, int luma_grain_stride, int luma_block_size_y, int luma_block_size_x, int luma_grain_stride,
int left_pad, int top_pad, int right_pad, int bottom_pad) { int left_pad, int top_pad, int right_pad, int bottom_pad) {
if (params->num_y_points == 0) { if (params->num_y_points == 0) {
memset(luma_grain_block, 0, memset(luma_grain_block, 0,
sizeof(*luma_grain_block) * luma_block_size_y * luma_grain_stride); sizeof(*luma_grain_block) * luma_block_size_y * luma_grain_stride);
return; return 0;
} }
int bit_depth = params->bit_depth; int bit_depth = params->bit_depth;
@ -433,9 +434,11 @@ static void generate_luma_grain_block(
((wsum + rounding_offset) >> params->ar_coeff_shift), ((wsum + rounding_offset) >> params->ar_coeff_shift),
grain_min, grain_max); grain_min, grain_max);
} }
return 0;
} }
static void generate_chroma_grain_blocks( // Return 0 for success, -1 for failure
static int generate_chroma_grain_blocks(
const aom_film_grain_t *params, const aom_film_grain_t *params,
// int** pred_pos_luma, // int** pred_pos_luma,
int **pred_pos_chroma, int *luma_grain_block, int *cb_grain_block, int **pred_pos_chroma, int *luma_grain_block, int *cb_grain_block,
@ -510,10 +513,11 @@ static void generate_chroma_grain_blocks(
wsum_cb = wsum_cb + params->ar_coeffs_cb[pos] * av_luma; wsum_cb = wsum_cb + params->ar_coeffs_cb[pos] * av_luma;
wsum_cr = wsum_cr + params->ar_coeffs_cr[pos] * av_luma; wsum_cr = wsum_cr + params->ar_coeffs_cr[pos] * av_luma;
} else { } else {
printf( fprintf(
stderr,
"Grain synthesis: prediction between two chroma components is " "Grain synthesis: prediction between two chroma components is "
"not supported!"); "not supported!");
exit(1); return -1;
} }
} }
if (params->num_cb_points || params->chroma_scaling_from_luma) if (params->num_cb_points || params->chroma_scaling_from_luma)
@ -527,6 +531,7 @@ static void generate_chroma_grain_blocks(
((wsum_cr + rounding_offset) >> params->ar_coeff_shift), ((wsum_cr + rounding_offset) >> params->ar_coeff_shift),
grain_min, grain_max); grain_min, grain_max);
} }
return 0;
} }
static void init_scaling_function(const int scaling_points[][2], int num_points, static void init_scaling_function(const int scaling_points[][2], int num_points,
@ -910,8 +915,8 @@ static void hor_boundary_overlap(int *top_block, int top_stride,
} }
} }
void av1_add_film_grain(const aom_film_grain_t *params, const aom_image_t *src, int av1_add_film_grain(const aom_film_grain_t *params, const aom_image_t *src,
aom_image_t *dst) { aom_image_t *dst) {
uint8_t *luma, *cb, *cr; uint8_t *luma, *cb, *cr;
int height, width, luma_stride, chroma_stride; int height, width, luma_stride, chroma_stride;
int use_high_bit_depth = 0; int use_high_bit_depth = 0;
@ -953,8 +958,8 @@ void av1_add_film_grain(const aom_film_grain_t *params, const aom_image_t *src,
chroma_subsamp_y = 0; chroma_subsamp_y = 0;
break; break;
default: // unknown input format default: // unknown input format
printf("Film grain error: input format is not supported!"); fprintf(stderr, "Film grain error: input format is not supported!");
exit(1); return -1;
} }
assert(params->bit_depth == src->bit_depth); assert(params->bit_depth == src->bit_depth);
@ -1011,17 +1016,16 @@ void av1_add_film_grain(const aom_film_grain_t *params, const aom_image_t *src,
luma_stride = dst->stride[AOM_PLANE_Y] >> use_high_bit_depth; luma_stride = dst->stride[AOM_PLANE_Y] >> use_high_bit_depth;
chroma_stride = dst->stride[AOM_PLANE_U] >> use_high_bit_depth; chroma_stride = dst->stride[AOM_PLANE_U] >> use_high_bit_depth;
av1_add_film_grain_run(params, luma, cb, cr, height, width, luma_stride, return av1_add_film_grain_run(
chroma_stride, use_high_bit_depth, chroma_subsamp_y, params, luma, cb, cr, height, width, luma_stride, chroma_stride,
chroma_subsamp_x, mc_identity); use_high_bit_depth, chroma_subsamp_y, chroma_subsamp_x, mc_identity);
return;
} }
void av1_add_film_grain_run(const aom_film_grain_t *params, uint8_t *luma, int av1_add_film_grain_run(const aom_film_grain_t *params, uint8_t *luma,
uint8_t *cb, uint8_t *cr, int height, int width, uint8_t *cb, uint8_t *cr, int height, int width,
int luma_stride, int chroma_stride, int luma_stride, int chroma_stride,
int use_high_bit_depth, int chroma_subsamp_y, int use_high_bit_depth, int chroma_subsamp_y,
int chroma_subsamp_x, int mc_identity) { int chroma_subsamp_x, int mc_identity) {
int **pred_pos_luma; int **pred_pos_luma;
int **pred_pos_chroma; int **pred_pos_chroma;
int *luma_grain_block; int *luma_grain_block;
@ -1085,18 +1089,20 @@ void av1_add_film_grain_run(const aom_film_grain_t *params, uint8_t *luma,
chroma_block_size_y * chroma_block_size_x, chroma_subsamp_y, chroma_block_size_y * chroma_block_size_x, chroma_subsamp_y,
chroma_subsamp_x); chroma_subsamp_x);
generate_luma_grain_block(params, pred_pos_luma, luma_grain_block, if (generate_luma_grain_block(params, pred_pos_luma, luma_grain_block,
luma_block_size_y, luma_block_size_x, luma_block_size_y, luma_block_size_x,
luma_grain_stride, left_pad, top_pad, right_pad, luma_grain_stride, left_pad, top_pad, right_pad,
bottom_pad); bottom_pad))
return -1;
generate_chroma_grain_blocks( if (generate_chroma_grain_blocks(
params, params,
// pred_pos_luma, // pred_pos_luma,
pred_pos_chroma, luma_grain_block, cb_grain_block, cr_grain_block, pred_pos_chroma, luma_grain_block, cb_grain_block, cr_grain_block,
luma_grain_stride, chroma_block_size_y, chroma_block_size_x, luma_grain_stride, chroma_block_size_y, chroma_block_size_x,
chroma_grain_stride, left_pad, top_pad, right_pad, bottom_pad, chroma_grain_stride, left_pad, top_pad, right_pad, bottom_pad,
chroma_subsamp_y, chroma_subsamp_x); chroma_subsamp_y, chroma_subsamp_x))
return -1;
init_scaling_function(params->scaling_points_y, params->num_y_points, init_scaling_function(params->scaling_points_y, params->num_y_points,
scaling_lut_y); scaling_lut_y);
@ -1399,4 +1405,5 @@ void av1_add_film_grain_run(const aom_film_grain_t *params, uint8_t *luma,
dealloc_arrays(params, &pred_pos_luma, &pred_pos_chroma, &luma_grain_block, dealloc_arrays(params, &pred_pos_luma, &pred_pos_chroma, &luma_grain_block,
&cb_grain_block, &cr_grain_block, &y_line_buf, &cb_line_buf, &cb_grain_block, &cr_grain_block, &y_line_buf, &cb_line_buf,
&cr_line_buf, &y_col_buf, &cb_col_buf, &cr_col_buf); &cr_line_buf, &y_col_buf, &cb_col_buf, &cr_col_buf);
return 0;
} }

View file

@ -13,8 +13,8 @@
* \brief Describes film grain parameters and film grain synthesis * \brief Describes film grain parameters and film grain synthesis
* *
*/ */
#ifndef AOM_AOM_GRAIN_SYNTHESIS_H_ #ifndef AOM_AOM_DSP_GRAIN_SYNTHESIS_H_
#define AOM_AOM_GRAIN_SYNTHESIS_H_ #define AOM_AOM_DSP_GRAIN_SYNTHESIS_H_
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -85,6 +85,8 @@ typedef struct {
* *
* Add film grain to an image * Add film grain to an image
* *
* Returns 0 for success, -1 for failure
*
* \param[in] grain_params Grain parameters * \param[in] grain_params Grain parameters
* \param[in] luma luma plane * \param[in] luma luma plane
* \param[in] cb cb plane * \param[in] cb cb plane
@ -94,25 +96,27 @@ typedef struct {
* \param[in] luma_stride luma plane stride * \param[in] luma_stride luma plane stride
* \param[in] chroma_stride chroma plane stride * \param[in] chroma_stride chroma plane stride
*/ */
void av1_add_film_grain_run(const aom_film_grain_t *grain_params, uint8_t *luma, int av1_add_film_grain_run(const aom_film_grain_t *grain_params, uint8_t *luma,
uint8_t *cb, uint8_t *cr, int height, int width, uint8_t *cb, uint8_t *cr, int height, int width,
int luma_stride, int chroma_stride, int luma_stride, int chroma_stride,
int use_high_bit_depth, int chroma_subsamp_y, int use_high_bit_depth, int chroma_subsamp_y,
int chroma_subsamp_x, int mc_identity); int chroma_subsamp_x, int mc_identity);
/*!\brief Add film grain /*!\brief Add film grain
* *
* Add film grain to an image * Add film grain to an image
* *
* Returns 0 for success, -1 for failure
*
* \param[in] grain_params Grain parameters * \param[in] grain_params Grain parameters
* \param[in] src Source image * \param[in] src Source image
* \param[out] dst Resulting image with grain * \param[out] dst Resulting image with grain
*/ */
void av1_add_film_grain(const aom_film_grain_t *grain_params, int av1_add_film_grain(const aom_film_grain_t *grain_params,
const aom_image_t *src, aom_image_t *dst); const aom_image_t *src, aom_image_t *dst);
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_AOM_GRAIN_SYNTHESIS_H_ #endif // AOM_AOM_DSP_GRAIN_SYNTHESIS_H_

View file

@ -99,4 +99,4 @@ void aom_film_grain_table_free(aom_film_grain_table_t *t);
} }
#endif #endif
#endif #endif // AOM_AOM_DSP_GRAIN_TABLE_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef _AOM_DSP_INTRAPRED_COMMON_H #ifndef AOM_AOM_DSP_INTRAPRED_COMMON_H_
#define _AOM_DSP_INTRAPRED_COMMON_H #define AOM_AOM_DSP_INTRAPRED_COMMON_H_
#include "config/aom_config.h" #include "config/aom_config.h"
@ -44,4 +44,4 @@ static const uint8_t sm_weight_arrays[2 * MAX_BLOCK_DIM] = {
}; };
/* clang-format on */ /* clang-format on */
#endif // _AOM_DSP_INTRAPRED_COMMON_H #endif // AOM_AOM_DSP_INTRAPRED_COMMON_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_MIPS_AOM_CONVOLVE_MSA_H_ #ifndef AOM_AOM_DSP_MIPS_AOM_CONVOLVE_MSA_H_
#define AOM_DSP_MIPS_AOM_CONVOLVE_MSA_H_ #define AOM_AOM_DSP_MIPS_AOM_CONVOLVE_MSA_H_
#include "aom_dsp/mips/macros_msa.h" #include "aom_dsp/mips/macros_msa.h"
#include "aom_dsp/aom_filter.h" #include "aom_dsp/aom_filter.h"
@ -76,4 +76,4 @@ extern const uint8_t mc_filt_mask_arr[16 * 3];
res7_m, out0, out1, out2, out3); \ res7_m, out0, out1, out2, out3); \
} }
#endif /* AOM_DSP_MIPS_AOM_CONVOLVE_MSA_H_ */ #endif // AOM_AOM_DSP_MIPS_AOM_CONVOLVE_MSA_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_COMMON_MIPS_DSPR2_H_ #ifndef AOM_AOM_DSP_MIPS_COMMON_DSPR2_H_
#define AOM_COMMON_MIPS_DSPR2_H_ #define AOM_AOM_DSP_MIPS_COMMON_DSPR2_H_
#include <assert.h> #include <assert.h>
@ -48,4 +48,4 @@ static INLINE void prefetch_store_streamed(unsigned char *dst) {
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_COMMON_MIPS_DSPR2_H_ #endif // AOM_AOM_DSP_MIPS_COMMON_DSPR2_H_

View file

@ -15,7 +15,6 @@
#include "config/aom_dsp_rtcd.h" #include "config/aom_dsp_rtcd.h"
#include "aom_dsp/mips/convolve_common_dspr2.h" #include "aom_dsp/mips/convolve_common_dspr2.h"
#include "aom_dsp/aom_convolve.h"
#include "aom_dsp/aom_dsp_common.h" #include "aom_dsp/aom_dsp_common.h"
#include "aom_ports/mem.h" #include "aom_ports/mem.h"

View file

@ -15,7 +15,6 @@
#include "config/aom_dsp_rtcd.h" #include "config/aom_dsp_rtcd.h"
#include "aom_dsp/mips/convolve_common_dspr2.h" #include "aom_dsp/mips/convolve_common_dspr2.h"
#include "aom_dsp/aom_convolve.h"
#include "aom_dsp/aom_dsp_common.h" #include "aom_dsp/aom_dsp_common.h"
#include "aom_ports/mem.h" #include "aom_ports/mem.h"

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_MIPS_AOM_COMMON_DSPR2_H_ #ifndef AOM_AOM_DSP_MIPS_CONVOLVE_COMMON_DSPR2_H_
#define AOM_DSP_MIPS_AOM_COMMON_DSPR2_H_ #define AOM_AOM_DSP_MIPS_CONVOLVE_COMMON_DSPR2_H_
#include <assert.h> #include <assert.h>
@ -45,4 +45,4 @@ void aom_convolve2_vert_dspr2(const uint8_t *src, ptrdiff_t src_stride,
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_MIPS_AOM_COMMON_DSPR2_H_ #endif // AOM_AOM_DSP_MIPS_CONVOLVE_COMMON_DSPR2_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_MIPS_LOOPFILTER_FILTERS_DSPR2_H_ #ifndef AOM_AOM_DSP_MIPS_LOOPFILTER_FILTERS_DSPR2_H_
#define AOM_DSP_MIPS_LOOPFILTER_FILTERS_DSPR2_H_ #define AOM_AOM_DSP_MIPS_LOOPFILTER_FILTERS_DSPR2_H_
#include <stdlib.h> #include <stdlib.h>
@ -733,4 +733,4 @@ static INLINE void wide_mbfilter_dspr2(
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_MIPS_LOOPFILTER_FILTERS_DSPR2_H_ #endif // AOM_AOM_DSP_MIPS_LOOPFILTER_FILTERS_DSPR2_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_MIPS_LOOPFILTER_MACROS_DSPR2_H_ #ifndef AOM_AOM_DSP_MIPS_LOOPFILTER_MACROS_DSPR2_H_
#define AOM_DSP_MIPS_LOOPFILTER_MACROS_DSPR2_H_ #define AOM_AOM_DSP_MIPS_LOOPFILTER_MACROS_DSPR2_H_
#include <stdlib.h> #include <stdlib.h>
@ -434,4 +434,4 @@ extern "C" {
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_MIPS_LOOPFILTER_MACROS_DSPR2_H_ #endif // AOM_AOM_DSP_MIPS_LOOPFILTER_MACROS_DSPR2_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_MIPS_LOOPFILTER_MASKS_DSPR2_H_ #ifndef AOM_AOM_DSP_MIPS_LOOPFILTER_MASKS_DSPR2_H_
#define AOM_DSP_MIPS_LOOPFILTER_MASKS_DSPR2_H_ #define AOM_AOM_DSP_MIPS_LOOPFILTER_MASKS_DSPR2_H_
#include <stdlib.h> #include <stdlib.h>
@ -354,4 +354,4 @@ static INLINE void flatmask5(uint32_t p4, uint32_t p3, uint32_t p2, uint32_t p1,
} // extern "C" } // extern "C"
#endif #endif
#endif // AOM_DSP_MIPS_LOOPFILTER_MASKS_DSPR2_H_ #endif // AOM_AOM_DSP_MIPS_LOOPFILTER_MASKS_DSPR2_H_

View file

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
#ifndef AOM_DSP_LOOPFILTER_MSA_H_ #ifndef AOM_AOM_DSP_MIPS_LOOPFILTER_MSA_H_
#define AOM_DSP_LOOPFILTER_MSA_H_ #define AOM_AOM_DSP_MIPS_LOOPFILTER_MSA_H_
#include "aom_dsp/mips/macros_msa.h" #include "aom_dsp/mips/macros_msa.h"
@ -248,4 +248,4 @@
mask_out = limit_in < (v16u8)mask_out; \ mask_out = limit_in < (v16u8)mask_out; \
mask_out = __msa_xori_b(mask_out, 0xff); \ mask_out = __msa_xori_b(mask_out, 0xff); \
} }
#endif /* AOM_DSP_LOOPFILTER_MSA_H_ */ #endif // AOM_AOM_DSP_MIPS_LOOPFILTER_MSA_H_

Some files were not shown because too many files have changed in this diff Show more