Repo created
This commit is contained in:
parent
81b91f4139
commit
f8c34fa5ee
22732 changed files with 4815320 additions and 2 deletions
713
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp8_rtcd.h
vendored
Normal file
713
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp8_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,713 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP8_RTCD_H_
|
||||
#define VP8_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP8
|
||||
*/
|
||||
|
||||
struct blockd;
|
||||
struct macroblockd;
|
||||
struct loop_filter_info;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct block;
|
||||
struct macroblock;
|
||||
struct variance_vtable;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict16x16_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_bilinear_predict16x16)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict4x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_bilinear_predict4x4)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_bilinear_predict8x4)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x8_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_bilinear_predict8x8)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_blend_b_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_b vp8_blend_b_c
|
||||
|
||||
void vp8_blend_mb_inner_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_inner vp8_blend_mb_inner_c
|
||||
|
||||
void vp8_blend_mb_outer_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_outer vp8_blend_mb_outer_c
|
||||
|
||||
int vp8_block_error_c(short* coeff, short* dqcoeff);
|
||||
#define vp8_block_error vp8_block_error_c
|
||||
|
||||
void vp8_copy32xn_c(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
#define vp8_copy32xn vp8_copy32xn_c
|
||||
|
||||
void vp8_copy_mem16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem16x16_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
RTCD_EXTERN void (*vp8_copy_mem16x16)(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
|
||||
void vp8_copy_mem8x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x4_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
RTCD_EXTERN void (*vp8_copy_mem8x4)(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
|
||||
void vp8_copy_mem8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x8_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
RTCD_EXTERN void (*vp8_copy_mem8x8)(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
|
||||
void vp8_dc_only_idct_add_c(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_dc_only_idct_add_neon(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
RTCD_EXTERN void (*vp8_dc_only_idct_add)(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
|
||||
int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_neon(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
RTCD_EXTERN int (*vp8_denoiser_filter)(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
|
||||
int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_uv_neon(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
RTCD_EXTERN int (*vp8_denoiser_filter_uv)(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
|
||||
void vp8_dequant_idct_add_c(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
void vp8_dequant_idct_add_neon(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
RTCD_EXTERN void (*vp8_dequant_idct_add)(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
|
||||
void vp8_dequant_idct_add_uv_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_uv_block_neon(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
RTCD_EXTERN void (*vp8_dequant_idct_add_uv_block)(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
|
||||
void vp8_dequant_idct_add_y_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_y_block_neon(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
RTCD_EXTERN void (*vp8_dequant_idct_add_y_block)(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
|
||||
void vp8_dequantize_b_c(struct blockd*, short* DQC);
|
||||
void vp8_dequantize_b_neon(struct blockd*, short* DQC);
|
||||
RTCD_EXTERN void (*vp8_dequantize_b)(struct blockd*, short* DQC);
|
||||
|
||||
int vp8_diamond_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_diamond_search_sad vp8_diamond_search_sad_c
|
||||
|
||||
void vp8_fast_quantize_b_c(struct block*, struct blockd*);
|
||||
void vp8_fast_quantize_b_neon(struct block*, struct blockd*);
|
||||
RTCD_EXTERN void (*vp8_fast_quantize_b)(struct block*, struct blockd*);
|
||||
|
||||
void vp8_filter_by_weight16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
|
||||
|
||||
void vp8_filter_by_weight4x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
|
||||
|
||||
void vp8_filter_by_weight8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
|
||||
|
||||
int vp8_full_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_full_search_sad vp8_full_search_sad_c
|
||||
|
||||
void vp8_loop_filter_bh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bh_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
RTCD_EXTERN void (*vp8_loop_filter_bh)(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
|
||||
void vp8_loop_filter_bv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bv_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
RTCD_EXTERN void (*vp8_loop_filter_bv)(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
|
||||
void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbh_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
RTCD_EXTERN void (*vp8_loop_filter_mbh)(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
|
||||
void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbv_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
RTCD_EXTERN void (*vp8_loop_filter_mbv)(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
|
||||
void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bhs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
RTCD_EXTERN void (*vp8_loop_filter_simple_bh)(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
|
||||
void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bvs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
RTCD_EXTERN void (*vp8_loop_filter_simple_bv)(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
|
||||
void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_mbhs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
RTCD_EXTERN void (*vp8_loop_filter_simple_mbh)(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
|
||||
void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_mbvs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
RTCD_EXTERN void (*vp8_loop_filter_simple_mbv)(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
|
||||
int vp8_mbblock_error_c(struct macroblock* mb, int dc);
|
||||
#define vp8_mbblock_error vp8_mbblock_error_c
|
||||
|
||||
int vp8_mbuverror_c(struct macroblock* mb);
|
||||
#define vp8_mbuverror vp8_mbuverror_c
|
||||
|
||||
int vp8_refining_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_refining_search_sad vp8_refining_search_sad_c
|
||||
|
||||
void vp8_regular_quantize_b_c(struct block*, struct blockd*);
|
||||
#define vp8_regular_quantize_b vp8_regular_quantize_b_c
|
||||
|
||||
void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct4x4_neon(short* input, short* output, int pitch);
|
||||
RTCD_EXTERN void (*vp8_short_fdct4x4)(short* input, short* output, int pitch);
|
||||
|
||||
void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct8x4_neon(short* input, short* output, int pitch);
|
||||
RTCD_EXTERN void (*vp8_short_fdct8x4)(short* input, short* output, int pitch);
|
||||
|
||||
void vp8_short_idct4x4llm_c(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_short_idct4x4llm_neon(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
RTCD_EXTERN void (*vp8_short_idct4x4llm)(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
|
||||
void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
|
||||
void vp8_short_inv_walsh4x4_neon(short* input, short* mb_dqcoeff);
|
||||
RTCD_EXTERN void (*vp8_short_inv_walsh4x4)(short* input, short* mb_dqcoeff);
|
||||
|
||||
void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
|
||||
|
||||
void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_walsh4x4_neon(short* input, short* output, int pitch);
|
||||
RTCD_EXTERN void (*vp8_short_walsh4x4)(short* input, short* output, int pitch);
|
||||
|
||||
void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict16x16_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict16x16)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict4x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict4x4)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict8x4)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x8_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict8x8)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
|
||||
vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_neon;
|
||||
vp8_bilinear_predict4x4 = vp8_bilinear_predict4x4_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_bilinear_predict4x4 = vp8_bilinear_predict4x4_neon;
|
||||
vp8_bilinear_predict8x4 = vp8_bilinear_predict8x4_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_bilinear_predict8x4 = vp8_bilinear_predict8x4_neon;
|
||||
vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_neon;
|
||||
vp8_copy_mem16x16 = vp8_copy_mem16x16_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_copy_mem16x16 = vp8_copy_mem16x16_neon;
|
||||
vp8_copy_mem8x4 = vp8_copy_mem8x4_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_copy_mem8x4 = vp8_copy_mem8x4_neon;
|
||||
vp8_copy_mem8x8 = vp8_copy_mem8x8_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_copy_mem8x8 = vp8_copy_mem8x8_neon;
|
||||
vp8_dc_only_idct_add = vp8_dc_only_idct_add_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_dc_only_idct_add = vp8_dc_only_idct_add_neon;
|
||||
vp8_denoiser_filter = vp8_denoiser_filter_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_denoiser_filter = vp8_denoiser_filter_neon;
|
||||
vp8_denoiser_filter_uv = vp8_denoiser_filter_uv_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_denoiser_filter_uv = vp8_denoiser_filter_uv_neon;
|
||||
vp8_dequant_idct_add = vp8_dequant_idct_add_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_dequant_idct_add = vp8_dequant_idct_add_neon;
|
||||
vp8_dequant_idct_add_uv_block = vp8_dequant_idct_add_uv_block_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_dequant_idct_add_uv_block = vp8_dequant_idct_add_uv_block_neon;
|
||||
vp8_dequant_idct_add_y_block = vp8_dequant_idct_add_y_block_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_dequant_idct_add_y_block = vp8_dequant_idct_add_y_block_neon;
|
||||
vp8_dequantize_b = vp8_dequantize_b_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_dequantize_b = vp8_dequantize_b_neon;
|
||||
vp8_fast_quantize_b = vp8_fast_quantize_b_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_fast_quantize_b = vp8_fast_quantize_b_neon;
|
||||
vp8_loop_filter_bh = vp8_loop_filter_bh_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_loop_filter_bh = vp8_loop_filter_bh_neon;
|
||||
vp8_loop_filter_bv = vp8_loop_filter_bv_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_loop_filter_bv = vp8_loop_filter_bv_neon;
|
||||
vp8_loop_filter_mbh = vp8_loop_filter_mbh_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_loop_filter_mbh = vp8_loop_filter_mbh_neon;
|
||||
vp8_loop_filter_mbv = vp8_loop_filter_mbv_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_loop_filter_mbv = vp8_loop_filter_mbv_neon;
|
||||
vp8_loop_filter_simple_bh = vp8_loop_filter_bhs_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_loop_filter_simple_bh = vp8_loop_filter_bhs_neon;
|
||||
vp8_loop_filter_simple_bv = vp8_loop_filter_bvs_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_loop_filter_simple_bv = vp8_loop_filter_bvs_neon;
|
||||
vp8_loop_filter_simple_mbh = vp8_loop_filter_simple_horizontal_edge_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_loop_filter_simple_mbh = vp8_loop_filter_mbhs_neon;
|
||||
vp8_loop_filter_simple_mbv = vp8_loop_filter_simple_vertical_edge_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_loop_filter_simple_mbv = vp8_loop_filter_mbvs_neon;
|
||||
vp8_short_fdct4x4 = vp8_short_fdct4x4_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_short_fdct4x4 = vp8_short_fdct4x4_neon;
|
||||
vp8_short_fdct8x4 = vp8_short_fdct8x4_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_short_fdct8x4 = vp8_short_fdct8x4_neon;
|
||||
vp8_short_idct4x4llm = vp8_short_idct4x4llm_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_short_idct4x4llm = vp8_short_idct4x4llm_neon;
|
||||
vp8_short_inv_walsh4x4 = vp8_short_inv_walsh4x4_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_short_inv_walsh4x4 = vp8_short_inv_walsh4x4_neon;
|
||||
vp8_short_walsh4x4 = vp8_short_walsh4x4_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_short_walsh4x4 = vp8_short_walsh4x4_neon;
|
||||
vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_neon;
|
||||
vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_neon;
|
||||
vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_neon;
|
||||
vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_neon;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
287
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp9_rtcd.h
vendored
Normal file
287
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp9_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,287 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP9_RTCD_H_
|
||||
#define VP9_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP9
|
||||
*/
|
||||
|
||||
#include "vp9/common/vp9_common.h"
|
||||
#include "vp9/common/vp9_enums.h"
|
||||
#include "vp9/common/vp9_filter.h"
|
||||
#include "vpx/vpx_integer.h"
|
||||
|
||||
struct macroblockd;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct macroblock;
|
||||
struct vp9_variance_vtable;
|
||||
struct search_site_config;
|
||||
struct mv;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int64_t vp9_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
#define vp9_block_error vp9_block_error_c
|
||||
|
||||
int64_t vp9_block_error_fp_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
int64_t vp9_block_error_fp_neon(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
RTCD_EXTERN int64_t (*vp9_block_error_fp)(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
|
||||
int vp9_denoiser_filter_c(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
int vp9_denoiser_filter_neon(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
RTCD_EXTERN int (*vp9_denoiser_filter)(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
|
||||
int vp9_diamond_search_sad_c(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
#define vp9_diamond_search_sad vp9_diamond_search_sad_c
|
||||
|
||||
void vp9_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht16x16 vp9_fht16x16_c
|
||||
|
||||
void vp9_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht4x4 vp9_fht4x4_c
|
||||
|
||||
void vp9_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht8x8 vp9_fht8x8_c
|
||||
|
||||
void vp9_filter_by_weight16x16_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
|
||||
|
||||
void vp9_filter_by_weight8x8_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
|
||||
|
||||
void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_fwht4x4 vp9_fwht4x4_c
|
||||
|
||||
void vp9_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht16x16_256_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
RTCD_EXTERN void (*vp9_iht16x16_256_add)(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
|
||||
void vp9_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht4x4_16_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
RTCD_EXTERN void (*vp9_iht4x4_16_add)(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
|
||||
void vp9_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht8x8_64_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
RTCD_EXTERN void (*vp9_iht8x8_64_add)(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
|
||||
void vp9_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_neon(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
RTCD_EXTERN void (*vp9_quantize_fp)(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
|
||||
void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_32x32_neon(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
RTCD_EXTERN void (*vp9_quantize_fp_32x32)(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
|
||||
void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
void vp9_scale_and_extend_frame_neon(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
RTCD_EXTERN void (*vp9_scale_and_extend_frame)(
|
||||
const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
|
||||
void vp9_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
|
||||
vp9_block_error_fp = vp9_block_error_fp_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp9_block_error_fp = vp9_block_error_fp_neon;
|
||||
vp9_denoiser_filter = vp9_denoiser_filter_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp9_denoiser_filter = vp9_denoiser_filter_neon;
|
||||
vp9_iht16x16_256_add = vp9_iht16x16_256_add_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp9_iht16x16_256_add = vp9_iht16x16_256_add_neon;
|
||||
vp9_iht4x4_16_add = vp9_iht4x4_16_add_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp9_iht4x4_16_add = vp9_iht4x4_16_add_neon;
|
||||
vp9_iht8x8_64_add = vp9_iht8x8_64_add_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp9_iht8x8_64_add = vp9_iht8x8_64_add_neon;
|
||||
vp9_quantize_fp = vp9_quantize_fp_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp9_quantize_fp = vp9_quantize_fp_neon;
|
||||
vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_neon;
|
||||
vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_c;
|
||||
if (flags & HAS_NEON)
|
||||
vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_neon;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.asm
vendored
Normal file
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.asm
vendored
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
@ This file was created from a .asm file
|
||||
@ using the ads2gas.pl script.
|
||||
.syntax unified
|
||||
.equ VPX_ARCH_ARM , 1
|
||||
.equ ARCH_ARM , 1
|
||||
.equ VPX_ARCH_MIPS , 0
|
||||
.equ ARCH_MIPS , 0
|
||||
.equ VPX_ARCH_X86 , 0
|
||||
.equ ARCH_X86 , 0
|
||||
.equ VPX_ARCH_X86_64 , 0
|
||||
.equ ARCH_X86_64 , 0
|
||||
.equ VPX_ARCH_PPC , 0
|
||||
.equ ARCH_PPC , 0
|
||||
.equ HAVE_NEON , 1
|
||||
.equ HAVE_NEON_ASM , 1
|
||||
.equ HAVE_MIPS32 , 0
|
||||
.equ HAVE_DSPR2 , 0
|
||||
.equ HAVE_MSA , 0
|
||||
.equ HAVE_MIPS64 , 0
|
||||
.equ HAVE_MMX , 0
|
||||
.equ HAVE_SSE , 0
|
||||
.equ HAVE_SSE2 , 0
|
||||
.equ HAVE_SSE3 , 0
|
||||
.equ HAVE_SSSE3 , 0
|
||||
.equ HAVE_SSE4_1 , 0
|
||||
.equ HAVE_AVX , 0
|
||||
.equ HAVE_AVX2 , 0
|
||||
.equ HAVE_AVX512 , 0
|
||||
.equ HAVE_VSX , 0
|
||||
.equ HAVE_MMI , 0
|
||||
.equ HAVE_VPX_PORTS , 1
|
||||
.equ HAVE_PTHREAD_H , 1
|
||||
.equ HAVE_UNISTD_H , 0
|
||||
.equ CONFIG_DEPENDENCY_TRACKING , 1
|
||||
.equ CONFIG_EXTERNAL_BUILD , 1
|
||||
.equ CONFIG_INSTALL_DOCS , 0
|
||||
.equ CONFIG_INSTALL_BINS , 1
|
||||
.equ CONFIG_INSTALL_LIBS , 1
|
||||
.equ CONFIG_INSTALL_SRCS , 0
|
||||
.equ CONFIG_DEBUG , 0
|
||||
.equ CONFIG_GPROF , 0
|
||||
.equ CONFIG_GCOV , 0
|
||||
.equ CONFIG_RVCT , 0
|
||||
.equ CONFIG_GCC , 1
|
||||
.equ CONFIG_MSVS , 0
|
||||
.equ CONFIG_PIC , 0
|
||||
.equ CONFIG_BIG_ENDIAN , 0
|
||||
.equ CONFIG_CODEC_SRCS , 0
|
||||
.equ CONFIG_DEBUG_LIBS , 0
|
||||
.equ CONFIG_DEQUANT_TOKENS , 0
|
||||
.equ CONFIG_DC_RECON , 0
|
||||
.equ CONFIG_RUNTIME_CPU_DETECT , 1
|
||||
.equ CONFIG_POSTPROC , 1
|
||||
.equ CONFIG_VP9_POSTPROC , 1
|
||||
.equ CONFIG_MULTITHREAD , 1
|
||||
.equ CONFIG_INTERNAL_STATS , 0
|
||||
.equ CONFIG_VP8_ENCODER , 1
|
||||
.equ CONFIG_VP8_DECODER , 1
|
||||
.equ CONFIG_VP9_ENCODER , 1
|
||||
.equ CONFIG_VP9_DECODER , 1
|
||||
.equ CONFIG_VP8 , 1
|
||||
.equ CONFIG_VP9 , 1
|
||||
.equ CONFIG_ENCODERS , 1
|
||||
.equ CONFIG_DECODERS , 1
|
||||
.equ CONFIG_STATIC_MSVCRT , 0
|
||||
.equ CONFIG_SPATIAL_RESAMPLING , 1
|
||||
.equ CONFIG_REALTIME_ONLY , 1
|
||||
.equ CONFIG_ONTHEFLY_BITPACKING , 0
|
||||
.equ CONFIG_ERROR_CONCEALMENT , 0
|
||||
.equ CONFIG_SHARED , 0
|
||||
.equ CONFIG_STATIC , 1
|
||||
.equ CONFIG_SMALL , 0
|
||||
.equ CONFIG_POSTPROC_VISUALIZER , 0
|
||||
.equ CONFIG_OS_SUPPORT , 1
|
||||
.equ CONFIG_UNIT_TESTS , 1
|
||||
.equ CONFIG_WEBM_IO , 1
|
||||
.equ CONFIG_LIBYUV , 0
|
||||
.equ CONFIG_DECODE_PERF_TESTS , 0
|
||||
.equ CONFIG_ENCODE_PERF_TESTS , 0
|
||||
.equ CONFIG_MULTI_RES_ENCODING , 1
|
||||
.equ CONFIG_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_CONSISTENT_RECODE , 0
|
||||
.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
|
||||
.equ CONFIG_VP9_HIGHBITDEPTH , 0
|
||||
.equ CONFIG_BETTER_HW_COMPATIBILITY , 0
|
||||
.equ CONFIG_EXPERIMENTAL , 0
|
||||
.equ CONFIG_SIZE_LIMIT , 1
|
||||
.equ CONFIG_ALWAYS_ADJUST_BPM , 0
|
||||
.equ CONFIG_BITSTREAM_DEBUG , 0
|
||||
.equ CONFIG_MISMATCH_DEBUG , 0
|
||||
.equ CONFIG_FP_MB_STATS , 0
|
||||
.equ CONFIG_EMULATE_HARDWARE , 0
|
||||
.equ CONFIG_NON_GREEDY_MV , 0
|
||||
.equ CONFIG_RATE_CTRL , 0
|
||||
.equ DECODE_WIDTH_LIMIT , 16384
|
||||
.equ DECODE_HEIGHT_LIMIT , 16384
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.c
vendored
Normal file
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.c
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
#include "vpx/vpx_codec.h"
|
||||
static const char* const cfg = "--target=armv7-linux-gcc --enable-runtime-cpu-detect --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv";
|
||||
const char *vpx_codec_build_config(void) {return cfg;}
|
||||
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.h
vendored
Normal file
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.h
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
/* This file automatically generated by configure. Do not edit! */
|
||||
#ifndef VPX_CONFIG_H
|
||||
#define VPX_CONFIG_H
|
||||
#define RESTRICT
|
||||
#define INLINE inline
|
||||
#define VPX_ARCH_ARM 1
|
||||
#define ARCH_ARM 1
|
||||
#define VPX_ARCH_MIPS 0
|
||||
#define ARCH_MIPS 0
|
||||
#define VPX_ARCH_X86 0
|
||||
#define ARCH_X86 0
|
||||
#define VPX_ARCH_X86_64 0
|
||||
#define ARCH_X86_64 0
|
||||
#define VPX_ARCH_PPC 0
|
||||
#define ARCH_PPC 0
|
||||
#define HAVE_NEON 1
|
||||
#define HAVE_NEON_ASM 1
|
||||
#define HAVE_MIPS32 0
|
||||
#define HAVE_DSPR2 0
|
||||
#define HAVE_MSA 0
|
||||
#define HAVE_MIPS64 0
|
||||
#define HAVE_MMX 0
|
||||
#define HAVE_SSE 0
|
||||
#define HAVE_SSE2 0
|
||||
#define HAVE_SSE3 0
|
||||
#define HAVE_SSSE3 0
|
||||
#define HAVE_SSE4_1 0
|
||||
#define HAVE_AVX 0
|
||||
#define HAVE_AVX2 0
|
||||
#define HAVE_AVX512 0
|
||||
#define HAVE_VSX 0
|
||||
#define HAVE_MMI 0
|
||||
#define HAVE_VPX_PORTS 1
|
||||
#define HAVE_PTHREAD_H 1
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define CONFIG_DEPENDENCY_TRACKING 1
|
||||
#define CONFIG_EXTERNAL_BUILD 1
|
||||
#define CONFIG_INSTALL_DOCS 0
|
||||
#define CONFIG_INSTALL_BINS 1
|
||||
#define CONFIG_INSTALL_LIBS 1
|
||||
#define CONFIG_INSTALL_SRCS 0
|
||||
#define CONFIG_DEBUG 0
|
||||
#define CONFIG_GPROF 0
|
||||
#define CONFIG_GCOV 0
|
||||
#define CONFIG_RVCT 0
|
||||
#define CONFIG_GCC 1
|
||||
#define CONFIG_MSVS 0
|
||||
#define CONFIG_PIC 0
|
||||
#define CONFIG_BIG_ENDIAN 0
|
||||
#define CONFIG_CODEC_SRCS 0
|
||||
#define CONFIG_DEBUG_LIBS 0
|
||||
#define CONFIG_DEQUANT_TOKENS 0
|
||||
#define CONFIG_DC_RECON 0
|
||||
#define CONFIG_RUNTIME_CPU_DETECT 1
|
||||
#define CONFIG_POSTPROC 1
|
||||
#define CONFIG_VP9_POSTPROC 1
|
||||
#define CONFIG_MULTITHREAD 1
|
||||
#define CONFIG_INTERNAL_STATS 0
|
||||
#define CONFIG_VP8_ENCODER 1
|
||||
#define CONFIG_VP8_DECODER 1
|
||||
#define CONFIG_VP9_ENCODER 1
|
||||
#define CONFIG_VP9_DECODER 1
|
||||
#define CONFIG_VP8 1
|
||||
#define CONFIG_VP9 1
|
||||
#define CONFIG_ENCODERS 1
|
||||
#define CONFIG_DECODERS 1
|
||||
#define CONFIG_STATIC_MSVCRT 0
|
||||
#define CONFIG_SPATIAL_RESAMPLING 1
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
#define CONFIG_ERROR_CONCEALMENT 0
|
||||
#define CONFIG_SHARED 0
|
||||
#define CONFIG_STATIC 1
|
||||
#define CONFIG_SMALL 0
|
||||
#define CONFIG_POSTPROC_VISUALIZER 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_UNIT_TESTS 1
|
||||
#define CONFIG_WEBM_IO 1
|
||||
#define CONFIG_LIBYUV 0
|
||||
#define CONFIG_DECODE_PERF_TESTS 0
|
||||
#define CONFIG_ENCODE_PERF_TESTS 0
|
||||
#define CONFIG_MULTI_RES_ENCODING 1
|
||||
#define CONFIG_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_CONSISTENT_RECODE 0
|
||||
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
#define CONFIG_VP9_HIGHBITDEPTH 0
|
||||
#define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
#define CONFIG_EXPERIMENTAL 0
|
||||
#define CONFIG_SIZE_LIMIT 1
|
||||
#define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
#define CONFIG_BITSTREAM_DEBUG 0
|
||||
#define CONFIG_MISMATCH_DEBUG 0
|
||||
#define CONFIG_FP_MB_STATS 0
|
||||
#define CONFIG_EMULATE_HARDWARE 0
|
||||
#define CONFIG_NON_GREEDY_MV 0
|
||||
#define CONFIG_RATE_CTRL 0
|
||||
#define DECODE_WIDTH_LIMIT 16384
|
||||
#define DECODE_HEIGHT_LIMIT 16384
|
||||
#endif /* VPX_CONFIG_H */
|
||||
3788
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_dsp_rtcd.h
vendored
Normal file
3788
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_dsp_rtcd.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_scale_rtcd.h
vendored
Normal file
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_scale_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VPX_SCALE_RTCD_H_
|
||||
#define VPX_SCALE_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_horizontal_line_2_1_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_3_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_4_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_i_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
|
||||
|
||||
void vp8_vertical_band_5_3_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
|
||||
|
||||
void vp8_vertical_band_5_4_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
|
||||
|
||||
void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
|
||||
|
||||
void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_borders vpx_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
|
||||
|
||||
void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c
|
||||
|
||||
void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_y vpx_yv12_copy_y_c
|
||||
|
||||
void vpx_scale_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
505
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vp8_rtcd.h
vendored
Normal file
505
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vp8_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,505 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP8_RTCD_H_
|
||||
#define VP8_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP8
|
||||
*/
|
||||
|
||||
struct blockd;
|
||||
struct macroblockd;
|
||||
struct loop_filter_info;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct block;
|
||||
struct macroblock;
|
||||
struct variance_vtable;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict16x16_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_neon
|
||||
|
||||
void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict4x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_neon
|
||||
|
||||
void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_neon
|
||||
|
||||
void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x8_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_neon
|
||||
|
||||
void vp8_blend_b_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_b vp8_blend_b_c
|
||||
|
||||
void vp8_blend_mb_inner_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_inner vp8_blend_mb_inner_c
|
||||
|
||||
void vp8_blend_mb_outer_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_outer vp8_blend_mb_outer_c
|
||||
|
||||
int vp8_block_error_c(short* coeff, short* dqcoeff);
|
||||
#define vp8_block_error vp8_block_error_c
|
||||
|
||||
void vp8_copy32xn_c(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
#define vp8_copy32xn vp8_copy32xn_c
|
||||
|
||||
void vp8_copy_mem16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem16x16_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem16x16 vp8_copy_mem16x16_neon
|
||||
|
||||
void vp8_copy_mem8x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x4_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x4 vp8_copy_mem8x4_neon
|
||||
|
||||
void vp8_copy_mem8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x8_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x8 vp8_copy_mem8x8_neon
|
||||
|
||||
void vp8_dc_only_idct_add_c(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_dc_only_idct_add_neon(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_dc_only_idct_add vp8_dc_only_idct_add_neon
|
||||
|
||||
int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_neon(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter vp8_denoiser_filter_neon
|
||||
|
||||
int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_uv_neon(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_neon
|
||||
|
||||
void vp8_dequant_idct_add_c(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
void vp8_dequant_idct_add_neon(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
#define vp8_dequant_idct_add vp8_dequant_idct_add_neon
|
||||
|
||||
void vp8_dequant_idct_add_uv_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_uv_block_neon(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_neon
|
||||
|
||||
void vp8_dequant_idct_add_y_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_y_block_neon(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_neon
|
||||
|
||||
void vp8_dequantize_b_c(struct blockd*, short* DQC);
|
||||
void vp8_dequantize_b_neon(struct blockd*, short* DQC);
|
||||
#define vp8_dequantize_b vp8_dequantize_b_neon
|
||||
|
||||
int vp8_diamond_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_diamond_search_sad vp8_diamond_search_sad_c
|
||||
|
||||
void vp8_fast_quantize_b_c(struct block*, struct blockd*);
|
||||
void vp8_fast_quantize_b_neon(struct block*, struct blockd*);
|
||||
#define vp8_fast_quantize_b vp8_fast_quantize_b_neon
|
||||
|
||||
void vp8_filter_by_weight16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
|
||||
|
||||
void vp8_filter_by_weight4x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
|
||||
|
||||
void vp8_filter_by_weight8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
|
||||
|
||||
int vp8_full_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_full_search_sad vp8_full_search_sad_c
|
||||
|
||||
void vp8_loop_filter_bh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bh_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bh vp8_loop_filter_bh_neon
|
||||
|
||||
void vp8_loop_filter_bv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bv_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bv vp8_loop_filter_bv_neon
|
||||
|
||||
void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbh_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbh vp8_loop_filter_mbh_neon
|
||||
|
||||
void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbv_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbv vp8_loop_filter_mbv_neon
|
||||
|
||||
void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bhs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_neon
|
||||
|
||||
void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bvs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_neon
|
||||
|
||||
void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_mbhs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbh vp8_loop_filter_mbhs_neon
|
||||
|
||||
void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_mbvs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbv vp8_loop_filter_mbvs_neon
|
||||
|
||||
int vp8_mbblock_error_c(struct macroblock* mb, int dc);
|
||||
#define vp8_mbblock_error vp8_mbblock_error_c
|
||||
|
||||
int vp8_mbuverror_c(struct macroblock* mb);
|
||||
#define vp8_mbuverror vp8_mbuverror_c
|
||||
|
||||
int vp8_refining_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_refining_search_sad vp8_refining_search_sad_c
|
||||
|
||||
void vp8_regular_quantize_b_c(struct block*, struct blockd*);
|
||||
#define vp8_regular_quantize_b vp8_regular_quantize_b_c
|
||||
|
||||
void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct4x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct4x4 vp8_short_fdct4x4_neon
|
||||
|
||||
void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct8x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct8x4 vp8_short_fdct8x4_neon
|
||||
|
||||
void vp8_short_idct4x4llm_c(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_short_idct4x4llm_neon(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_short_idct4x4llm vp8_short_idct4x4llm_neon
|
||||
|
||||
void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
|
||||
void vp8_short_inv_walsh4x4_neon(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_neon
|
||||
|
||||
void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
|
||||
|
||||
void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_walsh4x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_walsh4x4 vp8_short_walsh4x4_neon
|
||||
|
||||
void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict16x16_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_neon
|
||||
|
||||
void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict4x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_neon
|
||||
|
||||
void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_neon
|
||||
|
||||
void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x8_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_neon
|
||||
|
||||
void vp8_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
342
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vp9_rtcd.h
vendored
Normal file
342
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vp9_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,342 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP9_RTCD_H_
|
||||
#define VP9_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP9
|
||||
*/
|
||||
|
||||
#include "vp9/common/vp9_common.h"
|
||||
#include "vp9/common/vp9_enums.h"
|
||||
#include "vp9/common/vp9_filter.h"
|
||||
#include "vpx/vpx_integer.h"
|
||||
|
||||
struct macroblockd;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct macroblock;
|
||||
struct vp9_variance_vtable;
|
||||
struct search_site_config;
|
||||
struct mv;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int64_t vp9_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
#define vp9_block_error vp9_block_error_c
|
||||
|
||||
int64_t vp9_block_error_fp_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
#define vp9_block_error_fp vp9_block_error_fp_c
|
||||
|
||||
int vp9_denoiser_filter_c(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
int vp9_denoiser_filter_neon(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
#define vp9_denoiser_filter vp9_denoiser_filter_neon
|
||||
|
||||
int vp9_diamond_search_sad_c(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
#define vp9_diamond_search_sad vp9_diamond_search_sad_c
|
||||
|
||||
void vp9_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht16x16 vp9_fht16x16_c
|
||||
|
||||
void vp9_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht4x4 vp9_fht4x4_c
|
||||
|
||||
void vp9_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht8x8 vp9_fht8x8_c
|
||||
|
||||
void vp9_filter_by_weight16x16_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
|
||||
|
||||
void vp9_filter_by_weight8x8_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
|
||||
|
||||
void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_fwht4x4 vp9_fwht4x4_c
|
||||
|
||||
int64_t vp9_highbd_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz,
|
||||
int bd);
|
||||
#define vp9_highbd_block_error vp9_highbd_block_error_c
|
||||
|
||||
void vp9_highbd_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht16x16 vp9_highbd_fht16x16_c
|
||||
|
||||
void vp9_highbd_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht4x4 vp9_highbd_fht4x4_c
|
||||
|
||||
void vp9_highbd_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht8x8 vp9_highbd_fht8x8_c
|
||||
|
||||
void vp9_highbd_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_highbd_fwht4x4 vp9_highbd_fwht4x4_c
|
||||
|
||||
void vp9_highbd_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht16x16_256_add_neon(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
#define vp9_highbd_iht16x16_256_add vp9_highbd_iht16x16_256_add_neon
|
||||
|
||||
void vp9_highbd_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht4x4_16_add_neon(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
#define vp9_highbd_iht4x4_16_add vp9_highbd_iht4x4_16_add_neon
|
||||
|
||||
void vp9_highbd_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht8x8_64_add_neon(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
#define vp9_highbd_iht8x8_64_add vp9_highbd_iht8x8_64_add_neon
|
||||
|
||||
void vp9_highbd_mbpost_proc_across_ip_c(uint16_t* src,
|
||||
int pitch,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_mbpost_proc_across_ip vp9_highbd_mbpost_proc_across_ip_c
|
||||
|
||||
void vp9_highbd_mbpost_proc_down_c(uint16_t* dst,
|
||||
int pitch,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_mbpost_proc_down vp9_highbd_mbpost_proc_down_c
|
||||
|
||||
void vp9_highbd_post_proc_down_and_across_c(const uint16_t* src_ptr,
|
||||
uint16_t* dst_ptr,
|
||||
int src_pixels_per_line,
|
||||
int dst_pixels_per_line,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_post_proc_down_and_across \
|
||||
vp9_highbd_post_proc_down_and_across_c
|
||||
|
||||
void vp9_highbd_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_highbd_quantize_fp vp9_highbd_quantize_fp_c
|
||||
|
||||
void vp9_highbd_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_highbd_quantize_fp_32x32 vp9_highbd_quantize_fp_32x32_c
|
||||
|
||||
void vp9_highbd_temporal_filter_apply_c(const uint8_t* frame1,
|
||||
unsigned int stride,
|
||||
const uint8_t* frame2,
|
||||
unsigned int block_width,
|
||||
unsigned int block_height,
|
||||
int strength,
|
||||
int* blk_fw,
|
||||
int use_32x32,
|
||||
uint32_t* accumulator,
|
||||
uint16_t* count);
|
||||
#define vp9_highbd_temporal_filter_apply vp9_highbd_temporal_filter_apply_c
|
||||
|
||||
void vp9_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht16x16_256_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht16x16_256_add vp9_iht16x16_256_add_neon
|
||||
|
||||
void vp9_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht4x4_16_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht4x4_16_add vp9_iht4x4_16_add_neon
|
||||
|
||||
void vp9_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht8x8_64_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht8x8_64_add vp9_iht8x8_64_add_neon
|
||||
|
||||
void vp9_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_neon(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp vp9_quantize_fp_neon
|
||||
|
||||
void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_32x32_neon(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_neon
|
||||
|
||||
void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
void vp9_scale_and_extend_frame_neon(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
#define vp9_scale_and_extend_frame vp9_scale_and_extend_frame_neon
|
||||
|
||||
void vp9_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.asm
vendored
Normal file
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.asm
vendored
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
@ This file was created from a .asm file
|
||||
@ using the ads2gas.pl script.
|
||||
.syntax unified
|
||||
.equ VPX_ARCH_ARM , 1
|
||||
.equ ARCH_ARM , 1
|
||||
.equ VPX_ARCH_MIPS , 0
|
||||
.equ ARCH_MIPS , 0
|
||||
.equ VPX_ARCH_X86 , 0
|
||||
.equ ARCH_X86 , 0
|
||||
.equ VPX_ARCH_X86_64 , 0
|
||||
.equ ARCH_X86_64 , 0
|
||||
.equ VPX_ARCH_PPC , 0
|
||||
.equ ARCH_PPC , 0
|
||||
.equ HAVE_NEON , 1
|
||||
.equ HAVE_NEON_ASM , 1
|
||||
.equ HAVE_MIPS32 , 0
|
||||
.equ HAVE_DSPR2 , 0
|
||||
.equ HAVE_MSA , 0
|
||||
.equ HAVE_MIPS64 , 0
|
||||
.equ HAVE_MMX , 0
|
||||
.equ HAVE_SSE , 0
|
||||
.equ HAVE_SSE2 , 0
|
||||
.equ HAVE_SSE3 , 0
|
||||
.equ HAVE_SSSE3 , 0
|
||||
.equ HAVE_SSE4_1 , 0
|
||||
.equ HAVE_AVX , 0
|
||||
.equ HAVE_AVX2 , 0
|
||||
.equ HAVE_AVX512 , 0
|
||||
.equ HAVE_VSX , 0
|
||||
.equ HAVE_MMI , 0
|
||||
.equ HAVE_VPX_PORTS , 1
|
||||
.equ HAVE_PTHREAD_H , 1
|
||||
.equ HAVE_UNISTD_H , 0
|
||||
.equ CONFIG_DEPENDENCY_TRACKING , 1
|
||||
.equ CONFIG_EXTERNAL_BUILD , 1
|
||||
.equ CONFIG_INSTALL_DOCS , 0
|
||||
.equ CONFIG_INSTALL_BINS , 1
|
||||
.equ CONFIG_INSTALL_LIBS , 1
|
||||
.equ CONFIG_INSTALL_SRCS , 0
|
||||
.equ CONFIG_DEBUG , 0
|
||||
.equ CONFIG_GPROF , 0
|
||||
.equ CONFIG_GCOV , 0
|
||||
.equ CONFIG_RVCT , 0
|
||||
.equ CONFIG_GCC , 1
|
||||
.equ CONFIG_MSVS , 0
|
||||
.equ CONFIG_PIC , 0
|
||||
.equ CONFIG_BIG_ENDIAN , 0
|
||||
.equ CONFIG_CODEC_SRCS , 0
|
||||
.equ CONFIG_DEBUG_LIBS , 0
|
||||
.equ CONFIG_DEQUANT_TOKENS , 0
|
||||
.equ CONFIG_DC_RECON , 0
|
||||
.equ CONFIG_RUNTIME_CPU_DETECT , 0
|
||||
.equ CONFIG_POSTPROC , 1
|
||||
.equ CONFIG_VP9_POSTPROC , 1
|
||||
.equ CONFIG_MULTITHREAD , 1
|
||||
.equ CONFIG_INTERNAL_STATS , 0
|
||||
.equ CONFIG_VP8_ENCODER , 1
|
||||
.equ CONFIG_VP8_DECODER , 1
|
||||
.equ CONFIG_VP9_ENCODER , 1
|
||||
.equ CONFIG_VP9_DECODER , 1
|
||||
.equ CONFIG_VP8 , 1
|
||||
.equ CONFIG_VP9 , 1
|
||||
.equ CONFIG_ENCODERS , 1
|
||||
.equ CONFIG_DECODERS , 1
|
||||
.equ CONFIG_STATIC_MSVCRT , 0
|
||||
.equ CONFIG_SPATIAL_RESAMPLING , 1
|
||||
.equ CONFIG_REALTIME_ONLY , 1
|
||||
.equ CONFIG_ONTHEFLY_BITPACKING , 0
|
||||
.equ CONFIG_ERROR_CONCEALMENT , 0
|
||||
.equ CONFIG_SHARED , 0
|
||||
.equ CONFIG_STATIC , 1
|
||||
.equ CONFIG_SMALL , 0
|
||||
.equ CONFIG_POSTPROC_VISUALIZER , 0
|
||||
.equ CONFIG_OS_SUPPORT , 1
|
||||
.equ CONFIG_UNIT_TESTS , 1
|
||||
.equ CONFIG_WEBM_IO , 1
|
||||
.equ CONFIG_LIBYUV , 0
|
||||
.equ CONFIG_DECODE_PERF_TESTS , 0
|
||||
.equ CONFIG_ENCODE_PERF_TESTS , 0
|
||||
.equ CONFIG_MULTI_RES_ENCODING , 1
|
||||
.equ CONFIG_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_CONSISTENT_RECODE , 0
|
||||
.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
|
||||
.equ CONFIG_VP9_HIGHBITDEPTH , 1
|
||||
.equ CONFIG_BETTER_HW_COMPATIBILITY , 0
|
||||
.equ CONFIG_EXPERIMENTAL , 0
|
||||
.equ CONFIG_SIZE_LIMIT , 1
|
||||
.equ CONFIG_ALWAYS_ADJUST_BPM , 0
|
||||
.equ CONFIG_BITSTREAM_DEBUG , 0
|
||||
.equ CONFIG_MISMATCH_DEBUG , 0
|
||||
.equ CONFIG_FP_MB_STATS , 0
|
||||
.equ CONFIG_EMULATE_HARDWARE , 0
|
||||
.equ CONFIG_NON_GREEDY_MV , 0
|
||||
.equ CONFIG_RATE_CTRL , 0
|
||||
.equ DECODE_WIDTH_LIMIT , 16384
|
||||
.equ DECODE_HEIGHT_LIMIT , 16384
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.c
vendored
Normal file
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.c
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
#include "vpx/vpx_codec.h"
|
||||
static const char* const cfg = "--target=armv7-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv --enable-vp9-highbitdepth";
|
||||
const char *vpx_codec_build_config(void) {return cfg;}
|
||||
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.h
vendored
Normal file
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.h
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
/* This file automatically generated by configure. Do not edit! */
|
||||
#ifndef VPX_CONFIG_H
|
||||
#define VPX_CONFIG_H
|
||||
#define RESTRICT
|
||||
#define INLINE inline
|
||||
#define VPX_ARCH_ARM 1
|
||||
#define ARCH_ARM 1
|
||||
#define VPX_ARCH_MIPS 0
|
||||
#define ARCH_MIPS 0
|
||||
#define VPX_ARCH_X86 0
|
||||
#define ARCH_X86 0
|
||||
#define VPX_ARCH_X86_64 0
|
||||
#define ARCH_X86_64 0
|
||||
#define VPX_ARCH_PPC 0
|
||||
#define ARCH_PPC 0
|
||||
#define HAVE_NEON 1
|
||||
#define HAVE_NEON_ASM 1
|
||||
#define HAVE_MIPS32 0
|
||||
#define HAVE_DSPR2 0
|
||||
#define HAVE_MSA 0
|
||||
#define HAVE_MIPS64 0
|
||||
#define HAVE_MMX 0
|
||||
#define HAVE_SSE 0
|
||||
#define HAVE_SSE2 0
|
||||
#define HAVE_SSE3 0
|
||||
#define HAVE_SSSE3 0
|
||||
#define HAVE_SSE4_1 0
|
||||
#define HAVE_AVX 0
|
||||
#define HAVE_AVX2 0
|
||||
#define HAVE_AVX512 0
|
||||
#define HAVE_VSX 0
|
||||
#define HAVE_MMI 0
|
||||
#define HAVE_VPX_PORTS 1
|
||||
#define HAVE_PTHREAD_H 1
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define CONFIG_DEPENDENCY_TRACKING 1
|
||||
#define CONFIG_EXTERNAL_BUILD 1
|
||||
#define CONFIG_INSTALL_DOCS 0
|
||||
#define CONFIG_INSTALL_BINS 1
|
||||
#define CONFIG_INSTALL_LIBS 1
|
||||
#define CONFIG_INSTALL_SRCS 0
|
||||
#define CONFIG_DEBUG 0
|
||||
#define CONFIG_GPROF 0
|
||||
#define CONFIG_GCOV 0
|
||||
#define CONFIG_RVCT 0
|
||||
#define CONFIG_GCC 1
|
||||
#define CONFIG_MSVS 0
|
||||
#define CONFIG_PIC 0
|
||||
#define CONFIG_BIG_ENDIAN 0
|
||||
#define CONFIG_CODEC_SRCS 0
|
||||
#define CONFIG_DEBUG_LIBS 0
|
||||
#define CONFIG_DEQUANT_TOKENS 0
|
||||
#define CONFIG_DC_RECON 0
|
||||
#define CONFIG_RUNTIME_CPU_DETECT 0
|
||||
#define CONFIG_POSTPROC 1
|
||||
#define CONFIG_VP9_POSTPROC 1
|
||||
#define CONFIG_MULTITHREAD 1
|
||||
#define CONFIG_INTERNAL_STATS 0
|
||||
#define CONFIG_VP8_ENCODER 1
|
||||
#define CONFIG_VP8_DECODER 1
|
||||
#define CONFIG_VP9_ENCODER 1
|
||||
#define CONFIG_VP9_DECODER 1
|
||||
#define CONFIG_VP8 1
|
||||
#define CONFIG_VP9 1
|
||||
#define CONFIG_ENCODERS 1
|
||||
#define CONFIG_DECODERS 1
|
||||
#define CONFIG_STATIC_MSVCRT 0
|
||||
#define CONFIG_SPATIAL_RESAMPLING 1
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
#define CONFIG_ERROR_CONCEALMENT 0
|
||||
#define CONFIG_SHARED 0
|
||||
#define CONFIG_STATIC 1
|
||||
#define CONFIG_SMALL 0
|
||||
#define CONFIG_POSTPROC_VISUALIZER 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_UNIT_TESTS 1
|
||||
#define CONFIG_WEBM_IO 1
|
||||
#define CONFIG_LIBYUV 0
|
||||
#define CONFIG_DECODE_PERF_TESTS 0
|
||||
#define CONFIG_ENCODE_PERF_TESTS 0
|
||||
#define CONFIG_MULTI_RES_ENCODING 1
|
||||
#define CONFIG_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_CONSISTENT_RECODE 0
|
||||
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
#define CONFIG_VP9_HIGHBITDEPTH 1
|
||||
#define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
#define CONFIG_EXPERIMENTAL 0
|
||||
#define CONFIG_SIZE_LIMIT 1
|
||||
#define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
#define CONFIG_BITSTREAM_DEBUG 0
|
||||
#define CONFIG_MISMATCH_DEBUG 0
|
||||
#define CONFIG_FP_MB_STATS 0
|
||||
#define CONFIG_EMULATE_HARDWARE 0
|
||||
#define CONFIG_NON_GREEDY_MV 0
|
||||
#define CONFIG_RATE_CTRL 0
|
||||
#define DECODE_WIDTH_LIMIT 16384
|
||||
#define DECODE_HEIGHT_LIMIT 16384
|
||||
#endif /* VPX_CONFIG_H */
|
||||
5191
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_dsp_rtcd.h
vendored
Normal file
5191
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_dsp_rtcd.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_scale_rtcd.h
vendored
Normal file
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_scale_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VPX_SCALE_RTCD_H_
|
||||
#define VPX_SCALE_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_horizontal_line_2_1_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_3_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_4_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_i_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
|
||||
|
||||
void vp8_vertical_band_5_3_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
|
||||
|
||||
void vp8_vertical_band_5_4_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
|
||||
|
||||
void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
|
||||
|
||||
void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_borders vpx_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
|
||||
|
||||
void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c
|
||||
|
||||
void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_y vpx_yv12_copy_y_c
|
||||
|
||||
void vpx_scale_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
505
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h
vendored
Normal file
505
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,505 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP8_RTCD_H_
|
||||
#define VP8_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP8
|
||||
*/
|
||||
|
||||
struct blockd;
|
||||
struct macroblockd;
|
||||
struct loop_filter_info;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct block;
|
||||
struct macroblock;
|
||||
struct variance_vtable;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict16x16_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_neon
|
||||
|
||||
void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict4x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_neon
|
||||
|
||||
void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_neon
|
||||
|
||||
void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x8_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_neon
|
||||
|
||||
void vp8_blend_b_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_b vp8_blend_b_c
|
||||
|
||||
void vp8_blend_mb_inner_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_inner vp8_blend_mb_inner_c
|
||||
|
||||
void vp8_blend_mb_outer_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_outer vp8_blend_mb_outer_c
|
||||
|
||||
int vp8_block_error_c(short* coeff, short* dqcoeff);
|
||||
#define vp8_block_error vp8_block_error_c
|
||||
|
||||
void vp8_copy32xn_c(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
#define vp8_copy32xn vp8_copy32xn_c
|
||||
|
||||
void vp8_copy_mem16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem16x16_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem16x16 vp8_copy_mem16x16_neon
|
||||
|
||||
void vp8_copy_mem8x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x4_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x4 vp8_copy_mem8x4_neon
|
||||
|
||||
void vp8_copy_mem8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x8_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x8 vp8_copy_mem8x8_neon
|
||||
|
||||
void vp8_dc_only_idct_add_c(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_dc_only_idct_add_neon(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_dc_only_idct_add vp8_dc_only_idct_add_neon
|
||||
|
||||
int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_neon(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter vp8_denoiser_filter_neon
|
||||
|
||||
int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_uv_neon(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_neon
|
||||
|
||||
void vp8_dequant_idct_add_c(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
void vp8_dequant_idct_add_neon(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
#define vp8_dequant_idct_add vp8_dequant_idct_add_neon
|
||||
|
||||
void vp8_dequant_idct_add_uv_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_uv_block_neon(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_neon
|
||||
|
||||
void vp8_dequant_idct_add_y_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_y_block_neon(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_neon
|
||||
|
||||
void vp8_dequantize_b_c(struct blockd*, short* DQC);
|
||||
void vp8_dequantize_b_neon(struct blockd*, short* DQC);
|
||||
#define vp8_dequantize_b vp8_dequantize_b_neon
|
||||
|
||||
int vp8_diamond_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_diamond_search_sad vp8_diamond_search_sad_c
|
||||
|
||||
void vp8_fast_quantize_b_c(struct block*, struct blockd*);
|
||||
void vp8_fast_quantize_b_neon(struct block*, struct blockd*);
|
||||
#define vp8_fast_quantize_b vp8_fast_quantize_b_neon
|
||||
|
||||
void vp8_filter_by_weight16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
|
||||
|
||||
void vp8_filter_by_weight4x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
|
||||
|
||||
void vp8_filter_by_weight8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
|
||||
|
||||
int vp8_full_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_full_search_sad vp8_full_search_sad_c
|
||||
|
||||
void vp8_loop_filter_bh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bh_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bh vp8_loop_filter_bh_neon
|
||||
|
||||
void vp8_loop_filter_bv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bv_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bv vp8_loop_filter_bv_neon
|
||||
|
||||
void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbh_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbh vp8_loop_filter_mbh_neon
|
||||
|
||||
void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbv_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbv vp8_loop_filter_mbv_neon
|
||||
|
||||
void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bhs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_neon
|
||||
|
||||
void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bvs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_neon
|
||||
|
||||
void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_mbhs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbh vp8_loop_filter_mbhs_neon
|
||||
|
||||
void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_mbvs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbv vp8_loop_filter_mbvs_neon
|
||||
|
||||
int vp8_mbblock_error_c(struct macroblock* mb, int dc);
|
||||
#define vp8_mbblock_error vp8_mbblock_error_c
|
||||
|
||||
int vp8_mbuverror_c(struct macroblock* mb);
|
||||
#define vp8_mbuverror vp8_mbuverror_c
|
||||
|
||||
int vp8_refining_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_refining_search_sad vp8_refining_search_sad_c
|
||||
|
||||
void vp8_regular_quantize_b_c(struct block*, struct blockd*);
|
||||
#define vp8_regular_quantize_b vp8_regular_quantize_b_c
|
||||
|
||||
void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct4x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct4x4 vp8_short_fdct4x4_neon
|
||||
|
||||
void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct8x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct8x4 vp8_short_fdct8x4_neon
|
||||
|
||||
void vp8_short_idct4x4llm_c(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_short_idct4x4llm_neon(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_short_idct4x4llm vp8_short_idct4x4llm_neon
|
||||
|
||||
void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
|
||||
void vp8_short_inv_walsh4x4_neon(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_neon
|
||||
|
||||
void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
|
||||
|
||||
void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_walsh4x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_walsh4x4 vp8_short_walsh4x4_neon
|
||||
|
||||
void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict16x16_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_neon
|
||||
|
||||
void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict4x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_neon
|
||||
|
||||
void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_neon
|
||||
|
||||
void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x8_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_neon
|
||||
|
||||
void vp8_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
219
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vp9_rtcd.h
vendored
Normal file
219
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vp9_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP9_RTCD_H_
|
||||
#define VP9_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP9
|
||||
*/
|
||||
|
||||
#include "vp9/common/vp9_common.h"
|
||||
#include "vp9/common/vp9_enums.h"
|
||||
#include "vp9/common/vp9_filter.h"
|
||||
#include "vpx/vpx_integer.h"
|
||||
|
||||
struct macroblockd;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct macroblock;
|
||||
struct vp9_variance_vtable;
|
||||
struct search_site_config;
|
||||
struct mv;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int64_t vp9_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
#define vp9_block_error vp9_block_error_c
|
||||
|
||||
int64_t vp9_block_error_fp_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
int64_t vp9_block_error_fp_neon(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
#define vp9_block_error_fp vp9_block_error_fp_neon
|
||||
|
||||
int vp9_denoiser_filter_c(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
int vp9_denoiser_filter_neon(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
#define vp9_denoiser_filter vp9_denoiser_filter_neon
|
||||
|
||||
int vp9_diamond_search_sad_c(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
#define vp9_diamond_search_sad vp9_diamond_search_sad_c
|
||||
|
||||
void vp9_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht16x16 vp9_fht16x16_c
|
||||
|
||||
void vp9_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht4x4 vp9_fht4x4_c
|
||||
|
||||
void vp9_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht8x8 vp9_fht8x8_c
|
||||
|
||||
void vp9_filter_by_weight16x16_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
|
||||
|
||||
void vp9_filter_by_weight8x8_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
|
||||
|
||||
void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_fwht4x4 vp9_fwht4x4_c
|
||||
|
||||
void vp9_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht16x16_256_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht16x16_256_add vp9_iht16x16_256_add_neon
|
||||
|
||||
void vp9_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht4x4_16_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht4x4_16_add vp9_iht4x4_16_add_neon
|
||||
|
||||
void vp9_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht8x8_64_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht8x8_64_add vp9_iht8x8_64_add_neon
|
||||
|
||||
void vp9_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_neon(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp vp9_quantize_fp_neon
|
||||
|
||||
void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_32x32_neon(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_neon
|
||||
|
||||
void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
void vp9_scale_and_extend_frame_neon(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
#define vp9_scale_and_extend_frame vp9_scale_and_extend_frame_neon
|
||||
|
||||
void vp9_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm
vendored
Normal file
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm
vendored
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
@ This file was created from a .asm file
|
||||
@ using the ads2gas.pl script.
|
||||
.syntax unified
|
||||
.equ VPX_ARCH_ARM , 1
|
||||
.equ ARCH_ARM , 1
|
||||
.equ VPX_ARCH_MIPS , 0
|
||||
.equ ARCH_MIPS , 0
|
||||
.equ VPX_ARCH_X86 , 0
|
||||
.equ ARCH_X86 , 0
|
||||
.equ VPX_ARCH_X86_64 , 0
|
||||
.equ ARCH_X86_64 , 0
|
||||
.equ VPX_ARCH_PPC , 0
|
||||
.equ ARCH_PPC , 0
|
||||
.equ HAVE_NEON , 1
|
||||
.equ HAVE_NEON_ASM , 1
|
||||
.equ HAVE_MIPS32 , 0
|
||||
.equ HAVE_DSPR2 , 0
|
||||
.equ HAVE_MSA , 0
|
||||
.equ HAVE_MIPS64 , 0
|
||||
.equ HAVE_MMX , 0
|
||||
.equ HAVE_SSE , 0
|
||||
.equ HAVE_SSE2 , 0
|
||||
.equ HAVE_SSE3 , 0
|
||||
.equ HAVE_SSSE3 , 0
|
||||
.equ HAVE_SSE4_1 , 0
|
||||
.equ HAVE_AVX , 0
|
||||
.equ HAVE_AVX2 , 0
|
||||
.equ HAVE_AVX512 , 0
|
||||
.equ HAVE_VSX , 0
|
||||
.equ HAVE_MMI , 0
|
||||
.equ HAVE_VPX_PORTS , 1
|
||||
.equ HAVE_PTHREAD_H , 1
|
||||
.equ HAVE_UNISTD_H , 0
|
||||
.equ CONFIG_DEPENDENCY_TRACKING , 1
|
||||
.equ CONFIG_EXTERNAL_BUILD , 1
|
||||
.equ CONFIG_INSTALL_DOCS , 0
|
||||
.equ CONFIG_INSTALL_BINS , 1
|
||||
.equ CONFIG_INSTALL_LIBS , 1
|
||||
.equ CONFIG_INSTALL_SRCS , 0
|
||||
.equ CONFIG_DEBUG , 0
|
||||
.equ CONFIG_GPROF , 0
|
||||
.equ CONFIG_GCOV , 0
|
||||
.equ CONFIG_RVCT , 0
|
||||
.equ CONFIG_GCC , 1
|
||||
.equ CONFIG_MSVS , 0
|
||||
.equ CONFIG_PIC , 0
|
||||
.equ CONFIG_BIG_ENDIAN , 0
|
||||
.equ CONFIG_CODEC_SRCS , 0
|
||||
.equ CONFIG_DEBUG_LIBS , 0
|
||||
.equ CONFIG_DEQUANT_TOKENS , 0
|
||||
.equ CONFIG_DC_RECON , 0
|
||||
.equ CONFIG_RUNTIME_CPU_DETECT , 0
|
||||
.equ CONFIG_POSTPROC , 1
|
||||
.equ CONFIG_VP9_POSTPROC , 1
|
||||
.equ CONFIG_MULTITHREAD , 1
|
||||
.equ CONFIG_INTERNAL_STATS , 0
|
||||
.equ CONFIG_VP8_ENCODER , 1
|
||||
.equ CONFIG_VP8_DECODER , 1
|
||||
.equ CONFIG_VP9_ENCODER , 1
|
||||
.equ CONFIG_VP9_DECODER , 1
|
||||
.equ CONFIG_VP8 , 1
|
||||
.equ CONFIG_VP9 , 1
|
||||
.equ CONFIG_ENCODERS , 1
|
||||
.equ CONFIG_DECODERS , 1
|
||||
.equ CONFIG_STATIC_MSVCRT , 0
|
||||
.equ CONFIG_SPATIAL_RESAMPLING , 1
|
||||
.equ CONFIG_REALTIME_ONLY , 1
|
||||
.equ CONFIG_ONTHEFLY_BITPACKING , 0
|
||||
.equ CONFIG_ERROR_CONCEALMENT , 0
|
||||
.equ CONFIG_SHARED , 0
|
||||
.equ CONFIG_STATIC , 1
|
||||
.equ CONFIG_SMALL , 0
|
||||
.equ CONFIG_POSTPROC_VISUALIZER , 0
|
||||
.equ CONFIG_OS_SUPPORT , 1
|
||||
.equ CONFIG_UNIT_TESTS , 1
|
||||
.equ CONFIG_WEBM_IO , 1
|
||||
.equ CONFIG_LIBYUV , 0
|
||||
.equ CONFIG_DECODE_PERF_TESTS , 0
|
||||
.equ CONFIG_ENCODE_PERF_TESTS , 0
|
||||
.equ CONFIG_MULTI_RES_ENCODING , 1
|
||||
.equ CONFIG_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_CONSISTENT_RECODE , 0
|
||||
.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
|
||||
.equ CONFIG_VP9_HIGHBITDEPTH , 0
|
||||
.equ CONFIG_BETTER_HW_COMPATIBILITY , 0
|
||||
.equ CONFIG_EXPERIMENTAL , 0
|
||||
.equ CONFIG_SIZE_LIMIT , 1
|
||||
.equ CONFIG_ALWAYS_ADJUST_BPM , 0
|
||||
.equ CONFIG_BITSTREAM_DEBUG , 0
|
||||
.equ CONFIG_MISMATCH_DEBUG , 0
|
||||
.equ CONFIG_FP_MB_STATS , 0
|
||||
.equ CONFIG_EMULATE_HARDWARE , 0
|
||||
.equ CONFIG_NON_GREEDY_MV , 0
|
||||
.equ CONFIG_RATE_CTRL , 0
|
||||
.equ DECODE_WIDTH_LIMIT , 16384
|
||||
.equ DECODE_HEIGHT_LIMIT , 16384
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vpx_config.c
vendored
Normal file
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vpx_config.c
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
#include "vpx/vpx_codec.h"
|
||||
static const char* const cfg = "--target=armv7-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv";
|
||||
const char *vpx_codec_build_config(void) {return cfg;}
|
||||
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vpx_config.h
vendored
Normal file
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vpx_config.h
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
/* This file automatically generated by configure. Do not edit! */
|
||||
#ifndef VPX_CONFIG_H
|
||||
#define VPX_CONFIG_H
|
||||
#define RESTRICT
|
||||
#define INLINE inline
|
||||
#define VPX_ARCH_ARM 1
|
||||
#define ARCH_ARM 1
|
||||
#define VPX_ARCH_MIPS 0
|
||||
#define ARCH_MIPS 0
|
||||
#define VPX_ARCH_X86 0
|
||||
#define ARCH_X86 0
|
||||
#define VPX_ARCH_X86_64 0
|
||||
#define ARCH_X86_64 0
|
||||
#define VPX_ARCH_PPC 0
|
||||
#define ARCH_PPC 0
|
||||
#define HAVE_NEON 1
|
||||
#define HAVE_NEON_ASM 1
|
||||
#define HAVE_MIPS32 0
|
||||
#define HAVE_DSPR2 0
|
||||
#define HAVE_MSA 0
|
||||
#define HAVE_MIPS64 0
|
||||
#define HAVE_MMX 0
|
||||
#define HAVE_SSE 0
|
||||
#define HAVE_SSE2 0
|
||||
#define HAVE_SSE3 0
|
||||
#define HAVE_SSSE3 0
|
||||
#define HAVE_SSE4_1 0
|
||||
#define HAVE_AVX 0
|
||||
#define HAVE_AVX2 0
|
||||
#define HAVE_AVX512 0
|
||||
#define HAVE_VSX 0
|
||||
#define HAVE_MMI 0
|
||||
#define HAVE_VPX_PORTS 1
|
||||
#define HAVE_PTHREAD_H 1
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define CONFIG_DEPENDENCY_TRACKING 1
|
||||
#define CONFIG_EXTERNAL_BUILD 1
|
||||
#define CONFIG_INSTALL_DOCS 0
|
||||
#define CONFIG_INSTALL_BINS 1
|
||||
#define CONFIG_INSTALL_LIBS 1
|
||||
#define CONFIG_INSTALL_SRCS 0
|
||||
#define CONFIG_DEBUG 0
|
||||
#define CONFIG_GPROF 0
|
||||
#define CONFIG_GCOV 0
|
||||
#define CONFIG_RVCT 0
|
||||
#define CONFIG_GCC 1
|
||||
#define CONFIG_MSVS 0
|
||||
#define CONFIG_PIC 0
|
||||
#define CONFIG_BIG_ENDIAN 0
|
||||
#define CONFIG_CODEC_SRCS 0
|
||||
#define CONFIG_DEBUG_LIBS 0
|
||||
#define CONFIG_DEQUANT_TOKENS 0
|
||||
#define CONFIG_DC_RECON 0
|
||||
#define CONFIG_RUNTIME_CPU_DETECT 0
|
||||
#define CONFIG_POSTPROC 1
|
||||
#define CONFIG_VP9_POSTPROC 1
|
||||
#define CONFIG_MULTITHREAD 1
|
||||
#define CONFIG_INTERNAL_STATS 0
|
||||
#define CONFIG_VP8_ENCODER 1
|
||||
#define CONFIG_VP8_DECODER 1
|
||||
#define CONFIG_VP9_ENCODER 1
|
||||
#define CONFIG_VP9_DECODER 1
|
||||
#define CONFIG_VP8 1
|
||||
#define CONFIG_VP9 1
|
||||
#define CONFIG_ENCODERS 1
|
||||
#define CONFIG_DECODERS 1
|
||||
#define CONFIG_STATIC_MSVCRT 0
|
||||
#define CONFIG_SPATIAL_RESAMPLING 1
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
#define CONFIG_ERROR_CONCEALMENT 0
|
||||
#define CONFIG_SHARED 0
|
||||
#define CONFIG_STATIC 1
|
||||
#define CONFIG_SMALL 0
|
||||
#define CONFIG_POSTPROC_VISUALIZER 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_UNIT_TESTS 1
|
||||
#define CONFIG_WEBM_IO 1
|
||||
#define CONFIG_LIBYUV 0
|
||||
#define CONFIG_DECODE_PERF_TESTS 0
|
||||
#define CONFIG_ENCODE_PERF_TESTS 0
|
||||
#define CONFIG_MULTI_RES_ENCODING 1
|
||||
#define CONFIG_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_CONSISTENT_RECODE 0
|
||||
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
#define CONFIG_VP9_HIGHBITDEPTH 0
|
||||
#define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
#define CONFIG_EXPERIMENTAL 0
|
||||
#define CONFIG_SIZE_LIMIT 1
|
||||
#define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
#define CONFIG_BITSTREAM_DEBUG 0
|
||||
#define CONFIG_MISMATCH_DEBUG 0
|
||||
#define CONFIG_FP_MB_STATS 0
|
||||
#define CONFIG_EMULATE_HARDWARE 0
|
||||
#define CONFIG_NON_GREEDY_MV 0
|
||||
#define CONFIG_RATE_CTRL 0
|
||||
#define DECODE_WIDTH_LIMIT 16384
|
||||
#define DECODE_HEIGHT_LIMIT 16384
|
||||
#endif /* VPX_CONFIG_H */
|
||||
2491
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vpx_dsp_rtcd.h
vendored
Normal file
2491
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vpx_dsp_rtcd.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vpx_scale_rtcd.h
vendored
Normal file
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm-neon/vpx_scale_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VPX_SCALE_RTCD_H_
|
||||
#define VPX_SCALE_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_horizontal_line_2_1_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_3_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_4_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_i_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
|
||||
|
||||
void vp8_vertical_band_5_3_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
|
||||
|
||||
void vp8_vertical_band_5_4_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
|
||||
|
||||
void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
|
||||
|
||||
void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_borders vpx_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
|
||||
|
||||
void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c
|
||||
|
||||
void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_y vpx_yv12_copy_y_c
|
||||
|
||||
void vpx_scale_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
362
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vp8_rtcd.h
vendored
Normal file
362
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vp8_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,362 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP8_RTCD_H_
|
||||
#define VP8_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP8
|
||||
*/
|
||||
|
||||
struct blockd;
|
||||
struct macroblockd;
|
||||
struct loop_filter_info;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct block;
|
||||
struct macroblock;
|
||||
struct variance_vtable;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_c
|
||||
|
||||
void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_c
|
||||
|
||||
void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_c
|
||||
|
||||
void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_c
|
||||
|
||||
void vp8_blend_b_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_b vp8_blend_b_c
|
||||
|
||||
void vp8_blend_mb_inner_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_inner vp8_blend_mb_inner_c
|
||||
|
||||
void vp8_blend_mb_outer_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_outer vp8_blend_mb_outer_c
|
||||
|
||||
int vp8_block_error_c(short* coeff, short* dqcoeff);
|
||||
#define vp8_block_error vp8_block_error_c
|
||||
|
||||
void vp8_copy32xn_c(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
#define vp8_copy32xn vp8_copy32xn_c
|
||||
|
||||
void vp8_copy_mem16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem16x16 vp8_copy_mem16x16_c
|
||||
|
||||
void vp8_copy_mem8x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x4 vp8_copy_mem8x4_c
|
||||
|
||||
void vp8_copy_mem8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x8 vp8_copy_mem8x8_c
|
||||
|
||||
void vp8_dc_only_idct_add_c(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_dc_only_idct_add vp8_dc_only_idct_add_c
|
||||
|
||||
int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter vp8_denoiser_filter_c
|
||||
|
||||
int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_c
|
||||
|
||||
void vp8_dequant_idct_add_c(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
#define vp8_dequant_idct_add vp8_dequant_idct_add_c
|
||||
|
||||
void vp8_dequant_idct_add_uv_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_c
|
||||
|
||||
void vp8_dequant_idct_add_y_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_c
|
||||
|
||||
void vp8_dequantize_b_c(struct blockd*, short* DQC);
|
||||
#define vp8_dequantize_b vp8_dequantize_b_c
|
||||
|
||||
int vp8_diamond_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_diamond_search_sad vp8_diamond_search_sad_c
|
||||
|
||||
void vp8_fast_quantize_b_c(struct block*, struct blockd*);
|
||||
#define vp8_fast_quantize_b vp8_fast_quantize_b_c
|
||||
|
||||
void vp8_filter_by_weight16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
|
||||
|
||||
void vp8_filter_by_weight4x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
|
||||
|
||||
void vp8_filter_by_weight8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
|
||||
|
||||
int vp8_full_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_full_search_sad vp8_full_search_sad_c
|
||||
|
||||
void vp8_loop_filter_bh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bh vp8_loop_filter_bh_c
|
||||
|
||||
void vp8_loop_filter_bv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bv vp8_loop_filter_bv_c
|
||||
|
||||
void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbh vp8_loop_filter_mbh_c
|
||||
|
||||
void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbv vp8_loop_filter_mbv_c
|
||||
|
||||
void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_c
|
||||
|
||||
void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_c
|
||||
|
||||
void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_c
|
||||
|
||||
void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_c
|
||||
|
||||
int vp8_mbblock_error_c(struct macroblock* mb, int dc);
|
||||
#define vp8_mbblock_error vp8_mbblock_error_c
|
||||
|
||||
int vp8_mbuverror_c(struct macroblock* mb);
|
||||
#define vp8_mbuverror vp8_mbuverror_c
|
||||
|
||||
int vp8_refining_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_refining_search_sad vp8_refining_search_sad_c
|
||||
|
||||
void vp8_regular_quantize_b_c(struct block*, struct blockd*);
|
||||
#define vp8_regular_quantize_b vp8_regular_quantize_b_c
|
||||
|
||||
void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct4x4 vp8_short_fdct4x4_c
|
||||
|
||||
void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct8x4 vp8_short_fdct8x4_c
|
||||
|
||||
void vp8_short_idct4x4llm_c(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_short_idct4x4llm vp8_short_idct4x4llm_c
|
||||
|
||||
void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_c
|
||||
|
||||
void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
|
||||
|
||||
void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
|
||||
#define vp8_short_walsh4x4 vp8_short_walsh4x4_c
|
||||
|
||||
void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_c
|
||||
|
||||
void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_c
|
||||
|
||||
void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_c
|
||||
|
||||
void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_c
|
||||
|
||||
void vp8_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
169
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vp9_rtcd.h
vendored
Normal file
169
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vp9_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP9_RTCD_H_
|
||||
#define VP9_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP9
|
||||
*/
|
||||
|
||||
#include "vp9/common/vp9_common.h"
|
||||
#include "vp9/common/vp9_enums.h"
|
||||
#include "vp9/common/vp9_filter.h"
|
||||
#include "vpx/vpx_integer.h"
|
||||
|
||||
struct macroblockd;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct macroblock;
|
||||
struct vp9_variance_vtable;
|
||||
struct search_site_config;
|
||||
struct mv;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int64_t vp9_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
#define vp9_block_error vp9_block_error_c
|
||||
|
||||
int64_t vp9_block_error_fp_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
#define vp9_block_error_fp vp9_block_error_fp_c
|
||||
|
||||
int vp9_denoiser_filter_c(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
#define vp9_denoiser_filter vp9_denoiser_filter_c
|
||||
|
||||
int vp9_diamond_search_sad_c(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
#define vp9_diamond_search_sad vp9_diamond_search_sad_c
|
||||
|
||||
void vp9_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht16x16 vp9_fht16x16_c
|
||||
|
||||
void vp9_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht4x4 vp9_fht4x4_c
|
||||
|
||||
void vp9_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht8x8 vp9_fht8x8_c
|
||||
|
||||
void vp9_filter_by_weight16x16_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
|
||||
|
||||
void vp9_filter_by_weight8x8_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
|
||||
|
||||
void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_fwht4x4 vp9_fwht4x4_c
|
||||
|
||||
void vp9_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht16x16_256_add vp9_iht16x16_256_add_c
|
||||
|
||||
void vp9_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht4x4_16_add vp9_iht4x4_16_add_c
|
||||
|
||||
void vp9_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht8x8_64_add vp9_iht8x8_64_add_c
|
||||
|
||||
void vp9_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp vp9_quantize_fp_c
|
||||
|
||||
void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
|
||||
|
||||
void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
#define vp9_scale_and_extend_frame vp9_scale_and_extend_frame_c
|
||||
|
||||
void vp9_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vpx_config.asm
vendored
Normal file
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vpx_config.asm
vendored
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
@ This file was created from a .asm file
|
||||
@ using the ads2gas.pl script.
|
||||
.syntax unified
|
||||
.equ VPX_ARCH_ARM , 1
|
||||
.equ ARCH_ARM , 1
|
||||
.equ VPX_ARCH_MIPS , 0
|
||||
.equ ARCH_MIPS , 0
|
||||
.equ VPX_ARCH_X86 , 0
|
||||
.equ ARCH_X86 , 0
|
||||
.equ VPX_ARCH_X86_64 , 0
|
||||
.equ ARCH_X86_64 , 0
|
||||
.equ VPX_ARCH_PPC , 0
|
||||
.equ ARCH_PPC , 0
|
||||
.equ HAVE_NEON , 0
|
||||
.equ HAVE_NEON_ASM , 0
|
||||
.equ HAVE_MIPS32 , 0
|
||||
.equ HAVE_DSPR2 , 0
|
||||
.equ HAVE_MSA , 0
|
||||
.equ HAVE_MIPS64 , 0
|
||||
.equ HAVE_MMX , 0
|
||||
.equ HAVE_SSE , 0
|
||||
.equ HAVE_SSE2 , 0
|
||||
.equ HAVE_SSE3 , 0
|
||||
.equ HAVE_SSSE3 , 0
|
||||
.equ HAVE_SSE4_1 , 0
|
||||
.equ HAVE_AVX , 0
|
||||
.equ HAVE_AVX2 , 0
|
||||
.equ HAVE_AVX512 , 0
|
||||
.equ HAVE_VSX , 0
|
||||
.equ HAVE_MMI , 0
|
||||
.equ HAVE_VPX_PORTS , 1
|
||||
.equ HAVE_PTHREAD_H , 1
|
||||
.equ HAVE_UNISTD_H , 0
|
||||
.equ CONFIG_DEPENDENCY_TRACKING , 1
|
||||
.equ CONFIG_EXTERNAL_BUILD , 1
|
||||
.equ CONFIG_INSTALL_DOCS , 0
|
||||
.equ CONFIG_INSTALL_BINS , 1
|
||||
.equ CONFIG_INSTALL_LIBS , 1
|
||||
.equ CONFIG_INSTALL_SRCS , 0
|
||||
.equ CONFIG_DEBUG , 0
|
||||
.equ CONFIG_GPROF , 0
|
||||
.equ CONFIG_GCOV , 0
|
||||
.equ CONFIG_RVCT , 0
|
||||
.equ CONFIG_GCC , 1
|
||||
.equ CONFIG_MSVS , 0
|
||||
.equ CONFIG_PIC , 0
|
||||
.equ CONFIG_BIG_ENDIAN , 0
|
||||
.equ CONFIG_CODEC_SRCS , 0
|
||||
.equ CONFIG_DEBUG_LIBS , 0
|
||||
.equ CONFIG_DEQUANT_TOKENS , 0
|
||||
.equ CONFIG_DC_RECON , 0
|
||||
.equ CONFIG_RUNTIME_CPU_DETECT , 0
|
||||
.equ CONFIG_POSTPROC , 1
|
||||
.equ CONFIG_VP9_POSTPROC , 1
|
||||
.equ CONFIG_MULTITHREAD , 1
|
||||
.equ CONFIG_INTERNAL_STATS , 0
|
||||
.equ CONFIG_VP8_ENCODER , 1
|
||||
.equ CONFIG_VP8_DECODER , 1
|
||||
.equ CONFIG_VP9_ENCODER , 1
|
||||
.equ CONFIG_VP9_DECODER , 1
|
||||
.equ CONFIG_VP8 , 1
|
||||
.equ CONFIG_VP9 , 1
|
||||
.equ CONFIG_ENCODERS , 1
|
||||
.equ CONFIG_DECODERS , 1
|
||||
.equ CONFIG_STATIC_MSVCRT , 0
|
||||
.equ CONFIG_SPATIAL_RESAMPLING , 1
|
||||
.equ CONFIG_REALTIME_ONLY , 1
|
||||
.equ CONFIG_ONTHEFLY_BITPACKING , 0
|
||||
.equ CONFIG_ERROR_CONCEALMENT , 0
|
||||
.equ CONFIG_SHARED , 0
|
||||
.equ CONFIG_STATIC , 1
|
||||
.equ CONFIG_SMALL , 0
|
||||
.equ CONFIG_POSTPROC_VISUALIZER , 0
|
||||
.equ CONFIG_OS_SUPPORT , 1
|
||||
.equ CONFIG_UNIT_TESTS , 1
|
||||
.equ CONFIG_WEBM_IO , 1
|
||||
.equ CONFIG_LIBYUV , 0
|
||||
.equ CONFIG_DECODE_PERF_TESTS , 0
|
||||
.equ CONFIG_ENCODE_PERF_TESTS , 0
|
||||
.equ CONFIG_MULTI_RES_ENCODING , 1
|
||||
.equ CONFIG_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_CONSISTENT_RECODE , 0
|
||||
.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
|
||||
.equ CONFIG_VP9_HIGHBITDEPTH , 0
|
||||
.equ CONFIG_BETTER_HW_COMPATIBILITY , 0
|
||||
.equ CONFIG_EXPERIMENTAL , 0
|
||||
.equ CONFIG_SIZE_LIMIT , 1
|
||||
.equ CONFIG_ALWAYS_ADJUST_BPM , 0
|
||||
.equ CONFIG_BITSTREAM_DEBUG , 0
|
||||
.equ CONFIG_MISMATCH_DEBUG , 0
|
||||
.equ CONFIG_FP_MB_STATS , 0
|
||||
.equ CONFIG_EMULATE_HARDWARE , 0
|
||||
.equ CONFIG_NON_GREEDY_MV , 0
|
||||
.equ CONFIG_RATE_CTRL , 0
|
||||
.equ DECODE_WIDTH_LIMIT , 16384
|
||||
.equ DECODE_HEIGHT_LIMIT , 16384
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vpx_config.c
vendored
Normal file
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vpx_config.c
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
#include "vpx/vpx_codec.h"
|
||||
static const char* const cfg = "--target=armv7-linux-gcc --disable-neon --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv";
|
||||
const char *vpx_codec_build_config(void) {return cfg;}
|
||||
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vpx_config.h
vendored
Normal file
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vpx_config.h
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
/* This file automatically generated by configure. Do not edit! */
|
||||
#ifndef VPX_CONFIG_H
|
||||
#define VPX_CONFIG_H
|
||||
#define RESTRICT
|
||||
#define INLINE inline
|
||||
#define VPX_ARCH_ARM 1
|
||||
#define ARCH_ARM 1
|
||||
#define VPX_ARCH_MIPS 0
|
||||
#define ARCH_MIPS 0
|
||||
#define VPX_ARCH_X86 0
|
||||
#define ARCH_X86 0
|
||||
#define VPX_ARCH_X86_64 0
|
||||
#define ARCH_X86_64 0
|
||||
#define VPX_ARCH_PPC 0
|
||||
#define ARCH_PPC 0
|
||||
#define HAVE_NEON 0
|
||||
#define HAVE_NEON_ASM 0
|
||||
#define HAVE_MIPS32 0
|
||||
#define HAVE_DSPR2 0
|
||||
#define HAVE_MSA 0
|
||||
#define HAVE_MIPS64 0
|
||||
#define HAVE_MMX 0
|
||||
#define HAVE_SSE 0
|
||||
#define HAVE_SSE2 0
|
||||
#define HAVE_SSE3 0
|
||||
#define HAVE_SSSE3 0
|
||||
#define HAVE_SSE4_1 0
|
||||
#define HAVE_AVX 0
|
||||
#define HAVE_AVX2 0
|
||||
#define HAVE_AVX512 0
|
||||
#define HAVE_VSX 0
|
||||
#define HAVE_MMI 0
|
||||
#define HAVE_VPX_PORTS 1
|
||||
#define HAVE_PTHREAD_H 1
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define CONFIG_DEPENDENCY_TRACKING 1
|
||||
#define CONFIG_EXTERNAL_BUILD 1
|
||||
#define CONFIG_INSTALL_DOCS 0
|
||||
#define CONFIG_INSTALL_BINS 1
|
||||
#define CONFIG_INSTALL_LIBS 1
|
||||
#define CONFIG_INSTALL_SRCS 0
|
||||
#define CONFIG_DEBUG 0
|
||||
#define CONFIG_GPROF 0
|
||||
#define CONFIG_GCOV 0
|
||||
#define CONFIG_RVCT 0
|
||||
#define CONFIG_GCC 1
|
||||
#define CONFIG_MSVS 0
|
||||
#define CONFIG_PIC 0
|
||||
#define CONFIG_BIG_ENDIAN 0
|
||||
#define CONFIG_CODEC_SRCS 0
|
||||
#define CONFIG_DEBUG_LIBS 0
|
||||
#define CONFIG_DEQUANT_TOKENS 0
|
||||
#define CONFIG_DC_RECON 0
|
||||
#define CONFIG_RUNTIME_CPU_DETECT 0
|
||||
#define CONFIG_POSTPROC 1
|
||||
#define CONFIG_VP9_POSTPROC 1
|
||||
#define CONFIG_MULTITHREAD 1
|
||||
#define CONFIG_INTERNAL_STATS 0
|
||||
#define CONFIG_VP8_ENCODER 1
|
||||
#define CONFIG_VP8_DECODER 1
|
||||
#define CONFIG_VP9_ENCODER 1
|
||||
#define CONFIG_VP9_DECODER 1
|
||||
#define CONFIG_VP8 1
|
||||
#define CONFIG_VP9 1
|
||||
#define CONFIG_ENCODERS 1
|
||||
#define CONFIG_DECODERS 1
|
||||
#define CONFIG_STATIC_MSVCRT 0
|
||||
#define CONFIG_SPATIAL_RESAMPLING 1
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
#define CONFIG_ERROR_CONCEALMENT 0
|
||||
#define CONFIG_SHARED 0
|
||||
#define CONFIG_STATIC 1
|
||||
#define CONFIG_SMALL 0
|
||||
#define CONFIG_POSTPROC_VISUALIZER 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_UNIT_TESTS 1
|
||||
#define CONFIG_WEBM_IO 1
|
||||
#define CONFIG_LIBYUV 0
|
||||
#define CONFIG_DECODE_PERF_TESTS 0
|
||||
#define CONFIG_ENCODE_PERF_TESTS 0
|
||||
#define CONFIG_MULTI_RES_ENCODING 1
|
||||
#define CONFIG_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_CONSISTENT_RECODE 0
|
||||
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
#define CONFIG_VP9_HIGHBITDEPTH 0
|
||||
#define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
#define CONFIG_EXPERIMENTAL 0
|
||||
#define CONFIG_SIZE_LIMIT 1
|
||||
#define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
#define CONFIG_BITSTREAM_DEBUG 0
|
||||
#define CONFIG_MISMATCH_DEBUG 0
|
||||
#define CONFIG_FP_MB_STATS 0
|
||||
#define CONFIG_EMULATE_HARDWARE 0
|
||||
#define CONFIG_NON_GREEDY_MV 0
|
||||
#define CONFIG_RATE_CTRL 0
|
||||
#define DECODE_WIDTH_LIMIT 16384
|
||||
#define DECODE_HEIGHT_LIMIT 16384
|
||||
#endif /* VPX_CONFIG_H */
|
||||
1588
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vpx_dsp_rtcd.h
vendored
Normal file
1588
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vpx_dsp_rtcd.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vpx_scale_rtcd.h
vendored
Normal file
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm/vpx_scale_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VPX_SCALE_RTCD_H_
|
||||
#define VPX_SCALE_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_horizontal_line_2_1_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_3_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_4_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_i_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
|
||||
|
||||
void vp8_vertical_band_5_3_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
|
||||
|
||||
void vp8_vertical_band_5_4_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
|
||||
|
||||
void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
|
||||
|
||||
void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_borders vpx_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
|
||||
|
||||
void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c
|
||||
|
||||
void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_y vpx_yv12_copy_y_c
|
||||
|
||||
void vpx_scale_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
505
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vp8_rtcd.h
vendored
Normal file
505
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vp8_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,505 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP8_RTCD_H_
|
||||
#define VP8_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP8
|
||||
*/
|
||||
|
||||
struct blockd;
|
||||
struct macroblockd;
|
||||
struct loop_filter_info;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct block;
|
||||
struct macroblock;
|
||||
struct variance_vtable;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict16x16_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_neon
|
||||
|
||||
void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict4x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_neon
|
||||
|
||||
void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_neon
|
||||
|
||||
void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x8_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_neon
|
||||
|
||||
void vp8_blend_b_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_b vp8_blend_b_c
|
||||
|
||||
void vp8_blend_mb_inner_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_inner vp8_blend_mb_inner_c
|
||||
|
||||
void vp8_blend_mb_outer_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_outer vp8_blend_mb_outer_c
|
||||
|
||||
int vp8_block_error_c(short* coeff, short* dqcoeff);
|
||||
#define vp8_block_error vp8_block_error_c
|
||||
|
||||
void vp8_copy32xn_c(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
#define vp8_copy32xn vp8_copy32xn_c
|
||||
|
||||
void vp8_copy_mem16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem16x16_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem16x16 vp8_copy_mem16x16_neon
|
||||
|
||||
void vp8_copy_mem8x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x4_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x4 vp8_copy_mem8x4_neon
|
||||
|
||||
void vp8_copy_mem8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x8_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x8 vp8_copy_mem8x8_neon
|
||||
|
||||
void vp8_dc_only_idct_add_c(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_dc_only_idct_add_neon(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_dc_only_idct_add vp8_dc_only_idct_add_neon
|
||||
|
||||
int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_neon(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter vp8_denoiser_filter_neon
|
||||
|
||||
int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_uv_neon(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_neon
|
||||
|
||||
void vp8_dequant_idct_add_c(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
void vp8_dequant_idct_add_neon(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
#define vp8_dequant_idct_add vp8_dequant_idct_add_neon
|
||||
|
||||
void vp8_dequant_idct_add_uv_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_uv_block_neon(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_neon
|
||||
|
||||
void vp8_dequant_idct_add_y_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_y_block_neon(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_neon
|
||||
|
||||
void vp8_dequantize_b_c(struct blockd*, short* DQC);
|
||||
void vp8_dequantize_b_neon(struct blockd*, short* DQC);
|
||||
#define vp8_dequantize_b vp8_dequantize_b_neon
|
||||
|
||||
int vp8_diamond_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_diamond_search_sad vp8_diamond_search_sad_c
|
||||
|
||||
void vp8_fast_quantize_b_c(struct block*, struct blockd*);
|
||||
void vp8_fast_quantize_b_neon(struct block*, struct blockd*);
|
||||
#define vp8_fast_quantize_b vp8_fast_quantize_b_neon
|
||||
|
||||
void vp8_filter_by_weight16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
|
||||
|
||||
void vp8_filter_by_weight4x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
|
||||
|
||||
void vp8_filter_by_weight8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
|
||||
|
||||
int vp8_full_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_full_search_sad vp8_full_search_sad_c
|
||||
|
||||
void vp8_loop_filter_bh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bh_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bh vp8_loop_filter_bh_neon
|
||||
|
||||
void vp8_loop_filter_bv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bv_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bv vp8_loop_filter_bv_neon
|
||||
|
||||
void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbh_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbh vp8_loop_filter_mbh_neon
|
||||
|
||||
void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbv_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbv vp8_loop_filter_mbv_neon
|
||||
|
||||
void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bhs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_neon
|
||||
|
||||
void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bvs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_neon
|
||||
|
||||
void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_mbhs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbh vp8_loop_filter_mbhs_neon
|
||||
|
||||
void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_mbvs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbv vp8_loop_filter_mbvs_neon
|
||||
|
||||
int vp8_mbblock_error_c(struct macroblock* mb, int dc);
|
||||
#define vp8_mbblock_error vp8_mbblock_error_c
|
||||
|
||||
int vp8_mbuverror_c(struct macroblock* mb);
|
||||
#define vp8_mbuverror vp8_mbuverror_c
|
||||
|
||||
int vp8_refining_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_refining_search_sad vp8_refining_search_sad_c
|
||||
|
||||
void vp8_regular_quantize_b_c(struct block*, struct blockd*);
|
||||
#define vp8_regular_quantize_b vp8_regular_quantize_b_c
|
||||
|
||||
void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct4x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct4x4 vp8_short_fdct4x4_neon
|
||||
|
||||
void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct8x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct8x4 vp8_short_fdct8x4_neon
|
||||
|
||||
void vp8_short_idct4x4llm_c(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_short_idct4x4llm_neon(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_short_idct4x4llm vp8_short_idct4x4llm_neon
|
||||
|
||||
void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
|
||||
void vp8_short_inv_walsh4x4_neon(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_neon
|
||||
|
||||
void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
|
||||
|
||||
void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_walsh4x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_walsh4x4 vp8_short_walsh4x4_neon
|
||||
|
||||
void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict16x16_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_neon
|
||||
|
||||
void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict4x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_neon
|
||||
|
||||
void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_neon
|
||||
|
||||
void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x8_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_neon
|
||||
|
||||
void vp8_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
342
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vp9_rtcd.h
vendored
Normal file
342
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vp9_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,342 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP9_RTCD_H_
|
||||
#define VP9_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP9
|
||||
*/
|
||||
|
||||
#include "vp9/common/vp9_common.h"
|
||||
#include "vp9/common/vp9_enums.h"
|
||||
#include "vp9/common/vp9_filter.h"
|
||||
#include "vpx/vpx_integer.h"
|
||||
|
||||
struct macroblockd;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct macroblock;
|
||||
struct vp9_variance_vtable;
|
||||
struct search_site_config;
|
||||
struct mv;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int64_t vp9_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
#define vp9_block_error vp9_block_error_c
|
||||
|
||||
int64_t vp9_block_error_fp_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
#define vp9_block_error_fp vp9_block_error_fp_c
|
||||
|
||||
int vp9_denoiser_filter_c(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
int vp9_denoiser_filter_neon(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
#define vp9_denoiser_filter vp9_denoiser_filter_neon
|
||||
|
||||
int vp9_diamond_search_sad_c(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
#define vp9_diamond_search_sad vp9_diamond_search_sad_c
|
||||
|
||||
void vp9_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht16x16 vp9_fht16x16_c
|
||||
|
||||
void vp9_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht4x4 vp9_fht4x4_c
|
||||
|
||||
void vp9_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht8x8 vp9_fht8x8_c
|
||||
|
||||
void vp9_filter_by_weight16x16_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
|
||||
|
||||
void vp9_filter_by_weight8x8_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
|
||||
|
||||
void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_fwht4x4 vp9_fwht4x4_c
|
||||
|
||||
int64_t vp9_highbd_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz,
|
||||
int bd);
|
||||
#define vp9_highbd_block_error vp9_highbd_block_error_c
|
||||
|
||||
void vp9_highbd_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht16x16 vp9_highbd_fht16x16_c
|
||||
|
||||
void vp9_highbd_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht4x4 vp9_highbd_fht4x4_c
|
||||
|
||||
void vp9_highbd_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht8x8 vp9_highbd_fht8x8_c
|
||||
|
||||
void vp9_highbd_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_highbd_fwht4x4 vp9_highbd_fwht4x4_c
|
||||
|
||||
void vp9_highbd_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht16x16_256_add_neon(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
#define vp9_highbd_iht16x16_256_add vp9_highbd_iht16x16_256_add_neon
|
||||
|
||||
void vp9_highbd_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht4x4_16_add_neon(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
#define vp9_highbd_iht4x4_16_add vp9_highbd_iht4x4_16_add_neon
|
||||
|
||||
void vp9_highbd_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht8x8_64_add_neon(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
#define vp9_highbd_iht8x8_64_add vp9_highbd_iht8x8_64_add_neon
|
||||
|
||||
void vp9_highbd_mbpost_proc_across_ip_c(uint16_t* src,
|
||||
int pitch,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_mbpost_proc_across_ip vp9_highbd_mbpost_proc_across_ip_c
|
||||
|
||||
void vp9_highbd_mbpost_proc_down_c(uint16_t* dst,
|
||||
int pitch,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_mbpost_proc_down vp9_highbd_mbpost_proc_down_c
|
||||
|
||||
void vp9_highbd_post_proc_down_and_across_c(const uint16_t* src_ptr,
|
||||
uint16_t* dst_ptr,
|
||||
int src_pixels_per_line,
|
||||
int dst_pixels_per_line,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_post_proc_down_and_across \
|
||||
vp9_highbd_post_proc_down_and_across_c
|
||||
|
||||
void vp9_highbd_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_highbd_quantize_fp vp9_highbd_quantize_fp_c
|
||||
|
||||
void vp9_highbd_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_highbd_quantize_fp_32x32 vp9_highbd_quantize_fp_32x32_c
|
||||
|
||||
void vp9_highbd_temporal_filter_apply_c(const uint8_t* frame1,
|
||||
unsigned int stride,
|
||||
const uint8_t* frame2,
|
||||
unsigned int block_width,
|
||||
unsigned int block_height,
|
||||
int strength,
|
||||
int* blk_fw,
|
||||
int use_32x32,
|
||||
uint32_t* accumulator,
|
||||
uint16_t* count);
|
||||
#define vp9_highbd_temporal_filter_apply vp9_highbd_temporal_filter_apply_c
|
||||
|
||||
void vp9_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht16x16_256_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht16x16_256_add vp9_iht16x16_256_add_neon
|
||||
|
||||
void vp9_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht4x4_16_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht4x4_16_add vp9_iht4x4_16_add_neon
|
||||
|
||||
void vp9_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht8x8_64_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht8x8_64_add vp9_iht8x8_64_add_neon
|
||||
|
||||
void vp9_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_neon(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp vp9_quantize_fp_neon
|
||||
|
||||
void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_32x32_neon(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_neon
|
||||
|
||||
void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
void vp9_scale_and_extend_frame_neon(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
#define vp9_scale_and_extend_frame vp9_scale_and_extend_frame_neon
|
||||
|
||||
void vp9_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.asm
vendored
Normal file
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.asm
vendored
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
@ This file was created from a .asm file
|
||||
@ using the ads2gas.pl script.
|
||||
.syntax unified
|
||||
.equ VPX_ARCH_ARM , 1
|
||||
.equ ARCH_ARM , 1
|
||||
.equ VPX_ARCH_MIPS , 0
|
||||
.equ ARCH_MIPS , 0
|
||||
.equ VPX_ARCH_X86 , 0
|
||||
.equ ARCH_X86 , 0
|
||||
.equ VPX_ARCH_X86_64 , 0
|
||||
.equ ARCH_X86_64 , 0
|
||||
.equ VPX_ARCH_PPC , 0
|
||||
.equ ARCH_PPC , 0
|
||||
.equ HAVE_NEON , 1
|
||||
.equ HAVE_NEON_ASM , 0
|
||||
.equ HAVE_MIPS32 , 0
|
||||
.equ HAVE_DSPR2 , 0
|
||||
.equ HAVE_MSA , 0
|
||||
.equ HAVE_MIPS64 , 0
|
||||
.equ HAVE_MMX , 0
|
||||
.equ HAVE_SSE , 0
|
||||
.equ HAVE_SSE2 , 0
|
||||
.equ HAVE_SSE3 , 0
|
||||
.equ HAVE_SSSE3 , 0
|
||||
.equ HAVE_SSE4_1 , 0
|
||||
.equ HAVE_AVX , 0
|
||||
.equ HAVE_AVX2 , 0
|
||||
.equ HAVE_AVX512 , 0
|
||||
.equ HAVE_VSX , 0
|
||||
.equ HAVE_MMI , 0
|
||||
.equ HAVE_VPX_PORTS , 1
|
||||
.equ HAVE_PTHREAD_H , 1
|
||||
.equ HAVE_UNISTD_H , 0
|
||||
.equ CONFIG_DEPENDENCY_TRACKING , 1
|
||||
.equ CONFIG_EXTERNAL_BUILD , 1
|
||||
.equ CONFIG_INSTALL_DOCS , 0
|
||||
.equ CONFIG_INSTALL_BINS , 1
|
||||
.equ CONFIG_INSTALL_LIBS , 1
|
||||
.equ CONFIG_INSTALL_SRCS , 0
|
||||
.equ CONFIG_DEBUG , 0
|
||||
.equ CONFIG_GPROF , 0
|
||||
.equ CONFIG_GCOV , 0
|
||||
.equ CONFIG_RVCT , 0
|
||||
.equ CONFIG_GCC , 1
|
||||
.equ CONFIG_MSVS , 0
|
||||
.equ CONFIG_PIC , 0
|
||||
.equ CONFIG_BIG_ENDIAN , 0
|
||||
.equ CONFIG_CODEC_SRCS , 0
|
||||
.equ CONFIG_DEBUG_LIBS , 0
|
||||
.equ CONFIG_DEQUANT_TOKENS , 0
|
||||
.equ CONFIG_DC_RECON , 0
|
||||
.equ CONFIG_RUNTIME_CPU_DETECT , 0
|
||||
.equ CONFIG_POSTPROC , 1
|
||||
.equ CONFIG_VP9_POSTPROC , 1
|
||||
.equ CONFIG_MULTITHREAD , 1
|
||||
.equ CONFIG_INTERNAL_STATS , 0
|
||||
.equ CONFIG_VP8_ENCODER , 1
|
||||
.equ CONFIG_VP8_DECODER , 1
|
||||
.equ CONFIG_VP9_ENCODER , 1
|
||||
.equ CONFIG_VP9_DECODER , 1
|
||||
.equ CONFIG_VP8 , 1
|
||||
.equ CONFIG_VP9 , 1
|
||||
.equ CONFIG_ENCODERS , 1
|
||||
.equ CONFIG_DECODERS , 1
|
||||
.equ CONFIG_STATIC_MSVCRT , 0
|
||||
.equ CONFIG_SPATIAL_RESAMPLING , 1
|
||||
.equ CONFIG_REALTIME_ONLY , 1
|
||||
.equ CONFIG_ONTHEFLY_BITPACKING , 0
|
||||
.equ CONFIG_ERROR_CONCEALMENT , 0
|
||||
.equ CONFIG_SHARED , 0
|
||||
.equ CONFIG_STATIC , 1
|
||||
.equ CONFIG_SMALL , 0
|
||||
.equ CONFIG_POSTPROC_VISUALIZER , 0
|
||||
.equ CONFIG_OS_SUPPORT , 1
|
||||
.equ CONFIG_UNIT_TESTS , 1
|
||||
.equ CONFIG_WEBM_IO , 1
|
||||
.equ CONFIG_LIBYUV , 0
|
||||
.equ CONFIG_DECODE_PERF_TESTS , 0
|
||||
.equ CONFIG_ENCODE_PERF_TESTS , 0
|
||||
.equ CONFIG_MULTI_RES_ENCODING , 1
|
||||
.equ CONFIG_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_CONSISTENT_RECODE , 0
|
||||
.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
|
||||
.equ CONFIG_VP9_HIGHBITDEPTH , 1
|
||||
.equ CONFIG_BETTER_HW_COMPATIBILITY , 0
|
||||
.equ CONFIG_EXPERIMENTAL , 0
|
||||
.equ CONFIG_SIZE_LIMIT , 1
|
||||
.equ CONFIG_ALWAYS_ADJUST_BPM , 0
|
||||
.equ CONFIG_BITSTREAM_DEBUG , 0
|
||||
.equ CONFIG_MISMATCH_DEBUG , 0
|
||||
.equ CONFIG_FP_MB_STATS , 0
|
||||
.equ CONFIG_EMULATE_HARDWARE , 0
|
||||
.equ CONFIG_NON_GREEDY_MV , 0
|
||||
.equ CONFIG_RATE_CTRL , 0
|
||||
.equ DECODE_WIDTH_LIMIT , 16384
|
||||
.equ DECODE_HEIGHT_LIMIT , 16384
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.c
vendored
Normal file
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.c
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
#include "vpx/vpx_codec.h"
|
||||
static const char* const cfg = "--target=armv8-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv --enable-vp9-highbitdepth";
|
||||
const char *vpx_codec_build_config(void) {return cfg;}
|
||||
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.h
vendored
Normal file
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.h
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
/* This file automatically generated by configure. Do not edit! */
|
||||
#ifndef VPX_CONFIG_H
|
||||
#define VPX_CONFIG_H
|
||||
#define RESTRICT
|
||||
#define INLINE inline
|
||||
#define VPX_ARCH_ARM 1
|
||||
#define ARCH_ARM 1
|
||||
#define VPX_ARCH_MIPS 0
|
||||
#define ARCH_MIPS 0
|
||||
#define VPX_ARCH_X86 0
|
||||
#define ARCH_X86 0
|
||||
#define VPX_ARCH_X86_64 0
|
||||
#define ARCH_X86_64 0
|
||||
#define VPX_ARCH_PPC 0
|
||||
#define ARCH_PPC 0
|
||||
#define HAVE_NEON 1
|
||||
#define HAVE_NEON_ASM 0
|
||||
#define HAVE_MIPS32 0
|
||||
#define HAVE_DSPR2 0
|
||||
#define HAVE_MSA 0
|
||||
#define HAVE_MIPS64 0
|
||||
#define HAVE_MMX 0
|
||||
#define HAVE_SSE 0
|
||||
#define HAVE_SSE2 0
|
||||
#define HAVE_SSE3 0
|
||||
#define HAVE_SSSE3 0
|
||||
#define HAVE_SSE4_1 0
|
||||
#define HAVE_AVX 0
|
||||
#define HAVE_AVX2 0
|
||||
#define HAVE_AVX512 0
|
||||
#define HAVE_VSX 0
|
||||
#define HAVE_MMI 0
|
||||
#define HAVE_VPX_PORTS 1
|
||||
#define HAVE_PTHREAD_H 1
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define CONFIG_DEPENDENCY_TRACKING 1
|
||||
#define CONFIG_EXTERNAL_BUILD 1
|
||||
#define CONFIG_INSTALL_DOCS 0
|
||||
#define CONFIG_INSTALL_BINS 1
|
||||
#define CONFIG_INSTALL_LIBS 1
|
||||
#define CONFIG_INSTALL_SRCS 0
|
||||
#define CONFIG_DEBUG 0
|
||||
#define CONFIG_GPROF 0
|
||||
#define CONFIG_GCOV 0
|
||||
#define CONFIG_RVCT 0
|
||||
#define CONFIG_GCC 1
|
||||
#define CONFIG_MSVS 0
|
||||
#define CONFIG_PIC 0
|
||||
#define CONFIG_BIG_ENDIAN 0
|
||||
#define CONFIG_CODEC_SRCS 0
|
||||
#define CONFIG_DEBUG_LIBS 0
|
||||
#define CONFIG_DEQUANT_TOKENS 0
|
||||
#define CONFIG_DC_RECON 0
|
||||
#define CONFIG_RUNTIME_CPU_DETECT 0
|
||||
#define CONFIG_POSTPROC 1
|
||||
#define CONFIG_VP9_POSTPROC 1
|
||||
#define CONFIG_MULTITHREAD 1
|
||||
#define CONFIG_INTERNAL_STATS 0
|
||||
#define CONFIG_VP8_ENCODER 1
|
||||
#define CONFIG_VP8_DECODER 1
|
||||
#define CONFIG_VP9_ENCODER 1
|
||||
#define CONFIG_VP9_DECODER 1
|
||||
#define CONFIG_VP8 1
|
||||
#define CONFIG_VP9 1
|
||||
#define CONFIG_ENCODERS 1
|
||||
#define CONFIG_DECODERS 1
|
||||
#define CONFIG_STATIC_MSVCRT 0
|
||||
#define CONFIG_SPATIAL_RESAMPLING 1
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
#define CONFIG_ERROR_CONCEALMENT 0
|
||||
#define CONFIG_SHARED 0
|
||||
#define CONFIG_STATIC 1
|
||||
#define CONFIG_SMALL 0
|
||||
#define CONFIG_POSTPROC_VISUALIZER 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_UNIT_TESTS 1
|
||||
#define CONFIG_WEBM_IO 1
|
||||
#define CONFIG_LIBYUV 0
|
||||
#define CONFIG_DECODE_PERF_TESTS 0
|
||||
#define CONFIG_ENCODE_PERF_TESTS 0
|
||||
#define CONFIG_MULTI_RES_ENCODING 1
|
||||
#define CONFIG_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_CONSISTENT_RECODE 0
|
||||
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
#define CONFIG_VP9_HIGHBITDEPTH 1
|
||||
#define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
#define CONFIG_EXPERIMENTAL 0
|
||||
#define CONFIG_SIZE_LIMIT 1
|
||||
#define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
#define CONFIG_BITSTREAM_DEBUG 0
|
||||
#define CONFIG_MISMATCH_DEBUG 0
|
||||
#define CONFIG_FP_MB_STATS 0
|
||||
#define CONFIG_EMULATE_HARDWARE 0
|
||||
#define CONFIG_NON_GREEDY_MV 0
|
||||
#define CONFIG_RATE_CTRL 0
|
||||
#define DECODE_WIDTH_LIMIT 16384
|
||||
#define DECODE_HEIGHT_LIMIT 16384
|
||||
#endif /* VPX_CONFIG_H */
|
||||
5191
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vpx_dsp_rtcd.h
vendored
Normal file
5191
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vpx_dsp_rtcd.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vpx_scale_rtcd.h
vendored
Normal file
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64-highbd/vpx_scale_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VPX_SCALE_RTCD_H_
|
||||
#define VPX_SCALE_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_horizontal_line_2_1_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_3_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_4_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_i_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
|
||||
|
||||
void vp8_vertical_band_5_3_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
|
||||
|
||||
void vp8_vertical_band_5_4_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
|
||||
|
||||
void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
|
||||
|
||||
void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_borders vpx_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
|
||||
|
||||
void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c
|
||||
|
||||
void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_y vpx_yv12_copy_y_c
|
||||
|
||||
void vpx_scale_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
505
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vp8_rtcd.h
vendored
Normal file
505
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vp8_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,505 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP8_RTCD_H_
|
||||
#define VP8_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP8
|
||||
*/
|
||||
|
||||
struct blockd;
|
||||
struct macroblockd;
|
||||
struct loop_filter_info;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct block;
|
||||
struct macroblock;
|
||||
struct variance_vtable;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict16x16_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_neon
|
||||
|
||||
void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict4x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_neon
|
||||
|
||||
void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_neon
|
||||
|
||||
void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x8_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_neon
|
||||
|
||||
void vp8_blend_b_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_b vp8_blend_b_c
|
||||
|
||||
void vp8_blend_mb_inner_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_inner vp8_blend_mb_inner_c
|
||||
|
||||
void vp8_blend_mb_outer_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_outer vp8_blend_mb_outer_c
|
||||
|
||||
int vp8_block_error_c(short* coeff, short* dqcoeff);
|
||||
#define vp8_block_error vp8_block_error_c
|
||||
|
||||
void vp8_copy32xn_c(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
#define vp8_copy32xn vp8_copy32xn_c
|
||||
|
||||
void vp8_copy_mem16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem16x16_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem16x16 vp8_copy_mem16x16_neon
|
||||
|
||||
void vp8_copy_mem8x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x4_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x4 vp8_copy_mem8x4_neon
|
||||
|
||||
void vp8_copy_mem8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x8_neon(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x8 vp8_copy_mem8x8_neon
|
||||
|
||||
void vp8_dc_only_idct_add_c(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_dc_only_idct_add_neon(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_dc_only_idct_add vp8_dc_only_idct_add_neon
|
||||
|
||||
int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_neon(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter vp8_denoiser_filter_neon
|
||||
|
||||
int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_uv_neon(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_neon
|
||||
|
||||
void vp8_dequant_idct_add_c(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
void vp8_dequant_idct_add_neon(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
#define vp8_dequant_idct_add vp8_dequant_idct_add_neon
|
||||
|
||||
void vp8_dequant_idct_add_uv_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_uv_block_neon(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_neon
|
||||
|
||||
void vp8_dequant_idct_add_y_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_y_block_neon(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_neon
|
||||
|
||||
void vp8_dequantize_b_c(struct blockd*, short* DQC);
|
||||
void vp8_dequantize_b_neon(struct blockd*, short* DQC);
|
||||
#define vp8_dequantize_b vp8_dequantize_b_neon
|
||||
|
||||
int vp8_diamond_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_diamond_search_sad vp8_diamond_search_sad_c
|
||||
|
||||
void vp8_fast_quantize_b_c(struct block*, struct blockd*);
|
||||
void vp8_fast_quantize_b_neon(struct block*, struct blockd*);
|
||||
#define vp8_fast_quantize_b vp8_fast_quantize_b_neon
|
||||
|
||||
void vp8_filter_by_weight16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
|
||||
|
||||
void vp8_filter_by_weight4x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
|
||||
|
||||
void vp8_filter_by_weight8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
|
||||
|
||||
int vp8_full_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_full_search_sad vp8_full_search_sad_c
|
||||
|
||||
void vp8_loop_filter_bh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bh_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bh vp8_loop_filter_bh_neon
|
||||
|
||||
void vp8_loop_filter_bv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bv_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bv vp8_loop_filter_bv_neon
|
||||
|
||||
void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbh_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbh vp8_loop_filter_mbh_neon
|
||||
|
||||
void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbv_neon(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbv vp8_loop_filter_mbv_neon
|
||||
|
||||
void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bhs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_neon
|
||||
|
||||
void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bvs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_neon
|
||||
|
||||
void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_mbhs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbh vp8_loop_filter_mbhs_neon
|
||||
|
||||
void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_mbvs_neon(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbv vp8_loop_filter_mbvs_neon
|
||||
|
||||
int vp8_mbblock_error_c(struct macroblock* mb, int dc);
|
||||
#define vp8_mbblock_error vp8_mbblock_error_c
|
||||
|
||||
int vp8_mbuverror_c(struct macroblock* mb);
|
||||
#define vp8_mbuverror vp8_mbuverror_c
|
||||
|
||||
int vp8_refining_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_refining_search_sad vp8_refining_search_sad_c
|
||||
|
||||
void vp8_regular_quantize_b_c(struct block*, struct blockd*);
|
||||
#define vp8_regular_quantize_b vp8_regular_quantize_b_c
|
||||
|
||||
void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct4x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct4x4 vp8_short_fdct4x4_neon
|
||||
|
||||
void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct8x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct8x4 vp8_short_fdct8x4_neon
|
||||
|
||||
void vp8_short_idct4x4llm_c(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_short_idct4x4llm_neon(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_short_idct4x4llm vp8_short_idct4x4llm_neon
|
||||
|
||||
void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
|
||||
void vp8_short_inv_walsh4x4_neon(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_neon
|
||||
|
||||
void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
|
||||
|
||||
void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_walsh4x4_neon(short* input, short* output, int pitch);
|
||||
#define vp8_short_walsh4x4 vp8_short_walsh4x4_neon
|
||||
|
||||
void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict16x16_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_neon
|
||||
|
||||
void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict4x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_neon
|
||||
|
||||
void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x4_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_neon
|
||||
|
||||
void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x8_neon(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_neon
|
||||
|
||||
void vp8_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
219
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vp9_rtcd.h
vendored
Normal file
219
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vp9_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP9_RTCD_H_
|
||||
#define VP9_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP9
|
||||
*/
|
||||
|
||||
#include "vp9/common/vp9_common.h"
|
||||
#include "vp9/common/vp9_enums.h"
|
||||
#include "vp9/common/vp9_filter.h"
|
||||
#include "vpx/vpx_integer.h"
|
||||
|
||||
struct macroblockd;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct macroblock;
|
||||
struct vp9_variance_vtable;
|
||||
struct search_site_config;
|
||||
struct mv;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int64_t vp9_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
#define vp9_block_error vp9_block_error_c
|
||||
|
||||
int64_t vp9_block_error_fp_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
int64_t vp9_block_error_fp_neon(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
#define vp9_block_error_fp vp9_block_error_fp_neon
|
||||
|
||||
int vp9_denoiser_filter_c(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
int vp9_denoiser_filter_neon(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
#define vp9_denoiser_filter vp9_denoiser_filter_neon
|
||||
|
||||
int vp9_diamond_search_sad_c(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
#define vp9_diamond_search_sad vp9_diamond_search_sad_c
|
||||
|
||||
void vp9_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht16x16 vp9_fht16x16_c
|
||||
|
||||
void vp9_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht4x4 vp9_fht4x4_c
|
||||
|
||||
void vp9_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht8x8 vp9_fht8x8_c
|
||||
|
||||
void vp9_filter_by_weight16x16_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
|
||||
|
||||
void vp9_filter_by_weight8x8_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
|
||||
|
||||
void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_fwht4x4 vp9_fwht4x4_c
|
||||
|
||||
void vp9_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht16x16_256_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht16x16_256_add vp9_iht16x16_256_add_neon
|
||||
|
||||
void vp9_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht4x4_16_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht4x4_16_add vp9_iht4x4_16_add_neon
|
||||
|
||||
void vp9_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht8x8_64_add_neon(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht8x8_64_add vp9_iht8x8_64_add_neon
|
||||
|
||||
void vp9_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_neon(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp vp9_quantize_fp_neon
|
||||
|
||||
void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_32x32_neon(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_neon
|
||||
|
||||
void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
void vp9_scale_and_extend_frame_neon(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
#define vp9_scale_and_extend_frame vp9_scale_and_extend_frame_neon
|
||||
|
||||
void vp9_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vpx_config.asm
vendored
Normal file
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vpx_config.asm
vendored
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
@ This file was created from a .asm file
|
||||
@ using the ads2gas.pl script.
|
||||
.syntax unified
|
||||
.equ VPX_ARCH_ARM , 1
|
||||
.equ ARCH_ARM , 1
|
||||
.equ VPX_ARCH_MIPS , 0
|
||||
.equ ARCH_MIPS , 0
|
||||
.equ VPX_ARCH_X86 , 0
|
||||
.equ ARCH_X86 , 0
|
||||
.equ VPX_ARCH_X86_64 , 0
|
||||
.equ ARCH_X86_64 , 0
|
||||
.equ VPX_ARCH_PPC , 0
|
||||
.equ ARCH_PPC , 0
|
||||
.equ HAVE_NEON , 1
|
||||
.equ HAVE_NEON_ASM , 0
|
||||
.equ HAVE_MIPS32 , 0
|
||||
.equ HAVE_DSPR2 , 0
|
||||
.equ HAVE_MSA , 0
|
||||
.equ HAVE_MIPS64 , 0
|
||||
.equ HAVE_MMX , 0
|
||||
.equ HAVE_SSE , 0
|
||||
.equ HAVE_SSE2 , 0
|
||||
.equ HAVE_SSE3 , 0
|
||||
.equ HAVE_SSSE3 , 0
|
||||
.equ HAVE_SSE4_1 , 0
|
||||
.equ HAVE_AVX , 0
|
||||
.equ HAVE_AVX2 , 0
|
||||
.equ HAVE_AVX512 , 0
|
||||
.equ HAVE_VSX , 0
|
||||
.equ HAVE_MMI , 0
|
||||
.equ HAVE_VPX_PORTS , 1
|
||||
.equ HAVE_PTHREAD_H , 1
|
||||
.equ HAVE_UNISTD_H , 0
|
||||
.equ CONFIG_DEPENDENCY_TRACKING , 1
|
||||
.equ CONFIG_EXTERNAL_BUILD , 1
|
||||
.equ CONFIG_INSTALL_DOCS , 0
|
||||
.equ CONFIG_INSTALL_BINS , 1
|
||||
.equ CONFIG_INSTALL_LIBS , 1
|
||||
.equ CONFIG_INSTALL_SRCS , 0
|
||||
.equ CONFIG_DEBUG , 0
|
||||
.equ CONFIG_GPROF , 0
|
||||
.equ CONFIG_GCOV , 0
|
||||
.equ CONFIG_RVCT , 0
|
||||
.equ CONFIG_GCC , 1
|
||||
.equ CONFIG_MSVS , 0
|
||||
.equ CONFIG_PIC , 0
|
||||
.equ CONFIG_BIG_ENDIAN , 0
|
||||
.equ CONFIG_CODEC_SRCS , 0
|
||||
.equ CONFIG_DEBUG_LIBS , 0
|
||||
.equ CONFIG_DEQUANT_TOKENS , 0
|
||||
.equ CONFIG_DC_RECON , 0
|
||||
.equ CONFIG_RUNTIME_CPU_DETECT , 0
|
||||
.equ CONFIG_POSTPROC , 1
|
||||
.equ CONFIG_VP9_POSTPROC , 1
|
||||
.equ CONFIG_MULTITHREAD , 1
|
||||
.equ CONFIG_INTERNAL_STATS , 0
|
||||
.equ CONFIG_VP8_ENCODER , 1
|
||||
.equ CONFIG_VP8_DECODER , 1
|
||||
.equ CONFIG_VP9_ENCODER , 1
|
||||
.equ CONFIG_VP9_DECODER , 1
|
||||
.equ CONFIG_VP8 , 1
|
||||
.equ CONFIG_VP9 , 1
|
||||
.equ CONFIG_ENCODERS , 1
|
||||
.equ CONFIG_DECODERS , 1
|
||||
.equ CONFIG_STATIC_MSVCRT , 0
|
||||
.equ CONFIG_SPATIAL_RESAMPLING , 1
|
||||
.equ CONFIG_REALTIME_ONLY , 1
|
||||
.equ CONFIG_ONTHEFLY_BITPACKING , 0
|
||||
.equ CONFIG_ERROR_CONCEALMENT , 0
|
||||
.equ CONFIG_SHARED , 0
|
||||
.equ CONFIG_STATIC , 1
|
||||
.equ CONFIG_SMALL , 0
|
||||
.equ CONFIG_POSTPROC_VISUALIZER , 0
|
||||
.equ CONFIG_OS_SUPPORT , 1
|
||||
.equ CONFIG_UNIT_TESTS , 1
|
||||
.equ CONFIG_WEBM_IO , 1
|
||||
.equ CONFIG_LIBYUV , 0
|
||||
.equ CONFIG_DECODE_PERF_TESTS , 0
|
||||
.equ CONFIG_ENCODE_PERF_TESTS , 0
|
||||
.equ CONFIG_MULTI_RES_ENCODING , 1
|
||||
.equ CONFIG_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_CONSISTENT_RECODE , 0
|
||||
.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
|
||||
.equ CONFIG_VP9_HIGHBITDEPTH , 0
|
||||
.equ CONFIG_BETTER_HW_COMPATIBILITY , 0
|
||||
.equ CONFIG_EXPERIMENTAL , 0
|
||||
.equ CONFIG_SIZE_LIMIT , 1
|
||||
.equ CONFIG_ALWAYS_ADJUST_BPM , 0
|
||||
.equ CONFIG_BITSTREAM_DEBUG , 0
|
||||
.equ CONFIG_MISMATCH_DEBUG , 0
|
||||
.equ CONFIG_FP_MB_STATS , 0
|
||||
.equ CONFIG_EMULATE_HARDWARE , 0
|
||||
.equ CONFIG_NON_GREEDY_MV , 0
|
||||
.equ CONFIG_RATE_CTRL , 0
|
||||
.equ DECODE_WIDTH_LIMIT , 16384
|
||||
.equ DECODE_HEIGHT_LIMIT , 16384
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vpx_config.c
vendored
Normal file
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vpx_config.c
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
#include "vpx/vpx_codec.h"
|
||||
static const char* const cfg = "--target=armv8-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv";
|
||||
const char *vpx_codec_build_config(void) {return cfg;}
|
||||
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vpx_config.h
vendored
Normal file
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vpx_config.h
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
/* This file automatically generated by configure. Do not edit! */
|
||||
#ifndef VPX_CONFIG_H
|
||||
#define VPX_CONFIG_H
|
||||
#define RESTRICT
|
||||
#define INLINE inline
|
||||
#define VPX_ARCH_ARM 1
|
||||
#define ARCH_ARM 1
|
||||
#define VPX_ARCH_MIPS 0
|
||||
#define ARCH_MIPS 0
|
||||
#define VPX_ARCH_X86 0
|
||||
#define ARCH_X86 0
|
||||
#define VPX_ARCH_X86_64 0
|
||||
#define ARCH_X86_64 0
|
||||
#define VPX_ARCH_PPC 0
|
||||
#define ARCH_PPC 0
|
||||
#define HAVE_NEON 1
|
||||
#define HAVE_NEON_ASM 0
|
||||
#define HAVE_MIPS32 0
|
||||
#define HAVE_DSPR2 0
|
||||
#define HAVE_MSA 0
|
||||
#define HAVE_MIPS64 0
|
||||
#define HAVE_MMX 0
|
||||
#define HAVE_SSE 0
|
||||
#define HAVE_SSE2 0
|
||||
#define HAVE_SSE3 0
|
||||
#define HAVE_SSSE3 0
|
||||
#define HAVE_SSE4_1 0
|
||||
#define HAVE_AVX 0
|
||||
#define HAVE_AVX2 0
|
||||
#define HAVE_AVX512 0
|
||||
#define HAVE_VSX 0
|
||||
#define HAVE_MMI 0
|
||||
#define HAVE_VPX_PORTS 1
|
||||
#define HAVE_PTHREAD_H 1
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define CONFIG_DEPENDENCY_TRACKING 1
|
||||
#define CONFIG_EXTERNAL_BUILD 1
|
||||
#define CONFIG_INSTALL_DOCS 0
|
||||
#define CONFIG_INSTALL_BINS 1
|
||||
#define CONFIG_INSTALL_LIBS 1
|
||||
#define CONFIG_INSTALL_SRCS 0
|
||||
#define CONFIG_DEBUG 0
|
||||
#define CONFIG_GPROF 0
|
||||
#define CONFIG_GCOV 0
|
||||
#define CONFIG_RVCT 0
|
||||
#define CONFIG_GCC 1
|
||||
#define CONFIG_MSVS 0
|
||||
#define CONFIG_PIC 0
|
||||
#define CONFIG_BIG_ENDIAN 0
|
||||
#define CONFIG_CODEC_SRCS 0
|
||||
#define CONFIG_DEBUG_LIBS 0
|
||||
#define CONFIG_DEQUANT_TOKENS 0
|
||||
#define CONFIG_DC_RECON 0
|
||||
#define CONFIG_RUNTIME_CPU_DETECT 0
|
||||
#define CONFIG_POSTPROC 1
|
||||
#define CONFIG_VP9_POSTPROC 1
|
||||
#define CONFIG_MULTITHREAD 1
|
||||
#define CONFIG_INTERNAL_STATS 0
|
||||
#define CONFIG_VP8_ENCODER 1
|
||||
#define CONFIG_VP8_DECODER 1
|
||||
#define CONFIG_VP9_ENCODER 1
|
||||
#define CONFIG_VP9_DECODER 1
|
||||
#define CONFIG_VP8 1
|
||||
#define CONFIG_VP9 1
|
||||
#define CONFIG_ENCODERS 1
|
||||
#define CONFIG_DECODERS 1
|
||||
#define CONFIG_STATIC_MSVCRT 0
|
||||
#define CONFIG_SPATIAL_RESAMPLING 1
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
#define CONFIG_ERROR_CONCEALMENT 0
|
||||
#define CONFIG_SHARED 0
|
||||
#define CONFIG_STATIC 1
|
||||
#define CONFIG_SMALL 0
|
||||
#define CONFIG_POSTPROC_VISUALIZER 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_UNIT_TESTS 1
|
||||
#define CONFIG_WEBM_IO 1
|
||||
#define CONFIG_LIBYUV 0
|
||||
#define CONFIG_DECODE_PERF_TESTS 0
|
||||
#define CONFIG_ENCODE_PERF_TESTS 0
|
||||
#define CONFIG_MULTI_RES_ENCODING 1
|
||||
#define CONFIG_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_CONSISTENT_RECODE 0
|
||||
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
#define CONFIG_VP9_HIGHBITDEPTH 0
|
||||
#define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
#define CONFIG_EXPERIMENTAL 0
|
||||
#define CONFIG_SIZE_LIMIT 1
|
||||
#define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
#define CONFIG_BITSTREAM_DEBUG 0
|
||||
#define CONFIG_MISMATCH_DEBUG 0
|
||||
#define CONFIG_FP_MB_STATS 0
|
||||
#define CONFIG_EMULATE_HARDWARE 0
|
||||
#define CONFIG_NON_GREEDY_MV 0
|
||||
#define CONFIG_RATE_CTRL 0
|
||||
#define DECODE_WIDTH_LIMIT 16384
|
||||
#define DECODE_HEIGHT_LIMIT 16384
|
||||
#endif /* VPX_CONFIG_H */
|
||||
2491
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vpx_dsp_rtcd.h
vendored
Normal file
2491
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vpx_dsp_rtcd.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vpx_scale_rtcd.h
vendored
Normal file
101
TMessagesProj/jni/third_party/libvpx/source/config/linux/arm64/vpx_scale_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VPX_SCALE_RTCD_H_
|
||||
#define VPX_SCALE_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_horizontal_line_2_1_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_3_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_4_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_i_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
|
||||
|
||||
void vp8_vertical_band_5_3_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
|
||||
|
||||
void vp8_vertical_band_5_4_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
|
||||
|
||||
void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
|
||||
|
||||
void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_borders vpx_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
|
||||
|
||||
void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c
|
||||
|
||||
void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_y vpx_yv12_copy_y_c
|
||||
|
||||
void vpx_scale_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/arm.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = arm_cpu_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
357
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vp8_rtcd.h
vendored
Normal file
357
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vp8_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,357 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP8_RTCD_H_
|
||||
#define VP8_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP8
|
||||
*/
|
||||
|
||||
struct blockd;
|
||||
struct macroblockd;
|
||||
struct loop_filter_info;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct block;
|
||||
struct macroblock;
|
||||
struct variance_vtable;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_c
|
||||
|
||||
void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_c
|
||||
|
||||
void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_c
|
||||
|
||||
void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_c
|
||||
|
||||
void vp8_blend_b_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_b vp8_blend_b_c
|
||||
|
||||
void vp8_blend_mb_inner_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_inner vp8_blend_mb_inner_c
|
||||
|
||||
void vp8_blend_mb_outer_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_outer vp8_blend_mb_outer_c
|
||||
|
||||
int vp8_block_error_c(short* coeff, short* dqcoeff);
|
||||
#define vp8_block_error vp8_block_error_c
|
||||
|
||||
void vp8_copy32xn_c(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
#define vp8_copy32xn vp8_copy32xn_c
|
||||
|
||||
void vp8_copy_mem16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem16x16 vp8_copy_mem16x16_c
|
||||
|
||||
void vp8_copy_mem8x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x4 vp8_copy_mem8x4_c
|
||||
|
||||
void vp8_copy_mem8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x8 vp8_copy_mem8x8_c
|
||||
|
||||
void vp8_dc_only_idct_add_c(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_dc_only_idct_add vp8_dc_only_idct_add_c
|
||||
|
||||
int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter vp8_denoiser_filter_c
|
||||
|
||||
int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_c
|
||||
|
||||
void vp8_dequant_idct_add_c(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
#define vp8_dequant_idct_add vp8_dequant_idct_add_c
|
||||
|
||||
void vp8_dequant_idct_add_uv_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_c
|
||||
|
||||
void vp8_dequant_idct_add_y_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_c
|
||||
|
||||
void vp8_dequantize_b_c(struct blockd*, short* DQC);
|
||||
#define vp8_dequantize_b vp8_dequantize_b_c
|
||||
|
||||
int vp8_diamond_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_diamond_search_sad vp8_diamond_search_sad_c
|
||||
|
||||
void vp8_fast_quantize_b_c(struct block*, struct blockd*);
|
||||
#define vp8_fast_quantize_b vp8_fast_quantize_b_c
|
||||
|
||||
void vp8_filter_by_weight16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
|
||||
|
||||
void vp8_filter_by_weight4x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
|
||||
|
||||
void vp8_filter_by_weight8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
|
||||
|
||||
int vp8_full_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_full_search_sad vp8_full_search_sad_c
|
||||
|
||||
void vp8_loop_filter_bh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bh vp8_loop_filter_bh_c
|
||||
|
||||
void vp8_loop_filter_bv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bv vp8_loop_filter_bv_c
|
||||
|
||||
void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbh vp8_loop_filter_mbh_c
|
||||
|
||||
void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbv vp8_loop_filter_mbv_c
|
||||
|
||||
void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_c
|
||||
|
||||
void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_c
|
||||
|
||||
void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_c
|
||||
|
||||
void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_c
|
||||
|
||||
int vp8_mbblock_error_c(struct macroblock* mb, int dc);
|
||||
#define vp8_mbblock_error vp8_mbblock_error_c
|
||||
|
||||
int vp8_mbuverror_c(struct macroblock* mb);
|
||||
#define vp8_mbuverror vp8_mbuverror_c
|
||||
|
||||
int vp8_refining_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_refining_search_sad vp8_refining_search_sad_c
|
||||
|
||||
void vp8_regular_quantize_b_c(struct block*, struct blockd*);
|
||||
#define vp8_regular_quantize_b vp8_regular_quantize_b_c
|
||||
|
||||
void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct4x4 vp8_short_fdct4x4_c
|
||||
|
||||
void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct8x4 vp8_short_fdct8x4_c
|
||||
|
||||
void vp8_short_idct4x4llm_c(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_short_idct4x4llm vp8_short_idct4x4llm_c
|
||||
|
||||
void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_c
|
||||
|
||||
void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
|
||||
|
||||
void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
|
||||
#define vp8_short_walsh4x4 vp8_short_walsh4x4_c
|
||||
|
||||
void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_c
|
||||
|
||||
void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_c
|
||||
|
||||
void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_c
|
||||
|
||||
void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_c
|
||||
|
||||
void vp8_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
static void setup_rtcd_internal(void) {}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
275
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h
vendored
Normal file
275
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP9_RTCD_H_
|
||||
#define VP9_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP9
|
||||
*/
|
||||
|
||||
#include "vp9/common/vp9_common.h"
|
||||
#include "vp9/common/vp9_enums.h"
|
||||
#include "vp9/common/vp9_filter.h"
|
||||
#include "vpx/vpx_integer.h"
|
||||
|
||||
struct macroblockd;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct macroblock;
|
||||
struct vp9_variance_vtable;
|
||||
struct search_site_config;
|
||||
struct mv;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int64_t vp9_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
#define vp9_block_error vp9_block_error_c
|
||||
|
||||
int64_t vp9_block_error_fp_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
#define vp9_block_error_fp vp9_block_error_fp_c
|
||||
|
||||
int vp9_denoiser_filter_c(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
#define vp9_denoiser_filter vp9_denoiser_filter_c
|
||||
|
||||
int vp9_diamond_search_sad_c(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
#define vp9_diamond_search_sad vp9_diamond_search_sad_c
|
||||
|
||||
void vp9_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht16x16 vp9_fht16x16_c
|
||||
|
||||
void vp9_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht4x4 vp9_fht4x4_c
|
||||
|
||||
void vp9_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht8x8 vp9_fht8x8_c
|
||||
|
||||
void vp9_filter_by_weight16x16_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
|
||||
|
||||
void vp9_filter_by_weight8x8_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
|
||||
|
||||
void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_fwht4x4 vp9_fwht4x4_c
|
||||
|
||||
int64_t vp9_highbd_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz,
|
||||
int bd);
|
||||
#define vp9_highbd_block_error vp9_highbd_block_error_c
|
||||
|
||||
void vp9_highbd_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht16x16 vp9_highbd_fht16x16_c
|
||||
|
||||
void vp9_highbd_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht4x4 vp9_highbd_fht4x4_c
|
||||
|
||||
void vp9_highbd_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht8x8 vp9_highbd_fht8x8_c
|
||||
|
||||
void vp9_highbd_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_highbd_fwht4x4 vp9_highbd_fwht4x4_c
|
||||
|
||||
void vp9_highbd_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
#define vp9_highbd_iht16x16_256_add vp9_highbd_iht16x16_256_add_c
|
||||
|
||||
void vp9_highbd_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
#define vp9_highbd_iht4x4_16_add vp9_highbd_iht4x4_16_add_c
|
||||
|
||||
void vp9_highbd_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
#define vp9_highbd_iht8x8_64_add vp9_highbd_iht8x8_64_add_c
|
||||
|
||||
void vp9_highbd_mbpost_proc_across_ip_c(uint16_t* src,
|
||||
int pitch,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_mbpost_proc_across_ip vp9_highbd_mbpost_proc_across_ip_c
|
||||
|
||||
void vp9_highbd_mbpost_proc_down_c(uint16_t* dst,
|
||||
int pitch,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_mbpost_proc_down vp9_highbd_mbpost_proc_down_c
|
||||
|
||||
void vp9_highbd_post_proc_down_and_across_c(const uint16_t* src_ptr,
|
||||
uint16_t* dst_ptr,
|
||||
int src_pixels_per_line,
|
||||
int dst_pixels_per_line,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_post_proc_down_and_across \
|
||||
vp9_highbd_post_proc_down_and_across_c
|
||||
|
||||
void vp9_highbd_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_highbd_quantize_fp vp9_highbd_quantize_fp_c
|
||||
|
||||
void vp9_highbd_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_highbd_quantize_fp_32x32 vp9_highbd_quantize_fp_32x32_c
|
||||
|
||||
void vp9_highbd_temporal_filter_apply_c(const uint8_t* frame1,
|
||||
unsigned int stride,
|
||||
const uint8_t* frame2,
|
||||
unsigned int block_width,
|
||||
unsigned int block_height,
|
||||
int strength,
|
||||
int* blk_fw,
|
||||
int use_32x32,
|
||||
uint32_t* accumulator,
|
||||
uint16_t* count);
|
||||
#define vp9_highbd_temporal_filter_apply vp9_highbd_temporal_filter_apply_c
|
||||
|
||||
void vp9_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht16x16_256_add vp9_iht16x16_256_add_c
|
||||
|
||||
void vp9_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht4x4_16_add vp9_iht4x4_16_add_c
|
||||
|
||||
void vp9_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht8x8_64_add vp9_iht8x8_64_add_c
|
||||
|
||||
void vp9_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp vp9_quantize_fp_c
|
||||
|
||||
void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
|
||||
|
||||
void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
#define vp9_scale_and_extend_frame vp9_scale_and_extend_frame_c
|
||||
|
||||
void vp9_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
static void setup_rtcd_internal(void) {}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vpx_config.asm
vendored
Normal file
98
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vpx_config.asm
vendored
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
@ This file was created from a .asm file
|
||||
@ using the ads2gas.pl script.
|
||||
.syntax unified
|
||||
.equ VPX_ARCH_ARM , 0
|
||||
.equ ARCH_ARM , 0
|
||||
.equ VPX_ARCH_MIPS , 0
|
||||
.equ ARCH_MIPS , 0
|
||||
.equ VPX_ARCH_X86 , 0
|
||||
.equ ARCH_X86 , 0
|
||||
.equ VPX_ARCH_X86_64 , 0
|
||||
.equ ARCH_X86_64 , 0
|
||||
.equ VPX_ARCH_PPC , 0
|
||||
.equ ARCH_PPC , 0
|
||||
.equ HAVE_NEON , 0
|
||||
.equ HAVE_NEON_ASM , 0
|
||||
.equ HAVE_MIPS32 , 0
|
||||
.equ HAVE_DSPR2 , 0
|
||||
.equ HAVE_MSA , 0
|
||||
.equ HAVE_MIPS64 , 0
|
||||
.equ HAVE_MMX , 0
|
||||
.equ HAVE_SSE , 0
|
||||
.equ HAVE_SSE2 , 0
|
||||
.equ HAVE_SSE3 , 0
|
||||
.equ HAVE_SSSE3 , 0
|
||||
.equ HAVE_SSE4_1 , 0
|
||||
.equ HAVE_AVX , 0
|
||||
.equ HAVE_AVX2 , 0
|
||||
.equ HAVE_AVX512 , 0
|
||||
.equ HAVE_VSX , 0
|
||||
.equ HAVE_MMI , 0
|
||||
.equ HAVE_VPX_PORTS , 1
|
||||
.equ HAVE_PTHREAD_H , 1
|
||||
.equ HAVE_UNISTD_H , 0
|
||||
.equ CONFIG_DEPENDENCY_TRACKING , 1
|
||||
.equ CONFIG_EXTERNAL_BUILD , 1
|
||||
.equ CONFIG_INSTALL_DOCS , 0
|
||||
.equ CONFIG_INSTALL_BINS , 1
|
||||
.equ CONFIG_INSTALL_LIBS , 1
|
||||
.equ CONFIG_INSTALL_SRCS , 0
|
||||
.equ CONFIG_DEBUG , 0
|
||||
.equ CONFIG_GPROF , 0
|
||||
.equ CONFIG_GCOV , 0
|
||||
.equ CONFIG_RVCT , 0
|
||||
.equ CONFIG_GCC , 1
|
||||
.equ CONFIG_MSVS , 0
|
||||
.equ CONFIG_PIC , 0
|
||||
.equ CONFIG_BIG_ENDIAN , 0
|
||||
.equ CONFIG_CODEC_SRCS , 0
|
||||
.equ CONFIG_DEBUG_LIBS , 0
|
||||
.equ CONFIG_DEQUANT_TOKENS , 0
|
||||
.equ CONFIG_DC_RECON , 0
|
||||
.equ CONFIG_RUNTIME_CPU_DETECT , 0
|
||||
.equ CONFIG_POSTPROC , 1
|
||||
.equ CONFIG_VP9_POSTPROC , 1
|
||||
.equ CONFIG_MULTITHREAD , 1
|
||||
.equ CONFIG_INTERNAL_STATS , 0
|
||||
.equ CONFIG_VP8_ENCODER , 1
|
||||
.equ CONFIG_VP8_DECODER , 1
|
||||
.equ CONFIG_VP9_ENCODER , 1
|
||||
.equ CONFIG_VP9_DECODER , 1
|
||||
.equ CONFIG_VP8 , 1
|
||||
.equ CONFIG_VP9 , 1
|
||||
.equ CONFIG_ENCODERS , 1
|
||||
.equ CONFIG_DECODERS , 1
|
||||
.equ CONFIG_STATIC_MSVCRT , 0
|
||||
.equ CONFIG_SPATIAL_RESAMPLING , 1
|
||||
.equ CONFIG_REALTIME_ONLY , 1
|
||||
.equ CONFIG_ONTHEFLY_BITPACKING , 0
|
||||
.equ CONFIG_ERROR_CONCEALMENT , 0
|
||||
.equ CONFIG_SHARED , 0
|
||||
.equ CONFIG_STATIC , 1
|
||||
.equ CONFIG_SMALL , 0
|
||||
.equ CONFIG_POSTPROC_VISUALIZER , 0
|
||||
.equ CONFIG_OS_SUPPORT , 1
|
||||
.equ CONFIG_UNIT_TESTS , 1
|
||||
.equ CONFIG_WEBM_IO , 1
|
||||
.equ CONFIG_LIBYUV , 0
|
||||
.equ CONFIG_DECODE_PERF_TESTS , 0
|
||||
.equ CONFIG_ENCODE_PERF_TESTS , 0
|
||||
.equ CONFIG_MULTI_RES_ENCODING , 1
|
||||
.equ CONFIG_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
|
||||
.equ CONFIG_CONSISTENT_RECODE , 0
|
||||
.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
|
||||
.equ CONFIG_VP9_HIGHBITDEPTH , 1
|
||||
.equ CONFIG_BETTER_HW_COMPATIBILITY , 0
|
||||
.equ CONFIG_EXPERIMENTAL , 0
|
||||
.equ CONFIG_SIZE_LIMIT , 1
|
||||
.equ CONFIG_ALWAYS_ADJUST_BPM , 0
|
||||
.equ CONFIG_BITSTREAM_DEBUG , 0
|
||||
.equ CONFIG_MISMATCH_DEBUG , 0
|
||||
.equ CONFIG_FP_MB_STATS , 0
|
||||
.equ CONFIG_EMULATE_HARDWARE , 0
|
||||
.equ CONFIG_NON_GREEDY_MV , 0
|
||||
.equ CONFIG_RATE_CTRL , 0
|
||||
.equ DECODE_WIDTH_LIMIT , 16384
|
||||
.equ DECODE_HEIGHT_LIMIT , 16384
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vpx_config.c
vendored
Normal file
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vpx_config.c
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
#include "vpx/vpx_codec.h"
|
||||
static const char* const cfg = "--target=generic-gnu --enable-vp9-highbitdepth --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv";
|
||||
const char *vpx_codec_build_config(void) {return cfg;}
|
||||
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vpx_config.h
vendored
Normal file
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vpx_config.h
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
/* This file automatically generated by configure. Do not edit! */
|
||||
#ifndef VPX_CONFIG_H
|
||||
#define VPX_CONFIG_H
|
||||
#define RESTRICT
|
||||
#define INLINE inline
|
||||
#define VPX_ARCH_ARM 0
|
||||
#define ARCH_ARM 0
|
||||
#define VPX_ARCH_MIPS 0
|
||||
#define ARCH_MIPS 0
|
||||
#define VPX_ARCH_X86 0
|
||||
#define ARCH_X86 0
|
||||
#define VPX_ARCH_X86_64 0
|
||||
#define ARCH_X86_64 0
|
||||
#define VPX_ARCH_PPC 0
|
||||
#define ARCH_PPC 0
|
||||
#define HAVE_NEON 0
|
||||
#define HAVE_NEON_ASM 0
|
||||
#define HAVE_MIPS32 0
|
||||
#define HAVE_DSPR2 0
|
||||
#define HAVE_MSA 0
|
||||
#define HAVE_MIPS64 0
|
||||
#define HAVE_MMX 0
|
||||
#define HAVE_SSE 0
|
||||
#define HAVE_SSE2 0
|
||||
#define HAVE_SSE3 0
|
||||
#define HAVE_SSSE3 0
|
||||
#define HAVE_SSE4_1 0
|
||||
#define HAVE_AVX 0
|
||||
#define HAVE_AVX2 0
|
||||
#define HAVE_AVX512 0
|
||||
#define HAVE_VSX 0
|
||||
#define HAVE_MMI 0
|
||||
#define HAVE_VPX_PORTS 1
|
||||
#define HAVE_PTHREAD_H 1
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define CONFIG_DEPENDENCY_TRACKING 1
|
||||
#define CONFIG_EXTERNAL_BUILD 1
|
||||
#define CONFIG_INSTALL_DOCS 0
|
||||
#define CONFIG_INSTALL_BINS 1
|
||||
#define CONFIG_INSTALL_LIBS 1
|
||||
#define CONFIG_INSTALL_SRCS 0
|
||||
#define CONFIG_DEBUG 0
|
||||
#define CONFIG_GPROF 0
|
||||
#define CONFIG_GCOV 0
|
||||
#define CONFIG_RVCT 0
|
||||
#define CONFIG_GCC 1
|
||||
#define CONFIG_MSVS 0
|
||||
#define CONFIG_PIC 0
|
||||
#define CONFIG_BIG_ENDIAN 0
|
||||
#define CONFIG_CODEC_SRCS 0
|
||||
#define CONFIG_DEBUG_LIBS 0
|
||||
#define CONFIG_DEQUANT_TOKENS 0
|
||||
#define CONFIG_DC_RECON 0
|
||||
#define CONFIG_RUNTIME_CPU_DETECT 0
|
||||
#define CONFIG_POSTPROC 1
|
||||
#define CONFIG_VP9_POSTPROC 1
|
||||
#define CONFIG_MULTITHREAD 1
|
||||
#define CONFIG_INTERNAL_STATS 0
|
||||
#define CONFIG_VP8_ENCODER 1
|
||||
#define CONFIG_VP8_DECODER 1
|
||||
#define CONFIG_VP9_ENCODER 1
|
||||
#define CONFIG_VP9_DECODER 1
|
||||
#define CONFIG_VP8 1
|
||||
#define CONFIG_VP9 1
|
||||
#define CONFIG_ENCODERS 1
|
||||
#define CONFIG_DECODERS 1
|
||||
#define CONFIG_STATIC_MSVCRT 0
|
||||
#define CONFIG_SPATIAL_RESAMPLING 1
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
#define CONFIG_ERROR_CONCEALMENT 0
|
||||
#define CONFIG_SHARED 0
|
||||
#define CONFIG_STATIC 1
|
||||
#define CONFIG_SMALL 0
|
||||
#define CONFIG_POSTPROC_VISUALIZER 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_UNIT_TESTS 1
|
||||
#define CONFIG_WEBM_IO 1
|
||||
#define CONFIG_LIBYUV 0
|
||||
#define CONFIG_DECODE_PERF_TESTS 0
|
||||
#define CONFIG_ENCODE_PERF_TESTS 0
|
||||
#define CONFIG_MULTI_RES_ENCODING 1
|
||||
#define CONFIG_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_CONSISTENT_RECODE 0
|
||||
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
#define CONFIG_VP9_HIGHBITDEPTH 1
|
||||
#define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
#define CONFIG_EXPERIMENTAL 0
|
||||
#define CONFIG_SIZE_LIMIT 1
|
||||
#define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
#define CONFIG_BITSTREAM_DEBUG 0
|
||||
#define CONFIG_MISMATCH_DEBUG 0
|
||||
#define CONFIG_FP_MB_STATS 0
|
||||
#define CONFIG_EMULATE_HARDWARE 0
|
||||
#define CONFIG_NON_GREEDY_MV 0
|
||||
#define CONFIG_RATE_CTRL 0
|
||||
#define DECODE_WIDTH_LIMIT 16384
|
||||
#define DECODE_HEIGHT_LIMIT 16384
|
||||
#endif /* VPX_CONFIG_H */
|
||||
3868
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h
vendored
Normal file
3868
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
96
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vpx_scale_rtcd.h
vendored
Normal file
96
TMessagesProj/jni/third_party/libvpx/source/config/linux/generic/vpx_scale_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VPX_SCALE_RTCD_H_
|
||||
#define VPX_SCALE_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_horizontal_line_2_1_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_3_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_4_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_i_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
|
||||
|
||||
void vp8_vertical_band_5_3_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
|
||||
|
||||
void vp8_vertical_band_5_4_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
|
||||
|
||||
void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
|
||||
|
||||
void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_borders vpx_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
|
||||
|
||||
void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c
|
||||
|
||||
void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_y vpx_yv12_copy_y_c
|
||||
|
||||
void vpx_scale_rtcd(void);
|
||||
|
||||
#include "vpx_config.h"
|
||||
|
||||
#ifdef RTCD_C
|
||||
static void setup_rtcd_internal(void) {}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
678
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vp8_rtcd.h
vendored
Normal file
678
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vp8_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,678 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP8_RTCD_H_
|
||||
#define VP8_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP8
|
||||
*/
|
||||
|
||||
struct blockd;
|
||||
struct macroblockd;
|
||||
struct loop_filter_info;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct block;
|
||||
struct macroblock;
|
||||
struct variance_vtable;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict16x16_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict16x16_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_bilinear_predict16x16)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict4x4_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_sse2
|
||||
|
||||
void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x4_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_sse2
|
||||
|
||||
void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x8_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x8_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_bilinear_predict8x8)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_blend_b_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_b vp8_blend_b_c
|
||||
|
||||
void vp8_blend_mb_inner_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_inner vp8_blend_mb_inner_c
|
||||
|
||||
void vp8_blend_mb_outer_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_outer vp8_blend_mb_outer_c
|
||||
|
||||
int vp8_block_error_c(short* coeff, short* dqcoeff);
|
||||
int vp8_block_error_sse2(short* coeff, short* dqcoeff);
|
||||
#define vp8_block_error vp8_block_error_sse2
|
||||
|
||||
void vp8_copy32xn_c(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
void vp8_copy32xn_sse2(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
void vp8_copy32xn_sse3(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
RTCD_EXTERN void (*vp8_copy32xn)(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
|
||||
void vp8_copy_mem16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem16x16_sse2(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem16x16 vp8_copy_mem16x16_sse2
|
||||
|
||||
void vp8_copy_mem8x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x4_mmx(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x4 vp8_copy_mem8x4_mmx
|
||||
|
||||
void vp8_copy_mem8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x8_mmx(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x8 vp8_copy_mem8x8_mmx
|
||||
|
||||
void vp8_dc_only_idct_add_c(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_dc_only_idct_add_mmx(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_dc_only_idct_add vp8_dc_only_idct_add_mmx
|
||||
|
||||
int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_sse2(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter vp8_denoiser_filter_sse2
|
||||
|
||||
int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_uv_sse2(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_sse2
|
||||
|
||||
void vp8_dequant_idct_add_c(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
void vp8_dequant_idct_add_mmx(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
#define vp8_dequant_idct_add vp8_dequant_idct_add_mmx
|
||||
|
||||
void vp8_dequant_idct_add_uv_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_uv_block_sse2(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_sse2
|
||||
|
||||
void vp8_dequant_idct_add_y_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_y_block_sse2(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_sse2
|
||||
|
||||
void vp8_dequantize_b_c(struct blockd*, short* DQC);
|
||||
void vp8_dequantize_b_mmx(struct blockd*, short* DQC);
|
||||
#define vp8_dequantize_b vp8_dequantize_b_mmx
|
||||
|
||||
int vp8_diamond_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
int vp8_diamond_search_sadx4(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_diamond_search_sad vp8_diamond_search_sadx4
|
||||
|
||||
void vp8_fast_quantize_b_c(struct block*, struct blockd*);
|
||||
void vp8_fast_quantize_b_sse2(struct block*, struct blockd*);
|
||||
void vp8_fast_quantize_b_ssse3(struct block*, struct blockd*);
|
||||
RTCD_EXTERN void (*vp8_fast_quantize_b)(struct block*, struct blockd*);
|
||||
|
||||
void vp8_filter_by_weight16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
void vp8_filter_by_weight16x16_sse2(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_sse2
|
||||
|
||||
void vp8_filter_by_weight4x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
|
||||
|
||||
void vp8_filter_by_weight8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
void vp8_filter_by_weight8x8_sse2(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_sse2
|
||||
|
||||
int vp8_full_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
int vp8_full_search_sadx3(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
int vp8_full_search_sadx8(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
RTCD_EXTERN int (*vp8_full_search_sad)(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
|
||||
void vp8_loop_filter_bh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bh_sse2(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bh vp8_loop_filter_bh_sse2
|
||||
|
||||
void vp8_loop_filter_bv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bv_sse2(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bv vp8_loop_filter_bv_sse2
|
||||
|
||||
void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbh_sse2(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbh vp8_loop_filter_mbh_sse2
|
||||
|
||||
void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbv_sse2(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbv vp8_loop_filter_mbv_sse2
|
||||
|
||||
void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bhs_sse2(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_sse2
|
||||
|
||||
void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bvs_sse2(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_sse2
|
||||
|
||||
void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_simple_horizontal_edge_sse2(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_sse2
|
||||
|
||||
void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_simple_vertical_edge_sse2(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_sse2
|
||||
|
||||
int vp8_mbblock_error_c(struct macroblock* mb, int dc);
|
||||
int vp8_mbblock_error_sse2(struct macroblock* mb, int dc);
|
||||
#define vp8_mbblock_error vp8_mbblock_error_sse2
|
||||
|
||||
int vp8_mbuverror_c(struct macroblock* mb);
|
||||
int vp8_mbuverror_sse2(struct macroblock* mb);
|
||||
#define vp8_mbuverror vp8_mbuverror_sse2
|
||||
|
||||
int vp8_refining_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
int vp8_refining_search_sadx4(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_refining_search_sad vp8_refining_search_sadx4
|
||||
|
||||
void vp8_regular_quantize_b_c(struct block*, struct blockd*);
|
||||
void vp8_regular_quantize_b_sse2(struct block*, struct blockd*);
|
||||
void vp8_regular_quantize_b_sse4_1(struct block*, struct blockd*);
|
||||
RTCD_EXTERN void (*vp8_regular_quantize_b)(struct block*, struct blockd*);
|
||||
|
||||
void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct4x4_sse2(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct4x4 vp8_short_fdct4x4_sse2
|
||||
|
||||
void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct8x4_sse2(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct8x4 vp8_short_fdct8x4_sse2
|
||||
|
||||
void vp8_short_idct4x4llm_c(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_short_idct4x4llm_mmx(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_short_idct4x4llm vp8_short_idct4x4llm_mmx
|
||||
|
||||
void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
|
||||
void vp8_short_inv_walsh4x4_sse2(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_sse2
|
||||
|
||||
void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
|
||||
|
||||
void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_walsh4x4_sse2(short* input, short* output, int pitch);
|
||||
#define vp8_short_walsh4x4 vp8_short_walsh4x4_sse2
|
||||
|
||||
void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict16x16_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict16x16_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict16x16)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict4x4_mmx(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict4x4_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict4x4)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x4_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x4_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict8x4)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x8_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x8_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict8x8)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_rtcd(void);
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/x86.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = x86_simd_caps();
|
||||
|
||||
(void)flags;
|
||||
|
||||
vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_ssse3;
|
||||
vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_ssse3;
|
||||
vp8_copy32xn = vp8_copy32xn_sse2;
|
||||
if (flags & HAS_SSE3)
|
||||
vp8_copy32xn = vp8_copy32xn_sse3;
|
||||
vp8_fast_quantize_b = vp8_fast_quantize_b_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_fast_quantize_b = vp8_fast_quantize_b_ssse3;
|
||||
vp8_full_search_sad = vp8_full_search_sad_c;
|
||||
if (flags & HAS_SSE3)
|
||||
vp8_full_search_sad = vp8_full_search_sadx3;
|
||||
if (flags & HAS_SSE4_1)
|
||||
vp8_full_search_sad = vp8_full_search_sadx8;
|
||||
vp8_regular_quantize_b = vp8_regular_quantize_b_sse2;
|
||||
if (flags & HAS_SSE4_1)
|
||||
vp8_regular_quantize_b = vp8_regular_quantize_b_sse4_1;
|
||||
vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_ssse3;
|
||||
vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_mmx;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_ssse3;
|
||||
vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_ssse3;
|
||||
vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_ssse3;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
456
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vp9_rtcd.h
vendored
Normal file
456
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vp9_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,456 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP9_RTCD_H_
|
||||
#define VP9_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP9
|
||||
*/
|
||||
|
||||
#include "vp9/common/vp9_common.h"
|
||||
#include "vp9/common/vp9_enums.h"
|
||||
#include "vp9/common/vp9_filter.h"
|
||||
#include "vpx/vpx_integer.h"
|
||||
|
||||
struct macroblockd;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct macroblock;
|
||||
struct vp9_variance_vtable;
|
||||
struct search_site_config;
|
||||
struct mv;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int64_t vp9_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
int64_t vp9_block_error_sse2(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
int64_t vp9_block_error_avx2(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
RTCD_EXTERN int64_t (*vp9_block_error)(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
|
||||
int64_t vp9_block_error_fp_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
int64_t vp9_block_error_fp_sse2(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
int64_t vp9_block_error_fp_avx2(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
RTCD_EXTERN int64_t (*vp9_block_error_fp)(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
|
||||
int vp9_denoiser_filter_c(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
int vp9_denoiser_filter_sse2(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
#define vp9_denoiser_filter vp9_denoiser_filter_sse2
|
||||
|
||||
int vp9_diamond_search_sad_c(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
int vp9_diamond_search_sad_avx(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
RTCD_EXTERN int (*vp9_diamond_search_sad)(
|
||||
const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
|
||||
void vp9_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_fht16x16_sse2(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht16x16 vp9_fht16x16_sse2
|
||||
|
||||
void vp9_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_fht4x4_sse2(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht4x4 vp9_fht4x4_sse2
|
||||
|
||||
void vp9_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_fht8x8_sse2(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht8x8 vp9_fht8x8_sse2
|
||||
|
||||
void vp9_filter_by_weight16x16_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
void vp9_filter_by_weight16x16_sse2(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_sse2
|
||||
|
||||
void vp9_filter_by_weight8x8_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
void vp9_filter_by_weight8x8_sse2(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_sse2
|
||||
|
||||
void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
void vp9_fwht4x4_sse2(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_fwht4x4 vp9_fwht4x4_sse2
|
||||
|
||||
int64_t vp9_highbd_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz,
|
||||
int bd);
|
||||
int64_t vp9_highbd_block_error_sse2(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz,
|
||||
int bd);
|
||||
#define vp9_highbd_block_error vp9_highbd_block_error_sse2
|
||||
|
||||
void vp9_highbd_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht16x16 vp9_highbd_fht16x16_c
|
||||
|
||||
void vp9_highbd_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht4x4 vp9_highbd_fht4x4_c
|
||||
|
||||
void vp9_highbd_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht8x8 vp9_highbd_fht8x8_c
|
||||
|
||||
void vp9_highbd_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_highbd_fwht4x4 vp9_highbd_fwht4x4_c
|
||||
|
||||
void vp9_highbd_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht16x16_256_add_sse4_1(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
RTCD_EXTERN void (*vp9_highbd_iht16x16_256_add)(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
|
||||
void vp9_highbd_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht4x4_16_add_sse4_1(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
RTCD_EXTERN void (*vp9_highbd_iht4x4_16_add)(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
|
||||
void vp9_highbd_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht8x8_64_add_sse4_1(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
RTCD_EXTERN void (*vp9_highbd_iht8x8_64_add)(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
|
||||
void vp9_highbd_mbpost_proc_across_ip_c(uint16_t* src,
|
||||
int pitch,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_mbpost_proc_across_ip vp9_highbd_mbpost_proc_across_ip_c
|
||||
|
||||
void vp9_highbd_mbpost_proc_down_c(uint16_t* dst,
|
||||
int pitch,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_mbpost_proc_down vp9_highbd_mbpost_proc_down_c
|
||||
|
||||
void vp9_highbd_post_proc_down_and_across_c(const uint16_t* src_ptr,
|
||||
uint16_t* dst_ptr,
|
||||
int src_pixels_per_line,
|
||||
int dst_pixels_per_line,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_post_proc_down_and_across \
|
||||
vp9_highbd_post_proc_down_and_across_c
|
||||
|
||||
void vp9_highbd_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_highbd_quantize_fp vp9_highbd_quantize_fp_c
|
||||
|
||||
void vp9_highbd_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_highbd_quantize_fp_32x32 vp9_highbd_quantize_fp_32x32_c
|
||||
|
||||
void vp9_highbd_temporal_filter_apply_c(const uint8_t* frame1,
|
||||
unsigned int stride,
|
||||
const uint8_t* frame2,
|
||||
unsigned int block_width,
|
||||
unsigned int block_height,
|
||||
int strength,
|
||||
int* blk_fw,
|
||||
int use_32x32,
|
||||
uint32_t* accumulator,
|
||||
uint16_t* count);
|
||||
#define vp9_highbd_temporal_filter_apply vp9_highbd_temporal_filter_apply_c
|
||||
|
||||
void vp9_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht16x16_256_add_sse2(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht16x16_256_add vp9_iht16x16_256_add_sse2
|
||||
|
||||
void vp9_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht4x4_16_add_sse2(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht4x4_16_add vp9_iht4x4_16_add_sse2
|
||||
|
||||
void vp9_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht8x8_64_add_sse2(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht8x8_64_add vp9_iht8x8_64_add_sse2
|
||||
|
||||
void vp9_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_sse2(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_avx2(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
RTCD_EXTERN void (*vp9_quantize_fp)(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
|
||||
void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
|
||||
|
||||
void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
void vp9_scale_and_extend_frame_ssse3(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
RTCD_EXTERN void (*vp9_scale_and_extend_frame)(
|
||||
const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
|
||||
void vp9_rtcd(void);
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/x86.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = x86_simd_caps();
|
||||
|
||||
(void)flags;
|
||||
|
||||
vp9_block_error = vp9_block_error_sse2;
|
||||
if (flags & HAS_AVX2)
|
||||
vp9_block_error = vp9_block_error_avx2;
|
||||
vp9_block_error_fp = vp9_block_error_fp_sse2;
|
||||
if (flags & HAS_AVX2)
|
||||
vp9_block_error_fp = vp9_block_error_fp_avx2;
|
||||
vp9_diamond_search_sad = vp9_diamond_search_sad_c;
|
||||
if (flags & HAS_AVX)
|
||||
vp9_diamond_search_sad = vp9_diamond_search_sad_avx;
|
||||
vp9_highbd_iht16x16_256_add = vp9_highbd_iht16x16_256_add_c;
|
||||
if (flags & HAS_SSE4_1)
|
||||
vp9_highbd_iht16x16_256_add = vp9_highbd_iht16x16_256_add_sse4_1;
|
||||
vp9_highbd_iht4x4_16_add = vp9_highbd_iht4x4_16_add_c;
|
||||
if (flags & HAS_SSE4_1)
|
||||
vp9_highbd_iht4x4_16_add = vp9_highbd_iht4x4_16_add_sse4_1;
|
||||
vp9_highbd_iht8x8_64_add = vp9_highbd_iht8x8_64_add_c;
|
||||
if (flags & HAS_SSE4_1)
|
||||
vp9_highbd_iht8x8_64_add = vp9_highbd_iht8x8_64_add_sse4_1;
|
||||
vp9_quantize_fp = vp9_quantize_fp_sse2;
|
||||
if (flags & HAS_AVX2)
|
||||
vp9_quantize_fp = vp9_quantize_fp_avx2;
|
||||
vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_c;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_ssse3;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
94
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vpx_config.asm
vendored
Normal file
94
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vpx_config.asm
vendored
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
%define VPX_ARCH_ARM 0
|
||||
%define ARCH_ARM 0
|
||||
%define VPX_ARCH_MIPS 0
|
||||
%define ARCH_MIPS 0
|
||||
%define VPX_ARCH_X86 1
|
||||
%define ARCH_X86 1
|
||||
%define VPX_ARCH_X86_64 0
|
||||
%define ARCH_X86_64 0
|
||||
%define VPX_ARCH_PPC 0
|
||||
%define ARCH_PPC 0
|
||||
%define HAVE_NEON 0
|
||||
%define HAVE_NEON_ASM 0
|
||||
%define HAVE_MIPS32 0
|
||||
%define HAVE_DSPR2 0
|
||||
%define HAVE_MSA 0
|
||||
%define HAVE_MIPS64 0
|
||||
%define HAVE_MMX 1
|
||||
%define HAVE_SSE 1
|
||||
%define HAVE_SSE2 1
|
||||
%define HAVE_SSE3 1
|
||||
%define HAVE_SSSE3 1
|
||||
%define HAVE_SSE4_1 1
|
||||
%define HAVE_AVX 1
|
||||
%define HAVE_AVX2 1
|
||||
%define HAVE_AVX512 0
|
||||
%define HAVE_VSX 0
|
||||
%define HAVE_MMI 0
|
||||
%define HAVE_VPX_PORTS 1
|
||||
%define HAVE_PTHREAD_H 1
|
||||
%define HAVE_UNISTD_H 0
|
||||
%define CONFIG_DEPENDENCY_TRACKING 1
|
||||
%define CONFIG_EXTERNAL_BUILD 1
|
||||
%define CONFIG_INSTALL_DOCS 0
|
||||
%define CONFIG_INSTALL_BINS 1
|
||||
%define CONFIG_INSTALL_LIBS 1
|
||||
%define CONFIG_INSTALL_SRCS 0
|
||||
%define CONFIG_DEBUG 0
|
||||
%define CONFIG_GPROF 0
|
||||
%define CONFIG_GCOV 0
|
||||
%define CONFIG_RVCT 0
|
||||
%define CONFIG_GCC 1
|
||||
%define CONFIG_MSVS 0
|
||||
%define CONFIG_PIC 1
|
||||
%define CONFIG_BIG_ENDIAN 0
|
||||
%define CONFIG_CODEC_SRCS 0
|
||||
%define CONFIG_DEBUG_LIBS 0
|
||||
%define CONFIG_DEQUANT_TOKENS 0
|
||||
%define CONFIG_DC_RECON 0
|
||||
%define CONFIG_RUNTIME_CPU_DETECT 1
|
||||
%define CONFIG_POSTPROC 1
|
||||
%define CONFIG_VP9_POSTPROC 1
|
||||
%define CONFIG_MULTITHREAD 1
|
||||
%define CONFIG_INTERNAL_STATS 0
|
||||
%define CONFIG_VP8_ENCODER 1
|
||||
%define CONFIG_VP8_DECODER 1
|
||||
%define CONFIG_VP9_ENCODER 1
|
||||
%define CONFIG_VP9_DECODER 1
|
||||
%define CONFIG_VP8 1
|
||||
%define CONFIG_VP9 1
|
||||
%define CONFIG_ENCODERS 1
|
||||
%define CONFIG_DECODERS 1
|
||||
%define CONFIG_STATIC_MSVCRT 0
|
||||
%define CONFIG_SPATIAL_RESAMPLING 1
|
||||
%define CONFIG_REALTIME_ONLY 1
|
||||
%define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
%define CONFIG_ERROR_CONCEALMENT 0
|
||||
%define CONFIG_SHARED 0
|
||||
%define CONFIG_STATIC 1
|
||||
%define CONFIG_SMALL 0
|
||||
%define CONFIG_POSTPROC_VISUALIZER 0
|
||||
%define CONFIG_OS_SUPPORT 1
|
||||
%define CONFIG_UNIT_TESTS 1
|
||||
%define CONFIG_WEBM_IO 1
|
||||
%define CONFIG_LIBYUV 0
|
||||
%define CONFIG_DECODE_PERF_TESTS 0
|
||||
%define CONFIG_ENCODE_PERF_TESTS 0
|
||||
%define CONFIG_MULTI_RES_ENCODING 1
|
||||
%define CONFIG_TEMPORAL_DENOISING 1
|
||||
%define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
%define CONFIG_CONSISTENT_RECODE 0
|
||||
%define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
%define CONFIG_VP9_HIGHBITDEPTH 1
|
||||
%define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
%define CONFIG_EXPERIMENTAL 0
|
||||
%define CONFIG_SIZE_LIMIT 1
|
||||
%define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
%define CONFIG_BITSTREAM_DEBUG 0
|
||||
%define CONFIG_MISMATCH_DEBUG 0
|
||||
%define CONFIG_FP_MB_STATS 0
|
||||
%define CONFIG_EMULATE_HARDWARE 0
|
||||
%define CONFIG_NON_GREEDY_MV 0
|
||||
%define CONFIG_RATE_CTRL 0
|
||||
%define DECODE_WIDTH_LIMIT 16384
|
||||
%define DECODE_HEIGHT_LIMIT 16384
|
||||
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vpx_config.c
vendored
Normal file
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vpx_config.c
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
#include "vpx/vpx_codec.h"
|
||||
static const char* const cfg = "--target=x86-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv --enable-pic --as=yasm --disable-avx512 --enable-vp9-highbitdepth";
|
||||
const char *vpx_codec_build_config(void) {return cfg;}
|
||||
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vpx_config.h
vendored
Normal file
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vpx_config.h
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
/* This file automatically generated by configure. Do not edit! */
|
||||
#ifndef VPX_CONFIG_H
|
||||
#define VPX_CONFIG_H
|
||||
#define RESTRICT
|
||||
#define INLINE inline
|
||||
#define VPX_ARCH_ARM 0
|
||||
#define ARCH_ARM 0
|
||||
#define VPX_ARCH_MIPS 0
|
||||
#define ARCH_MIPS 0
|
||||
#define VPX_ARCH_X86 1
|
||||
#define ARCH_X86 1
|
||||
#define VPX_ARCH_X86_64 0
|
||||
#define ARCH_X86_64 0
|
||||
#define VPX_ARCH_PPC 0
|
||||
#define ARCH_PPC 0
|
||||
#define HAVE_NEON 0
|
||||
#define HAVE_NEON_ASM 0
|
||||
#define HAVE_MIPS32 0
|
||||
#define HAVE_DSPR2 0
|
||||
#define HAVE_MSA 0
|
||||
#define HAVE_MIPS64 0
|
||||
#define HAVE_MMX 1
|
||||
#define HAVE_SSE 1
|
||||
#define HAVE_SSE2 1
|
||||
#define HAVE_SSE3 1
|
||||
#define HAVE_SSSE3 1
|
||||
#define HAVE_SSE4_1 1
|
||||
#define HAVE_AVX 1
|
||||
#define HAVE_AVX2 1
|
||||
#define HAVE_AVX512 0
|
||||
#define HAVE_VSX 0
|
||||
#define HAVE_MMI 0
|
||||
#define HAVE_VPX_PORTS 1
|
||||
#define HAVE_PTHREAD_H 1
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define CONFIG_DEPENDENCY_TRACKING 1
|
||||
#define CONFIG_EXTERNAL_BUILD 1
|
||||
#define CONFIG_INSTALL_DOCS 0
|
||||
#define CONFIG_INSTALL_BINS 1
|
||||
#define CONFIG_INSTALL_LIBS 1
|
||||
#define CONFIG_INSTALL_SRCS 0
|
||||
#define CONFIG_DEBUG 0
|
||||
#define CONFIG_GPROF 0
|
||||
#define CONFIG_GCOV 0
|
||||
#define CONFIG_RVCT 0
|
||||
#define CONFIG_GCC 1
|
||||
#define CONFIG_MSVS 0
|
||||
#define CONFIG_PIC 1
|
||||
#define CONFIG_BIG_ENDIAN 0
|
||||
#define CONFIG_CODEC_SRCS 0
|
||||
#define CONFIG_DEBUG_LIBS 0
|
||||
#define CONFIG_DEQUANT_TOKENS 0
|
||||
#define CONFIG_DC_RECON 0
|
||||
#define CONFIG_RUNTIME_CPU_DETECT 1
|
||||
#define CONFIG_POSTPROC 1
|
||||
#define CONFIG_VP9_POSTPROC 1
|
||||
#define CONFIG_MULTITHREAD 1
|
||||
#define CONFIG_INTERNAL_STATS 0
|
||||
#define CONFIG_VP8_ENCODER 1
|
||||
#define CONFIG_VP8_DECODER 1
|
||||
#define CONFIG_VP9_ENCODER 1
|
||||
#define CONFIG_VP9_DECODER 1
|
||||
#define CONFIG_VP8 1
|
||||
#define CONFIG_VP9 1
|
||||
#define CONFIG_ENCODERS 1
|
||||
#define CONFIG_DECODERS 1
|
||||
#define CONFIG_STATIC_MSVCRT 0
|
||||
#define CONFIG_SPATIAL_RESAMPLING 1
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
#define CONFIG_ERROR_CONCEALMENT 0
|
||||
#define CONFIG_SHARED 0
|
||||
#define CONFIG_STATIC 1
|
||||
#define CONFIG_SMALL 0
|
||||
#define CONFIG_POSTPROC_VISUALIZER 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_UNIT_TESTS 1
|
||||
#define CONFIG_WEBM_IO 1
|
||||
#define CONFIG_LIBYUV 0
|
||||
#define CONFIG_DECODE_PERF_TESTS 0
|
||||
#define CONFIG_ENCODE_PERF_TESTS 0
|
||||
#define CONFIG_MULTI_RES_ENCODING 1
|
||||
#define CONFIG_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_CONSISTENT_RECODE 0
|
||||
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
#define CONFIG_VP9_HIGHBITDEPTH 1
|
||||
#define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
#define CONFIG_EXPERIMENTAL 0
|
||||
#define CONFIG_SIZE_LIMIT 1
|
||||
#define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
#define CONFIG_BITSTREAM_DEBUG 0
|
||||
#define CONFIG_MISMATCH_DEBUG 0
|
||||
#define CONFIG_FP_MB_STATS 0
|
||||
#define CONFIG_EMULATE_HARDWARE 0
|
||||
#define CONFIG_NON_GREEDY_MV 0
|
||||
#define CONFIG_RATE_CTRL 0
|
||||
#define DECODE_WIDTH_LIMIT 16384
|
||||
#define DECODE_HEIGHT_LIMIT 16384
|
||||
#endif /* VPX_CONFIG_H */
|
||||
8027
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vpx_dsp_rtcd.h
vendored
Normal file
8027
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vpx_dsp_rtcd.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
99
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vpx_scale_rtcd.h
vendored
Normal file
99
TMessagesProj/jni/third_party/libvpx/source/config/linux/ia32/vpx_scale_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VPX_SCALE_RTCD_H_
|
||||
#define VPX_SCALE_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_horizontal_line_2_1_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_3_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_4_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_i_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
|
||||
|
||||
void vp8_vertical_band_5_3_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
|
||||
|
||||
void vp8_vertical_band_5_4_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
|
||||
|
||||
void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
|
||||
|
||||
void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_borders vpx_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
|
||||
|
||||
void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c
|
||||
|
||||
void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_y vpx_yv12_copy_y_c
|
||||
|
||||
void vpx_scale_rtcd(void);
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/x86.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = x86_simd_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
678
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vp8_rtcd.h
vendored
Normal file
678
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vp8_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,678 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP8_RTCD_H_
|
||||
#define VP8_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP8
|
||||
*/
|
||||
|
||||
struct blockd;
|
||||
struct macroblockd;
|
||||
struct loop_filter_info;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct block;
|
||||
struct macroblock;
|
||||
struct variance_vtable;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict16x16_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict16x16_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_bilinear_predict16x16)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict4x4_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_sse2
|
||||
|
||||
void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x4_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_sse2
|
||||
|
||||
void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x8_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_bilinear_predict8x8_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_bilinear_predict8x8)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_blend_b_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_b vp8_blend_b_c
|
||||
|
||||
void vp8_blend_mb_inner_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_inner vp8_blend_mb_inner_c
|
||||
|
||||
void vp8_blend_mb_outer_c(unsigned char* y,
|
||||
unsigned char* u,
|
||||
unsigned char* v,
|
||||
int y_1,
|
||||
int u_1,
|
||||
int v_1,
|
||||
int alpha,
|
||||
int stride);
|
||||
#define vp8_blend_mb_outer vp8_blend_mb_outer_c
|
||||
|
||||
int vp8_block_error_c(short* coeff, short* dqcoeff);
|
||||
int vp8_block_error_sse2(short* coeff, short* dqcoeff);
|
||||
#define vp8_block_error vp8_block_error_sse2
|
||||
|
||||
void vp8_copy32xn_c(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
void vp8_copy32xn_sse2(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
void vp8_copy32xn_sse3(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
RTCD_EXTERN void (*vp8_copy32xn)(const unsigned char* src_ptr,
|
||||
int src_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride,
|
||||
int height);
|
||||
|
||||
void vp8_copy_mem16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem16x16_sse2(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem16x16 vp8_copy_mem16x16_sse2
|
||||
|
||||
void vp8_copy_mem8x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x4_mmx(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x4 vp8_copy_mem8x4_mmx
|
||||
|
||||
void vp8_copy_mem8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
void vp8_copy_mem8x8_mmx(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride);
|
||||
#define vp8_copy_mem8x8 vp8_copy_mem8x8_mmx
|
||||
|
||||
void vp8_dc_only_idct_add_c(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_dc_only_idct_add_mmx(short input_dc,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_dc_only_idct_add vp8_dc_only_idct_add_mmx
|
||||
|
||||
int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_sse2(unsigned char* mc_running_avg_y,
|
||||
int mc_avg_y_stride,
|
||||
unsigned char* running_avg_y,
|
||||
int avg_y_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter vp8_denoiser_filter_sse2
|
||||
|
||||
int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
int vp8_denoiser_filter_uv_sse2(unsigned char* mc_running_avg,
|
||||
int mc_avg_stride,
|
||||
unsigned char* running_avg,
|
||||
int avg_stride,
|
||||
unsigned char* sig,
|
||||
int sig_stride,
|
||||
unsigned int motion_magnitude,
|
||||
int increase_denoising);
|
||||
#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_sse2
|
||||
|
||||
void vp8_dequant_idct_add_c(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
void vp8_dequant_idct_add_mmx(short* input,
|
||||
short* dq,
|
||||
unsigned char* dest,
|
||||
int stride);
|
||||
#define vp8_dequant_idct_add vp8_dequant_idct_add_mmx
|
||||
|
||||
void vp8_dequant_idct_add_uv_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_uv_block_sse2(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst_u,
|
||||
unsigned char* dst_v,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_sse2
|
||||
|
||||
void vp8_dequant_idct_add_y_block_c(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
void vp8_dequant_idct_add_y_block_sse2(short* q,
|
||||
short* dq,
|
||||
unsigned char* dst,
|
||||
int stride,
|
||||
char* eobs);
|
||||
#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_sse2
|
||||
|
||||
void vp8_dequantize_b_c(struct blockd*, short* DQC);
|
||||
void vp8_dequantize_b_mmx(struct blockd*, short* DQC);
|
||||
#define vp8_dequantize_b vp8_dequantize_b_mmx
|
||||
|
||||
int vp8_diamond_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
int vp8_diamond_search_sadx4(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
union int_mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_diamond_search_sad vp8_diamond_search_sadx4
|
||||
|
||||
void vp8_fast_quantize_b_c(struct block*, struct blockd*);
|
||||
void vp8_fast_quantize_b_sse2(struct block*, struct blockd*);
|
||||
void vp8_fast_quantize_b_ssse3(struct block*, struct blockd*);
|
||||
RTCD_EXTERN void (*vp8_fast_quantize_b)(struct block*, struct blockd*);
|
||||
|
||||
void vp8_filter_by_weight16x16_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
void vp8_filter_by_weight16x16_sse2(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_sse2
|
||||
|
||||
void vp8_filter_by_weight4x4_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
|
||||
|
||||
void vp8_filter_by_weight8x8_c(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
void vp8_filter_by_weight8x8_sse2(unsigned char* src,
|
||||
int src_stride,
|
||||
unsigned char* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_sse2
|
||||
|
||||
int vp8_full_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
int vp8_full_search_sadx3(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
int vp8_full_search_sadx8(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
RTCD_EXTERN int (*vp8_full_search_sad)(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int sad_per_bit,
|
||||
int distance,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
|
||||
void vp8_loop_filter_bh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bh_sse2(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bh vp8_loop_filter_bh_sse2
|
||||
|
||||
void vp8_loop_filter_bv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_bv_sse2(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_bv vp8_loop_filter_bv_sse2
|
||||
|
||||
void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbh_sse2(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbh vp8_loop_filter_mbh_sse2
|
||||
|
||||
void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
void vp8_loop_filter_mbv_sse2(unsigned char* y_ptr,
|
||||
unsigned char* u_ptr,
|
||||
unsigned char* v_ptr,
|
||||
int y_stride,
|
||||
int uv_stride,
|
||||
struct loop_filter_info* lfi);
|
||||
#define vp8_loop_filter_mbv vp8_loop_filter_mbv_sse2
|
||||
|
||||
void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bhs_sse2(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_sse2
|
||||
|
||||
void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_bvs_sse2(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_sse2
|
||||
|
||||
void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_simple_horizontal_edge_sse2(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_sse2
|
||||
|
||||
void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
void vp8_loop_filter_simple_vertical_edge_sse2(unsigned char* y_ptr,
|
||||
int y_stride,
|
||||
const unsigned char* blimit);
|
||||
#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_sse2
|
||||
|
||||
int vp8_mbblock_error_c(struct macroblock* mb, int dc);
|
||||
int vp8_mbblock_error_sse2(struct macroblock* mb, int dc);
|
||||
#define vp8_mbblock_error vp8_mbblock_error_sse2
|
||||
|
||||
int vp8_mbuverror_c(struct macroblock* mb);
|
||||
int vp8_mbuverror_sse2(struct macroblock* mb);
|
||||
#define vp8_mbuverror vp8_mbuverror_sse2
|
||||
|
||||
int vp8_refining_search_sad_c(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
int vp8_refining_search_sadx4(struct macroblock* x,
|
||||
struct block* b,
|
||||
struct blockd* d,
|
||||
union int_mv* ref_mv,
|
||||
int error_per_bit,
|
||||
int search_range,
|
||||
struct variance_vtable* fn_ptr,
|
||||
int* mvcost[2],
|
||||
union int_mv* center_mv);
|
||||
#define vp8_refining_search_sad vp8_refining_search_sadx4
|
||||
|
||||
void vp8_regular_quantize_b_c(struct block*, struct blockd*);
|
||||
void vp8_regular_quantize_b_sse2(struct block*, struct blockd*);
|
||||
void vp8_regular_quantize_b_sse4_1(struct block*, struct blockd*);
|
||||
RTCD_EXTERN void (*vp8_regular_quantize_b)(struct block*, struct blockd*);
|
||||
|
||||
void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct4x4_sse2(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct4x4 vp8_short_fdct4x4_sse2
|
||||
|
||||
void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_fdct8x4_sse2(short* input, short* output, int pitch);
|
||||
#define vp8_short_fdct8x4 vp8_short_fdct8x4_sse2
|
||||
|
||||
void vp8_short_idct4x4llm_c(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
void vp8_short_idct4x4llm_mmx(short* input,
|
||||
unsigned char* pred_ptr,
|
||||
int pred_stride,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_stride);
|
||||
#define vp8_short_idct4x4llm vp8_short_idct4x4llm_mmx
|
||||
|
||||
void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
|
||||
void vp8_short_inv_walsh4x4_sse2(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_sse2
|
||||
|
||||
void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
|
||||
#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
|
||||
|
||||
void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
|
||||
void vp8_short_walsh4x4_sse2(short* input, short* output, int pitch);
|
||||
#define vp8_short_walsh4x4 vp8_short_walsh4x4_sse2
|
||||
|
||||
void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict16x16_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict16x16_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict16x16)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict4x4_mmx(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict4x4_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict4x4)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x4_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x4_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict8x4)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x8_sse2(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
void vp8_sixtap_predict8x8_ssse3(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
RTCD_EXTERN void (*vp8_sixtap_predict8x8)(unsigned char* src_ptr,
|
||||
int src_pixels_per_line,
|
||||
int xoffset,
|
||||
int yoffset,
|
||||
unsigned char* dst_ptr,
|
||||
int dst_pitch);
|
||||
|
||||
void vp8_rtcd(void);
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/x86.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = x86_simd_caps();
|
||||
|
||||
(void)flags;
|
||||
|
||||
vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_ssse3;
|
||||
vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_ssse3;
|
||||
vp8_copy32xn = vp8_copy32xn_sse2;
|
||||
if (flags & HAS_SSE3)
|
||||
vp8_copy32xn = vp8_copy32xn_sse3;
|
||||
vp8_fast_quantize_b = vp8_fast_quantize_b_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_fast_quantize_b = vp8_fast_quantize_b_ssse3;
|
||||
vp8_full_search_sad = vp8_full_search_sad_c;
|
||||
if (flags & HAS_SSE3)
|
||||
vp8_full_search_sad = vp8_full_search_sadx3;
|
||||
if (flags & HAS_SSE4_1)
|
||||
vp8_full_search_sad = vp8_full_search_sadx8;
|
||||
vp8_regular_quantize_b = vp8_regular_quantize_b_sse2;
|
||||
if (flags & HAS_SSE4_1)
|
||||
vp8_regular_quantize_b = vp8_regular_quantize_b_sse4_1;
|
||||
vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_ssse3;
|
||||
vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_mmx;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_ssse3;
|
||||
vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_ssse3;
|
||||
vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_ssse3;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
493
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vp9_rtcd.h
vendored
Normal file
493
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vp9_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,493 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VP9_RTCD_H_
|
||||
#define VP9_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* VP9
|
||||
*/
|
||||
|
||||
#include "vp9/common/vp9_common.h"
|
||||
#include "vp9/common/vp9_enums.h"
|
||||
#include "vp9/common/vp9_filter.h"
|
||||
#include "vpx/vpx_integer.h"
|
||||
|
||||
struct macroblockd;
|
||||
|
||||
/* Encoder forward decls */
|
||||
struct macroblock;
|
||||
struct vp9_variance_vtable;
|
||||
struct search_site_config;
|
||||
struct mv;
|
||||
union int_mv;
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int64_t vp9_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
int64_t vp9_block_error_sse2(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
int64_t vp9_block_error_avx2(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
RTCD_EXTERN int64_t (*vp9_block_error)(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz);
|
||||
|
||||
int64_t vp9_block_error_fp_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
int64_t vp9_block_error_fp_sse2(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
int64_t vp9_block_error_fp_avx2(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
RTCD_EXTERN int64_t (*vp9_block_error_fp)(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
int block_size);
|
||||
|
||||
int vp9_denoiser_filter_c(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
int vp9_denoiser_filter_sse2(const uint8_t* sig,
|
||||
int sig_stride,
|
||||
const uint8_t* mc_avg,
|
||||
int mc_avg_stride,
|
||||
uint8_t* avg,
|
||||
int avg_stride,
|
||||
int increase_denoising,
|
||||
BLOCK_SIZE bs,
|
||||
int motion_magnitude);
|
||||
#define vp9_denoiser_filter vp9_denoiser_filter_sse2
|
||||
|
||||
int vp9_diamond_search_sad_c(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
int vp9_diamond_search_sad_avx(const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
RTCD_EXTERN int (*vp9_diamond_search_sad)(
|
||||
const struct macroblock* x,
|
||||
const struct search_site_config* cfg,
|
||||
struct mv* ref_mv,
|
||||
struct mv* best_mv,
|
||||
int search_param,
|
||||
int sad_per_bit,
|
||||
int* num00,
|
||||
const struct vp9_variance_vtable* fn_ptr,
|
||||
const struct mv* center_mv);
|
||||
|
||||
void vp9_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_fht16x16_sse2(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht16x16 vp9_fht16x16_sse2
|
||||
|
||||
void vp9_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_fht4x4_sse2(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht4x4 vp9_fht4x4_sse2
|
||||
|
||||
void vp9_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_fht8x8_sse2(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_fht8x8 vp9_fht8x8_sse2
|
||||
|
||||
void vp9_filter_by_weight16x16_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
void vp9_filter_by_weight16x16_sse2(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_sse2
|
||||
|
||||
void vp9_filter_by_weight8x8_c(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
void vp9_filter_by_weight8x8_sse2(const uint8_t* src,
|
||||
int src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_stride,
|
||||
int src_weight);
|
||||
#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_sse2
|
||||
|
||||
void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
void vp9_fwht4x4_sse2(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_fwht4x4 vp9_fwht4x4_sse2
|
||||
|
||||
int64_t vp9_highbd_block_error_c(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz,
|
||||
int bd);
|
||||
int64_t vp9_highbd_block_error_sse2(const tran_low_t* coeff,
|
||||
const tran_low_t* dqcoeff,
|
||||
intptr_t block_size,
|
||||
int64_t* ssz,
|
||||
int bd);
|
||||
#define vp9_highbd_block_error vp9_highbd_block_error_sse2
|
||||
|
||||
void vp9_highbd_fht16x16_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht16x16 vp9_highbd_fht16x16_c
|
||||
|
||||
void vp9_highbd_fht4x4_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht4x4 vp9_highbd_fht4x4_c
|
||||
|
||||
void vp9_highbd_fht8x8_c(const int16_t* input,
|
||||
tran_low_t* output,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_highbd_fht8x8 vp9_highbd_fht8x8_c
|
||||
|
||||
void vp9_highbd_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
|
||||
#define vp9_highbd_fwht4x4 vp9_highbd_fwht4x4_c
|
||||
|
||||
void vp9_highbd_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht16x16_256_add_sse4_1(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
RTCD_EXTERN void (*vp9_highbd_iht16x16_256_add)(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
|
||||
void vp9_highbd_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht4x4_16_add_sse4_1(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
RTCD_EXTERN void (*vp9_highbd_iht4x4_16_add)(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
|
||||
void vp9_highbd_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
void vp9_highbd_iht8x8_64_add_sse4_1(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
RTCD_EXTERN void (*vp9_highbd_iht8x8_64_add)(const tran_low_t* input,
|
||||
uint16_t* dest,
|
||||
int stride,
|
||||
int tx_type,
|
||||
int bd);
|
||||
|
||||
void vp9_highbd_mbpost_proc_across_ip_c(uint16_t* src,
|
||||
int pitch,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_mbpost_proc_across_ip vp9_highbd_mbpost_proc_across_ip_c
|
||||
|
||||
void vp9_highbd_mbpost_proc_down_c(uint16_t* dst,
|
||||
int pitch,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_mbpost_proc_down vp9_highbd_mbpost_proc_down_c
|
||||
|
||||
void vp9_highbd_post_proc_down_and_across_c(const uint16_t* src_ptr,
|
||||
uint16_t* dst_ptr,
|
||||
int src_pixels_per_line,
|
||||
int dst_pixels_per_line,
|
||||
int rows,
|
||||
int cols,
|
||||
int flimit);
|
||||
#define vp9_highbd_post_proc_down_and_across \
|
||||
vp9_highbd_post_proc_down_and_across_c
|
||||
|
||||
void vp9_highbd_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_highbd_quantize_fp vp9_highbd_quantize_fp_c
|
||||
|
||||
void vp9_highbd_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
#define vp9_highbd_quantize_fp_32x32 vp9_highbd_quantize_fp_32x32_c
|
||||
|
||||
void vp9_highbd_temporal_filter_apply_c(const uint8_t* frame1,
|
||||
unsigned int stride,
|
||||
const uint8_t* frame2,
|
||||
unsigned int block_width,
|
||||
unsigned int block_height,
|
||||
int strength,
|
||||
int* blk_fw,
|
||||
int use_32x32,
|
||||
uint32_t* accumulator,
|
||||
uint16_t* count);
|
||||
#define vp9_highbd_temporal_filter_apply vp9_highbd_temporal_filter_apply_c
|
||||
|
||||
void vp9_iht16x16_256_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht16x16_256_add_sse2(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht16x16_256_add vp9_iht16x16_256_add_sse2
|
||||
|
||||
void vp9_iht4x4_16_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht4x4_16_add_sse2(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht4x4_16_add vp9_iht4x4_16_add_sse2
|
||||
|
||||
void vp9_iht8x8_64_add_c(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
void vp9_iht8x8_64_add_sse2(const tran_low_t* input,
|
||||
uint8_t* dest,
|
||||
int stride,
|
||||
int tx_type);
|
||||
#define vp9_iht8x8_64_add vp9_iht8x8_64_add_sse2
|
||||
|
||||
void vp9_quantize_fp_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_sse2(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_ssse3(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_avx2(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
RTCD_EXTERN void (*vp9_quantize_fp)(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
|
||||
void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
void vp9_quantize_fp_32x32_ssse3(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
RTCD_EXTERN void (*vp9_quantize_fp_32x32)(const tran_low_t* coeff_ptr,
|
||||
intptr_t n_coeffs,
|
||||
int skip_block,
|
||||
const int16_t* round_ptr,
|
||||
const int16_t* quant_ptr,
|
||||
tran_low_t* qcoeff_ptr,
|
||||
tran_low_t* dqcoeff_ptr,
|
||||
const int16_t* dequant_ptr,
|
||||
uint16_t* eob_ptr,
|
||||
const int16_t* scan,
|
||||
const int16_t* iscan);
|
||||
|
||||
void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
void vp9_scale_and_extend_frame_ssse3(const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
RTCD_EXTERN void (*vp9_scale_and_extend_frame)(
|
||||
const struct yv12_buffer_config* src,
|
||||
struct yv12_buffer_config* dst,
|
||||
INTERP_FILTER filter_type,
|
||||
int phase_scaler);
|
||||
|
||||
void vp9_rtcd(void);
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/x86.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = x86_simd_caps();
|
||||
|
||||
(void)flags;
|
||||
|
||||
vp9_block_error = vp9_block_error_sse2;
|
||||
if (flags & HAS_AVX2)
|
||||
vp9_block_error = vp9_block_error_avx2;
|
||||
vp9_block_error_fp = vp9_block_error_fp_sse2;
|
||||
if (flags & HAS_AVX2)
|
||||
vp9_block_error_fp = vp9_block_error_fp_avx2;
|
||||
vp9_diamond_search_sad = vp9_diamond_search_sad_c;
|
||||
if (flags & HAS_AVX)
|
||||
vp9_diamond_search_sad = vp9_diamond_search_sad_avx;
|
||||
vp9_highbd_iht16x16_256_add = vp9_highbd_iht16x16_256_add_c;
|
||||
if (flags & HAS_SSE4_1)
|
||||
vp9_highbd_iht16x16_256_add = vp9_highbd_iht16x16_256_add_sse4_1;
|
||||
vp9_highbd_iht4x4_16_add = vp9_highbd_iht4x4_16_add_c;
|
||||
if (flags & HAS_SSE4_1)
|
||||
vp9_highbd_iht4x4_16_add = vp9_highbd_iht4x4_16_add_sse4_1;
|
||||
vp9_highbd_iht8x8_64_add = vp9_highbd_iht8x8_64_add_c;
|
||||
if (flags & HAS_SSE4_1)
|
||||
vp9_highbd_iht8x8_64_add = vp9_highbd_iht8x8_64_add_sse4_1;
|
||||
vp9_quantize_fp = vp9_quantize_fp_sse2;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp9_quantize_fp = vp9_quantize_fp_ssse3;
|
||||
if (flags & HAS_AVX2)
|
||||
vp9_quantize_fp = vp9_quantize_fp_avx2;
|
||||
vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_c;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_ssse3;
|
||||
vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_c;
|
||||
if (flags & HAS_SSSE3)
|
||||
vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_ssse3;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
94
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vpx_config.asm
vendored
Normal file
94
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vpx_config.asm
vendored
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
%define VPX_ARCH_ARM 0
|
||||
%define ARCH_ARM 0
|
||||
%define VPX_ARCH_MIPS 0
|
||||
%define ARCH_MIPS 0
|
||||
%define VPX_ARCH_X86 0
|
||||
%define ARCH_X86 0
|
||||
%define VPX_ARCH_X86_64 1
|
||||
%define ARCH_X86_64 1
|
||||
%define VPX_ARCH_PPC 0
|
||||
%define ARCH_PPC 0
|
||||
%define HAVE_NEON 0
|
||||
%define HAVE_NEON_ASM 0
|
||||
%define HAVE_MIPS32 0
|
||||
%define HAVE_DSPR2 0
|
||||
%define HAVE_MSA 0
|
||||
%define HAVE_MIPS64 0
|
||||
%define HAVE_MMX 1
|
||||
%define HAVE_SSE 1
|
||||
%define HAVE_SSE2 1
|
||||
%define HAVE_SSE3 1
|
||||
%define HAVE_SSSE3 1
|
||||
%define HAVE_SSE4_1 1
|
||||
%define HAVE_AVX 1
|
||||
%define HAVE_AVX2 1
|
||||
%define HAVE_AVX512 0
|
||||
%define HAVE_VSX 0
|
||||
%define HAVE_MMI 0
|
||||
%define HAVE_VPX_PORTS 1
|
||||
%define HAVE_PTHREAD_H 1
|
||||
%define HAVE_UNISTD_H 0
|
||||
%define CONFIG_DEPENDENCY_TRACKING 1
|
||||
%define CONFIG_EXTERNAL_BUILD 1
|
||||
%define CONFIG_INSTALL_DOCS 0
|
||||
%define CONFIG_INSTALL_BINS 1
|
||||
%define CONFIG_INSTALL_LIBS 1
|
||||
%define CONFIG_INSTALL_SRCS 0
|
||||
%define CONFIG_DEBUG 0
|
||||
%define CONFIG_GPROF 0
|
||||
%define CONFIG_GCOV 0
|
||||
%define CONFIG_RVCT 0
|
||||
%define CONFIG_GCC 1
|
||||
%define CONFIG_MSVS 0
|
||||
%define CONFIG_PIC 1
|
||||
%define CONFIG_BIG_ENDIAN 0
|
||||
%define CONFIG_CODEC_SRCS 0
|
||||
%define CONFIG_DEBUG_LIBS 0
|
||||
%define CONFIG_DEQUANT_TOKENS 0
|
||||
%define CONFIG_DC_RECON 0
|
||||
%define CONFIG_RUNTIME_CPU_DETECT 1
|
||||
%define CONFIG_POSTPROC 1
|
||||
%define CONFIG_VP9_POSTPROC 1
|
||||
%define CONFIG_MULTITHREAD 1
|
||||
%define CONFIG_INTERNAL_STATS 0
|
||||
%define CONFIG_VP8_ENCODER 1
|
||||
%define CONFIG_VP8_DECODER 1
|
||||
%define CONFIG_VP9_ENCODER 1
|
||||
%define CONFIG_VP9_DECODER 1
|
||||
%define CONFIG_VP8 1
|
||||
%define CONFIG_VP9 1
|
||||
%define CONFIG_ENCODERS 1
|
||||
%define CONFIG_DECODERS 1
|
||||
%define CONFIG_STATIC_MSVCRT 0
|
||||
%define CONFIG_SPATIAL_RESAMPLING 1
|
||||
%define CONFIG_REALTIME_ONLY 1
|
||||
%define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
%define CONFIG_ERROR_CONCEALMENT 0
|
||||
%define CONFIG_SHARED 0
|
||||
%define CONFIG_STATIC 1
|
||||
%define CONFIG_SMALL 0
|
||||
%define CONFIG_POSTPROC_VISUALIZER 0
|
||||
%define CONFIG_OS_SUPPORT 1
|
||||
%define CONFIG_UNIT_TESTS 1
|
||||
%define CONFIG_WEBM_IO 1
|
||||
%define CONFIG_LIBYUV 0
|
||||
%define CONFIG_DECODE_PERF_TESTS 0
|
||||
%define CONFIG_ENCODE_PERF_TESTS 0
|
||||
%define CONFIG_MULTI_RES_ENCODING 1
|
||||
%define CONFIG_TEMPORAL_DENOISING 1
|
||||
%define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
%define CONFIG_CONSISTENT_RECODE 0
|
||||
%define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
%define CONFIG_VP9_HIGHBITDEPTH 1
|
||||
%define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
%define CONFIG_EXPERIMENTAL 0
|
||||
%define CONFIG_SIZE_LIMIT 1
|
||||
%define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
%define CONFIG_BITSTREAM_DEBUG 0
|
||||
%define CONFIG_MISMATCH_DEBUG 0
|
||||
%define CONFIG_FP_MB_STATS 0
|
||||
%define CONFIG_EMULATE_HARDWARE 0
|
||||
%define CONFIG_NON_GREEDY_MV 0
|
||||
%define CONFIG_RATE_CTRL 0
|
||||
%define DECODE_WIDTH_LIMIT 16384
|
||||
%define DECODE_HEIGHT_LIMIT 16384
|
||||
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vpx_config.c
vendored
Normal file
10
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vpx_config.c
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
#include "vpx/vpx_codec.h"
|
||||
static const char* const cfg = "--target=x86_64-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv --enable-pic --as=yasm --disable-avx512 --enable-vp9-highbitdepth";
|
||||
const char *vpx_codec_build_config(void) {return cfg;}
|
||||
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vpx_config.h
vendored
Normal file
107
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vpx_config.h
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
|
||||
/* */
|
||||
/* Use of this source code is governed by a BSD-style license */
|
||||
/* that can be found in the LICENSE file in the root of the source */
|
||||
/* tree. An additional intellectual property rights grant can be found */
|
||||
/* in the file PATENTS. All contributing project authors may */
|
||||
/* be found in the AUTHORS file in the root of the source tree. */
|
||||
/* This file automatically generated by configure. Do not edit! */
|
||||
#ifndef VPX_CONFIG_H
|
||||
#define VPX_CONFIG_H
|
||||
#define RESTRICT
|
||||
#define INLINE inline
|
||||
#define VPX_ARCH_ARM 0
|
||||
#define ARCH_ARM 0
|
||||
#define VPX_ARCH_MIPS 0
|
||||
#define ARCH_MIPS 0
|
||||
#define VPX_ARCH_X86 0
|
||||
#define ARCH_X86 0
|
||||
#define VPX_ARCH_X86_64 1
|
||||
#define ARCH_X86_64 1
|
||||
#define VPX_ARCH_PPC 0
|
||||
#define ARCH_PPC 0
|
||||
#define HAVE_NEON 0
|
||||
#define HAVE_NEON_ASM 0
|
||||
#define HAVE_MIPS32 0
|
||||
#define HAVE_DSPR2 0
|
||||
#define HAVE_MSA 0
|
||||
#define HAVE_MIPS64 0
|
||||
#define HAVE_MMX 1
|
||||
#define HAVE_SSE 1
|
||||
#define HAVE_SSE2 1
|
||||
#define HAVE_SSE3 1
|
||||
#define HAVE_SSSE3 1
|
||||
#define HAVE_SSE4_1 1
|
||||
#define HAVE_AVX 1
|
||||
#define HAVE_AVX2 1
|
||||
#define HAVE_AVX512 0
|
||||
#define HAVE_VSX 0
|
||||
#define HAVE_MMI 0
|
||||
#define HAVE_VPX_PORTS 1
|
||||
#define HAVE_PTHREAD_H 1
|
||||
#define HAVE_UNISTD_H 0
|
||||
#define CONFIG_DEPENDENCY_TRACKING 1
|
||||
#define CONFIG_EXTERNAL_BUILD 1
|
||||
#define CONFIG_INSTALL_DOCS 0
|
||||
#define CONFIG_INSTALL_BINS 1
|
||||
#define CONFIG_INSTALL_LIBS 1
|
||||
#define CONFIG_INSTALL_SRCS 0
|
||||
#define CONFIG_DEBUG 0
|
||||
#define CONFIG_GPROF 0
|
||||
#define CONFIG_GCOV 0
|
||||
#define CONFIG_RVCT 0
|
||||
#define CONFIG_GCC 1
|
||||
#define CONFIG_MSVS 0
|
||||
#define CONFIG_PIC 1
|
||||
#define CONFIG_BIG_ENDIAN 0
|
||||
#define CONFIG_CODEC_SRCS 0
|
||||
#define CONFIG_DEBUG_LIBS 0
|
||||
#define CONFIG_DEQUANT_TOKENS 0
|
||||
#define CONFIG_DC_RECON 0
|
||||
#define CONFIG_RUNTIME_CPU_DETECT 1
|
||||
#define CONFIG_POSTPROC 1
|
||||
#define CONFIG_VP9_POSTPROC 1
|
||||
#define CONFIG_MULTITHREAD 1
|
||||
#define CONFIG_INTERNAL_STATS 0
|
||||
#define CONFIG_VP8_ENCODER 1
|
||||
#define CONFIG_VP8_DECODER 1
|
||||
#define CONFIG_VP9_ENCODER 1
|
||||
#define CONFIG_VP9_DECODER 1
|
||||
#define CONFIG_VP8 1
|
||||
#define CONFIG_VP9 1
|
||||
#define CONFIG_ENCODERS 1
|
||||
#define CONFIG_DECODERS 1
|
||||
#define CONFIG_STATIC_MSVCRT 0
|
||||
#define CONFIG_SPATIAL_RESAMPLING 1
|
||||
#define CONFIG_REALTIME_ONLY 1
|
||||
#define CONFIG_ONTHEFLY_BITPACKING 0
|
||||
#define CONFIG_ERROR_CONCEALMENT 0
|
||||
#define CONFIG_SHARED 0
|
||||
#define CONFIG_STATIC 1
|
||||
#define CONFIG_SMALL 0
|
||||
#define CONFIG_POSTPROC_VISUALIZER 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_UNIT_TESTS 1
|
||||
#define CONFIG_WEBM_IO 1
|
||||
#define CONFIG_LIBYUV 0
|
||||
#define CONFIG_DECODE_PERF_TESTS 0
|
||||
#define CONFIG_ENCODE_PERF_TESTS 0
|
||||
#define CONFIG_MULTI_RES_ENCODING 1
|
||||
#define CONFIG_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_VP9_TEMPORAL_DENOISING 1
|
||||
#define CONFIG_CONSISTENT_RECODE 0
|
||||
#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
|
||||
#define CONFIG_VP9_HIGHBITDEPTH 1
|
||||
#define CONFIG_BETTER_HW_COMPATIBILITY 0
|
||||
#define CONFIG_EXPERIMENTAL 0
|
||||
#define CONFIG_SIZE_LIMIT 1
|
||||
#define CONFIG_ALWAYS_ADJUST_BPM 0
|
||||
#define CONFIG_BITSTREAM_DEBUG 0
|
||||
#define CONFIG_MISMATCH_DEBUG 0
|
||||
#define CONFIG_FP_MB_STATS 0
|
||||
#define CONFIG_EMULATE_HARDWARE 0
|
||||
#define CONFIG_NON_GREEDY_MV 0
|
||||
#define CONFIG_RATE_CTRL 0
|
||||
#define DECODE_WIDTH_LIMIT 16384
|
||||
#define DECODE_HEIGHT_LIMIT 16384
|
||||
#endif /* VPX_CONFIG_H */
|
||||
8107
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vpx_dsp_rtcd.h
vendored
Normal file
8107
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vpx_dsp_rtcd.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
99
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vpx_scale_rtcd.h
vendored
Normal file
99
TMessagesProj/jni/third_party/libvpx/source/config/linux/x64/vpx_scale_rtcd.h
vendored
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
// This file is generated. Do not edit.
|
||||
#ifndef VPX_SCALE_RTCD_H_
|
||||
#define VPX_SCALE_RTCD_H_
|
||||
|
||||
#ifdef RTCD_C
|
||||
#define RTCD_EXTERN
|
||||
#else
|
||||
#define RTCD_EXTERN extern
|
||||
#endif
|
||||
|
||||
struct yv12_buffer_config;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void vp8_horizontal_line_2_1_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_3_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
|
||||
|
||||
void vp8_horizontal_line_5_4_scale_c(const unsigned char* source,
|
||||
unsigned int source_width,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_width);
|
||||
#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
|
||||
|
||||
void vp8_vertical_band_2_1_scale_i_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
|
||||
|
||||
void vp8_vertical_band_5_3_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
|
||||
|
||||
void vp8_vertical_band_5_4_scale_c(unsigned char* source,
|
||||
unsigned int src_pitch,
|
||||
unsigned char* dest,
|
||||
unsigned int dest_pitch,
|
||||
unsigned int dest_width);
|
||||
#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
|
||||
|
||||
void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
|
||||
|
||||
void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_borders vpx_extend_frame_borders_c
|
||||
|
||||
void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf);
|
||||
#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
|
||||
|
||||
void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c
|
||||
|
||||
void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc,
|
||||
struct yv12_buffer_config* dst_ybc);
|
||||
#define vpx_yv12_copy_y vpx_yv12_copy_y_c
|
||||
|
||||
void vpx_scale_rtcd(void);
|
||||
|
||||
#ifdef RTCD_C
|
||||
#include "vpx_ports/x86.h"
|
||||
static void setup_rtcd_internal(void) {
|
||||
int flags = x86_simd_caps();
|
||||
|
||||
(void)flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
9
TMessagesProj/jni/third_party/libvpx/source/config/vpx_version.h
vendored
Normal file
9
TMessagesProj/jni/third_party/libvpx/source/config/vpx_version.h
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// This file is generated. Do not edit.
|
||||
#define VERSION_MAJOR 1
|
||||
#define VERSION_MINOR 8
|
||||
#define VERSION_PATCH 2
|
||||
#define VERSION_EXTRA "125-g667138e1f"
|
||||
#define VERSION_PACKED \
|
||||
((VERSION_MAJOR << 16) | (VERSION_MINOR << 8) | (VERSION_PATCH))
|
||||
#define VERSION_STRING_NOSP "v1.8.2-125-g667138e1f"
|
||||
#define VERSION_STRING " v1.8.2-125-g667138e1f"
|
||||
205
TMessagesProj/jni/third_party/libvpx/source/libvpx/AUTHORS
vendored
Normal file
205
TMessagesProj/jni/third_party/libvpx/source/libvpx/AUTHORS
vendored
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
# This file is automatically generated from the git commit history
|
||||
# by tools/gen_authors.sh.
|
||||
|
||||
Aaron Watry <awatry@gmail.com>
|
||||
Abo Talib Mahfoodh <ab.mahfoodh@gmail.com>
|
||||
Adrian Grange <agrange@google.com>
|
||||
Ahmad Sharif <asharif@google.com>
|
||||
Aidan Welch <aidansw@yahoo.com>
|
||||
Aleksey Vasenev <margtu-fivt@ya.ru>
|
||||
Alexander Potapenko <glider@google.com>
|
||||
Alexander Voronov <avoronov@graphics.cs.msu.ru>
|
||||
Alexandra Hájková <alexandra.khirnova@gmail.com>
|
||||
Aℓex Converse <alexconv@twitch.tv>
|
||||
Alexis Ballier <aballier@gentoo.org>
|
||||
Alok Ahuja <waveletcoeff@gmail.com>
|
||||
Alpha Lam <hclam@google.com>
|
||||
A.Mahfoodh <ab.mahfoodh@gmail.com>
|
||||
Ami Fischman <fischman@chromium.org>
|
||||
Andoni Morales Alastruey <ylatuya@gmail.com>
|
||||
Andres Mejia <mcitadel@gmail.com>
|
||||
Andrew Lewis <andrewlewis@google.com>
|
||||
Andrew Russell <anrussell@google.com>
|
||||
Angie Chen <yunqi@google.com>
|
||||
Angie Chiang <angiebird@google.com>
|
||||
Aron Rosenberg <arosenberg@logitech.com>
|
||||
Attila Nagy <attilanagy@google.com>
|
||||
Birk Magnussen <birk.magnussen@googlemail.com>
|
||||
Brian Foley <bpfoley@google.com>
|
||||
Brion Vibber <bvibber@wikimedia.org>
|
||||
changjun.yang <changjun.yang@intel.com>
|
||||
Charles 'Buck' Krasic <ckrasic@google.com>
|
||||
Cheng Chen <chengchen@google.com>
|
||||
Chi Yo Tsai <chiyotsai@google.com>
|
||||
chm <chm@rock-chips.com>
|
||||
Chris Cunningham <chcunningham@chromium.org>
|
||||
Christian Duvivier <cduvivier@google.com>
|
||||
Clement Courbet <courbet@google.com>
|
||||
Daniele Castagna <dcastagna@chromium.org>
|
||||
Daniel Kang <ddkang@google.com>
|
||||
Dan Zhu <zxdan@google.com>
|
||||
Deb Mukherjee <debargha@google.com>
|
||||
Deepa K G <deepa.kg@ittiam.com>
|
||||
Dim Temp <dimtemp0@gmail.com>
|
||||
Dmitry Kovalev <dkovalev@google.com>
|
||||
Dragan Mrdjan <dmrdjan@mips.com>
|
||||
Ed Baker <edward.baker@intel.com>
|
||||
Ehsan Akhgari <ehsan.akhgari@gmail.com>
|
||||
Elliott Karpilovsky <elliottk@google.com>
|
||||
Erik Niemeyer <erik.a.niemeyer@intel.com>
|
||||
Fabio Pedretti <fabio.ped@libero.it>
|
||||
Frank Galligan <fgalligan@google.com>
|
||||
Fredrik Söderquist <fs@opera.com>
|
||||
Fritz Koenig <frkoenig@google.com>
|
||||
Fyodor Kyslov <kyslov@google.com>
|
||||
Gabriel Marin <gmx@chromium.org>
|
||||
Gaute Strokkenes <gaute.strokkenes@broadcom.com>
|
||||
Geza Lore <gezalore@gmail.com>
|
||||
Ghislain MARY <ghislainmary2@gmail.com>
|
||||
Giuseppe Scrivano <gscrivano@gnu.org>
|
||||
Gordana Cmiljanovic <gordana.cmiljanovic@imgtec.com>
|
||||
Gregor Jasny <gjasny@gmail.com>
|
||||
Guillaume Martres <gmartres@google.com>
|
||||
Guillermo Ballester Valor <gbvalor@gmail.com>
|
||||
Hangyu Kuang <hkuang@google.com>
|
||||
Hanno Böck <hanno@hboeck.de>
|
||||
Han Shen <shenhan@google.com>
|
||||
Harish Mahendrakar <harish.mahendrakar@ittiam.com>
|
||||
Henrik Lundin <hlundin@google.com>
|
||||
Hien Ho <hienho@google.com>
|
||||
Hui Su <huisu@google.com>
|
||||
Ivan Krasin <krasin@chromium.org>
|
||||
Ivan Maltz <ivanmaltz@google.com>
|
||||
Jacek Caban <cjacek@gmail.com>
|
||||
Jacky Chen <jackychen@google.com>
|
||||
James Berry <jamesberry@google.com>
|
||||
James Yu <james.yu@linaro.org>
|
||||
James Zern <jzern@google.com>
|
||||
Jan Gerber <j@mailb.org>
|
||||
Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
Janne Salonen <jsalonen@google.com>
|
||||
Jean-Yves Avenard <jyavenard@mozilla.com>
|
||||
Jeff Faust <jfaust@google.com>
|
||||
Jeff Muizelaar <jmuizelaar@mozilla.com>
|
||||
Jeff Petkau <jpet@chromium.org>
|
||||
Jerome Jiang <jianj@google.com>
|
||||
Jia Jia <jia.jia@linaro.org>
|
||||
Jian Zhou <zhoujian@google.com>
|
||||
Jim Bankoski <jimbankoski@google.com>
|
||||
Jingning Han <jingning@google.com>
|
||||
Joey Parrish <joeyparrish@google.com>
|
||||
Johann Koenig <johannkoenig@google.com>
|
||||
John Koleszar <jkoleszar@google.com>
|
||||
Johnny Klonaris <google@jawknee.com>
|
||||
John Stark <jhnstrk@gmail.com>
|
||||
Jon Kunkee <jkunkee@microsoft.com>
|
||||
Jorge E. Moreira <jemoreira@google.com>
|
||||
Joshua Bleecher Snyder <josh@treelinelabs.com>
|
||||
Joshua Litt <joshualitt@google.com>
|
||||
Julia Robson <juliamrobson@gmail.com>
|
||||
Justin Clift <justin@salasaga.org>
|
||||
Justin Lebar <justin.lebar@gmail.com>
|
||||
Kaustubh Raste <kaustubh.raste@imgtec.com>
|
||||
KO Myung-Hun <komh@chollian.net>
|
||||
Kyle Siefring <kylesiefring@gmail.com>
|
||||
Lawrence Velázquez <larryv@macports.org>
|
||||
Linfeng Zhang <linfengz@google.com>
|
||||
Liu Peng <pengliu.mail@gmail.com>
|
||||
Lou Quillio <louquillio@google.com>
|
||||
Luca Barbato <lu_zero@gentoo.org>
|
||||
Luc Trudeau <luc@trud.ca>
|
||||
Makoto Kato <makoto.kt@gmail.com>
|
||||
Mans Rullgard <mans@mansr.com>
|
||||
Marco Paniconi <marpan@google.com>
|
||||
Mark Mentovai <mark@chromium.org>
|
||||
Martin Ettl <ettl.martin78@googlemail.com>
|
||||
Martin Storsjö <martin@martin.st>
|
||||
Matthew Heaney <matthewjheaney@chromium.org>
|
||||
Matthias Räncker <theonetruecamper@gmx.de>
|
||||
Michael Horowitz <mhoro@webrtc.org>
|
||||
Michael Kohler <michaelkohler@live.com>
|
||||
Mike Frysinger <vapier@chromium.org>
|
||||
Mike Hommey <mhommey@mozilla.com>
|
||||
Mikhal Shemer <mikhal@google.com>
|
||||
Min Chen <chenm003@gmail.com>
|
||||
Minghai Shang <minghai@google.com>
|
||||
Min Ye <yeemmi@google.com>
|
||||
Mirko Bonadei <mbonadei@google.com>
|
||||
Moriyoshi Koizumi <mozo@mozo.jp>
|
||||
Morton Jonuschat <yabawock@gmail.com>
|
||||
Nathan E. Egge <negge@mozilla.com>
|
||||
Neil Birkbeck <neil.birkbeck@gmail.com>
|
||||
Nico Weber <thakis@chromium.org>
|
||||
Niveditha Rau <niveditha.rau@gmail.com>
|
||||
Parag Salasakar <img.mips1@gmail.com>
|
||||
Pascal Massimino <pascal.massimino@gmail.com>
|
||||
Patrik Westin <patrik.westin@gmail.com>
|
||||
Paul Wilkins <paulwilkins@google.com>
|
||||
Pavol Rusnak <stick@gk2.sk>
|
||||
Paweł Hajdan <phajdan@google.com>
|
||||
Pengchong Jin <pengchong@google.com>
|
||||
Peter Boström <pbos@chromium.org>
|
||||
Peter Collingbourne <pcc@chromium.org>
|
||||
Peter de Rivaz <peter.derivaz@gmail.com>
|
||||
Philip Jägenstedt <philipj@opera.com>
|
||||
Priit Laes <plaes@plaes.org>
|
||||
Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
|
||||
Rafaël Carré <funman@videolan.org>
|
||||
Rafael de Lucena Valle <rafaeldelucena@gmail.com>
|
||||
Rahul Chaudhry <rahulchaudhry@google.com>
|
||||
Ralph Giles <giles@xiph.org>
|
||||
Ranjit Kumar Tulabandu <ranjit.tulabandu@ittiam.com>
|
||||
Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
|
||||
Ravi Chaudhary <ravi.chaudhary@ittiam.com>
|
||||
Ritu Baldwa <ritu.baldwa@ittiam.com>
|
||||
Rob Bradford <rob@linux.intel.com>
|
||||
Ronald S. Bultje <rsbultje@gmail.com>
|
||||
Rui Ueyama <ruiu@google.com>
|
||||
Sai Deng <sdeng@google.com>
|
||||
Sami Pietilä <samipietila@google.com>
|
||||
Sarah Parker <sarahparker@google.com>
|
||||
Sasi Inguva <isasi@google.com>
|
||||
Scott Graham <scottmg@chromium.org>
|
||||
Scott LaVarnway <slavarnway@google.com>
|
||||
Sean McGovern <gseanmcg@gmail.com>
|
||||
Sergey Kolomenkin <kolomenkin@gmail.com>
|
||||
Sergey Silkin <ssilkin@google.com>
|
||||
Sergey Ulanov <sergeyu@chromium.org>
|
||||
Shimon Doodkin <helpmepro1@gmail.com>
|
||||
Shiyou Yin <yinshiyou-hf@loongson.cn>
|
||||
Shubham Tandle <shubham.tandle@ittiam.com>
|
||||
Shunyao Li <shunyaoli@google.com>
|
||||
Sreerenj Balachandran <bsreerenj@gmail.com>
|
||||
Stefan Holmer <holmer@google.com>
|
||||
Suman Sunkara <sunkaras@google.com>
|
||||
Supradeep T R <supradeep.tr@ittiam.com>
|
||||
Sylvestre Ledru <sylvestre@mozilla.com>
|
||||
Taekhyun Kim <takim@nvidia.com>
|
||||
Takanori MATSUURA <t.matsuu@gmail.com>
|
||||
Tamar Levy <tamar.levy@intel.com>
|
||||
Tao Bai <michaelbai@chromium.org>
|
||||
Tero Rintaluoma <teror@google.com>
|
||||
Thijs Vermeir <thijsvermeir@gmail.com>
|
||||
Tim Kopp <tkopp@google.com>
|
||||
Timothy B. Terriberry <tterribe@xiph.org>
|
||||
Tom Finegan <tomfinegan@google.com>
|
||||
Tristan Matthews <le.businessman@gmail.com>
|
||||
Urvang Joshi <urvang@google.com>
|
||||
Venkatarama NG. Avadhani <venkatarama.avadhani@ittiam.com>
|
||||
Vignesh Venkatasubramanian <vigneshv@google.com>
|
||||
Vitaly Buka <vitalybuka@chromium.org>
|
||||
Vlad Tsyrklevich <vtsyrklevich@chromium.org>
|
||||
Wan-Teh Chang <wtc@google.com>
|
||||
Wonkap Jang <wonkap@google.com>
|
||||
xiwei gu <guxiwei-hf@loongson.cn>
|
||||
Yaowu Xu <yaowu@google.com>
|
||||
Yi Luo <luoyi@google.com>
|
||||
Yongzhe Wang <yongzhe@google.com>
|
||||
Yue Chen <yuec@google.com>
|
||||
Yun Liu <yliuyliu@google.com>
|
||||
Yunqing Wang <yunqingwang@google.com>
|
||||
Yury Gitman <yuryg@google.com>
|
||||
Zoe Liu <zoeliu@google.com>
|
||||
Google Inc.
|
||||
The Mozilla Foundation
|
||||
The Xiph.Org Foundation
|
||||
784
TMessagesProj/jni/third_party/libvpx/source/libvpx/CHANGELOG
vendored
Normal file
784
TMessagesProj/jni/third_party/libvpx/source/libvpx/CHANGELOG
vendored
Normal file
|
|
@ -0,0 +1,784 @@
|
|||
2020-07-29 v1.9.0 "Quacking Duck"
|
||||
This release adds support for NV12, a separate library for rate control, as
|
||||
well as incremental improvements.
|
||||
|
||||
- Upgrading:
|
||||
NV12 support is added to this release.
|
||||
A new interface is added for VP9 rate control. The new library libvp9rc.a
|
||||
must be linked by applications.
|
||||
Googletest is updated to v1.10.0.
|
||||
simple_encode.cc is compiled into a new library libsimple_encode.a with
|
||||
CONFIG_RATE_CTRL.
|
||||
|
||||
- Enhancement:
|
||||
Various changes to improve VP9 SVC, rate control, quality and speed to real
|
||||
time encoding.
|
||||
|
||||
- Bug fixes:
|
||||
Fix key frame update refresh simulcast flexible svc.
|
||||
Fix to disable_16x16part speed feature for real time encoding.
|
||||
Fix some signed integer overflows for VP9 rate control.
|
||||
Fix initialization of delta_q_uv.
|
||||
Fix condition in regulate_q for cyclic refresh.
|
||||
Various fixes to dynamic resizing for VP9 SVC.
|
||||
|
||||
2019-12-09 v1.8.2 "Pekin Duck"
|
||||
This release collects incremental improvements to many aspects of the library.
|
||||
|
||||
- Upgrading:
|
||||
ARCH_* defines have been removed in favor of VPX_ARCH_*.
|
||||
|
||||
2019-07-15 v1.8.1 "Orpington Duck"
|
||||
This release collects incremental improvements to many aspects of the library.
|
||||
|
||||
- Upgrading:
|
||||
VP8E_SET_CPUUSED now accepts values up to 9 for vp9.
|
||||
VPX_CTRL_VP9E_SET_MAX_INTER_BITRATE_PCT had a spelling fix (was VP8E).
|
||||
The --sdk-path option has been removed. If you were using it to build for
|
||||
Android please read build/make/Android.mk for alternatives.
|
||||
All PPC optimizations have been disabled:
|
||||
https://bugs.chromium.org/p/webm/issues/detail?id=1522.
|
||||
|
||||
- Enhancements:
|
||||
Various changes to improve encoder rate control, quality and speed
|
||||
for practically every use case.
|
||||
|
||||
- Bug fixes:
|
||||
vp9-rtc: Fix color artifacts for speed >= 8.
|
||||
|
||||
2019-01-31 v1.8.0 "Northern Shoveler Duck"
|
||||
This release focused on encoding performance for realtime and VOD use cases.
|
||||
|
||||
- Upgrading:
|
||||
This adds and improves several vp9 controls. Most are related to SVC:
|
||||
VP9E_SET_SVC_FRAME_DROP_LAYER:
|
||||
- Frame dropping in SVC.
|
||||
VP9E_SET_SVC_INTER_LAYER_PRED:
|
||||
- Inter-layer prediction in SVC.
|
||||
VP9E_SET_SVC_GF_TEMPORAL_REF:
|
||||
- Enable long term temporal reference in SVC.
|
||||
VP9E_SET_SVC_REF_FRAME_CONFIG/VP9E_GET_SVC_REF_FRAME_CONFIG:
|
||||
- Extend and improve this control for better flexibility in setting SVC
|
||||
pattern dynamically.
|
||||
VP9E_SET_POSTENCODE_DROP:
|
||||
- Allow for post-encode frame dropping (applies to non-SVC too).
|
||||
VP9E_SET_SVC_SPATIAL_LAYER_SYNC:
|
||||
- Enable spatial layer sync frames.
|
||||
VP9E_SET_SVC_LAYER_ID:
|
||||
- Extend api to specify temporal id for each spatial layers.
|
||||
VP9E_SET_ROI_MAP:
|
||||
- Extend Region of Interest functionality to VP9.
|
||||
|
||||
- Enhancements:
|
||||
2 pass vp9 encoding has improved substantially. When using --auto-alt-ref=6,
|
||||
we see approximately 8% for VBR and 10% for CQ. When using --auto-alt-ref=1,
|
||||
the gains are approximately 4% for VBR and 5% for CQ.
|
||||
|
||||
For real-time encoding, speed 7 has improved by ~5-10%. Encodes targeted at
|
||||
screen sharing have improved when the content changes significantly (slide
|
||||
sharing) or scrolls. There is a new speed 9 setting for mobile devices which
|
||||
is about 10-20% faster than speed 8.
|
||||
|
||||
- Bug fixes:
|
||||
VP9 denoiser issue.
|
||||
VP9 partition issue for 1080p.
|
||||
VP9 rate control improvments.
|
||||
Postprocessing Multi Frame Quality Enhancement (MFQE) issue.
|
||||
VP8 multithread decoder issues.
|
||||
A variety of fuzzing issues.
|
||||
|
||||
2018-01-04 v1.7.0 "Mandarin Duck"
|
||||
This release focused on high bit depth performance (10/12 bit) and vp9
|
||||
encoding improvements.
|
||||
|
||||
- Upgrading:
|
||||
This release is ABI incompatible due to new vp9 encoder features.
|
||||
|
||||
Frame parallel decoding for vp9 has been removed.
|
||||
|
||||
- Enhancements:
|
||||
vp9 encoding supports additional threads with --row-mt. This can be greater
|
||||
than the number of tiles.
|
||||
|
||||
Two new vp9 encoder options have been added:
|
||||
--corpus-complexity
|
||||
--tune-content=film
|
||||
|
||||
Additional tooling for respecting the vp9 "level" profiles has been added.
|
||||
|
||||
- Bug fixes:
|
||||
A variety of fuzzing issues.
|
||||
vp8 threading fix for ARM.
|
||||
Codec control VP9_SET_SKIP_LOOP_FILTER fixed.
|
||||
Reject invalid multi resolution configurations.
|
||||
|
||||
2017-01-09 v1.6.1 "Long Tailed Duck"
|
||||
This release improves upon the VP9 encoder and speeds up the encoding and
|
||||
decoding processes.
|
||||
|
||||
- Upgrading:
|
||||
This release is ABI compatible with 1.6.0.
|
||||
|
||||
- Enhancements:
|
||||
Faster VP9 encoding and decoding.
|
||||
High bit depth builds now provide similar speed for 8 bit encode and decode
|
||||
for x86 targets. Other platforms and higher bit depth improvements are in
|
||||
progress.
|
||||
|
||||
- Bug Fixes:
|
||||
A variety of fuzzing issues.
|
||||
|
||||
2016-07-20 v1.6.0 "Khaki Campbell Duck"
|
||||
This release improves upon the VP9 encoder and speeds up the encoding and
|
||||
decoding processes.
|
||||
|
||||
- Upgrading:
|
||||
This release is ABI incompatible with 1.5.0 due to a new 'color_range' enum
|
||||
in vpx_image and some minor changes to the VP8_COMP structure.
|
||||
|
||||
The default key frame interval for VP9 has changed from 128 to 9999.
|
||||
|
||||
- Enhancement:
|
||||
A core focus has been performance for low end Intel processors. SSSE3
|
||||
instructions such as 'pshufb' have been avoided and instructions have been
|
||||
reordered to better accommodate the more constrained pipelines.
|
||||
|
||||
As a result, devices based on Celeron processors have seen substantial
|
||||
decoding improvements. From Indian Runner Duck to Javan Whistling Duck,
|
||||
decoding speed improved between 10 and 30%. Between Javan Whistling Duck
|
||||
and Khaki Campbell Duck, it improved another 10 to 15%.
|
||||
|
||||
While Celeron benefited most, Core-i5 also improved 5% and 10% between the
|
||||
respective releases.
|
||||
|
||||
Realtime performance for WebRTC for both speed and quality has received a
|
||||
lot of attention.
|
||||
|
||||
- Bug Fixes:
|
||||
A number of fuzzing issues, found variously by Mozilla, Chromium and others,
|
||||
have been fixed and we strongly recommend updating.
|
||||
|
||||
2015-11-09 v1.5.0 "Javan Whistling Duck"
|
||||
This release improves upon the VP9 encoder and speeds up the encoding and
|
||||
decoding processes.
|
||||
|
||||
- Upgrading:
|
||||
This release is ABI incompatible with 1.4.0. It drops deprecated VP8
|
||||
controls and adds a variety of VP9 controls for testing.
|
||||
|
||||
The vpxenc utility now prefers VP9 by default.
|
||||
|
||||
- Enhancements:
|
||||
Faster VP9 encoding and decoding
|
||||
Smaller library size by combining functions used by VP8 and VP9
|
||||
|
||||
- Bug Fixes:
|
||||
A variety of fuzzing issues
|
||||
|
||||
2015-04-03 v1.4.0 "Indian Runner Duck"
|
||||
This release includes significant improvements to the VP9 codec.
|
||||
|
||||
- Upgrading:
|
||||
This release is ABI incompatible with 1.3.0. It drops the compatibility
|
||||
layer, requiring VPX_IMG_FMT_* instead of IMG_FMT_*, and adds several codec
|
||||
controls for VP9.
|
||||
|
||||
- Enhancements:
|
||||
Faster VP9 encoding and decoding
|
||||
Multithreaded VP9 decoding (tile and frame-based)
|
||||
Multithreaded VP9 encoding - on by default
|
||||
YUV 4:2:2 and 4:4:4 support in VP9
|
||||
10 and 12bit support in VP9
|
||||
64bit ARM support by replacing ARM assembly with intrinsics
|
||||
|
||||
- Bug Fixes:
|
||||
Fixes a VP9 bitstream issue in Profile 1. This only affected non-YUV 4:2:0
|
||||
files.
|
||||
|
||||
- Known Issues:
|
||||
Frame Parallel decoding fails for segmented and non-420 files.
|
||||
|
||||
2013-11-15 v1.3.0 "Forest"
|
||||
This release introduces the VP9 codec in a backward-compatible way.
|
||||
All existing users of VP8 can continue to use the library without
|
||||
modification. However, some VP8 options do not map to VP9 in the same manner.
|
||||
|
||||
The VP9 encoder in this release is not feature complete. Users interested in
|
||||
the encoder are advised to use the git master branch and discuss issues on
|
||||
libvpx mailing lists.
|
||||
|
||||
- Upgrading:
|
||||
This release is ABI and API compatible with Duclair (v1.0.0). Users
|
||||
of older releases should refer to the Upgrading notes in this document
|
||||
for that release.
|
||||
|
||||
- Enhancements:
|
||||
Get rid of bashisms in the main build scripts
|
||||
Added usage info on command line options
|
||||
Add lossless compression mode
|
||||
Dll build of libvpx
|
||||
Add additional Mac OS X targets: 10.7, 10.8 and 10.9 (darwin11-13)
|
||||
Add option to disable documentation
|
||||
configure: add --enable-external-build support
|
||||
make: support V=1 as short form of verbose=yes
|
||||
configure: support mingw-w64
|
||||
configure: support hardfloat armv7 CHOSTS
|
||||
configure: add support for android x86
|
||||
Add estimated completion time to vpxenc
|
||||
Don't exit on decode errors in vpxenc
|
||||
vpxenc: support scaling prior to encoding
|
||||
vpxdec: support scaling output
|
||||
vpxenc: improve progress indicators with --skip
|
||||
msvs: Don't link to winmm.lib
|
||||
Add a new script for producing vcxproj files
|
||||
Produce Visual Studio 10 and 11 project files
|
||||
Produce Windows Phone project files
|
||||
msvs-build: use msbuild for vs >= 2005
|
||||
configure: default configure log to config.log
|
||||
Add encoding option --static-thresh
|
||||
|
||||
- Speed:
|
||||
Miscellaneous speed optimizations for VP8 and VP9.
|
||||
|
||||
- Quality:
|
||||
In general, quality is consistent with the Eider release.
|
||||
|
||||
- Bug Fixes:
|
||||
This release represents approximately a year of engineering effort,
|
||||
and contains multiple bug fixes. Please refer to git history for details.
|
||||
|
||||
|
||||
2012-12-21 v1.2.0
|
||||
This release acts as a checkpoint for a large amount of internal refactoring
|
||||
and testing. It also contains a number of small bugfixes, so all users are
|
||||
encouraged to upgrade.
|
||||
|
||||
- Upgrading:
|
||||
This release is ABI and API compatible with Duclair (v1.0.0). Users
|
||||
of older releases should refer to the Upgrading notes in this
|
||||
document for that release.
|
||||
|
||||
- Enhancements:
|
||||
VP8 optimizations for MIPS dspr2
|
||||
vpxenc: add -quiet option
|
||||
|
||||
- Speed:
|
||||
Encoder and decoder speed is consistent with the Eider release.
|
||||
|
||||
- Quality:
|
||||
In general, quality is consistent with the Eider release.
|
||||
|
||||
Minor tweaks to ARNR filtering
|
||||
Minor improvements to real time encoding with multiple temporal layers
|
||||
|
||||
- Bug Fixes:
|
||||
Fixes multithreaded encoder race condition in loopfilter
|
||||
Fixes multi-resolution threaded encoding
|
||||
Fix potential encoder dead-lock after picture resize
|
||||
|
||||
|
||||
2012-05-09 v1.1.0 "Eider"
|
||||
This introduces a number of enhancements, mostly focused on real-time
|
||||
encoding. In addition, it fixes a decoder bug (first introduced in
|
||||
Duclair) so all users of that release are encouraged to upgrade.
|
||||
|
||||
- Upgrading:
|
||||
This release is ABI and API compatible with Duclair (v1.0.0). Users
|
||||
of older releases should refer to the Upgrading notes in this
|
||||
document for that release.
|
||||
|
||||
This release introduces a new temporal denoiser, controlled by the
|
||||
VP8E_SET_NOISE_SENSITIVITY control. The temporal denoiser does not
|
||||
currently take a strength parameter, so the control is effectively
|
||||
a boolean - zero (off) or non-zero (on). For compatibility with
|
||||
existing applications, the values accepted are the same as those
|
||||
for the spatial denoiser (0-6). The temporal denoiser is enabled
|
||||
by default, and the older spatial denoiser may be restored by
|
||||
configuring with --disable-temporal-denoising. The temporal denoiser
|
||||
is more computationally intensive than the spatial one.
|
||||
|
||||
This release removes support for a legacy, decode only API that was
|
||||
supported, but deprecated, at the initial release of libvpx
|
||||
(v0.9.0). This is not expected to have any impact. If you are
|
||||
impacted, you can apply a reversion to commit 2bf8fb58 locally.
|
||||
Please update to the latest libvpx API if you are affected.
|
||||
|
||||
- Enhancements:
|
||||
Adds a motion compensated temporal denoiser to the encoder, which
|
||||
gives higher quality than the older spatial denoiser. (See above
|
||||
for notes on upgrading).
|
||||
|
||||
In addition, support for new compilers and platforms were added,
|
||||
including:
|
||||
improved support for XCode
|
||||
Android x86 NDK build
|
||||
OS/2 support
|
||||
SunCC support
|
||||
|
||||
Changing resolution with vpx_codec_enc_config_set() is now
|
||||
supported. Previously, reinitializing the codec was required to
|
||||
change the input resolution.
|
||||
|
||||
The vpxenc application has initial support for producing multiple
|
||||
encodes from the same input in one call. Resizing is not yet
|
||||
supported, but varying other codec parameters is. Use -- to
|
||||
delineate output streams. Options persist from one stream to the
|
||||
next.
|
||||
|
||||
Also, the vpxenc application will now use a keyframe interval of
|
||||
5 seconds by default. Use the --kf-max-dist option to override.
|
||||
|
||||
- Speed:
|
||||
Decoder performance improved 2.5% versus Duclair. Encoder speed is
|
||||
consistent with Duclair for most material. Two pass encoding of
|
||||
slideshow-like material will see significant improvements.
|
||||
|
||||
Large realtime encoding speed gains at a small quality expense are
|
||||
possible by configuring the on-the-fly bitpacking experiment with
|
||||
--enable-onthefly-bitpacking. Realtime encoder can be up to 13%
|
||||
faster (ARM) depending on the number of threads and bitrate
|
||||
settings. This technique sees constant gain over the 5-16 speed
|
||||
range. For VC style input the loss seen is up to 0.2dB. See commit
|
||||
52cf4dca for further details.
|
||||
|
||||
- Quality:
|
||||
On the whole, quality is consistent with the Duclair release. Some
|
||||
tweaks:
|
||||
|
||||
Reduced blockiness in easy sections by applying a penalty to
|
||||
intra modes.
|
||||
|
||||
Improved quality of static sections (like slideshows) with
|
||||
two pass encoding.
|
||||
|
||||
Improved keyframe sizing with multiple temporal layers
|
||||
|
||||
- Bug Fixes:
|
||||
Corrected alt-ref contribution to frame rate for visible updates
|
||||
to the alt-ref buffer. This affected applications making manual
|
||||
usage of the frame reference flags, or temporal layers.
|
||||
|
||||
Additional constraints were added to disable multi-frame quality
|
||||
enhancement (MFQE) in sections of the frame where there is motion.
|
||||
(#392)
|
||||
|
||||
Fixed corruption issues when vpx_codec_enc_config_set() was called
|
||||
with spatial resampling enabled.
|
||||
|
||||
Fixed a decoder error introduced in Duclair where the segmentation
|
||||
map was not being reinitialized on keyframes (#378)
|
||||
|
||||
|
||||
2012-01-27 v1.0.0 "Duclair"
|
||||
Our fourth named release, focused on performance and features related to
|
||||
real-time encoding. It also fixes a decoder crash bug introduced in
|
||||
v0.9.7, so all users of that release are encouraged to upgrade.
|
||||
|
||||
- Upgrading:
|
||||
This release is ABI incompatible with prior releases of libvpx, so the
|
||||
"major" version number has been bumped to 1. You must recompile your
|
||||
applications against the latest version of the libvpx headers. The
|
||||
API remains compatible, and this should not require code changes in most
|
||||
applications.
|
||||
|
||||
- Enhancements:
|
||||
This release introduces several substantial new features to the encoder,
|
||||
of particular interest to real time streaming applications.
|
||||
|
||||
Temporal scalability allows the encoder to produce a stream that can
|
||||
be decimated to different frame rates, with independent rate targeting
|
||||
for each substream.
|
||||
|
||||
Multiframe quality enhancement postprocessing can make visual quality
|
||||
more consistent in the presence of frames that are substantially
|
||||
different quality than the surrounding frames, as in the temporal
|
||||
scalability case and in some forced keyframe scenarios.
|
||||
|
||||
Multiple-resolution encoding support allows the encoding of the
|
||||
same content at different resolutions faster than encoding them
|
||||
separately.
|
||||
|
||||
- Speed:
|
||||
Optimization targets for this release included the decoder and the real-
|
||||
time modes of the encoder. Decoder speed on x86 has improved 10.5% with
|
||||
this release. Encoder improvements followed a curve where speeds 1-3
|
||||
improved 4.0%-1.5%, speeds 4-8 improved <1%, and speeds 9-16 improved
|
||||
1.5% to 10.5%, respectively. "Best" mode speed is consistent with the
|
||||
Cayuga release.
|
||||
|
||||
- Quality:
|
||||
Encoder quality in the single stream case is consistent with the Cayuga
|
||||
release.
|
||||
|
||||
- Bug Fixes:
|
||||
This release fixes an OOB read decoder crash bug present in v0.9.7
|
||||
related to the clamping of motion vectors in SPLITMV blocks. This
|
||||
behavior could be triggered by corrupt input or by starting
|
||||
decoding from a P-frame.
|
||||
|
||||
|
||||
2011-08-15 v0.9.7-p1 "Cayuga" patch 1
|
||||
This is an incremental bugfix release against Cayuga. All users of that
|
||||
release are strongly encouraged to upgrade.
|
||||
|
||||
- Fix potential OOB reads (cdae03a)
|
||||
|
||||
An unbounded out of bounds read was discovered when the
|
||||
decoder was requested to perform error concealment (new in
|
||||
Cayuga) given a frame with corrupt partition sizes.
|
||||
|
||||
A bounded out of bounds read was discovered affecting all
|
||||
versions of libvpx. Given an multipartition input frame that
|
||||
is truncated between the mode/mv partition and the first
|
||||
residiual paritition (in the block of partition offsets), up
|
||||
to 3 extra bytes could have been read from the source buffer.
|
||||
The code will not take any action regardless of the contents
|
||||
of these undefined bytes, as the truncated buffer is detected
|
||||
immediately following the read based on the calculated
|
||||
starting position of the coefficient partition.
|
||||
|
||||
- Fix potential error concealment crash when the very first frame
|
||||
is missing or corrupt (a609be5)
|
||||
|
||||
- Fix significant artifacts in error concealment (a4c2211, 99d870a)
|
||||
|
||||
- Revert 1-pass CBR rate control changes (e961317)
|
||||
Further testing showed this change produced undesirable visual
|
||||
artifacts, rolling back for now.
|
||||
|
||||
|
||||
2011-08-02 v0.9.7 "Cayuga"
|
||||
Our third named release, focused on a faster, higher quality, encoder.
|
||||
|
||||
- Upgrading:
|
||||
This release is backwards compatible with Aylesbury (v0.9.5) and
|
||||
Bali (v0.9.6). Users of older releases should refer to the Upgrading
|
||||
notes in this document for that release.
|
||||
|
||||
- Enhancements:
|
||||
Stereo 3D format support for vpxenc
|
||||
Runtime detection of available processor cores.
|
||||
Allow specifying --end-usage by enum name
|
||||
vpxdec: test for frame corruption
|
||||
vpxenc: add quantizer histogram display
|
||||
vpxenc: add rate histogram display
|
||||
Set VPX_FRAME_IS_DROPPABLE
|
||||
update configure for ios sdk 4.3
|
||||
Avoid text relocations in ARM vp8 decoder
|
||||
Generate a vpx.pc file for pkg-config.
|
||||
New ways of passing encoded data between encoder and decoder.
|
||||
|
||||
- Speed:
|
||||
This release includes across-the-board speed improvements to the
|
||||
encoder. On x86, these measure at approximately 11.5% in Best mode,
|
||||
21.5% in Good mode (speed 0), and 22.5% in Realtime mode (speed 6).
|
||||
On ARM Cortex A9 with Neon extensions, real-time encoding of video
|
||||
telephony content is 35% faster than Bali on single core and 48%
|
||||
faster on multi-core. On the NVidia Tegra2 platform, real time
|
||||
encoding is 40% faster than Bali.
|
||||
|
||||
Decoder speed was not a priority for this release, but improved
|
||||
approximately 8.4% on x86.
|
||||
|
||||
Reduce motion vector search on alt-ref frame.
|
||||
Encoder loopfilter running in its own thread
|
||||
Reworked loopfilter to precalculate more parameters
|
||||
SSE2/SSSE3 optimizations for build_predictors_mbuv{,_s}().
|
||||
Make hor UV predict ~2x faster (73 vs 132 cycles) using SSSE3.
|
||||
Removed redundant checks
|
||||
Reduced structure sizes
|
||||
utilize preload in ARMv6 MC/LPF/Copy routines
|
||||
ARM optimized quantization, dfct, variance, subtract
|
||||
Increase chrow row alignment to 16 bytes.
|
||||
disable trellis optimization for first pass
|
||||
Write SSSE3 sub-pixel filter function
|
||||
Improve SSE2 half-pixel filter funtions
|
||||
Add vp8_sub_pixel_variance16x8_ssse3 function
|
||||
Reduce unnecessary distortion computation
|
||||
Use diamond search to replace full search
|
||||
Preload reference area in sub-pixel motion search (real-time mode)
|
||||
|
||||
- Quality:
|
||||
This release focused primarily on one-pass use cases, including
|
||||
video conferencing. Low latency data rate control was significantly
|
||||
improved, improving streamability over bandwidth constrained links.
|
||||
Added support for error concealment, allowing frames to maintain
|
||||
visual quality in the presence of substantial packet loss.
|
||||
|
||||
Add rc_max_intra_bitrate_pct control
|
||||
Limit size of initial keyframe in one-pass.
|
||||
Improve framerate adaptation
|
||||
Improved 1-pass CBR rate control
|
||||
Improved KF insertion after fades to still.
|
||||
Improved key frame detection.
|
||||
Improved activity masking (lower PSNR impact for same SSIM boost)
|
||||
Improved interaction between GF and ARFs
|
||||
Adding error-concealment to the decoder.
|
||||
Adding support for independent partitions
|
||||
Adjusted rate-distortion constants
|
||||
|
||||
|
||||
- Bug Fixes:
|
||||
Removed firstpass motion map
|
||||
Fix parallel make install
|
||||
Fix multithreaded encoding for 1 MB wide frame
|
||||
Fixed iwalsh_neon build problems with RVDS4.1
|
||||
Fix semaphore emulation, spin-wait intrinsics on Windows
|
||||
Fix build with xcode4 and simplify GLOBAL.
|
||||
Mark ARM asm objects as allowing a non-executable stack.
|
||||
Fix vpxenc encoding incorrect webm file header on big endian
|
||||
|
||||
|
||||
2011-03-07 v0.9.6 "Bali"
|
||||
Our second named release, focused on a faster, higher quality, encoder.
|
||||
|
||||
- Upgrading:
|
||||
This release is backwards compatible with Aylesbury (v0.9.5). Users
|
||||
of older releases should refer to the Upgrading notes in this
|
||||
document for that release.
|
||||
|
||||
- Enhancements:
|
||||
vpxenc --psnr shows a summary when encode completes
|
||||
--tune=ssim option to enable activity masking
|
||||
improved postproc visualizations for development
|
||||
updated support for Apple iOS to SDK 4.2
|
||||
query decoder to determine which reference frames were updated
|
||||
implemented error tracking in the decoder
|
||||
fix pipe support on windows
|
||||
|
||||
- Speed:
|
||||
Primary focus was on good quality mode, speed 0. Average improvement
|
||||
on x86 about 40%, up to 100% on user-generated content at that speed.
|
||||
Best quality mode speed improved 35%, and realtime speed 10-20%. This
|
||||
release also saw significant improvement in realtime encoding speed
|
||||
on ARM platforms.
|
||||
|
||||
Improved encoder threading
|
||||
Dont pick encoder filter level when loopfilter is disabled.
|
||||
Avoid double copying of key frames into alt and golden buffer
|
||||
FDCT optimizations.
|
||||
x86 sse2 temporal filter
|
||||
SSSE3 version of fast quantizer
|
||||
vp8_rd_pick_best_mbsegmentation code restructure
|
||||
Adjusted breakout RD for SPLITMV
|
||||
Changed segmentation check order
|
||||
Improved rd_pick_intra4x4block
|
||||
Adds armv6 optimized variance calculation
|
||||
ARMv6 optimized sad16x16
|
||||
ARMv6 optimized half pixel variance calculations
|
||||
Full search SAD function optimization in SSE4.1
|
||||
Improve MV prediction accuracy to achieve performance gain
|
||||
Improve MV prediction in vp8_pick_inter_mode() for speed>3
|
||||
|
||||
- Quality:
|
||||
Best quality mode improved PSNR 6.3%, and SSIM 6.1%. This release
|
||||
also includes support for "activity masking," which greatly improves
|
||||
SSIM at the expense of PSNR. For now, this feature is available with
|
||||
the --tune=ssim option. Further experimentation in this area
|
||||
is ongoing. This release also introduces a new rate control mode
|
||||
called "CQ," which changes the allocation of bits within a clip to
|
||||
the sections where they will have the most visual impact.
|
||||
|
||||
Tuning for the more exact quantizer.
|
||||
Relax rate control for last few frames
|
||||
CQ Mode
|
||||
Limit key frame quantizer for forced key frames.
|
||||
KF/GF Pulsing
|
||||
Add simple version of activity masking.
|
||||
make rdmult adaptive for intra in quantizer RDO
|
||||
cap the best quantizer for 2nd order DC
|
||||
change the threshold of DC check for encode breakout
|
||||
|
||||
- Bug Fixes:
|
||||
Fix crash on Sparc Solaris.
|
||||
Fix counter of fixed keyframe distance
|
||||
ARNR filter pointer update bug fix
|
||||
Fixed use of motion percentage in KF/GF group calc
|
||||
Changed condition for using RD in Intra Mode
|
||||
Fix encoder real-time only configuration.
|
||||
Fix ARM encoder crash with multiple token partitions
|
||||
Fixed bug first cluster timecode of webm file is wrong.
|
||||
Fixed various encoder bugs with odd-sized images
|
||||
vp8e_get_preview fixed when spatial resampling enabled
|
||||
quantizer: fix assertion in fast quantizer path
|
||||
Allocate source buffers to be multiples of 16
|
||||
Fix for manual Golden frame frequency
|
||||
Fix drastic undershoot in long form content
|
||||
|
||||
|
||||
2010-10-28 v0.9.5 "Aylesbury"
|
||||
Our first named release, focused on a faster decoder, and a better encoder.
|
||||
|
||||
- Upgrading:
|
||||
This release incorporates backwards-incompatible changes to the
|
||||
ivfenc and ivfdec tools. These tools are now called vpxenc and vpxdec.
|
||||
|
||||
vpxdec
|
||||
* the -q (quiet) option has been removed, and replaced with
|
||||
-v (verbose). the output is quiet by default. Use -v to see
|
||||
the version number of the binary.
|
||||
|
||||
* The default behavior is now to write output to a single file
|
||||
instead of individual frames. The -y option has been removed.
|
||||
Y4M output is the default.
|
||||
|
||||
* For raw I420/YV12 output instead of Y4M, the --i420 or --yv12
|
||||
options must be specified.
|
||||
|
||||
$ ivfdec -o OUTPUT INPUT
|
||||
$ vpxdec --i420 -o OUTPUT INPUT
|
||||
|
||||
* If an output file is not specified, the default is to write
|
||||
Y4M to stdout. This makes piping more natural.
|
||||
|
||||
$ ivfdec -y -o - INPUT | ...
|
||||
$ vpxdec INPUT | ...
|
||||
|
||||
* The output file has additional flexibility for formatting the
|
||||
filename. It supports escape characters for constructing a
|
||||
filename from the width, height, and sequence number. This
|
||||
replaces the -p option. To get the equivalent:
|
||||
|
||||
$ ivfdec -p frame INPUT
|
||||
$ vpxdec --i420 -o frame-%wx%h-%4.i420 INPUT
|
||||
|
||||
vpxenc
|
||||
* The output file must be specified with -o, rather than as the
|
||||
last argument.
|
||||
|
||||
$ ivfenc <options> INPUT OUTPUT
|
||||
$ vpxenc <options> -o OUTPUT INPUT
|
||||
|
||||
* The output defaults to webm. To get IVF output, use the --ivf
|
||||
option.
|
||||
|
||||
$ ivfenc <options> INPUT OUTPUT.ivf
|
||||
$ vpxenc <options> -o OUTPUT.ivf --ivf INPUT
|
||||
|
||||
|
||||
- Enhancements:
|
||||
ivfenc and ivfdec have been renamed to vpxenc, vpxdec.
|
||||
vpxdec supports .webm input
|
||||
vpxdec writes .y4m by default
|
||||
vpxenc writes .webm output by default
|
||||
vpxenc --psnr now shows the average/overall PSNR at the end
|
||||
ARM platforms now support runtime cpu detection
|
||||
vpxdec visualizations added for motion vectors, block modes, references
|
||||
vpxdec now silent by default
|
||||
vpxdec --progress shows frame-by-frame timing information
|
||||
vpxenc supports the distinction between --fps and --timebase
|
||||
NASM is now a supported assembler
|
||||
configure: enable PIC for shared libs by default
|
||||
configure: add --enable-small
|
||||
configure: support for ppc32-linux-gcc
|
||||
configure: support for sparc-solaris-gcc
|
||||
|
||||
- Bugs:
|
||||
Improve handling of invalid frames
|
||||
Fix valgrind errors in the NEON loop filters.
|
||||
Fix loopfilter delta zero transitions
|
||||
Fix valgrind errors in vp8_sixtap_predict8x4_armv6().
|
||||
Build fixes for darwin-icc
|
||||
|
||||
- Speed:
|
||||
20-40% (average 28%) improvement in libvpx decoder speed,
|
||||
including:
|
||||
Rewrite vp8_short_walsh4x4_sse2()
|
||||
Optimizations on the loopfilters.
|
||||
Miscellaneous improvements for Atom
|
||||
Add 4-tap version of 2nd-pass ARMv6 MC filter.
|
||||
Improved multithread utilization
|
||||
Better instruction choices on x86
|
||||
reorder data to use wider instructions
|
||||
Update NEON wide idcts
|
||||
Make block access to frame buffer sequential
|
||||
Improved subset block search
|
||||
Bilinear subpixel optimizations for ssse3.
|
||||
Decrease memory footprint
|
||||
|
||||
Encoder speed improvements (percentage gain not measured):
|
||||
Skip unnecessary search of identical frames
|
||||
Add SSE2 subtract functions
|
||||
Improve bounds checking in vp8_diamond_search_sadx4()
|
||||
Added vp8_fast_quantize_b_sse2
|
||||
|
||||
- Quality:
|
||||
Over 7% overall PSNR improvement (6.3% SSIM) in "best" quality
|
||||
encoding mode, and up to 60% improvement on very noisy, still
|
||||
or slow moving source video
|
||||
|
||||
Motion compensated temporal filter for Alt-Ref Noise Reduction
|
||||
Improved use of trellis quantization on 2nd order Y blocks
|
||||
Tune effect of motion on KF/GF boost in two pass
|
||||
Allow coefficient optimization for good quality speed 0.
|
||||
Improved control of active min quantizer for two pass.
|
||||
Enable ARFs for non-lagged compress
|
||||
|
||||
2010-09-02 v0.9.2
|
||||
- Enhancements:
|
||||
Disable frame dropping by default
|
||||
Improved multithreaded performance
|
||||
Improved Force Key Frame Behaviour
|
||||
Increased rate control buffer level precision
|
||||
Fix bug in 1st pass motion compensation
|
||||
ivfenc: correct fixed kf interval, --disable-kf
|
||||
- Speed:
|
||||
Changed above and left context data layout
|
||||
Rework idct calling structure.
|
||||
Removed unnecessary MB_MODE_INFO copies
|
||||
x86: SSSE3 sixtap prediction
|
||||
Reworked IDCT to include reconstruction (add) step
|
||||
Swap alt/gold/new/last frame buffer ptrs instead of copying.
|
||||
Improve SSE2 loopfilter functions
|
||||
Change bitreader to use a larger window.
|
||||
Avoid loopfilter reinitialization when possible
|
||||
- Quality:
|
||||
Normalize quantizer's zero bin and rounding factors
|
||||
Add trellis quantization.
|
||||
Make the quantizer exact.
|
||||
Updates to ARNR filtering algorithm
|
||||
Fix breakout thresh computation for golden & AltRef frames
|
||||
Redo the forward 4x4 dct
|
||||
Improve the accuracy of forward walsh-hadamard transform
|
||||
Further adjustment of RD behaviour with Q and Zbin.
|
||||
- Build System:
|
||||
Allow linking of libs built with MinGW to MSVC
|
||||
Fix target auto-detection on mingw32
|
||||
Allow --cpu= to work for x86.
|
||||
configure: pass original arguments through to make dist
|
||||
Fix builds without runtime CPU detection
|
||||
msvs: fix install of codec sources
|
||||
msvs: Change devenv.com command line for better msys support
|
||||
msvs: Add vs9 targets.
|
||||
Add x86_64-linux-icc target
|
||||
- Bugs:
|
||||
Potential crashes on older MinGW builds
|
||||
Fix two-pass framrate for Y4M input.
|
||||
Fixed simple loop filter, other crashes on ARM v6
|
||||
arm: fix missing dependency with --enable-shared
|
||||
configure: support directories containing .o
|
||||
Replace pinsrw (SSE) with MMX instructions
|
||||
apple: include proper mach primatives
|
||||
Fixed rate control bug with long key frame interval.
|
||||
Fix DSO link errors on x86-64 when not using a version script
|
||||
Fixed buffer selection for UV in AltRef filtering
|
||||
|
||||
|
||||
2010-06-17 v0.9.1
|
||||
- Enhancements:
|
||||
* ivfenc/ivfdec now support YUV4MPEG2 input and pipe I/O
|
||||
* Speed optimizations
|
||||
- Bugfixes:
|
||||
* Rate control
|
||||
* Prevent out-of-bounds accesses on invalid data
|
||||
- Build system updates:
|
||||
* Detect toolchain to be used automatically for native builds
|
||||
* Support building shared libraries
|
||||
* Better autotools emulation (--prefix, --libdir, DESTDIR)
|
||||
- Updated LICENSE
|
||||
* http://webmproject.blogspot.com/2010/06/changes-to-webm-open-source-license.html
|
||||
|
||||
|
||||
2010-05-18 v0.9.0
|
||||
- Initial open source release. Welcome to WebM and VP8!
|
||||
|
||||
31
TMessagesProj/jni/third_party/libvpx/source/libvpx/LICENSE
vendored
Normal file
31
TMessagesProj/jni/third_party/libvpx/source/libvpx/LICENSE
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
Copyright (c) 2010, The WebM Project authors. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
* Neither the name of Google, nor the WebM Project, nor the names
|
||||
of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
23
TMessagesProj/jni/third_party/libvpx/source/libvpx/PATENTS
vendored
Normal file
23
TMessagesProj/jni/third_party/libvpx/source/libvpx/PATENTS
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
Additional IP Rights Grant (Patents)
|
||||
------------------------------------
|
||||
|
||||
"These implementations" means the copyrightable works that implement the WebM
|
||||
codecs distributed by Google as part of the WebM Project.
|
||||
|
||||
Google hereby grants to you a perpetual, worldwide, non-exclusive, no-charge,
|
||||
royalty-free, irrevocable (except as stated in this section) patent license to
|
||||
make, have made, use, offer to sell, sell, import, transfer, and otherwise
|
||||
run, modify and propagate the contents of these implementations of WebM, where
|
||||
such license applies only to those patent claims, both currently owned by
|
||||
Google and acquired in the future, licensable by Google that are necessarily
|
||||
infringed by these implementations of WebM. This grant does not include claims
|
||||
that would be infringed only as a consequence of further modification of these
|
||||
implementations. If you or your agent or exclusive licensee institute or order
|
||||
or agree to the institution of patent litigation or any other patent
|
||||
enforcement activity against any entity (including a cross-claim or
|
||||
counterclaim in a lawsuit) alleging that any of these implementations of WebM
|
||||
or any code incorporated within any of these implementations of WebM
|
||||
constitute direct or contributory patent infringement, or inducement of
|
||||
patent infringement, then any patent rights granted to you under this License
|
||||
for these implementations of WebM shall terminate as of the date such
|
||||
litigation is filed.
|
||||
170
TMessagesProj/jni/third_party/libvpx/source/libvpx/README
vendored
Normal file
170
TMessagesProj/jni/third_party/libvpx/source/libvpx/README
vendored
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
README - 9 December 2019
|
||||
|
||||
Welcome to the WebM VP8/VP9 Codec SDK!
|
||||
|
||||
COMPILING THE APPLICATIONS/LIBRARIES:
|
||||
The build system used is similar to autotools. Building generally consists of
|
||||
"configuring" with your desired build options, then using GNU make to build
|
||||
the application.
|
||||
|
||||
1. Prerequisites
|
||||
|
||||
* All x86 targets require the Yasm[1] assembler be installed[2].
|
||||
* All Windows builds require that Cygwin[3] be installed.
|
||||
* Building the documentation requires Doxygen[4]. If you do not
|
||||
have this package, the install-docs option will be disabled.
|
||||
* Downloading the data for the unit tests requires curl[5] and sha1sum.
|
||||
sha1sum is provided via the GNU coreutils, installed by default on
|
||||
many *nix platforms, as well as MinGW and Cygwin. If coreutils is not
|
||||
available, a compatible version of sha1sum can be built from
|
||||
source[6]. These requirements are optional if not running the unit
|
||||
tests.
|
||||
|
||||
[1]: http://www.tortall.net/projects/yasm
|
||||
[2]: For Visual Studio the base yasm binary (not vsyasm) should be in the
|
||||
PATH for Visual Studio. For VS2017 it is sufficient to rename
|
||||
yasm-<version>-<arch>.exe to yasm.exe and place it in:
|
||||
Program Files (x86)/Microsoft Visual Studio/2017/<level>/Common7/Tools/
|
||||
[3]: http://www.cygwin.com
|
||||
[4]: http://www.doxygen.org
|
||||
[5]: http://curl.haxx.se
|
||||
[6]: http://www.microbrew.org/tools/md5sha1sum/
|
||||
|
||||
2. Out-of-tree builds
|
||||
Out of tree builds are a supported method of building the application. For
|
||||
an out of tree build, the source tree is kept separate from the object
|
||||
files produced during compilation. For instance:
|
||||
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../libvpx/configure <options>
|
||||
$ make
|
||||
|
||||
3. Configuration options
|
||||
The 'configure' script supports a number of options. The --help option can be
|
||||
used to get a list of supported options:
|
||||
$ ../libvpx/configure --help
|
||||
|
||||
4. Compiler analyzers
|
||||
Compilers have added sanitizers which instrument binaries with information
|
||||
about address calculation, memory usage, threading, undefined behavior, and
|
||||
other common errors. To simplify building libvpx with some of these features
|
||||
use tools/set_analyzer_env.sh before running configure. It will set the
|
||||
compiler and necessary flags for building as well as environment variables
|
||||
read by the analyzer when testing the binaries.
|
||||
$ source ../libvpx/tools/set_analyzer_env.sh address
|
||||
|
||||
5. Cross development
|
||||
For cross development, the most notable option is the --target option. The
|
||||
most up-to-date list of supported targets can be found at the bottom of the
|
||||
--help output of the configure script. As of this writing, the list of
|
||||
available targets is:
|
||||
|
||||
arm64-android-gcc
|
||||
arm64-darwin-gcc
|
||||
arm64-linux-gcc
|
||||
arm64-win64-gcc
|
||||
arm64-win64-vs15
|
||||
armv7-android-gcc
|
||||
armv7-darwin-gcc
|
||||
armv7-linux-rvct
|
||||
armv7-linux-gcc
|
||||
armv7-none-rvct
|
||||
armv7-win32-gcc
|
||||
armv7-win32-vs14
|
||||
armv7-win32-vs15
|
||||
armv7s-darwin-gcc
|
||||
armv8-linux-gcc
|
||||
mips32-linux-gcc
|
||||
mips64-linux-gcc
|
||||
ppc64le-linux-gcc
|
||||
sparc-solaris-gcc
|
||||
x86-android-gcc
|
||||
x86-darwin8-gcc
|
||||
x86-darwin8-icc
|
||||
x86-darwin9-gcc
|
||||
x86-darwin9-icc
|
||||
x86-darwin10-gcc
|
||||
x86-darwin11-gcc
|
||||
x86-darwin12-gcc
|
||||
x86-darwin13-gcc
|
||||
x86-darwin14-gcc
|
||||
x86-darwin15-gcc
|
||||
x86-darwin16-gcc
|
||||
x86-darwin17-gcc
|
||||
x86-iphonesimulator-gcc
|
||||
x86-linux-gcc
|
||||
x86-linux-icc
|
||||
x86-os2-gcc
|
||||
x86-solaris-gcc
|
||||
x86-win32-gcc
|
||||
x86-win32-vs14
|
||||
x86-win32-vs15
|
||||
x86-win32-vs16
|
||||
x86_64-android-gcc
|
||||
x86_64-darwin9-gcc
|
||||
x86_64-darwin10-gcc
|
||||
x86_64-darwin11-gcc
|
||||
x86_64-darwin12-gcc
|
||||
x86_64-darwin13-gcc
|
||||
x86_64-darwin14-gcc
|
||||
x86_64-darwin15-gcc
|
||||
x86_64-darwin16-gcc
|
||||
x86_64-darwin17-gcc
|
||||
x86_64-darwin18-gcc
|
||||
x86_64-darwin19-gcc
|
||||
x86_64-iphonesimulator-gcc
|
||||
x86_64-linux-gcc
|
||||
x86_64-linux-icc
|
||||
x86_64-solaris-gcc
|
||||
x86_64-win64-gcc
|
||||
x86_64-win64-vs14
|
||||
x86_64-win64-vs15
|
||||
x86_64-win64-vs16
|
||||
generic-gnu
|
||||
|
||||
The generic-gnu target, in conjunction with the CROSS environment variable,
|
||||
can be used to cross compile architectures that aren't explicitly listed, if
|
||||
the toolchain is a cross GNU (gcc/binutils) toolchain. Other POSIX toolchains
|
||||
will likely work as well. For instance, to build using the mipsel-linux-uclibc
|
||||
toolchain, the following command could be used (note, POSIX SH syntax, adapt
|
||||
to your shell as necessary):
|
||||
|
||||
$ CROSS=mipsel-linux-uclibc- ../libvpx/configure
|
||||
|
||||
In addition, the executables to be invoked can be overridden by specifying the
|
||||
environment variables: CC, AR, LD, AS, STRIP, NM. Additional flags can be
|
||||
passed to these executables with CFLAGS, LDFLAGS, and ASFLAGS.
|
||||
|
||||
6. Configuration errors
|
||||
If the configuration step fails, the first step is to look in the error log.
|
||||
This defaults to config.log. This should give a good indication of what went
|
||||
wrong. If not, contact us for support.
|
||||
|
||||
VP8/VP9 TEST VECTORS:
|
||||
The test vectors can be downloaded and verified using the build system after
|
||||
running configure. To specify an alternate directory the
|
||||
LIBVPX_TEST_DATA_PATH environment variable can be used.
|
||||
|
||||
$ ./configure --enable-unit-tests
|
||||
$ LIBVPX_TEST_DATA_PATH=../libvpx-test-data make testdata
|
||||
|
||||
CODE STYLE:
|
||||
The coding style used by this project is enforced with clang-format using the
|
||||
configuration contained in the .clang-format file in the root of the
|
||||
repository.
|
||||
|
||||
Before pushing changes for review you can format your code with:
|
||||
# Apply clang-format to modified .c, .h and .cc files
|
||||
$ clang-format -i --style=file \
|
||||
$(git diff --name-only --diff-filter=ACMR '*.[hc]' '*.cc')
|
||||
|
||||
Check the .clang-format file for the version used to generate it if there is
|
||||
any difference between your local formatting and the review system.
|
||||
|
||||
See also: http://clang.llvm.org/docs/ClangFormat.html
|
||||
|
||||
SUPPORT
|
||||
This library is an open source project supported by its community. Please
|
||||
email webm-discuss@webmproject.org for help.
|
||||
|
||||
215
TMessagesProj/jni/third_party/libvpx/source/libvpx/args.c
vendored
Normal file
215
TMessagesProj/jni/third_party/libvpx/source/libvpx/args.c
vendored
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
/*
|
||||
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include "args.h"
|
||||
|
||||
#include "vpx/vpx_integer.h"
|
||||
#include "vpx_ports/msvc.h"
|
||||
|
||||
#if defined(__GNUC__) && __GNUC__
|
||||
extern void die(const char *fmt, ...) __attribute__((noreturn));
|
||||
#else
|
||||
extern void die(const char *fmt, ...);
|
||||
#endif
|
||||
|
||||
struct arg arg_init(char **argv) {
|
||||
struct arg a;
|
||||
|
||||
a.argv = argv;
|
||||
a.argv_step = 1;
|
||||
a.name = NULL;
|
||||
a.val = NULL;
|
||||
a.def = NULL;
|
||||
return a;
|
||||
}
|
||||
|
||||
int arg_match(struct arg *arg_, const struct arg_def *def, char **argv) {
|
||||
struct arg arg;
|
||||
|
||||
if (!argv[0] || argv[0][0] != '-') return 0;
|
||||
|
||||
arg = arg_init(argv);
|
||||
|
||||
if (def->short_name && strlen(arg.argv[0]) == strlen(def->short_name) + 1 &&
|
||||
!strcmp(arg.argv[0] + 1, def->short_name)) {
|
||||
arg.name = arg.argv[0] + 1;
|
||||
arg.val = def->has_val ? arg.argv[1] : NULL;
|
||||
arg.argv_step = def->has_val ? 2 : 1;
|
||||
} else if (def->long_name) {
|
||||
const size_t name_len = strlen(def->long_name);
|
||||
|
||||
if (strlen(arg.argv[0]) >= name_len + 2 && arg.argv[0][1] == '-' &&
|
||||
!strncmp(arg.argv[0] + 2, def->long_name, name_len) &&
|
||||
(arg.argv[0][name_len + 2] == '=' ||
|
||||
arg.argv[0][name_len + 2] == '\0')) {
|
||||
arg.name = arg.argv[0] + 2;
|
||||
arg.val = arg.name[name_len] == '=' ? arg.name + name_len + 1 : NULL;
|
||||
arg.argv_step = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg.name && !arg.val && def->has_val)
|
||||
die("Error: option %s requires argument.\n", arg.name);
|
||||
|
||||
if (arg.name && arg.val && !def->has_val)
|
||||
die("Error: option %s requires no argument.\n", arg.name);
|
||||
|
||||
if (arg.name && (arg.val || !def->has_val)) {
|
||||
arg.def = def;
|
||||
*arg_ = arg;
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *arg_next(struct arg *arg) {
|
||||
if (arg->argv[0]) arg->argv += arg->argv_step;
|
||||
|
||||
return *arg->argv;
|
||||
}
|
||||
|
||||
char **argv_dup(int argc, const char **argv) {
|
||||
char **new_argv = malloc((argc + 1) * sizeof(*argv));
|
||||
|
||||
memcpy(new_argv, argv, argc * sizeof(*argv));
|
||||
new_argv[argc] = NULL;
|
||||
return new_argv;
|
||||
}
|
||||
|
||||
void arg_show_usage(FILE *fp, const struct arg_def *const *defs) {
|
||||
char option_text[40] = { 0 };
|
||||
|
||||
for (; *defs; defs++) {
|
||||
const struct arg_def *def = *defs;
|
||||
char *short_val = def->has_val ? " <arg>" : "";
|
||||
char *long_val = def->has_val ? "=<arg>" : "";
|
||||
|
||||
if (def->short_name && def->long_name) {
|
||||
char *comma = def->has_val ? "," : ", ";
|
||||
|
||||
snprintf(option_text, 37, "-%s%s%s --%s%6s", def->short_name, short_val,
|
||||
comma, def->long_name, long_val);
|
||||
} else if (def->short_name)
|
||||
snprintf(option_text, 37, "-%s%s", def->short_name, short_val);
|
||||
else if (def->long_name)
|
||||
snprintf(option_text, 37, " --%s%s", def->long_name, long_val);
|
||||
|
||||
fprintf(fp, " %-37s\t%s\n", option_text, def->desc);
|
||||
|
||||
if (def->enums) {
|
||||
const struct arg_enum_list *listptr;
|
||||
|
||||
fprintf(fp, " %-37s\t ", "");
|
||||
|
||||
for (listptr = def->enums; listptr->name; listptr++)
|
||||
fprintf(fp, "%s%s", listptr->name, listptr[1].name ? ", " : "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsigned int arg_parse_uint(const struct arg *arg) {
|
||||
uint32_t rawval;
|
||||
char *endptr;
|
||||
|
||||
rawval = (uint32_t)strtoul(arg->val, &endptr, 10);
|
||||
|
||||
if (arg->val[0] != '\0' && endptr[0] == '\0') {
|
||||
if (rawval <= UINT_MAX) return rawval;
|
||||
|
||||
die("Option %s: Value %ld out of range for unsigned int\n", arg->name,
|
||||
rawval);
|
||||
}
|
||||
|
||||
die("Option %s: Invalid character '%c'\n", arg->name, *endptr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int arg_parse_int(const struct arg *arg) {
|
||||
int32_t rawval;
|
||||
char *endptr;
|
||||
|
||||
rawval = (int32_t)strtol(arg->val, &endptr, 10);
|
||||
|
||||
if (arg->val[0] != '\0' && endptr[0] == '\0') {
|
||||
if (rawval >= INT_MIN && rawval <= INT_MAX) return (int)rawval;
|
||||
|
||||
die("Option %s: Value %ld out of range for signed int\n", arg->name,
|
||||
rawval);
|
||||
}
|
||||
|
||||
die("Option %s: Invalid character '%c'\n", arg->name, *endptr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct vpx_rational {
|
||||
int num; /**< fraction numerator */
|
||||
int den; /**< fraction denominator */
|
||||
};
|
||||
struct vpx_rational arg_parse_rational(const struct arg *arg) {
|
||||
long int rawval;
|
||||
char *endptr;
|
||||
struct vpx_rational rat;
|
||||
|
||||
/* parse numerator */
|
||||
rawval = strtol(arg->val, &endptr, 10);
|
||||
|
||||
if (arg->val[0] != '\0' && endptr[0] == '/') {
|
||||
if (rawval >= INT_MIN && rawval <= INT_MAX)
|
||||
rat.num = (int)rawval;
|
||||
else
|
||||
die("Option %s: Value %ld out of range for signed int\n", arg->name,
|
||||
rawval);
|
||||
} else
|
||||
die("Option %s: Expected / at '%c'\n", arg->name, *endptr);
|
||||
|
||||
/* parse denominator */
|
||||
rawval = strtol(endptr + 1, &endptr, 10);
|
||||
|
||||
if (arg->val[0] != '\0' && endptr[0] == '\0') {
|
||||
if (rawval >= INT_MIN && rawval <= INT_MAX)
|
||||
rat.den = (int)rawval;
|
||||
else
|
||||
die("Option %s: Value %ld out of range for signed int\n", arg->name,
|
||||
rawval);
|
||||
} else
|
||||
die("Option %s: Invalid character '%c'\n", arg->name, *endptr);
|
||||
|
||||
return rat;
|
||||
}
|
||||
|
||||
int arg_parse_enum(const struct arg *arg) {
|
||||
const struct arg_enum_list *listptr;
|
||||
long int rawval;
|
||||
char *endptr;
|
||||
|
||||
/* First see if the value can be parsed as a raw value */
|
||||
rawval = strtol(arg->val, &endptr, 10);
|
||||
if (arg->val[0] != '\0' && endptr[0] == '\0') {
|
||||
/* Got a raw value, make sure it's valid */
|
||||
for (listptr = arg->def->enums; listptr->name; listptr++)
|
||||
if (listptr->val == rawval) return (int)rawval;
|
||||
}
|
||||
|
||||
/* Next see if it can be parsed as a string */
|
||||
for (listptr = arg->def->enums; listptr->name; listptr++)
|
||||
if (!strcmp(arg->val, listptr->name)) return listptr->val;
|
||||
|
||||
die("Option %s: Invalid value '%s'\n", arg->name, arg->val);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int arg_parse_enum_or_int(const struct arg *arg) {
|
||||
if (arg->def->enums) return arg_parse_enum(arg);
|
||||
return arg_parse_int(arg);
|
||||
}
|
||||
63
TMessagesProj/jni/third_party/libvpx/source/libvpx/args.h
vendored
Normal file
63
TMessagesProj/jni/third_party/libvpx/source/libvpx/args.h
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#ifndef VPX_ARGS_H_
|
||||
#define VPX_ARGS_H_
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct arg {
|
||||
char **argv;
|
||||
const char *name;
|
||||
const char *val;
|
||||
unsigned int argv_step;
|
||||
const struct arg_def *def;
|
||||
};
|
||||
|
||||
struct arg_enum_list {
|
||||
const char *name;
|
||||
int val;
|
||||
};
|
||||
#define ARG_ENUM_LIST_END \
|
||||
{ 0 }
|
||||
|
||||
typedef struct arg_def {
|
||||
const char *short_name;
|
||||
const char *long_name;
|
||||
int has_val;
|
||||
const char *desc;
|
||||
const struct arg_enum_list *enums;
|
||||
} arg_def_t;
|
||||
#define ARG_DEF(s, l, v, d) \
|
||||
{ s, l, v, d, NULL }
|
||||
#define ARG_DEF_ENUM(s, l, v, d, e) \
|
||||
{ s, l, v, d, e }
|
||||
#define ARG_DEF_LIST_END \
|
||||
{ 0 }
|
||||
|
||||
struct arg arg_init(char **argv);
|
||||
int arg_match(struct arg *arg_, const struct arg_def *def, char **argv);
|
||||
const char *arg_next(struct arg *arg);
|
||||
void arg_show_usage(FILE *fp, const struct arg_def *const *defs);
|
||||
char **argv_dup(int argc, const char **argv);
|
||||
|
||||
unsigned int arg_parse_uint(const struct arg *arg);
|
||||
int arg_parse_int(const struct arg *arg);
|
||||
struct vpx_rational arg_parse_rational(const struct arg *arg);
|
||||
int arg_parse_enum(const struct arg *arg);
|
||||
int arg_parse_enum_or_int(const struct arg *arg);
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // VPX_ARGS_H_
|
||||
112
TMessagesProj/jni/third_party/libvpx/source/libvpx/ivfdec.c
vendored
Normal file
112
TMessagesProj/jni/third_party/libvpx/source/libvpx/ivfdec.c
vendored
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
/*
|
||||
* Copyright (c) 2013 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "vpx_ports/mem_ops.h"
|
||||
|
||||
#include "./ivfdec.h"
|
||||
|
||||
static const char *IVF_SIGNATURE = "DKIF";
|
||||
|
||||
static void fix_framerate(int *num, int *den) {
|
||||
// Some versions of vpxenc used 1/(2*fps) for the timebase, so
|
||||
// we can guess the framerate using only the timebase in this
|
||||
// case. Other files would require reading ahead to guess the
|
||||
// timebase, like we do for webm.
|
||||
if (*den > 0 && *den < 1000000000 && *num > 0 && *num < 1000) {
|
||||
// Correct for the factor of 2 applied to the timebase in the encoder.
|
||||
if (*num & 1)
|
||||
*den *= 2;
|
||||
else
|
||||
*num /= 2;
|
||||
} else {
|
||||
// Don't know FPS for sure, and don't have readahead code
|
||||
// (yet?), so just default to 30fps.
|
||||
*num = 30;
|
||||
*den = 1;
|
||||
}
|
||||
}
|
||||
|
||||
int file_is_ivf(struct VpxInputContext *input_ctx) {
|
||||
char raw_hdr[32];
|
||||
int is_ivf = 0;
|
||||
|
||||
if (fread(raw_hdr, 1, 32, input_ctx->file) == 32) {
|
||||
if (memcmp(IVF_SIGNATURE, raw_hdr, 4) == 0) {
|
||||
is_ivf = 1;
|
||||
|
||||
if (mem_get_le16(raw_hdr + 4) != 0) {
|
||||
fprintf(stderr,
|
||||
"Error: Unrecognized IVF version! This file may not"
|
||||
" decode properly.");
|
||||
}
|
||||
|
||||
input_ctx->fourcc = mem_get_le32(raw_hdr + 8);
|
||||
input_ctx->width = mem_get_le16(raw_hdr + 12);
|
||||
input_ctx->height = mem_get_le16(raw_hdr + 14);
|
||||
input_ctx->framerate.numerator = mem_get_le32(raw_hdr + 16);
|
||||
input_ctx->framerate.denominator = mem_get_le32(raw_hdr + 20);
|
||||
fix_framerate(&input_ctx->framerate.numerator,
|
||||
&input_ctx->framerate.denominator);
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_ivf) {
|
||||
rewind(input_ctx->file);
|
||||
input_ctx->detect.buf_read = 0;
|
||||
} else {
|
||||
input_ctx->detect.position = 4;
|
||||
}
|
||||
return is_ivf;
|
||||
}
|
||||
|
||||
int ivf_read_frame(FILE *infile, uint8_t **buffer, size_t *bytes_read,
|
||||
size_t *buffer_size) {
|
||||
char raw_header[IVF_FRAME_HDR_SZ] = { 0 };
|
||||
size_t frame_size = 0;
|
||||
|
||||
if (fread(raw_header, IVF_FRAME_HDR_SZ, 1, infile) != 1) {
|
||||
if (!feof(infile)) warn("Failed to read frame size");
|
||||
} else {
|
||||
frame_size = mem_get_le32(raw_header);
|
||||
|
||||
if (frame_size > 256 * 1024 * 1024) {
|
||||
warn("Read invalid frame size (%u)", (unsigned int)frame_size);
|
||||
frame_size = 0;
|
||||
}
|
||||
|
||||
if (frame_size > *buffer_size) {
|
||||
uint8_t *new_buffer = realloc(*buffer, 2 * frame_size);
|
||||
|
||||
if (new_buffer) {
|
||||
*buffer = new_buffer;
|
||||
*buffer_size = 2 * frame_size;
|
||||
} else {
|
||||
warn("Failed to allocate compressed data buffer");
|
||||
frame_size = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!feof(infile)) {
|
||||
if (fread(*buffer, 1, frame_size, infile) != frame_size) {
|
||||
warn("Failed to read full frame");
|
||||
return 1;
|
||||
}
|
||||
|
||||
*bytes_read = frame_size;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
28
TMessagesProj/jni/third_party/libvpx/source/libvpx/ivfdec.h
vendored
Normal file
28
TMessagesProj/jni/third_party/libvpx/source/libvpx/ivfdec.h
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Copyright (c) 2013 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
#ifndef VPX_IVFDEC_H_
|
||||
#define VPX_IVFDEC_H_
|
||||
|
||||
#include "./tools_common.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int file_is_ivf(struct VpxInputContext *input);
|
||||
|
||||
int ivf_read_frame(FILE *infile, uint8_t **buffer, size_t *bytes_read,
|
||||
size_t *buffer_size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif // VPX_IVFDEC_H_
|
||||
59
TMessagesProj/jni/third_party/libvpx/source/libvpx/ivfenc.c
vendored
Normal file
59
TMessagesProj/jni/third_party/libvpx/source/libvpx/ivfenc.c
vendored
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* Copyright (c) 2013 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "./ivfenc.h"
|
||||
|
||||
#include "vpx/vpx_encoder.h"
|
||||
#include "vpx_ports/mem_ops.h"
|
||||
|
||||
void ivf_write_file_header_with_video_info(FILE *outfile, unsigned int fourcc,
|
||||
int frame_cnt, int frame_width,
|
||||
int frame_height,
|
||||
vpx_rational_t timebase) {
|
||||
char header[32];
|
||||
|
||||
header[0] = 'D';
|
||||
header[1] = 'K';
|
||||
header[2] = 'I';
|
||||
header[3] = 'F';
|
||||
mem_put_le16(header + 4, 0); // version
|
||||
mem_put_le16(header + 6, 32); // header size
|
||||
mem_put_le32(header + 8, fourcc); // fourcc
|
||||
mem_put_le16(header + 12, frame_width); // width
|
||||
mem_put_le16(header + 14, frame_height); // height
|
||||
mem_put_le32(header + 16, timebase.den); // rate
|
||||
mem_put_le32(header + 20, timebase.num); // scale
|
||||
mem_put_le32(header + 24, frame_cnt); // length
|
||||
mem_put_le32(header + 28, 0); // unused
|
||||
|
||||
fwrite(header, 1, 32, outfile);
|
||||
}
|
||||
|
||||
void ivf_write_file_header(FILE *outfile, const struct vpx_codec_enc_cfg *cfg,
|
||||
unsigned int fourcc, int frame_cnt) {
|
||||
ivf_write_file_header_with_video_info(outfile, fourcc, frame_cnt, cfg->g_w,
|
||||
cfg->g_h, cfg->g_timebase);
|
||||
}
|
||||
|
||||
void ivf_write_frame_header(FILE *outfile, int64_t pts, size_t frame_size) {
|
||||
char header[12];
|
||||
|
||||
mem_put_le32(header, (int)frame_size);
|
||||
mem_put_le32(header + 4, (int)(pts & 0xFFFFFFFF));
|
||||
mem_put_le32(header + 8, (int)(pts >> 32));
|
||||
fwrite(header, 1, 12, outfile);
|
||||
}
|
||||
|
||||
void ivf_write_frame_size(FILE *outfile, size_t frame_size) {
|
||||
char header[4];
|
||||
|
||||
mem_put_le32(header, (int)frame_size);
|
||||
fwrite(header, 1, 4, outfile);
|
||||
}
|
||||
40
TMessagesProj/jni/third_party/libvpx/source/libvpx/ivfenc.h
vendored
Normal file
40
TMessagesProj/jni/third_party/libvpx/source/libvpx/ivfenc.h
vendored
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* Copyright (c) 2013 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
#ifndef VPX_IVFENC_H_
|
||||
#define VPX_IVFENC_H_
|
||||
|
||||
#include "./tools_common.h"
|
||||
|
||||
#include "vpx/vpx_encoder.h"
|
||||
|
||||
struct vpx_codec_enc_cfg;
|
||||
struct vpx_codec_cx_pkt;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void ivf_write_file_header_with_video_info(FILE *outfile, unsigned int fourcc,
|
||||
int frame_cnt, int frame_width,
|
||||
int frame_height,
|
||||
vpx_rational_t timebase);
|
||||
|
||||
void ivf_write_file_header(FILE *outfile, const struct vpx_codec_enc_cfg *cfg,
|
||||
uint32_t fourcc, int frame_cnt);
|
||||
|
||||
void ivf_write_frame_header(FILE *outfile, int64_t pts, size_t frame_size);
|
||||
|
||||
void ivf_write_frame_size(FILE *outfile, size_t frame_size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif // VPX_IVFENC_H_
|
||||
237
TMessagesProj/jni/third_party/libvpx/source/libvpx/md5_utils.c
vendored
Normal file
237
TMessagesProj/jni/third_party/libvpx/source/libvpx/md5_utils.c
vendored
Normal file
|
|
@ -0,0 +1,237 @@
|
|||
/*
|
||||
* This code implements the MD5 message-digest algorithm.
|
||||
* The algorithm is due to Ron Rivest. This code was
|
||||
* written by Colin Plumb in 1993, no copyright is claimed.
|
||||
* This code is in the public domain; do with it what you wish.
|
||||
*
|
||||
* Equivalent code is available from RSA Data Security, Inc.
|
||||
* This code has been tested against that, and is equivalent,
|
||||
* except that you don't need to include two pages of legalese
|
||||
* with every copy.
|
||||
*
|
||||
* To compute the message digest of a chunk of bytes, declare an
|
||||
* MD5Context structure, pass it to MD5Init, call MD5Update as
|
||||
* needed on buffers full of bytes, and then call MD5Final, which
|
||||
* will fill a supplied 16-byte array with the digest.
|
||||
*
|
||||
* Changed so as no longer to depend on Colin Plumb's `usual.h' header
|
||||
* definitions
|
||||
* - Ian Jackson <ian@chiark.greenend.org.uk>.
|
||||
* Still in the public domain.
|
||||
*/
|
||||
|
||||
#include <string.h> /* for memcpy() */
|
||||
|
||||
#include "md5_utils.h"
|
||||
#include "vpx_ports/compiler_attributes.h"
|
||||
|
||||
static void byteSwap(UWORD32 *buf, unsigned words) {
|
||||
md5byte *p;
|
||||
|
||||
/* Only swap bytes for big endian machines */
|
||||
int i = 1;
|
||||
|
||||
if (*(char *)&i == 1) return;
|
||||
|
||||
p = (md5byte *)buf;
|
||||
|
||||
do {
|
||||
*buf++ = (UWORD32)((unsigned)p[3] << 8 | p[2]) << 16 |
|
||||
((unsigned)p[1] << 8 | p[0]);
|
||||
p += 4;
|
||||
} while (--words);
|
||||
}
|
||||
|
||||
/*
|
||||
* Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
|
||||
* initialization constants.
|
||||
*/
|
||||
void MD5Init(struct MD5Context *ctx) {
|
||||
ctx->buf[0] = 0x67452301;
|
||||
ctx->buf[1] = 0xefcdab89;
|
||||
ctx->buf[2] = 0x98badcfe;
|
||||
ctx->buf[3] = 0x10325476;
|
||||
|
||||
ctx->bytes[0] = 0;
|
||||
ctx->bytes[1] = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Update context to reflect the concatenation of another buffer full
|
||||
* of bytes.
|
||||
*/
|
||||
void MD5Update(struct MD5Context *ctx, md5byte const *buf, unsigned len) {
|
||||
UWORD32 t;
|
||||
|
||||
/* Update byte count */
|
||||
|
||||
t = ctx->bytes[0];
|
||||
|
||||
if ((ctx->bytes[0] = t + len) < t)
|
||||
ctx->bytes[1]++; /* Carry from low to high */
|
||||
|
||||
t = 64 - (t & 0x3f); /* Space available in ctx->in (at least 1) */
|
||||
|
||||
if (t > len) {
|
||||
memcpy((md5byte *)ctx->in + 64 - t, buf, len);
|
||||
return;
|
||||
}
|
||||
|
||||
/* First chunk is an odd size */
|
||||
memcpy((md5byte *)ctx->in + 64 - t, buf, t);
|
||||
byteSwap(ctx->in, 16);
|
||||
MD5Transform(ctx->buf, ctx->in);
|
||||
buf += t;
|
||||
len -= t;
|
||||
|
||||
/* Process data in 64-byte chunks */
|
||||
while (len >= 64) {
|
||||
memcpy(ctx->in, buf, 64);
|
||||
byteSwap(ctx->in, 16);
|
||||
MD5Transform(ctx->buf, ctx->in);
|
||||
buf += 64;
|
||||
len -= 64;
|
||||
}
|
||||
|
||||
/* Handle any remaining bytes of data. */
|
||||
memcpy(ctx->in, buf, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* Final wrapup - pad to 64-byte boundary with the bit pattern
|
||||
* 1 0* (64-bit count of bits processed, MSB-first)
|
||||
*/
|
||||
void MD5Final(md5byte digest[16], struct MD5Context *ctx) {
|
||||
int count = ctx->bytes[0] & 0x3f; /* Number of bytes in ctx->in */
|
||||
md5byte *p = (md5byte *)ctx->in + count;
|
||||
|
||||
/* Set the first char of padding to 0x80. There is always room. */
|
||||
*p++ = 0x80;
|
||||
|
||||
/* Bytes of padding needed to make 56 bytes (-8..55) */
|
||||
count = 56 - 1 - count;
|
||||
|
||||
if (count < 0) { /* Padding forces an extra block */
|
||||
memset(p, 0, count + 8);
|
||||
byteSwap(ctx->in, 16);
|
||||
MD5Transform(ctx->buf, ctx->in);
|
||||
p = (md5byte *)ctx->in;
|
||||
count = 56;
|
||||
}
|
||||
|
||||
memset(p, 0, count);
|
||||
byteSwap(ctx->in, 14);
|
||||
|
||||
/* Append length in bits and transform */
|
||||
ctx->in[14] = ctx->bytes[0] << 3;
|
||||
ctx->in[15] = ctx->bytes[1] << 3 | ctx->bytes[0] >> 29;
|
||||
MD5Transform(ctx->buf, ctx->in);
|
||||
|
||||
byteSwap(ctx->buf, 4);
|
||||
memcpy(digest, ctx->buf, 16);
|
||||
memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
|
||||
}
|
||||
|
||||
#ifndef ASM_MD5
|
||||
|
||||
/* The four core functions - F1 is optimized somewhat */
|
||||
|
||||
/* #define F1(x, y, z) (x & y | ~x & z) */
|
||||
#define F1(x, y, z) (z ^ (x & (y ^ z)))
|
||||
#define F2(x, y, z) F1(z, x, y)
|
||||
#define F3(x, y, z) (x ^ y ^ z)
|
||||
#define F4(x, y, z) (y ^ (x | ~z))
|
||||
|
||||
/* This is the central step in the MD5 algorithm. */
|
||||
#define MD5STEP(f, w, x, y, z, in, s) \
|
||||
(w += f(x, y, z) + in, w = (w << s | w >> (32 - s)) + x)
|
||||
|
||||
/*
|
||||
* The core of the MD5 algorithm, this alters an existing MD5 hash to
|
||||
* reflect the addition of 16 longwords of new data. MD5Update blocks
|
||||
* the data and converts bytes into longwords for this routine.
|
||||
*/
|
||||
VPX_NO_UNSIGNED_OVERFLOW_CHECK void MD5Transform(UWORD32 buf[4],
|
||||
UWORD32 const in[16]) {
|
||||
UWORD32 a, b, c, d;
|
||||
|
||||
a = buf[0];
|
||||
b = buf[1];
|
||||
c = buf[2];
|
||||
d = buf[3];
|
||||
|
||||
MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
|
||||
MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
|
||||
MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
|
||||
MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
|
||||
MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
|
||||
MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
|
||||
MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
|
||||
MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
|
||||
MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
|
||||
MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
|
||||
MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
|
||||
MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
|
||||
MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
|
||||
MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
|
||||
MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
|
||||
MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
|
||||
|
||||
MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
|
||||
MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
|
||||
MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
|
||||
MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
|
||||
MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
|
||||
MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
|
||||
MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
|
||||
MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
|
||||
MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
|
||||
MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
|
||||
MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
|
||||
MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
|
||||
MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
|
||||
MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
|
||||
MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
|
||||
MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
|
||||
|
||||
MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
|
||||
MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
|
||||
MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
|
||||
MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
|
||||
MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
|
||||
MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
|
||||
MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
|
||||
MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
|
||||
MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
|
||||
MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
|
||||
MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
|
||||
MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
|
||||
MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
|
||||
MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
|
||||
MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
|
||||
MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
|
||||
|
||||
MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
|
||||
MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
|
||||
MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
|
||||
MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
|
||||
MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
|
||||
MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
|
||||
MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
|
||||
MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
|
||||
MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
|
||||
MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
|
||||
MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
|
||||
MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
|
||||
MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
|
||||
MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
|
||||
MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
|
||||
MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
|
||||
|
||||
buf[0] += a;
|
||||
buf[1] += b;
|
||||
buf[2] += c;
|
||||
buf[3] += d;
|
||||
}
|
||||
|
||||
#endif
|
||||
49
TMessagesProj/jni/third_party/libvpx/source/libvpx/md5_utils.h
vendored
Normal file
49
TMessagesProj/jni/third_party/libvpx/source/libvpx/md5_utils.h
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* This is the header file for the MD5 message-digest algorithm.
|
||||
* The algorithm is due to Ron Rivest. This code was
|
||||
* written by Colin Plumb in 1993, no copyright is claimed.
|
||||
* This code is in the public domain; do with it what you wish.
|
||||
*
|
||||
* Equivalent code is available from RSA Data Security, Inc.
|
||||
* This code has been tested against that, and is equivalent,
|
||||
* except that you don't need to include two pages of legalese
|
||||
* with every copy.
|
||||
*
|
||||
* To compute the message digest of a chunk of bytes, declare an
|
||||
* MD5Context structure, pass it to MD5Init, call MD5Update as
|
||||
* needed on buffers full of bytes, and then call MD5Final, which
|
||||
* will fill a supplied 16-byte array with the digest.
|
||||
*
|
||||
* Changed so as no longer to depend on Colin Plumb's `usual.h'
|
||||
* header definitions
|
||||
* - Ian Jackson <ian@chiark.greenend.org.uk>.
|
||||
* Still in the public domain.
|
||||
*/
|
||||
|
||||
#ifndef VPX_MD5_UTILS_H_
|
||||
#define VPX_MD5_UTILS_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define md5byte unsigned char
|
||||
#define UWORD32 unsigned int
|
||||
|
||||
typedef struct MD5Context MD5Context;
|
||||
struct MD5Context {
|
||||
UWORD32 buf[4];
|
||||
UWORD32 bytes[2];
|
||||
UWORD32 in[16];
|
||||
};
|
||||
|
||||
void MD5Init(struct MD5Context *context);
|
||||
void MD5Update(struct MD5Context *context, md5byte const *buf, unsigned len);
|
||||
void MD5Final(unsigned char digest[16], struct MD5Context *context);
|
||||
void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // VPX_MD5_UTILS_H_
|
||||
289
TMessagesProj/jni/third_party/libvpx/source/libvpx/rate_hist.c
vendored
Normal file
289
TMessagesProj/jni/third_party/libvpx/source/libvpx/rate_hist.c
vendored
Normal file
|
|
@ -0,0 +1,289 @@
|
|||
/*
|
||||
* Copyright (c) 2014 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "./rate_hist.h"
|
||||
|
||||
#define RATE_BINS 100
|
||||
#define HIST_BAR_MAX 40
|
||||
|
||||
struct hist_bucket {
|
||||
int low;
|
||||
int high;
|
||||
int count;
|
||||
};
|
||||
|
||||
struct rate_hist {
|
||||
int64_t *pts;
|
||||
int *sz;
|
||||
int samples;
|
||||
int frames;
|
||||
struct hist_bucket bucket[RATE_BINS];
|
||||
int total;
|
||||
};
|
||||
|
||||
struct rate_hist *init_rate_histogram(const vpx_codec_enc_cfg_t *cfg,
|
||||
const vpx_rational_t *fps) {
|
||||
int i;
|
||||
struct rate_hist *hist = calloc(1, sizeof(*hist));
|
||||
|
||||
if (hist == NULL || cfg == NULL || fps == NULL || fps->num == 0 ||
|
||||
fps->den == 0) {
|
||||
destroy_rate_histogram(hist);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Determine the number of samples in the buffer. Use the file's framerate
|
||||
// to determine the number of frames in rc_buf_sz milliseconds, with an
|
||||
// adjustment (5/4) to account for alt-refs
|
||||
hist->samples = cfg->rc_buf_sz * 5 / 4 * fps->num / fps->den / 1000;
|
||||
|
||||
// prevent division by zero
|
||||
if (hist->samples == 0) hist->samples = 1;
|
||||
|
||||
hist->frames = 0;
|
||||
hist->total = 0;
|
||||
|
||||
hist->pts = calloc(hist->samples, sizeof(*hist->pts));
|
||||
hist->sz = calloc(hist->samples, sizeof(*hist->sz));
|
||||
for (i = 0; i < RATE_BINS; i++) {
|
||||
hist->bucket[i].low = INT_MAX;
|
||||
hist->bucket[i].high = 0;
|
||||
hist->bucket[i].count = 0;
|
||||
}
|
||||
|
||||
return hist;
|
||||
}
|
||||
|
||||
void destroy_rate_histogram(struct rate_hist *hist) {
|
||||
if (hist) {
|
||||
free(hist->pts);
|
||||
free(hist->sz);
|
||||
free(hist);
|
||||
}
|
||||
}
|
||||
|
||||
void update_rate_histogram(struct rate_hist *hist,
|
||||
const vpx_codec_enc_cfg_t *cfg,
|
||||
const vpx_codec_cx_pkt_t *pkt) {
|
||||
int i;
|
||||
int64_t then = 0;
|
||||
int64_t avg_bitrate = 0;
|
||||
int64_t sum_sz = 0;
|
||||
const int64_t now = pkt->data.frame.pts * 1000 *
|
||||
(uint64_t)cfg->g_timebase.num /
|
||||
(uint64_t)cfg->g_timebase.den;
|
||||
|
||||
int idx;
|
||||
|
||||
if (hist == NULL || cfg == NULL || pkt == NULL) return;
|
||||
|
||||
idx = hist->frames++ % hist->samples;
|
||||
hist->pts[idx] = now;
|
||||
hist->sz[idx] = (int)pkt->data.frame.sz;
|
||||
|
||||
if (now < cfg->rc_buf_initial_sz) return;
|
||||
|
||||
if (!cfg->rc_target_bitrate) return;
|
||||
|
||||
then = now;
|
||||
|
||||
/* Sum the size over the past rc_buf_sz ms */
|
||||
for (i = hist->frames; i > 0 && hist->frames - i < hist->samples; i--) {
|
||||
const int i_idx = (i - 1) % hist->samples;
|
||||
|
||||
then = hist->pts[i_idx];
|
||||
if (now - then > cfg->rc_buf_sz) break;
|
||||
sum_sz += hist->sz[i_idx];
|
||||
}
|
||||
|
||||
if (now == then) return;
|
||||
|
||||
avg_bitrate = sum_sz * 8 * 1000 / (now - then);
|
||||
idx = (int)(avg_bitrate * (RATE_BINS / 2) / (cfg->rc_target_bitrate * 1000));
|
||||
if (idx < 0) idx = 0;
|
||||
if (idx > RATE_BINS - 1) idx = RATE_BINS - 1;
|
||||
if (hist->bucket[idx].low > avg_bitrate)
|
||||
hist->bucket[idx].low = (int)avg_bitrate;
|
||||
if (hist->bucket[idx].high < avg_bitrate)
|
||||
hist->bucket[idx].high = (int)avg_bitrate;
|
||||
hist->bucket[idx].count++;
|
||||
hist->total++;
|
||||
}
|
||||
|
||||
static int merge_hist_buckets(struct hist_bucket *bucket, int max_buckets,
|
||||
int *num_buckets) {
|
||||
int small_bucket = 0, merge_bucket = INT_MAX, big_bucket = 0;
|
||||
int buckets;
|
||||
int i;
|
||||
|
||||
assert(bucket != NULL);
|
||||
assert(num_buckets != NULL);
|
||||
|
||||
buckets = *num_buckets;
|
||||
|
||||
/* Find the extrema for this list of buckets */
|
||||
big_bucket = small_bucket = 0;
|
||||
for (i = 0; i < buckets; i++) {
|
||||
if (bucket[i].count < bucket[small_bucket].count) small_bucket = i;
|
||||
if (bucket[i].count > bucket[big_bucket].count) big_bucket = i;
|
||||
}
|
||||
|
||||
/* If we have too many buckets, merge the smallest with an adjacent
|
||||
* bucket.
|
||||
*/
|
||||
while (buckets > max_buckets) {
|
||||
int last_bucket = buckets - 1;
|
||||
|
||||
/* merge the small bucket with an adjacent one. */
|
||||
if (small_bucket == 0)
|
||||
merge_bucket = 1;
|
||||
else if (small_bucket == last_bucket)
|
||||
merge_bucket = last_bucket - 1;
|
||||
else if (bucket[small_bucket - 1].count < bucket[small_bucket + 1].count)
|
||||
merge_bucket = small_bucket - 1;
|
||||
else
|
||||
merge_bucket = small_bucket + 1;
|
||||
|
||||
assert(abs(merge_bucket - small_bucket) <= 1);
|
||||
assert(small_bucket < buckets);
|
||||
assert(big_bucket < buckets);
|
||||
assert(merge_bucket < buckets);
|
||||
|
||||
if (merge_bucket < small_bucket) {
|
||||
bucket[merge_bucket].high = bucket[small_bucket].high;
|
||||
bucket[merge_bucket].count += bucket[small_bucket].count;
|
||||
} else {
|
||||
bucket[small_bucket].high = bucket[merge_bucket].high;
|
||||
bucket[small_bucket].count += bucket[merge_bucket].count;
|
||||
merge_bucket = small_bucket;
|
||||
}
|
||||
|
||||
assert(bucket[merge_bucket].low != bucket[merge_bucket].high);
|
||||
|
||||
buckets--;
|
||||
|
||||
/* Remove the merge_bucket from the list, and find the new small
|
||||
* and big buckets while we're at it
|
||||
*/
|
||||
big_bucket = small_bucket = 0;
|
||||
for (i = 0; i < buckets; i++) {
|
||||
if (i > merge_bucket) bucket[i] = bucket[i + 1];
|
||||
|
||||
if (bucket[i].count < bucket[small_bucket].count) small_bucket = i;
|
||||
if (bucket[i].count > bucket[big_bucket].count) big_bucket = i;
|
||||
}
|
||||
}
|
||||
|
||||
*num_buckets = buckets;
|
||||
return bucket[big_bucket].count;
|
||||
}
|
||||
|
||||
static void show_histogram(const struct hist_bucket *bucket, int buckets,
|
||||
int total, int scale) {
|
||||
const char *pat1, *pat2;
|
||||
int i;
|
||||
|
||||
assert(bucket != NULL);
|
||||
|
||||
switch ((int)(log(bucket[buckets - 1].high) / log(10)) + 1) {
|
||||
case 1:
|
||||
case 2:
|
||||
pat1 = "%4d %2s: ";
|
||||
pat2 = "%4d-%2d: ";
|
||||
break;
|
||||
case 3:
|
||||
pat1 = "%5d %3s: ";
|
||||
pat2 = "%5d-%3d: ";
|
||||
break;
|
||||
case 4:
|
||||
pat1 = "%6d %4s: ";
|
||||
pat2 = "%6d-%4d: ";
|
||||
break;
|
||||
case 5:
|
||||
pat1 = "%7d %5s: ";
|
||||
pat2 = "%7d-%5d: ";
|
||||
break;
|
||||
case 6:
|
||||
pat1 = "%8d %6s: ";
|
||||
pat2 = "%8d-%6d: ";
|
||||
break;
|
||||
case 7:
|
||||
pat1 = "%9d %7s: ";
|
||||
pat2 = "%9d-%7d: ";
|
||||
break;
|
||||
default:
|
||||
pat1 = "%12d %10s: ";
|
||||
pat2 = "%12d-%10d: ";
|
||||
break;
|
||||
}
|
||||
|
||||
for (i = 0; i < buckets; i++) {
|
||||
int len;
|
||||
int j;
|
||||
float pct;
|
||||
|
||||
pct = (float)(100.0 * bucket[i].count / total);
|
||||
len = HIST_BAR_MAX * bucket[i].count / scale;
|
||||
if (len < 1) len = 1;
|
||||
assert(len <= HIST_BAR_MAX);
|
||||
|
||||
if (bucket[i].low == bucket[i].high)
|
||||
fprintf(stderr, pat1, bucket[i].low, "");
|
||||
else
|
||||
fprintf(stderr, pat2, bucket[i].low, bucket[i].high);
|
||||
|
||||
for (j = 0; j < HIST_BAR_MAX; j++) fprintf(stderr, j < len ? "=" : " ");
|
||||
fprintf(stderr, "\t%5d (%6.2f%%)\n", bucket[i].count, pct);
|
||||
}
|
||||
}
|
||||
|
||||
void show_q_histogram(const int counts[64], int max_buckets) {
|
||||
struct hist_bucket bucket[64];
|
||||
int buckets = 0;
|
||||
int total = 0;
|
||||
int scale;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 64; i++) {
|
||||
if (counts[i]) {
|
||||
bucket[buckets].low = bucket[buckets].high = i;
|
||||
bucket[buckets].count = counts[i];
|
||||
buckets++;
|
||||
total += counts[i];
|
||||
}
|
||||
}
|
||||
|
||||
fprintf(stderr, "\nQuantizer Selection:\n");
|
||||
scale = merge_hist_buckets(bucket, max_buckets, &buckets);
|
||||
show_histogram(bucket, buckets, total, scale);
|
||||
}
|
||||
|
||||
void show_rate_histogram(struct rate_hist *hist, const vpx_codec_enc_cfg_t *cfg,
|
||||
int max_buckets) {
|
||||
int i, scale;
|
||||
int buckets = 0;
|
||||
|
||||
if (hist == NULL || cfg == NULL) return;
|
||||
|
||||
for (i = 0; i < RATE_BINS; i++) {
|
||||
if (hist->bucket[i].low == INT_MAX) continue;
|
||||
hist->bucket[buckets++] = hist->bucket[i];
|
||||
}
|
||||
|
||||
fprintf(stderr, "\nRate (over %dms window):\n", cfg->rc_buf_sz);
|
||||
scale = merge_hist_buckets(hist->bucket, max_buckets, &buckets);
|
||||
show_histogram(hist->bucket, buckets, hist->total, scale);
|
||||
}
|
||||
40
TMessagesProj/jni/third_party/libvpx/source/libvpx/rate_hist.h
vendored
Normal file
40
TMessagesProj/jni/third_party/libvpx/source/libvpx/rate_hist.h
vendored
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* Copyright (c) 2014 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#ifndef VPX_RATE_HIST_H_
|
||||
#define VPX_RATE_HIST_H_
|
||||
|
||||
#include "vpx/vpx_encoder.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct rate_hist;
|
||||
|
||||
struct rate_hist *init_rate_histogram(const vpx_codec_enc_cfg_t *cfg,
|
||||
const vpx_rational_t *fps);
|
||||
|
||||
void destroy_rate_histogram(struct rate_hist *hist);
|
||||
|
||||
void update_rate_histogram(struct rate_hist *hist,
|
||||
const vpx_codec_enc_cfg_t *cfg,
|
||||
const vpx_codec_cx_pkt_t *pkt);
|
||||
|
||||
void show_q_histogram(const int counts[64], int max_buckets);
|
||||
|
||||
void show_rate_histogram(struct rate_hist *hist, const vpx_codec_enc_cfg_t *cfg,
|
||||
int max_buckets);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // VPX_RATE_HIST_H_
|
||||
4
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/AUTHORS.TXT
vendored
Normal file
4
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/AUTHORS.TXT
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# Names should be added to this file like so:
|
||||
# Name or Organization <email address>
|
||||
|
||||
Google Inc.
|
||||
17
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/Android.mk
vendored
Normal file
17
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/Android.mk
vendored
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
LOCAL_PATH:= $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE:= libwebm
|
||||
LOCAL_CPPFLAGS:=-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
|
||||
LOCAL_CPPFLAGS+=-D__STDC_LIMIT_MACROS -std=c++11
|
||||
LOCAL_C_INCLUDES:= $(LOCAL_PATH)
|
||||
LOCAL_EXPORT_C_INCLUDES:= $(LOCAL_PATH)
|
||||
|
||||
LOCAL_SRC_FILES:= common/file_util.cc \
|
||||
common/hdr_util.cc \
|
||||
mkvparser/mkvparser.cc \
|
||||
mkvparser/mkvreader.cc \
|
||||
mkvmuxer/mkvmuxer.cc \
|
||||
mkvmuxer/mkvmuxerutil.cc \
|
||||
mkvmuxer/mkvwriter.cc
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
30
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT
vendored
Normal file
30
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
Copyright (c) 2010, Google Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
* Neither the name of Google nor the names of its contributors may
|
||||
be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
23
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/PATENTS.TXT
vendored
Normal file
23
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/PATENTS.TXT
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
Additional IP Rights Grant (Patents)
|
||||
------------------------------------
|
||||
|
||||
"These implementations" means the copyrightable works that implement the WebM
|
||||
codecs distributed by Google as part of the WebM Project.
|
||||
|
||||
Google hereby grants to you a perpetual, worldwide, non-exclusive, no-charge,
|
||||
royalty-free, irrevocable (except as stated in this section) patent license to
|
||||
make, have made, use, offer to sell, sell, import, transfer, and otherwise
|
||||
run, modify and propagate the contents of these implementations of WebM, where
|
||||
such license applies only to those patent claims, both currently owned by
|
||||
Google and acquired in the future, licensable by Google that are necessarily
|
||||
infringed by these implementations of WebM. This grant does not include claims
|
||||
that would be infringed only as a consequence of further modification of these
|
||||
implementations. If you or your agent or exclusive licensee institute or order
|
||||
or agree to the institution of patent litigation or any other patent
|
||||
enforcement activity against any entity (including a cross-claim or
|
||||
counterclaim in a lawsuit) alleging that any of these implementations of WebM
|
||||
or any code incorporated within any of these implementations of WebM
|
||||
constitute direct or contributory patent infringement, or inducement of
|
||||
patent infringement, then any patent rights granted to you under this License
|
||||
for these implementations of WebM shall terminate as of the date such
|
||||
litigation is filed.
|
||||
20
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/README.libvpx
vendored
Normal file
20
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/README.libvpx
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
URL: https://chromium.googlesource.com/webm/libwebm
|
||||
Version: 37d9b860ebbf40cb0f6dcb7a6fef452d798062da
|
||||
License: BSD
|
||||
License File: LICENSE.txt
|
||||
|
||||
Description:
|
||||
libwebm is used to handle WebM container I/O.
|
||||
|
||||
Local Changes:
|
||||
Only keep:
|
||||
- Android.mk
|
||||
- AUTHORS.TXT
|
||||
- common/
|
||||
file_util.cc/h
|
||||
hdr_util.cc/h
|
||||
webmids.h
|
||||
- LICENSE.TXT
|
||||
- mkvmuxer/
|
||||
- mkvparser/
|
||||
- PATENTS.TXT
|
||||
93
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/common/file_util.cc
vendored
Normal file
93
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/common/file_util.cc
vendored
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
// Copyright (c) 2016 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
#include "common/file_util.h"
|
||||
|
||||
#include <sys/stat.h>
|
||||
#ifndef _MSC_VER
|
||||
#include <unistd.h> // close()
|
||||
#endif
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <fstream>
|
||||
#include <ios>
|
||||
#include <string>
|
||||
|
||||
namespace libwebm {
|
||||
|
||||
std::string GetTempFileName() {
|
||||
#if !defined _MSC_VER && !defined __MINGW32__
|
||||
std::string temp_file_name_template_str =
|
||||
std::string(std::getenv("TEST_TMPDIR") ? std::getenv("TEST_TMPDIR")
|
||||
: ".") +
|
||||
"/libwebm_temp.XXXXXX";
|
||||
char* temp_file_name_template =
|
||||
new char[temp_file_name_template_str.length() + 1];
|
||||
memset(temp_file_name_template, 0, temp_file_name_template_str.length() + 1);
|
||||
temp_file_name_template_str.copy(temp_file_name_template,
|
||||
temp_file_name_template_str.length(), 0);
|
||||
int fd = mkstemp(temp_file_name_template);
|
||||
std::string temp_file_name =
|
||||
(fd != -1) ? std::string(temp_file_name_template) : std::string();
|
||||
delete[] temp_file_name_template;
|
||||
if (fd != -1) {
|
||||
close(fd);
|
||||
}
|
||||
return temp_file_name;
|
||||
#else
|
||||
char tmp_file_name[_MAX_PATH];
|
||||
#if defined _MSC_VER || defined MINGW_HAS_SECURE_API
|
||||
errno_t err = tmpnam_s(tmp_file_name);
|
||||
#else
|
||||
char* fname_pointer = tmpnam(tmp_file_name);
|
||||
int err = (fname_pointer == &tmp_file_name[0]) ? 0 : -1;
|
||||
#endif
|
||||
if (err == 0) {
|
||||
return std::string(tmp_file_name);
|
||||
}
|
||||
return std::string();
|
||||
#endif
|
||||
}
|
||||
|
||||
uint64_t GetFileSize(const std::string& file_name) {
|
||||
uint64_t file_size = 0;
|
||||
#ifndef _MSC_VER
|
||||
struct stat st;
|
||||
st.st_size = 0;
|
||||
if (stat(file_name.c_str(), &st) == 0) {
|
||||
#else
|
||||
struct _stat st;
|
||||
st.st_size = 0;
|
||||
if (_stat(file_name.c_str(), &st) == 0) {
|
||||
#endif
|
||||
file_size = st.st_size;
|
||||
}
|
||||
return file_size;
|
||||
}
|
||||
|
||||
bool GetFileContents(const std::string& file_name, std::string* contents) {
|
||||
std::ifstream file(file_name.c_str());
|
||||
*contents = std::string(static_cast<size_t>(GetFileSize(file_name)), 0);
|
||||
if (file.good() && contents->size()) {
|
||||
file.read(&(*contents)[0], contents->size());
|
||||
}
|
||||
return !file.fail();
|
||||
}
|
||||
|
||||
TempFileDeleter::TempFileDeleter() { file_name_ = GetTempFileName(); }
|
||||
|
||||
TempFileDeleter::~TempFileDeleter() {
|
||||
std::ifstream file(file_name_.c_str());
|
||||
if (file.good()) {
|
||||
file.close();
|
||||
std::remove(file_name_.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace libwebm
|
||||
44
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/common/file_util.h
vendored
Normal file
44
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/common/file_util.h
vendored
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright (c) 2016 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
#ifndef LIBWEBM_COMMON_FILE_UTIL_H_
|
||||
#define LIBWEBM_COMMON_FILE_UTIL_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "mkvmuxer/mkvmuxertypes.h" // LIBWEBM_DISALLOW_COPY_AND_ASSIGN()
|
||||
|
||||
namespace libwebm {
|
||||
|
||||
// Returns a temporary file name.
|
||||
std::string GetTempFileName();
|
||||
|
||||
// Returns size of file specified by |file_name|, or 0 upon failure.
|
||||
uint64_t GetFileSize(const std::string& file_name);
|
||||
|
||||
// Gets the contents file_name as a string. Returns false on error.
|
||||
bool GetFileContents(const std::string& file_name, std::string* contents);
|
||||
|
||||
// Manages life of temporary file specified at time of construction. Deletes
|
||||
// file upon destruction.
|
||||
class TempFileDeleter {
|
||||
public:
|
||||
TempFileDeleter();
|
||||
explicit TempFileDeleter(std::string file_name) : file_name_(file_name) {}
|
||||
~TempFileDeleter();
|
||||
const std::string& name() const { return file_name_; }
|
||||
|
||||
private:
|
||||
std::string file_name_;
|
||||
LIBWEBM_DISALLOW_COPY_AND_ASSIGN(TempFileDeleter);
|
||||
};
|
||||
|
||||
} // namespace libwebm
|
||||
|
||||
#endif // LIBWEBM_COMMON_FILE_UTIL_H_
|
||||
220
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/common/hdr_util.cc
vendored
Normal file
220
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/common/hdr_util.cc
vendored
Normal file
|
|
@ -0,0 +1,220 @@
|
|||
// Copyright (c) 2016 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
#include "hdr_util.h"
|
||||
|
||||
#include <climits>
|
||||
#include <cstddef>
|
||||
#include <new>
|
||||
|
||||
#include "mkvparser/mkvparser.h"
|
||||
|
||||
namespace libwebm {
|
||||
const int Vp9CodecFeatures::kValueNotPresent = INT_MAX;
|
||||
|
||||
bool CopyPrimaryChromaticity(const mkvparser::PrimaryChromaticity& parser_pc,
|
||||
PrimaryChromaticityPtr* muxer_pc) {
|
||||
muxer_pc->reset(new (std::nothrow)
|
||||
mkvmuxer::PrimaryChromaticity(parser_pc.x, parser_pc.y));
|
||||
if (!muxer_pc->get())
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MasteringMetadataValuePresent(double value) {
|
||||
return value != mkvparser::MasteringMetadata::kValueNotPresent;
|
||||
}
|
||||
|
||||
bool CopyMasteringMetadata(const mkvparser::MasteringMetadata& parser_mm,
|
||||
mkvmuxer::MasteringMetadata* muxer_mm) {
|
||||
if (MasteringMetadataValuePresent(parser_mm.luminance_max))
|
||||
muxer_mm->set_luminance_max(parser_mm.luminance_max);
|
||||
if (MasteringMetadataValuePresent(parser_mm.luminance_min))
|
||||
muxer_mm->set_luminance_min(parser_mm.luminance_min);
|
||||
|
||||
PrimaryChromaticityPtr r_ptr(nullptr);
|
||||
PrimaryChromaticityPtr g_ptr(nullptr);
|
||||
PrimaryChromaticityPtr b_ptr(nullptr);
|
||||
PrimaryChromaticityPtr wp_ptr(nullptr);
|
||||
|
||||
if (parser_mm.r) {
|
||||
if (!CopyPrimaryChromaticity(*parser_mm.r, &r_ptr))
|
||||
return false;
|
||||
}
|
||||
if (parser_mm.g) {
|
||||
if (!CopyPrimaryChromaticity(*parser_mm.g, &g_ptr))
|
||||
return false;
|
||||
}
|
||||
if (parser_mm.b) {
|
||||
if (!CopyPrimaryChromaticity(*parser_mm.b, &b_ptr))
|
||||
return false;
|
||||
}
|
||||
if (parser_mm.white_point) {
|
||||
if (!CopyPrimaryChromaticity(*parser_mm.white_point, &wp_ptr))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!muxer_mm->SetChromaticity(r_ptr.get(), g_ptr.get(), b_ptr.get(),
|
||||
wp_ptr.get())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ColourValuePresent(long long value) {
|
||||
return value != mkvparser::Colour::kValueNotPresent;
|
||||
}
|
||||
|
||||
bool CopyColour(const mkvparser::Colour& parser_colour,
|
||||
mkvmuxer::Colour* muxer_colour) {
|
||||
if (!muxer_colour)
|
||||
return false;
|
||||
|
||||
if (ColourValuePresent(parser_colour.matrix_coefficients))
|
||||
muxer_colour->set_matrix_coefficients(parser_colour.matrix_coefficients);
|
||||
if (ColourValuePresent(parser_colour.bits_per_channel))
|
||||
muxer_colour->set_bits_per_channel(parser_colour.bits_per_channel);
|
||||
if (ColourValuePresent(parser_colour.chroma_subsampling_horz)) {
|
||||
muxer_colour->set_chroma_subsampling_horz(
|
||||
parser_colour.chroma_subsampling_horz);
|
||||
}
|
||||
if (ColourValuePresent(parser_colour.chroma_subsampling_vert)) {
|
||||
muxer_colour->set_chroma_subsampling_vert(
|
||||
parser_colour.chroma_subsampling_vert);
|
||||
}
|
||||
if (ColourValuePresent(parser_colour.cb_subsampling_horz))
|
||||
muxer_colour->set_cb_subsampling_horz(parser_colour.cb_subsampling_horz);
|
||||
if (ColourValuePresent(parser_colour.cb_subsampling_vert))
|
||||
muxer_colour->set_cb_subsampling_vert(parser_colour.cb_subsampling_vert);
|
||||
if (ColourValuePresent(parser_colour.chroma_siting_horz))
|
||||
muxer_colour->set_chroma_siting_horz(parser_colour.chroma_siting_horz);
|
||||
if (ColourValuePresent(parser_colour.chroma_siting_vert))
|
||||
muxer_colour->set_chroma_siting_vert(parser_colour.chroma_siting_vert);
|
||||
if (ColourValuePresent(parser_colour.range))
|
||||
muxer_colour->set_range(parser_colour.range);
|
||||
if (ColourValuePresent(parser_colour.transfer_characteristics)) {
|
||||
muxer_colour->set_transfer_characteristics(
|
||||
parser_colour.transfer_characteristics);
|
||||
}
|
||||
if (ColourValuePresent(parser_colour.primaries))
|
||||
muxer_colour->set_primaries(parser_colour.primaries);
|
||||
if (ColourValuePresent(parser_colour.max_cll))
|
||||
muxer_colour->set_max_cll(parser_colour.max_cll);
|
||||
if (ColourValuePresent(parser_colour.max_fall))
|
||||
muxer_colour->set_max_fall(parser_colour.max_fall);
|
||||
|
||||
if (parser_colour.mastering_metadata) {
|
||||
mkvmuxer::MasteringMetadata muxer_mm;
|
||||
if (!CopyMasteringMetadata(*parser_colour.mastering_metadata, &muxer_mm))
|
||||
return false;
|
||||
if (!muxer_colour->SetMasteringMetadata(muxer_mm))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Format of VPx private data:
|
||||
//
|
||||
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
||||
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
// | ID Byte | Length | |
|
||||
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
|
||||
// | |
|
||||
// : Bytes 1..Length of Codec Feature :
|
||||
// | |
|
||||
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
//
|
||||
// ID Byte Format
|
||||
// ID byte is an unsigned byte.
|
||||
// 0 1 2 3 4 5 6 7
|
||||
// +-+-+-+-+-+-+-+-+
|
||||
// |X| ID |
|
||||
// +-+-+-+-+-+-+-+-+
|
||||
//
|
||||
// The X bit is reserved.
|
||||
//
|
||||
// See the following link for more information:
|
||||
// http://www.webmproject.org/vp9/profiles/
|
||||
bool ParseVpxCodecPrivate(const uint8_t* private_data, int32_t length,
|
||||
Vp9CodecFeatures* features) {
|
||||
const int kVpxCodecPrivateMinLength = 3;
|
||||
if (!private_data || !features || length < kVpxCodecPrivateMinLength)
|
||||
return false;
|
||||
|
||||
const uint8_t kVp9ProfileId = 1;
|
||||
const uint8_t kVp9LevelId = 2;
|
||||
const uint8_t kVp9BitDepthId = 3;
|
||||
const uint8_t kVp9ChromaSubsamplingId = 4;
|
||||
const int kVpxFeatureLength = 1;
|
||||
int offset = 0;
|
||||
|
||||
// Set features to not set.
|
||||
features->profile = Vp9CodecFeatures::kValueNotPresent;
|
||||
features->level = Vp9CodecFeatures::kValueNotPresent;
|
||||
features->bit_depth = Vp9CodecFeatures::kValueNotPresent;
|
||||
features->chroma_subsampling = Vp9CodecFeatures::kValueNotPresent;
|
||||
do {
|
||||
const uint8_t id_byte = private_data[offset++];
|
||||
const uint8_t length_byte = private_data[offset++];
|
||||
if (length_byte != kVpxFeatureLength)
|
||||
return false;
|
||||
if (id_byte == kVp9ProfileId) {
|
||||
const int priv_profile = static_cast<int>(private_data[offset++]);
|
||||
if (priv_profile < 0 || priv_profile > 3)
|
||||
return false;
|
||||
if (features->profile != Vp9CodecFeatures::kValueNotPresent &&
|
||||
features->profile != priv_profile) {
|
||||
return false;
|
||||
}
|
||||
features->profile = priv_profile;
|
||||
} else if (id_byte == kVp9LevelId) {
|
||||
const int priv_level = static_cast<int>(private_data[offset++]);
|
||||
|
||||
const int kNumLevels = 14;
|
||||
const int levels[kNumLevels] = {10, 11, 20, 21, 30, 31, 40,
|
||||
41, 50, 51, 52, 60, 61, 62};
|
||||
|
||||
for (int i = 0; i < kNumLevels; ++i) {
|
||||
if (priv_level == levels[i]) {
|
||||
if (features->level != Vp9CodecFeatures::kValueNotPresent &&
|
||||
features->level != priv_level) {
|
||||
return false;
|
||||
}
|
||||
features->level = priv_level;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (features->level == Vp9CodecFeatures::kValueNotPresent)
|
||||
return false;
|
||||
} else if (id_byte == kVp9BitDepthId) {
|
||||
const int priv_profile = static_cast<int>(private_data[offset++]);
|
||||
if (priv_profile != 8 && priv_profile != 10 && priv_profile != 12)
|
||||
return false;
|
||||
if (features->bit_depth != Vp9CodecFeatures::kValueNotPresent &&
|
||||
features->bit_depth != priv_profile) {
|
||||
return false;
|
||||
}
|
||||
features->bit_depth = priv_profile;
|
||||
} else if (id_byte == kVp9ChromaSubsamplingId) {
|
||||
const int priv_profile = static_cast<int>(private_data[offset++]);
|
||||
if (priv_profile != 0 && priv_profile != 2 && priv_profile != 3)
|
||||
return false;
|
||||
if (features->chroma_subsampling != Vp9CodecFeatures::kValueNotPresent &&
|
||||
features->chroma_subsampling != priv_profile) {
|
||||
return false;
|
||||
}
|
||||
features->chroma_subsampling = priv_profile;
|
||||
} else {
|
||||
// Invalid ID.
|
||||
return false;
|
||||
}
|
||||
} while (offset + kVpxCodecPrivateMinLength <= length);
|
||||
|
||||
return true;
|
||||
}
|
||||
} // namespace libwebm
|
||||
71
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/common/hdr_util.h
vendored
Normal file
71
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/common/hdr_util.h
vendored
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
// Copyright (c) 2016 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
#ifndef LIBWEBM_COMMON_HDR_UTIL_H_
|
||||
#define LIBWEBM_COMMON_HDR_UTIL_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "mkvmuxer/mkvmuxer.h"
|
||||
|
||||
namespace mkvparser {
|
||||
struct Colour;
|
||||
struct MasteringMetadata;
|
||||
struct PrimaryChromaticity;
|
||||
} // namespace mkvparser
|
||||
|
||||
namespace libwebm {
|
||||
// Utility types and functions for working with the Colour element and its
|
||||
// children. Copiers return true upon success. Presence functions return true
|
||||
// when the specified element is present.
|
||||
|
||||
// TODO(tomfinegan): These should be moved to libwebm_utils once c++11 is
|
||||
// required by libwebm.
|
||||
|
||||
// Features of the VP9 codec that may be set in the CodecPrivate of a VP9 video
|
||||
// stream. A value of kValueNotPresent represents that the value was not set in
|
||||
// the CodecPrivate.
|
||||
struct Vp9CodecFeatures {
|
||||
static const int kValueNotPresent;
|
||||
|
||||
Vp9CodecFeatures()
|
||||
: profile(kValueNotPresent),
|
||||
level(kValueNotPresent),
|
||||
bit_depth(kValueNotPresent),
|
||||
chroma_subsampling(kValueNotPresent) {}
|
||||
~Vp9CodecFeatures() {}
|
||||
|
||||
int profile;
|
||||
int level;
|
||||
int bit_depth;
|
||||
int chroma_subsampling;
|
||||
};
|
||||
|
||||
typedef std::unique_ptr<mkvmuxer::PrimaryChromaticity> PrimaryChromaticityPtr;
|
||||
|
||||
bool CopyPrimaryChromaticity(const mkvparser::PrimaryChromaticity& parser_pc,
|
||||
PrimaryChromaticityPtr* muxer_pc);
|
||||
|
||||
bool MasteringMetadataValuePresent(double value);
|
||||
|
||||
bool CopyMasteringMetadata(const mkvparser::MasteringMetadata& parser_mm,
|
||||
mkvmuxer::MasteringMetadata* muxer_mm);
|
||||
|
||||
bool ColourValuePresent(long long value);
|
||||
|
||||
bool CopyColour(const mkvparser::Colour& parser_colour,
|
||||
mkvmuxer::Colour* muxer_colour);
|
||||
|
||||
// Returns true if |features| is set to one or more valid values.
|
||||
bool ParseVpxCodecPrivate(const uint8_t* private_data, int32_t length,
|
||||
Vp9CodecFeatures* features);
|
||||
|
||||
} // namespace libwebm
|
||||
|
||||
#endif // LIBWEBM_COMMON_HDR_UTIL_H_
|
||||
193
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/common/webmids.h
vendored
Normal file
193
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/common/webmids.h
vendored
Normal file
|
|
@ -0,0 +1,193 @@
|
|||
// Copyright (c) 2012 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
#ifndef COMMON_WEBMIDS_H_
|
||||
#define COMMON_WEBMIDS_H_
|
||||
|
||||
namespace libwebm {
|
||||
|
||||
enum MkvId {
|
||||
kMkvEBML = 0x1A45DFA3,
|
||||
kMkvEBMLVersion = 0x4286,
|
||||
kMkvEBMLReadVersion = 0x42F7,
|
||||
kMkvEBMLMaxIDLength = 0x42F2,
|
||||
kMkvEBMLMaxSizeLength = 0x42F3,
|
||||
kMkvDocType = 0x4282,
|
||||
kMkvDocTypeVersion = 0x4287,
|
||||
kMkvDocTypeReadVersion = 0x4285,
|
||||
kMkvVoid = 0xEC,
|
||||
kMkvSignatureSlot = 0x1B538667,
|
||||
kMkvSignatureAlgo = 0x7E8A,
|
||||
kMkvSignatureHash = 0x7E9A,
|
||||
kMkvSignaturePublicKey = 0x7EA5,
|
||||
kMkvSignature = 0x7EB5,
|
||||
kMkvSignatureElements = 0x7E5B,
|
||||
kMkvSignatureElementList = 0x7E7B,
|
||||
kMkvSignedElement = 0x6532,
|
||||
// segment
|
||||
kMkvSegment = 0x18538067,
|
||||
// Meta Seek Information
|
||||
kMkvSeekHead = 0x114D9B74,
|
||||
kMkvSeek = 0x4DBB,
|
||||
kMkvSeekID = 0x53AB,
|
||||
kMkvSeekPosition = 0x53AC,
|
||||
// Segment Information
|
||||
kMkvInfo = 0x1549A966,
|
||||
kMkvTimecodeScale = 0x2AD7B1,
|
||||
kMkvDuration = 0x4489,
|
||||
kMkvDateUTC = 0x4461,
|
||||
kMkvTitle = 0x7BA9,
|
||||
kMkvMuxingApp = 0x4D80,
|
||||
kMkvWritingApp = 0x5741,
|
||||
// Cluster
|
||||
kMkvCluster = 0x1F43B675,
|
||||
kMkvTimecode = 0xE7,
|
||||
kMkvPrevSize = 0xAB,
|
||||
kMkvBlockGroup = 0xA0,
|
||||
kMkvBlock = 0xA1,
|
||||
kMkvBlockDuration = 0x9B,
|
||||
kMkvReferenceBlock = 0xFB,
|
||||
kMkvLaceNumber = 0xCC,
|
||||
kMkvSimpleBlock = 0xA3,
|
||||
kMkvBlockAdditions = 0x75A1,
|
||||
kMkvBlockMore = 0xA6,
|
||||
kMkvBlockAddID = 0xEE,
|
||||
kMkvBlockAdditional = 0xA5,
|
||||
kMkvDiscardPadding = 0x75A2,
|
||||
// Track
|
||||
kMkvTracks = 0x1654AE6B,
|
||||
kMkvTrackEntry = 0xAE,
|
||||
kMkvTrackNumber = 0xD7,
|
||||
kMkvTrackUID = 0x73C5,
|
||||
kMkvTrackType = 0x83,
|
||||
kMkvFlagEnabled = 0xB9,
|
||||
kMkvFlagDefault = 0x88,
|
||||
kMkvFlagForced = 0x55AA,
|
||||
kMkvFlagLacing = 0x9C,
|
||||
kMkvDefaultDuration = 0x23E383,
|
||||
kMkvMaxBlockAdditionID = 0x55EE,
|
||||
kMkvName = 0x536E,
|
||||
kMkvLanguage = 0x22B59C,
|
||||
kMkvCodecID = 0x86,
|
||||
kMkvCodecPrivate = 0x63A2,
|
||||
kMkvCodecName = 0x258688,
|
||||
kMkvCodecDelay = 0x56AA,
|
||||
kMkvSeekPreRoll = 0x56BB,
|
||||
// video
|
||||
kMkvVideo = 0xE0,
|
||||
kMkvFlagInterlaced = 0x9A,
|
||||
kMkvStereoMode = 0x53B8,
|
||||
kMkvAlphaMode = 0x53C0,
|
||||
kMkvPixelWidth = 0xB0,
|
||||
kMkvPixelHeight = 0xBA,
|
||||
kMkvPixelCropBottom = 0x54AA,
|
||||
kMkvPixelCropTop = 0x54BB,
|
||||
kMkvPixelCropLeft = 0x54CC,
|
||||
kMkvPixelCropRight = 0x54DD,
|
||||
kMkvDisplayWidth = 0x54B0,
|
||||
kMkvDisplayHeight = 0x54BA,
|
||||
kMkvDisplayUnit = 0x54B2,
|
||||
kMkvAspectRatioType = 0x54B3,
|
||||
kMkvColourSpace = 0x2EB524,
|
||||
kMkvFrameRate = 0x2383E3,
|
||||
// end video
|
||||
// colour
|
||||
kMkvColour = 0x55B0,
|
||||
kMkvMatrixCoefficients = 0x55B1,
|
||||
kMkvBitsPerChannel = 0x55B2,
|
||||
kMkvChromaSubsamplingHorz = 0x55B3,
|
||||
kMkvChromaSubsamplingVert = 0x55B4,
|
||||
kMkvCbSubsamplingHorz = 0x55B5,
|
||||
kMkvCbSubsamplingVert = 0x55B6,
|
||||
kMkvChromaSitingHorz = 0x55B7,
|
||||
kMkvChromaSitingVert = 0x55B8,
|
||||
kMkvRange = 0x55B9,
|
||||
kMkvTransferCharacteristics = 0x55BA,
|
||||
kMkvPrimaries = 0x55BB,
|
||||
kMkvMaxCLL = 0x55BC,
|
||||
kMkvMaxFALL = 0x55BD,
|
||||
// mastering metadata
|
||||
kMkvMasteringMetadata = 0x55D0,
|
||||
kMkvPrimaryRChromaticityX = 0x55D1,
|
||||
kMkvPrimaryRChromaticityY = 0x55D2,
|
||||
kMkvPrimaryGChromaticityX = 0x55D3,
|
||||
kMkvPrimaryGChromaticityY = 0x55D4,
|
||||
kMkvPrimaryBChromaticityX = 0x55D5,
|
||||
kMkvPrimaryBChromaticityY = 0x55D6,
|
||||
kMkvWhitePointChromaticityX = 0x55D7,
|
||||
kMkvWhitePointChromaticityY = 0x55D8,
|
||||
kMkvLuminanceMax = 0x55D9,
|
||||
kMkvLuminanceMin = 0x55DA,
|
||||
// end mastering metadata
|
||||
// end colour
|
||||
// projection
|
||||
kMkvProjection = 0x7670,
|
||||
kMkvProjectionType = 0x7671,
|
||||
kMkvProjectionPrivate = 0x7672,
|
||||
kMkvProjectionPoseYaw = 0x7673,
|
||||
kMkvProjectionPosePitch = 0x7674,
|
||||
kMkvProjectionPoseRoll = 0x7675,
|
||||
// end projection
|
||||
// audio
|
||||
kMkvAudio = 0xE1,
|
||||
kMkvSamplingFrequency = 0xB5,
|
||||
kMkvOutputSamplingFrequency = 0x78B5,
|
||||
kMkvChannels = 0x9F,
|
||||
kMkvBitDepth = 0x6264,
|
||||
// end audio
|
||||
// ContentEncodings
|
||||
kMkvContentEncodings = 0x6D80,
|
||||
kMkvContentEncoding = 0x6240,
|
||||
kMkvContentEncodingOrder = 0x5031,
|
||||
kMkvContentEncodingScope = 0x5032,
|
||||
kMkvContentEncodingType = 0x5033,
|
||||
kMkvContentCompression = 0x5034,
|
||||
kMkvContentCompAlgo = 0x4254,
|
||||
kMkvContentCompSettings = 0x4255,
|
||||
kMkvContentEncryption = 0x5035,
|
||||
kMkvContentEncAlgo = 0x47E1,
|
||||
kMkvContentEncKeyID = 0x47E2,
|
||||
kMkvContentSignature = 0x47E3,
|
||||
kMkvContentSigKeyID = 0x47E4,
|
||||
kMkvContentSigAlgo = 0x47E5,
|
||||
kMkvContentSigHashAlgo = 0x47E6,
|
||||
kMkvContentEncAESSettings = 0x47E7,
|
||||
kMkvAESSettingsCipherMode = 0x47E8,
|
||||
kMkvAESSettingsCipherInitData = 0x47E9,
|
||||
// end ContentEncodings
|
||||
// Cueing Data
|
||||
kMkvCues = 0x1C53BB6B,
|
||||
kMkvCuePoint = 0xBB,
|
||||
kMkvCueTime = 0xB3,
|
||||
kMkvCueTrackPositions = 0xB7,
|
||||
kMkvCueTrack = 0xF7,
|
||||
kMkvCueClusterPosition = 0xF1,
|
||||
kMkvCueBlockNumber = 0x5378,
|
||||
// Chapters
|
||||
kMkvChapters = 0x1043A770,
|
||||
kMkvEditionEntry = 0x45B9,
|
||||
kMkvChapterAtom = 0xB6,
|
||||
kMkvChapterUID = 0x73C4,
|
||||
kMkvChapterStringUID = 0x5654,
|
||||
kMkvChapterTimeStart = 0x91,
|
||||
kMkvChapterTimeEnd = 0x92,
|
||||
kMkvChapterDisplay = 0x80,
|
||||
kMkvChapString = 0x85,
|
||||
kMkvChapLanguage = 0x437C,
|
||||
kMkvChapCountry = 0x437E,
|
||||
// Tags
|
||||
kMkvTags = 0x1254C367,
|
||||
kMkvTag = 0x7373,
|
||||
kMkvSimpleTag = 0x67C8,
|
||||
kMkvTagName = 0x45A3,
|
||||
kMkvTagString = 0x4487
|
||||
};
|
||||
|
||||
} // namespace libwebm
|
||||
|
||||
#endif // COMMON_WEBMIDS_H_
|
||||
4221
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvmuxer.cc
vendored
Normal file
4221
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvmuxer.cc
vendored
Normal file
File diff suppressed because it is too large
Load diff
1924
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvmuxer.h
vendored
Normal file
1924
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvmuxer.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
28
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvmuxertypes.h
vendored
Normal file
28
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvmuxertypes.h
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
// Copyright (c) 2012 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
#ifndef MKVMUXER_MKVMUXERTYPES_H_
|
||||
#define MKVMUXER_MKVMUXERTYPES_H_
|
||||
|
||||
namespace mkvmuxer {
|
||||
typedef unsigned char uint8;
|
||||
typedef short int16;
|
||||
typedef int int32;
|
||||
typedef unsigned int uint32;
|
||||
typedef long long int64;
|
||||
typedef unsigned long long uint64;
|
||||
} // namespace mkvmuxer
|
||||
|
||||
// Copied from Chromium basictypes.h
|
||||
// A macro to disallow the copy constructor and operator= functions
|
||||
// This should be used in the private: declarations for a class
|
||||
#define LIBWEBM_DISALLOW_COPY_AND_ASSIGN(TypeName) \
|
||||
TypeName(const TypeName&); \
|
||||
void operator=(const TypeName&)
|
||||
|
||||
#endif // MKVMUXER_MKVMUXERTYPES_HPP_
|
||||
743
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvmuxerutil.cc
vendored
Normal file
743
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvmuxerutil.cc
vendored
Normal file
|
|
@ -0,0 +1,743 @@
|
|||
// Copyright (c) 2012 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
#include "mkvmuxer/mkvmuxerutil.h"
|
||||
|
||||
#ifdef __ANDROID__
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include <cassert>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <ctime>
|
||||
#include <new>
|
||||
|
||||
#include "common/webmids.h"
|
||||
#include "mkvmuxer/mkvmuxer.h"
|
||||
#include "mkvmuxer/mkvwriter.h"
|
||||
|
||||
namespace mkvmuxer {
|
||||
|
||||
namespace {
|
||||
|
||||
// Date elements are always 8 octets in size.
|
||||
const int kDateElementSize = 8;
|
||||
|
||||
uint64 WriteBlock(IMkvWriter* writer, const Frame* const frame, int64 timecode,
|
||||
uint64 timecode_scale) {
|
||||
uint64 block_additional_elem_size = 0;
|
||||
uint64 block_addid_elem_size = 0;
|
||||
uint64 block_more_payload_size = 0;
|
||||
uint64 block_more_elem_size = 0;
|
||||
uint64 block_additions_payload_size = 0;
|
||||
uint64 block_additions_elem_size = 0;
|
||||
if (frame->additional()) {
|
||||
block_additional_elem_size =
|
||||
EbmlElementSize(libwebm::kMkvBlockAdditional, frame->additional(),
|
||||
frame->additional_length());
|
||||
block_addid_elem_size = EbmlElementSize(
|
||||
libwebm::kMkvBlockAddID, static_cast<uint64>(frame->add_id()));
|
||||
|
||||
block_more_payload_size =
|
||||
block_addid_elem_size + block_additional_elem_size;
|
||||
block_more_elem_size =
|
||||
EbmlMasterElementSize(libwebm::kMkvBlockMore, block_more_payload_size) +
|
||||
block_more_payload_size;
|
||||
block_additions_payload_size = block_more_elem_size;
|
||||
block_additions_elem_size =
|
||||
EbmlMasterElementSize(libwebm::kMkvBlockAdditions,
|
||||
block_additions_payload_size) +
|
||||
block_additions_payload_size;
|
||||
}
|
||||
|
||||
uint64 discard_padding_elem_size = 0;
|
||||
if (frame->discard_padding() != 0) {
|
||||
discard_padding_elem_size =
|
||||
EbmlElementSize(libwebm::kMkvDiscardPadding,
|
||||
static_cast<int64>(frame->discard_padding()));
|
||||
}
|
||||
|
||||
const uint64 reference_block_timestamp =
|
||||
frame->reference_block_timestamp() / timecode_scale;
|
||||
uint64 reference_block_elem_size = 0;
|
||||
if (!frame->is_key()) {
|
||||
reference_block_elem_size =
|
||||
EbmlElementSize(libwebm::kMkvReferenceBlock, reference_block_timestamp);
|
||||
}
|
||||
|
||||
const uint64 duration = frame->duration() / timecode_scale;
|
||||
uint64 block_duration_elem_size = 0;
|
||||
if (duration > 0)
|
||||
block_duration_elem_size =
|
||||
EbmlElementSize(libwebm::kMkvBlockDuration, duration);
|
||||
|
||||
const uint64 block_payload_size = 4 + frame->length();
|
||||
const uint64 block_elem_size =
|
||||
EbmlMasterElementSize(libwebm::kMkvBlock, block_payload_size) +
|
||||
block_payload_size;
|
||||
|
||||
const uint64 block_group_payload_size =
|
||||
block_elem_size + block_additions_elem_size + block_duration_elem_size +
|
||||
discard_padding_elem_size + reference_block_elem_size;
|
||||
|
||||
if (!WriteEbmlMasterElement(writer, libwebm::kMkvBlockGroup,
|
||||
block_group_payload_size)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!WriteEbmlMasterElement(writer, libwebm::kMkvBlock, block_payload_size))
|
||||
return 0;
|
||||
|
||||
if (WriteUInt(writer, frame->track_number()))
|
||||
return 0;
|
||||
|
||||
if (SerializeInt(writer, timecode, 2))
|
||||
return 0;
|
||||
|
||||
// For a Block, flags is always 0.
|
||||
if (SerializeInt(writer, 0, 1))
|
||||
return 0;
|
||||
|
||||
if (writer->Write(frame->frame(), static_cast<uint32>(frame->length())))
|
||||
return 0;
|
||||
|
||||
if (frame->additional()) {
|
||||
if (!WriteEbmlMasterElement(writer, libwebm::kMkvBlockAdditions,
|
||||
block_additions_payload_size)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!WriteEbmlMasterElement(writer, libwebm::kMkvBlockMore,
|
||||
block_more_payload_size))
|
||||
return 0;
|
||||
|
||||
if (!WriteEbmlElement(writer, libwebm::kMkvBlockAddID,
|
||||
static_cast<uint64>(frame->add_id())))
|
||||
return 0;
|
||||
|
||||
if (!WriteEbmlElement(writer, libwebm::kMkvBlockAdditional,
|
||||
frame->additional(), frame->additional_length())) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (frame->discard_padding() != 0 &&
|
||||
!WriteEbmlElement(writer, libwebm::kMkvDiscardPadding,
|
||||
static_cast<int64>(frame->discard_padding()))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!frame->is_key() && !WriteEbmlElement(writer, libwebm::kMkvReferenceBlock,
|
||||
reference_block_timestamp)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (duration > 0 &&
|
||||
!WriteEbmlElement(writer, libwebm::kMkvBlockDuration, duration)) {
|
||||
return false;
|
||||
}
|
||||
return EbmlMasterElementSize(libwebm::kMkvBlockGroup,
|
||||
block_group_payload_size) +
|
||||
block_group_payload_size;
|
||||
}
|
||||
|
||||
uint64 WriteSimpleBlock(IMkvWriter* writer, const Frame* const frame,
|
||||
int64 timecode) {
|
||||
if (WriteID(writer, libwebm::kMkvSimpleBlock))
|
||||
return 0;
|
||||
|
||||
const int32 size = static_cast<int32>(frame->length()) + 4;
|
||||
if (WriteUInt(writer, size))
|
||||
return 0;
|
||||
|
||||
if (WriteUInt(writer, static_cast<uint64>(frame->track_number())))
|
||||
return 0;
|
||||
|
||||
if (SerializeInt(writer, timecode, 2))
|
||||
return 0;
|
||||
|
||||
uint64 flags = 0;
|
||||
if (frame->is_key())
|
||||
flags |= 0x80;
|
||||
|
||||
if (SerializeInt(writer, flags, 1))
|
||||
return 0;
|
||||
|
||||
if (writer->Write(frame->frame(), static_cast<uint32>(frame->length())))
|
||||
return 0;
|
||||
|
||||
return GetUIntSize(libwebm::kMkvSimpleBlock) + GetCodedUIntSize(size) + 4 +
|
||||
frame->length();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
int32 GetCodedUIntSize(uint64 value) {
|
||||
if (value < 0x000000000000007FULL)
|
||||
return 1;
|
||||
else if (value < 0x0000000000003FFFULL)
|
||||
return 2;
|
||||
else if (value < 0x00000000001FFFFFULL)
|
||||
return 3;
|
||||
else if (value < 0x000000000FFFFFFFULL)
|
||||
return 4;
|
||||
else if (value < 0x00000007FFFFFFFFULL)
|
||||
return 5;
|
||||
else if (value < 0x000003FFFFFFFFFFULL)
|
||||
return 6;
|
||||
else if (value < 0x0001FFFFFFFFFFFFULL)
|
||||
return 7;
|
||||
return 8;
|
||||
}
|
||||
|
||||
int32 GetUIntSize(uint64 value) {
|
||||
if (value < 0x0000000000000100ULL)
|
||||
return 1;
|
||||
else if (value < 0x0000000000010000ULL)
|
||||
return 2;
|
||||
else if (value < 0x0000000001000000ULL)
|
||||
return 3;
|
||||
else if (value < 0x0000000100000000ULL)
|
||||
return 4;
|
||||
else if (value < 0x0000010000000000ULL)
|
||||
return 5;
|
||||
else if (value < 0x0001000000000000ULL)
|
||||
return 6;
|
||||
else if (value < 0x0100000000000000ULL)
|
||||
return 7;
|
||||
return 8;
|
||||
}
|
||||
|
||||
int32 GetIntSize(int64 value) {
|
||||
// Doubling the requested value ensures positive values with their high bit
|
||||
// set are written with 0-padding to avoid flipping the signedness.
|
||||
const uint64 v = (value < 0) ? value ^ -1LL : value;
|
||||
return GetUIntSize(2 * v);
|
||||
}
|
||||
|
||||
uint64 EbmlMasterElementSize(uint64 type, uint64 value) {
|
||||
// Size of EBML ID
|
||||
int32 ebml_size = GetUIntSize(type);
|
||||
|
||||
// Datasize
|
||||
ebml_size += GetCodedUIntSize(value);
|
||||
|
||||
return ebml_size;
|
||||
}
|
||||
|
||||
uint64 EbmlElementSize(uint64 type, int64 value) {
|
||||
// Size of EBML ID
|
||||
int32 ebml_size = GetUIntSize(type);
|
||||
|
||||
// Datasize
|
||||
ebml_size += GetIntSize(value);
|
||||
|
||||
// Size of Datasize
|
||||
ebml_size++;
|
||||
|
||||
return ebml_size;
|
||||
}
|
||||
|
||||
uint64 EbmlElementSize(uint64 type, uint64 value) {
|
||||
return EbmlElementSize(type, value, 0);
|
||||
}
|
||||
|
||||
uint64 EbmlElementSize(uint64 type, uint64 value, uint64 fixed_size) {
|
||||
// Size of EBML ID
|
||||
uint64 ebml_size = GetUIntSize(type);
|
||||
|
||||
// Datasize
|
||||
ebml_size += (fixed_size > 0) ? fixed_size : GetUIntSize(value);
|
||||
|
||||
// Size of Datasize
|
||||
ebml_size++;
|
||||
|
||||
return ebml_size;
|
||||
}
|
||||
|
||||
uint64 EbmlElementSize(uint64 type, float /* value */) {
|
||||
// Size of EBML ID
|
||||
uint64 ebml_size = GetUIntSize(type);
|
||||
|
||||
// Datasize
|
||||
ebml_size += sizeof(float);
|
||||
|
||||
// Size of Datasize
|
||||
ebml_size++;
|
||||
|
||||
return ebml_size;
|
||||
}
|
||||
|
||||
uint64 EbmlElementSize(uint64 type, const char* value) {
|
||||
if (!value)
|
||||
return 0;
|
||||
|
||||
// Size of EBML ID
|
||||
uint64 ebml_size = GetUIntSize(type);
|
||||
|
||||
// Datasize
|
||||
ebml_size += strlen(value);
|
||||
|
||||
// Size of Datasize
|
||||
ebml_size += GetCodedUIntSize(strlen(value));
|
||||
|
||||
return ebml_size;
|
||||
}
|
||||
|
||||
uint64 EbmlElementSize(uint64 type, const uint8* value, uint64 size) {
|
||||
if (!value)
|
||||
return 0;
|
||||
|
||||
// Size of EBML ID
|
||||
uint64 ebml_size = GetUIntSize(type);
|
||||
|
||||
// Datasize
|
||||
ebml_size += size;
|
||||
|
||||
// Size of Datasize
|
||||
ebml_size += GetCodedUIntSize(size);
|
||||
|
||||
return ebml_size;
|
||||
}
|
||||
|
||||
uint64 EbmlDateElementSize(uint64 type) {
|
||||
// Size of EBML ID
|
||||
uint64 ebml_size = GetUIntSize(type);
|
||||
|
||||
// Datasize
|
||||
ebml_size += kDateElementSize;
|
||||
|
||||
// Size of Datasize
|
||||
ebml_size++;
|
||||
|
||||
return ebml_size;
|
||||
}
|
||||
|
||||
int32 SerializeInt(IMkvWriter* writer, int64 value, int32 size) {
|
||||
if (!writer || size < 1 || size > 8)
|
||||
return -1;
|
||||
|
||||
for (int32 i = 1; i <= size; ++i) {
|
||||
const int32 byte_count = size - i;
|
||||
const int32 bit_count = byte_count * 8;
|
||||
|
||||
const int64 bb = value >> bit_count;
|
||||
const uint8 b = static_cast<uint8>(bb);
|
||||
|
||||
const int32 status = writer->Write(&b, 1);
|
||||
|
||||
if (status < 0)
|
||||
return status;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 SerializeFloat(IMkvWriter* writer, float f) {
|
||||
if (!writer)
|
||||
return -1;
|
||||
|
||||
assert(sizeof(uint32) == sizeof(float));
|
||||
// This union is merely used to avoid a reinterpret_cast from float& to
|
||||
// uint32& which will result in violation of strict aliasing.
|
||||
union U32 {
|
||||
uint32 u32;
|
||||
float f;
|
||||
} value;
|
||||
value.f = f;
|
||||
|
||||
for (int32 i = 1; i <= 4; ++i) {
|
||||
const int32 byte_count = 4 - i;
|
||||
const int32 bit_count = byte_count * 8;
|
||||
|
||||
const uint8 byte = static_cast<uint8>(value.u32 >> bit_count);
|
||||
|
||||
const int32 status = writer->Write(&byte, 1);
|
||||
|
||||
if (status < 0)
|
||||
return status;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 WriteUInt(IMkvWriter* writer, uint64 value) {
|
||||
if (!writer)
|
||||
return -1;
|
||||
|
||||
int32 size = GetCodedUIntSize(value);
|
||||
|
||||
return WriteUIntSize(writer, value, size);
|
||||
}
|
||||
|
||||
int32 WriteUIntSize(IMkvWriter* writer, uint64 value, int32 size) {
|
||||
if (!writer || size < 0 || size > 8)
|
||||
return -1;
|
||||
|
||||
if (size > 0) {
|
||||
const uint64 bit = 1LL << (size * 7);
|
||||
|
||||
if (value > (bit - 2))
|
||||
return -1;
|
||||
|
||||
value |= bit;
|
||||
} else {
|
||||
size = 1;
|
||||
int64 bit;
|
||||
|
||||
for (;;) {
|
||||
bit = 1LL << (size * 7);
|
||||
const uint64 max = bit - 2;
|
||||
|
||||
if (value <= max)
|
||||
break;
|
||||
|
||||
++size;
|
||||
}
|
||||
|
||||
if (size > 8)
|
||||
return false;
|
||||
|
||||
value |= bit;
|
||||
}
|
||||
|
||||
return SerializeInt(writer, value, size);
|
||||
}
|
||||
|
||||
int32 WriteID(IMkvWriter* writer, uint64 type) {
|
||||
if (!writer)
|
||||
return -1;
|
||||
|
||||
writer->ElementStartNotify(type, writer->Position());
|
||||
|
||||
const int32 size = GetUIntSize(type);
|
||||
|
||||
return SerializeInt(writer, type, size);
|
||||
}
|
||||
|
||||
bool WriteEbmlMasterElement(IMkvWriter* writer, uint64 type, uint64 size) {
|
||||
if (!writer)
|
||||
return false;
|
||||
|
||||
if (WriteID(writer, type))
|
||||
return false;
|
||||
|
||||
if (WriteUInt(writer, size))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, uint64 value) {
|
||||
return WriteEbmlElement(writer, type, value, 0);
|
||||
}
|
||||
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, uint64 value,
|
||||
uint64 fixed_size) {
|
||||
if (!writer)
|
||||
return false;
|
||||
|
||||
if (WriteID(writer, type))
|
||||
return false;
|
||||
|
||||
uint64 size = GetUIntSize(value);
|
||||
if (fixed_size > 0) {
|
||||
if (size > fixed_size)
|
||||
return false;
|
||||
size = fixed_size;
|
||||
}
|
||||
if (WriteUInt(writer, size))
|
||||
return false;
|
||||
|
||||
if (SerializeInt(writer, value, static_cast<int32>(size)))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, int64 value) {
|
||||
if (!writer)
|
||||
return false;
|
||||
|
||||
if (WriteID(writer, type))
|
||||
return 0;
|
||||
|
||||
const uint64 size = GetIntSize(value);
|
||||
if (WriteUInt(writer, size))
|
||||
return false;
|
||||
|
||||
if (SerializeInt(writer, value, static_cast<int32>(size)))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, float value) {
|
||||
if (!writer)
|
||||
return false;
|
||||
|
||||
if (WriteID(writer, type))
|
||||
return false;
|
||||
|
||||
if (WriteUInt(writer, 4))
|
||||
return false;
|
||||
|
||||
if (SerializeFloat(writer, value))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, const char* value) {
|
||||
if (!writer || !value)
|
||||
return false;
|
||||
|
||||
if (WriteID(writer, type))
|
||||
return false;
|
||||
|
||||
const uint64 length = strlen(value);
|
||||
if (WriteUInt(writer, length))
|
||||
return false;
|
||||
|
||||
if (writer->Write(value, static_cast<uint32>(length)))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, const uint8* value,
|
||||
uint64 size) {
|
||||
if (!writer || !value || size < 1)
|
||||
return false;
|
||||
|
||||
if (WriteID(writer, type))
|
||||
return false;
|
||||
|
||||
if (WriteUInt(writer, size))
|
||||
return false;
|
||||
|
||||
if (writer->Write(value, static_cast<uint32>(size)))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WriteEbmlDateElement(IMkvWriter* writer, uint64 type, int64 value) {
|
||||
if (!writer)
|
||||
return false;
|
||||
|
||||
if (WriteID(writer, type))
|
||||
return false;
|
||||
|
||||
if (WriteUInt(writer, kDateElementSize))
|
||||
return false;
|
||||
|
||||
if (SerializeInt(writer, value, kDateElementSize))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
uint64 WriteFrame(IMkvWriter* writer, const Frame* const frame,
|
||||
Cluster* cluster) {
|
||||
if (!writer || !frame || !frame->IsValid() || !cluster ||
|
||||
!cluster->timecode_scale())
|
||||
return 0;
|
||||
|
||||
// Technically the timecode for a block can be less than the
|
||||
// timecode for the cluster itself (remember that block timecode
|
||||
// is a signed, 16-bit integer). However, as a simplification we
|
||||
// only permit non-negative cluster-relative timecodes for blocks.
|
||||
const int64 relative_timecode = cluster->GetRelativeTimecode(
|
||||
frame->timestamp() / cluster->timecode_scale());
|
||||
if (relative_timecode < 0 || relative_timecode > kMaxBlockTimecode)
|
||||
return 0;
|
||||
|
||||
return frame->CanBeSimpleBlock()
|
||||
? WriteSimpleBlock(writer, frame, relative_timecode)
|
||||
: WriteBlock(writer, frame, relative_timecode,
|
||||
cluster->timecode_scale());
|
||||
}
|
||||
|
||||
uint64 WriteVoidElement(IMkvWriter* writer, uint64 size) {
|
||||
if (!writer)
|
||||
return false;
|
||||
|
||||
// Subtract one for the void ID and the coded size.
|
||||
uint64 void_entry_size = size - 1 - GetCodedUIntSize(size - 1);
|
||||
uint64 void_size = EbmlMasterElementSize(libwebm::kMkvVoid, void_entry_size) +
|
||||
void_entry_size;
|
||||
|
||||
if (void_size != size)
|
||||
return 0;
|
||||
|
||||
const int64 payload_position = writer->Position();
|
||||
if (payload_position < 0)
|
||||
return 0;
|
||||
|
||||
if (WriteID(writer, libwebm::kMkvVoid))
|
||||
return 0;
|
||||
|
||||
if (WriteUInt(writer, void_entry_size))
|
||||
return 0;
|
||||
|
||||
const uint8 value = 0;
|
||||
for (int32 i = 0; i < static_cast<int32>(void_entry_size); ++i) {
|
||||
if (writer->Write(&value, 1))
|
||||
return 0;
|
||||
}
|
||||
|
||||
const int64 stop_position = writer->Position();
|
||||
if (stop_position < 0 ||
|
||||
stop_position - payload_position != static_cast<int64>(void_size))
|
||||
return 0;
|
||||
|
||||
return void_size;
|
||||
}
|
||||
|
||||
void GetVersion(int32* major, int32* minor, int32* build, int32* revision) {
|
||||
*major = 0;
|
||||
*minor = 2;
|
||||
*build = 1;
|
||||
*revision = 0;
|
||||
}
|
||||
|
||||
uint64 MakeUID(unsigned int* seed) {
|
||||
uint64 uid = 0;
|
||||
|
||||
#ifdef __MINGW32__
|
||||
srand(*seed);
|
||||
#endif
|
||||
|
||||
for (int i = 0; i < 7; ++i) { // avoid problems with 8-byte values
|
||||
uid <<= 8;
|
||||
|
||||
// TODO(fgalligan): Move random number generation to platform specific code.
|
||||
#ifdef _MSC_VER
|
||||
(void)seed;
|
||||
const int32 nn = rand();
|
||||
#elif __ANDROID__
|
||||
(void)seed;
|
||||
int32 temp_num = 1;
|
||||
int fd = open("/dev/urandom", O_RDONLY);
|
||||
if (fd != -1) {
|
||||
read(fd, &temp_num, sizeof(temp_num));
|
||||
close(fd);
|
||||
}
|
||||
const int32 nn = temp_num;
|
||||
#elif defined __MINGW32__
|
||||
const int32 nn = rand();
|
||||
#else
|
||||
const int32 nn = rand_r(seed);
|
||||
#endif
|
||||
const int32 n = 0xFF & (nn >> 4); // throw away low-order bits
|
||||
|
||||
uid |= n;
|
||||
}
|
||||
|
||||
return uid;
|
||||
}
|
||||
|
||||
bool IsMatrixCoefficientsValueValid(uint64_t value) {
|
||||
switch (value) {
|
||||
case mkvmuxer::Colour::kGbr:
|
||||
case mkvmuxer::Colour::kBt709:
|
||||
case mkvmuxer::Colour::kUnspecifiedMc:
|
||||
case mkvmuxer::Colour::kReserved:
|
||||
case mkvmuxer::Colour::kFcc:
|
||||
case mkvmuxer::Colour::kBt470bg:
|
||||
case mkvmuxer::Colour::kSmpte170MMc:
|
||||
case mkvmuxer::Colour::kSmpte240MMc:
|
||||
case mkvmuxer::Colour::kYcocg:
|
||||
case mkvmuxer::Colour::kBt2020NonConstantLuminance:
|
||||
case mkvmuxer::Colour::kBt2020ConstantLuminance:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsChromaSitingHorzValueValid(uint64_t value) {
|
||||
switch (value) {
|
||||
case mkvmuxer::Colour::kUnspecifiedCsh:
|
||||
case mkvmuxer::Colour::kLeftCollocated:
|
||||
case mkvmuxer::Colour::kHalfCsh:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsChromaSitingVertValueValid(uint64_t value) {
|
||||
switch (value) {
|
||||
case mkvmuxer::Colour::kUnspecifiedCsv:
|
||||
case mkvmuxer::Colour::kTopCollocated:
|
||||
case mkvmuxer::Colour::kHalfCsv:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsColourRangeValueValid(uint64_t value) {
|
||||
switch (value) {
|
||||
case mkvmuxer::Colour::kUnspecifiedCr:
|
||||
case mkvmuxer::Colour::kBroadcastRange:
|
||||
case mkvmuxer::Colour::kFullRange:
|
||||
case mkvmuxer::Colour::kMcTcDefined:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsTransferCharacteristicsValueValid(uint64_t value) {
|
||||
switch (value) {
|
||||
case mkvmuxer::Colour::kIturBt709Tc:
|
||||
case mkvmuxer::Colour::kUnspecifiedTc:
|
||||
case mkvmuxer::Colour::kReservedTc:
|
||||
case mkvmuxer::Colour::kGamma22Curve:
|
||||
case mkvmuxer::Colour::kGamma28Curve:
|
||||
case mkvmuxer::Colour::kSmpte170MTc:
|
||||
case mkvmuxer::Colour::kSmpte240MTc:
|
||||
case mkvmuxer::Colour::kLinear:
|
||||
case mkvmuxer::Colour::kLog:
|
||||
case mkvmuxer::Colour::kLogSqrt:
|
||||
case mkvmuxer::Colour::kIec6196624:
|
||||
case mkvmuxer::Colour::kIturBt1361ExtendedColourGamut:
|
||||
case mkvmuxer::Colour::kIec6196621:
|
||||
case mkvmuxer::Colour::kIturBt202010bit:
|
||||
case mkvmuxer::Colour::kIturBt202012bit:
|
||||
case mkvmuxer::Colour::kSmpteSt2084:
|
||||
case mkvmuxer::Colour::kSmpteSt4281Tc:
|
||||
case mkvmuxer::Colour::kAribStdB67Hlg:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsPrimariesValueValid(uint64_t value) {
|
||||
switch (value) {
|
||||
case mkvmuxer::Colour::kReservedP0:
|
||||
case mkvmuxer::Colour::kIturBt709P:
|
||||
case mkvmuxer::Colour::kUnspecifiedP:
|
||||
case mkvmuxer::Colour::kReservedP3:
|
||||
case mkvmuxer::Colour::kIturBt470M:
|
||||
case mkvmuxer::Colour::kIturBt470Bg:
|
||||
case mkvmuxer::Colour::kSmpte170MP:
|
||||
case mkvmuxer::Colour::kSmpte240MP:
|
||||
case mkvmuxer::Colour::kFilm:
|
||||
case mkvmuxer::Colour::kIturBt2020:
|
||||
case mkvmuxer::Colour::kSmpteSt4281P:
|
||||
case mkvmuxer::Colour::kJedecP22Phosphors:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace mkvmuxer
|
||||
115
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvmuxerutil.h
vendored
Normal file
115
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvmuxerutil.h
vendored
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
// Copyright (c) 2012 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
#ifndef MKVMUXER_MKVMUXERUTIL_H_
|
||||
#define MKVMUXER_MKVMUXERUTIL_H_
|
||||
|
||||
#include "mkvmuxertypes.h"
|
||||
|
||||
#include "stdint.h"
|
||||
|
||||
namespace mkvmuxer {
|
||||
class Cluster;
|
||||
class Frame;
|
||||
class IMkvWriter;
|
||||
|
||||
// TODO(tomfinegan): mkvmuxer:: integer types continue to be used here because
|
||||
// changing them causes pain for downstream projects. It would be nice if a
|
||||
// solution that allows removal of the mkvmuxer:: integer types while avoiding
|
||||
// pain for downstream users of libwebm. Considering that mkvmuxerutil.{cc,h}
|
||||
// are really, for the great majority of cases, EBML size calculation and writer
|
||||
// functions, perhaps a more EBML focused utility would be the way to go as a
|
||||
// first step.
|
||||
|
||||
const uint64 kEbmlUnknownValue = 0x01FFFFFFFFFFFFFFULL;
|
||||
const int64 kMaxBlockTimecode = 0x07FFFLL;
|
||||
|
||||
// Writes out |value| in Big Endian order. Returns 0 on success.
|
||||
int32 SerializeInt(IMkvWriter* writer, int64 value, int32 size);
|
||||
|
||||
// Writes out |f| in Big Endian order. Returns 0 on success.
|
||||
int32 SerializeFloat(IMkvWriter* writer, float f);
|
||||
|
||||
// Returns the size in bytes of the element.
|
||||
int32 GetUIntSize(uint64 value);
|
||||
int32 GetIntSize(int64 value);
|
||||
int32 GetCodedUIntSize(uint64 value);
|
||||
uint64 EbmlMasterElementSize(uint64 type, uint64 value);
|
||||
uint64 EbmlElementSize(uint64 type, int64 value);
|
||||
uint64 EbmlElementSize(uint64 type, uint64 value);
|
||||
uint64 EbmlElementSize(uint64 type, float value);
|
||||
uint64 EbmlElementSize(uint64 type, const char* value);
|
||||
uint64 EbmlElementSize(uint64 type, const uint8* value, uint64 size);
|
||||
uint64 EbmlDateElementSize(uint64 type);
|
||||
|
||||
// Returns the size in bytes of the element assuming that the element was
|
||||
// written using |fixed_size| bytes. If |fixed_size| is set to zero, then it
|
||||
// computes the necessary number of bytes based on |value|.
|
||||
uint64 EbmlElementSize(uint64 type, uint64 value, uint64 fixed_size);
|
||||
|
||||
// Creates an EBML coded number from |value| and writes it out. The size of
|
||||
// the coded number is determined by the value of |value|. |value| must not
|
||||
// be in a coded form. Returns 0 on success.
|
||||
int32 WriteUInt(IMkvWriter* writer, uint64 value);
|
||||
|
||||
// Creates an EBML coded number from |value| and writes it out. The size of
|
||||
// the coded number is determined by the value of |size|. |value| must not
|
||||
// be in a coded form. Returns 0 on success.
|
||||
int32 WriteUIntSize(IMkvWriter* writer, uint64 value, int32 size);
|
||||
|
||||
// Output an Mkv master element. Returns true if the element was written.
|
||||
bool WriteEbmlMasterElement(IMkvWriter* writer, uint64 value, uint64 size);
|
||||
|
||||
// Outputs an Mkv ID, calls |IMkvWriter::ElementStartNotify|, and passes the
|
||||
// ID to |SerializeInt|. Returns 0 on success.
|
||||
int32 WriteID(IMkvWriter* writer, uint64 type);
|
||||
|
||||
// Output an Mkv non-master element. Returns true if the element was written.
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, uint64 value);
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, int64 value);
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, float value);
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, const char* value);
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, const uint8* value,
|
||||
uint64 size);
|
||||
bool WriteEbmlDateElement(IMkvWriter* writer, uint64 type, int64 value);
|
||||
|
||||
// Output an Mkv non-master element using fixed size. The element will be
|
||||
// written out using exactly |fixed_size| bytes. If |fixed_size| is set to zero
|
||||
// then it computes the necessary number of bytes based on |value|. Returns true
|
||||
// if the element was written.
|
||||
bool WriteEbmlElement(IMkvWriter* writer, uint64 type, uint64 value,
|
||||
uint64 fixed_size);
|
||||
|
||||
// Output a Mkv Frame. It decides the correct element to write (Block vs
|
||||
// SimpleBlock) based on the parameters of the Frame.
|
||||
uint64 WriteFrame(IMkvWriter* writer, const Frame* const frame,
|
||||
Cluster* cluster);
|
||||
|
||||
// Output a void element. |size| must be the entire size in bytes that will be
|
||||
// void. The function will calculate the size of the void header and subtract
|
||||
// it from |size|.
|
||||
uint64 WriteVoidElement(IMkvWriter* writer, uint64 size);
|
||||
|
||||
// Returns the version number of the muxer in |major|, |minor|, |build|,
|
||||
// and |revision|.
|
||||
void GetVersion(int32* major, int32* minor, int32* build, int32* revision);
|
||||
|
||||
// Returns a random number to be used for UID, using |seed| to seed
|
||||
// the random-number generator (see POSIX rand_r() for semantics).
|
||||
uint64 MakeUID(unsigned int* seed);
|
||||
|
||||
// Colour field validation helpers. All return true when |value| is valid.
|
||||
bool IsMatrixCoefficientsValueValid(uint64_t value);
|
||||
bool IsChromaSitingHorzValueValid(uint64_t value);
|
||||
bool IsChromaSitingVertValueValid(uint64_t value);
|
||||
bool IsColourRangeValueValid(uint64_t value);
|
||||
bool IsTransferCharacteristicsValueValid(uint64_t value);
|
||||
bool IsPrimariesValueValid(uint64_t value);
|
||||
|
||||
} // namespace mkvmuxer
|
||||
|
||||
#endif // MKVMUXER_MKVMUXERUTIL_H_
|
||||
92
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvwriter.cc
vendored
Normal file
92
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvwriter.cc
vendored
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
// Copyright (c) 2012 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
#include "mkvmuxer/mkvwriter.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#include <share.h> // for _SH_DENYWR
|
||||
#endif
|
||||
|
||||
namespace mkvmuxer {
|
||||
|
||||
MkvWriter::MkvWriter() : file_(NULL), writer_owns_file_(true) {}
|
||||
|
||||
MkvWriter::MkvWriter(FILE* fp) : file_(fp), writer_owns_file_(false) {}
|
||||
|
||||
MkvWriter::~MkvWriter() { Close(); }
|
||||
|
||||
int32 MkvWriter::Write(const void* buffer, uint32 length) {
|
||||
if (!file_)
|
||||
return -1;
|
||||
|
||||
if (length == 0)
|
||||
return 0;
|
||||
|
||||
if (buffer == NULL)
|
||||
return -1;
|
||||
|
||||
const size_t bytes_written = fwrite(buffer, 1, length, file_);
|
||||
|
||||
return (bytes_written == length) ? 0 : -1;
|
||||
}
|
||||
|
||||
bool MkvWriter::Open(const char* filename) {
|
||||
if (filename == NULL)
|
||||
return false;
|
||||
|
||||
if (file_)
|
||||
return false;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
file_ = _fsopen(filename, "wb", _SH_DENYWR);
|
||||
#else
|
||||
file_ = fopen(filename, "wb");
|
||||
#endif
|
||||
if (file_ == NULL)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
void MkvWriter::Close() {
|
||||
if (file_ && writer_owns_file_) {
|
||||
fclose(file_);
|
||||
}
|
||||
file_ = NULL;
|
||||
}
|
||||
|
||||
int64 MkvWriter::Position() const {
|
||||
if (!file_)
|
||||
return 0;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
return _ftelli64(file_);
|
||||
#else
|
||||
return ftell(file_);
|
||||
#endif
|
||||
}
|
||||
|
||||
int32 MkvWriter::Position(int64 position) {
|
||||
if (!file_)
|
||||
return -1;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
return _fseeki64(file_, position, SEEK_SET);
|
||||
#elif defined(_WIN32)
|
||||
return fseeko64(file_, static_cast<off_t>(position), SEEK_SET);
|
||||
#else
|
||||
return fseeko(file_, static_cast<off_t>(position), SEEK_SET);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool MkvWriter::Seekable() const { return true; }
|
||||
|
||||
void MkvWriter::ElementStartNotify(uint64, int64) {}
|
||||
|
||||
} // namespace mkvmuxer
|
||||
51
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvwriter.h
vendored
Normal file
51
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvmuxer/mkvwriter.h
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
// Copyright (c) 2012 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
#ifndef MKVMUXER_MKVWRITER_H_
|
||||
#define MKVMUXER_MKVWRITER_H_
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "mkvmuxer/mkvmuxer.h"
|
||||
#include "mkvmuxer/mkvmuxertypes.h"
|
||||
|
||||
namespace mkvmuxer {
|
||||
|
||||
// Default implementation of the IMkvWriter interface on Windows.
|
||||
class MkvWriter : public IMkvWriter {
|
||||
public:
|
||||
MkvWriter();
|
||||
explicit MkvWriter(FILE* fp);
|
||||
virtual ~MkvWriter();
|
||||
|
||||
// IMkvWriter interface
|
||||
virtual int64 Position() const;
|
||||
virtual int32 Position(int64 position);
|
||||
virtual bool Seekable() const;
|
||||
virtual int32 Write(const void* buffer, uint32 length);
|
||||
virtual void ElementStartNotify(uint64 element_id, int64 position);
|
||||
|
||||
// Creates and opens a file for writing. |filename| is the name of the file
|
||||
// to open. This function will overwrite the contents of |filename|. Returns
|
||||
// true on success.
|
||||
bool Open(const char* filename);
|
||||
|
||||
// Closes an opened file.
|
||||
void Close();
|
||||
|
||||
private:
|
||||
// File handle to output file.
|
||||
FILE* file_;
|
||||
bool writer_owns_file_;
|
||||
|
||||
LIBWEBM_DISALLOW_COPY_AND_ASSIGN(MkvWriter);
|
||||
};
|
||||
|
||||
} // namespace mkvmuxer
|
||||
|
||||
#endif // MKVMUXER_MKVWRITER_H_
|
||||
8071
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvparser/mkvparser.cc
vendored
Normal file
8071
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvparser/mkvparser.cc
vendored
Normal file
File diff suppressed because it is too large
Load diff
1147
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvparser/mkvparser.h
vendored
Normal file
1147
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvparser/mkvparser.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
135
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvparser/mkvreader.cc
vendored
Normal file
135
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvparser/mkvreader.cc
vendored
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
// Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
#include "mkvparser/mkvreader.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <cassert>
|
||||
|
||||
namespace mkvparser {
|
||||
|
||||
MkvReader::MkvReader() : m_file(NULL), reader_owns_file_(true) {}
|
||||
|
||||
MkvReader::MkvReader(FILE* fp) : m_file(fp), reader_owns_file_(false) {
|
||||
GetFileSize();
|
||||
}
|
||||
|
||||
MkvReader::~MkvReader() {
|
||||
if (reader_owns_file_)
|
||||
Close();
|
||||
m_file = NULL;
|
||||
}
|
||||
|
||||
int MkvReader::Open(const char* fileName) {
|
||||
if (fileName == NULL)
|
||||
return -1;
|
||||
|
||||
if (m_file)
|
||||
return -1;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
const errno_t e = fopen_s(&m_file, fileName, "rb");
|
||||
|
||||
if (e)
|
||||
return -1; // error
|
||||
#else
|
||||
m_file = fopen(fileName, "rb");
|
||||
|
||||
if (m_file == NULL)
|
||||
return -1;
|
||||
#endif
|
||||
return !GetFileSize();
|
||||
}
|
||||
|
||||
bool MkvReader::GetFileSize() {
|
||||
if (m_file == NULL)
|
||||
return false;
|
||||
#ifdef _MSC_VER
|
||||
int status = _fseeki64(m_file, 0L, SEEK_END);
|
||||
|
||||
if (status)
|
||||
return false; // error
|
||||
|
||||
m_length = _ftelli64(m_file);
|
||||
#else
|
||||
fseek(m_file, 0L, SEEK_END);
|
||||
m_length = ftell(m_file);
|
||||
#endif
|
||||
assert(m_length >= 0);
|
||||
|
||||
if (m_length < 0)
|
||||
return false;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
status = _fseeki64(m_file, 0L, SEEK_SET);
|
||||
|
||||
if (status)
|
||||
return false; // error
|
||||
#else
|
||||
fseek(m_file, 0L, SEEK_SET);
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void MkvReader::Close() {
|
||||
if (m_file != NULL) {
|
||||
fclose(m_file);
|
||||
m_file = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
int MkvReader::Length(long long* total, long long* available) {
|
||||
if (m_file == NULL)
|
||||
return -1;
|
||||
|
||||
if (total)
|
||||
*total = m_length;
|
||||
|
||||
if (available)
|
||||
*available = m_length;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int MkvReader::Read(long long offset, long len, unsigned char* buffer) {
|
||||
if (m_file == NULL)
|
||||
return -1;
|
||||
|
||||
if (offset < 0)
|
||||
return -1;
|
||||
|
||||
if (len < 0)
|
||||
return -1;
|
||||
|
||||
if (len == 0)
|
||||
return 0;
|
||||
|
||||
if (offset >= m_length)
|
||||
return -1;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
const int status = _fseeki64(m_file, offset, SEEK_SET);
|
||||
|
||||
if (status)
|
||||
return -1; // error
|
||||
#elif defined(_WIN32)
|
||||
fseeko64(m_file, static_cast<off_t>(offset), SEEK_SET);
|
||||
#else
|
||||
fseeko(m_file, static_cast<off_t>(offset), SEEK_SET);
|
||||
#endif
|
||||
|
||||
const size_t size = fread(buffer, 1, len, m_file);
|
||||
|
||||
if (size < size_t(len))
|
||||
return -1; // error
|
||||
|
||||
return 0; // success
|
||||
}
|
||||
|
||||
} // namespace mkvparser
|
||||
45
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvparser/mkvreader.h
vendored
Normal file
45
TMessagesProj/jni/third_party/libvpx/source/libvpx/third_party/libwebm/mkvparser/mkvreader.h
vendored
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
// Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
#ifndef MKVPARSER_MKVREADER_H_
|
||||
#define MKVPARSER_MKVREADER_H_
|
||||
|
||||
#include <cstdio>
|
||||
|
||||
#include "mkvparser/mkvparser.h"
|
||||
|
||||
namespace mkvparser {
|
||||
|
||||
class MkvReader : public IMkvReader {
|
||||
public:
|
||||
MkvReader();
|
||||
explicit MkvReader(FILE* fp);
|
||||
virtual ~MkvReader();
|
||||
|
||||
int Open(const char*);
|
||||
void Close();
|
||||
|
||||
virtual int Read(long long position, long length, unsigned char* buffer);
|
||||
virtual int Length(long long* total, long long* available);
|
||||
|
||||
private:
|
||||
MkvReader(const MkvReader&);
|
||||
MkvReader& operator=(const MkvReader&);
|
||||
|
||||
// Determines the size of the file. This is called either by the constructor
|
||||
// or by the Open function depending on file ownership. Returns true on
|
||||
// success.
|
||||
bool GetFileSize();
|
||||
|
||||
long long m_length;
|
||||
FILE* m_file;
|
||||
bool reader_owns_file_;
|
||||
};
|
||||
|
||||
} // namespace mkvparser
|
||||
|
||||
#endif // MKVPARSER_MKVREADER_H_
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue