From 5948a021067bce9f87c97a86eb79dd13b5a626ed Mon Sep 17 00:00:00 2001 From: Attila Nagy Date: Thu, 19 Apr 2012 15:55:03 +0300 Subject: [PATCH] Ports vpx_xcaler to new RTCD method We can get rid of all remaining global initializers now: vp8_scale_machine_specific_config() vp8_initialize() vp8dx_initialize() Change-Id: I2825cea5d1c01ad9f6c45df49a0f86d803bfeb69 --- vp8/common/postproc.c | 8 +--- vp8/common/rtcd_defs.sh | 36 ++++++++++++++ vp8/decoder/decodframe.c | 3 +- vp8/decoder/onyxd_if.c | 23 ++------- vp8/encoder/firstpass.c | 14 +++--- vp8/encoder/onyx_if.c | 50 ++++++++------------ vp8/encoder/picklpf.c | 7 ++- vp8/encoder/temporal_filter.c | 1 - vp8/vp8_cx_iface.c | 2 - vp8/vp8_dx_iface.c | 2 - vpx_scale/arm/scalesystemdependent.c | 30 ------------ vpx_scale/arm/yv12extend_arm.h | 28 ----------- vpx_scale/generic/gen_scalers.c | 80 ++++++++++++++++---------------- vpx_scale/generic/scalesystemdependent.c | 74 ----------------------------- vpx_scale/generic/vpxscale.c | 28 +---------- vpx_scale/generic/yv12extend.c | 8 ++-- vpx_scale/vpx_scale.mk | 6 --- vpx_scale/vpxscale.h | 48 ------------------- vpx_scale/yv12extend.h | 40 ---------------- 19 files changed, 117 insertions(+), 371 deletions(-) delete mode 100644 vpx_scale/arm/scalesystemdependent.c delete mode 100644 vpx_scale/arm/yv12extend_arm.h delete mode 100644 vpx_scale/generic/scalesystemdependent.c delete mode 100644 vpx_scale/yv12extend.h diff --git a/vp8/common/postproc.c b/vp8/common/postproc.c index 50ed543..ccf6ad7 100644 --- a/vp8/common/postproc.c +++ b/vp8/common/postproc.c @@ -14,7 +14,6 @@ #include "vpx_scale/yv12config.h" #include "postproc.h" #include "common.h" -#include "vpx_scale/yv12extend.h" #include "vpx_scale/vpxscale.h" #include "systemdependent.h" @@ -405,9 +404,6 @@ double vp8_gaussian(double sigma, double mu, double x) (exp(-(x - mu) * (x - mu) / (2 * sigma * sigma))); } -extern void (*vp8_clear_system_state)(void); - - static void fillrd(struct postproc_state *state, int q, int a) { char char_dist[300]; @@ -755,7 +751,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t if (((flags & VP8D_DEBLOCK) || (flags & VP8D_DEMACROBLOCK)) && oci->post_proc_buffer_int_used) { - vp8_yv12_copy_frame_ptr(&oci->post_proc_buffer, &oci->post_proc_buffer_int); + vp8_yv12_copy_frame(&oci->post_proc_buffer, &oci->post_proc_buffer_int); if (flags & VP8D_DEMACROBLOCK) { vp8_deblock_and_de_macro_block(&oci->post_proc_buffer_int, &oci->post_proc_buffer, @@ -784,7 +780,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t } else { - vp8_yv12_copy_frame_ptr(oci->frame_to_show, &oci->post_proc_buffer); + vp8_yv12_copy_frame(oci->frame_to_show, &oci->post_proc_buffer); oci->postproc_state.last_base_qindex = oci->base_qindex; } oci->postproc_state.last_frame_valid = 1; diff --git a/vp8/common/rtcd_defs.sh b/vp8/common/rtcd_defs.sh index 9c7ebf4..69bd7b6 100644 --- a/vp8/common/rtcd_defs.sh +++ b/vp8/common/rtcd_defs.sh @@ -502,3 +502,39 @@ specialize vp8_yv12_copy_partial_frame neon # End of encoder only functions fi + +# Scaler functions +if [ "CONFIG_SPATIAL_RESAMPLING" != "yes" ]; then + prototype void vp8_horizontal_line_4_5_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" + prototype void vp8_vertical_band_4_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_last_vertical_band_4_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_horizontal_line_2_3_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" + prototype void vp8_vertical_band_2_3_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_last_vertical_band_2_3_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_horizontal_line_3_5_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" + prototype void vp8_vertical_band_3_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_last_vertical_band_3_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_horizontal_line_3_4_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" + prototype void vp8_vertical_band_3_4_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_last_vertical_band_3_4_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_horizontal_line_1_2_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" + prototype void vp8_vertical_band_1_2_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_last_vertical_band_1_2_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_horizontal_line_5_4_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" + prototype void vp8_vertical_band_5_4_scale "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_horizontal_line_5_3_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" + prototype void vp8_vertical_band_5_3_scale "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_horizontal_line_2_1_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" + prototype void vp8_vertical_band_2_1_scale "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" + prototype void vp8_vertical_band_2_1_scale_i "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" +fi + +prototype void vp8_yv12_extend_frame_borders "struct yv12_buffer_config *ybf" +specialize vp8_yv12_extend_frame_borders neon + +prototype void vp8_yv12_copy_frame "struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc" +specialize vp8_yv12_copy_frame neon + +prototype void vp8_yv12_copy_y "struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc" +specialize vp8_yv12_copy_y neon + diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c index f75e8ee..f2d58bd 100644 --- a/vp8/decoder/decodframe.c +++ b/vp8/decoder/decodframe.c @@ -21,7 +21,6 @@ #include "vp8/common/entropymode.h" #include "vp8/common/quant_common.h" #include "vpx_scale/vpxscale.h" -#include "vpx_scale/yv12extend.h" #include "vp8/common/setupintrarecon.h" #include "decodemv.h" @@ -1135,7 +1134,7 @@ int vp8_decode_frame(VP8D_COMP *pbi) { int i; vp8mt_decode_mb_rows(pbi, xd); - vp8_yv12_extend_frame_borders_ptr(&pc->yv12_fb[pc->new_fb_idx]); /*cm->frame_to_show);*/ + vp8_yv12_extend_frame_borders(&pc->yv12_fb[pc->new_fb_idx]); /*cm->frame_to_show);*/ for (i = 0; i < pbi->decoding_thread_count; ++i) corrupt_tokens |= pbi->mb_row_di[i].mbd.corrupted; } diff --git a/vp8/decoder/onyxd_if.c b/vp8/decoder/onyxd_if.c index 9499357..c59ce25 100644 --- a/vp8/decoder/onyxd_if.c +++ b/vp8/decoder/onyxd_if.c @@ -17,7 +17,6 @@ #include "onyxd_int.h" #include "vpx_mem/vpx_mem.h" #include "vp8/common/alloccommon.h" -#include "vpx_scale/yv12extend.h" #include "vp8/common/loopfilter.h" #include "vp8/common/swapyv12buffer.h" #include "vp8/common/threading.h" @@ -42,19 +41,6 @@ extern void vp8cx_init_de_quantizer(VP8D_COMP *pbi); static int get_free_fb (VP8_COMMON *cm); static void ref_cnt_fb (int *buf, int *idx, int new_idx); - -void vp8dx_initialize() -{ - static int init_done = 0; - - if (!init_done) - { - vp8_scale_machine_specific_config(); - init_done = 1; - } -} - - struct VP8D_COMP * vp8dx_create_decompressor(VP8D_CONFIG *oxcf) { VP8D_COMP *pbi = vpx_memalign(32, sizeof(VP8D_COMP)); @@ -72,7 +58,6 @@ struct VP8D_COMP * vp8dx_create_decompressor(VP8D_CONFIG *oxcf) } pbi->common.error.setjmp = 1; - vp8dx_initialize(); vp8_create_common(&pbi->common); @@ -162,7 +147,7 @@ vpx_codec_err_t vp8dx_get_reference(VP8D_COMP *pbi, VP8_REFFRAME ref_frame_flag, "Incorrect buffer dimensions"); } else - vp8_yv12_copy_frame_ptr(&cm->yv12_fb[ref_fb_idx], sd); + vp8_yv12_copy_frame(&cm->yv12_fb[ref_fb_idx], sd); return pbi->common.error.error_code; } @@ -202,7 +187,7 @@ vpx_codec_err_t vp8dx_set_reference(VP8D_COMP *pbi, VP8_REFFRAME ref_frame_flag, /* Manage the reference counters and copy image. */ ref_cnt_fb (cm->fb_idx_ref_cnt, ref_fb_ptr, free_fb); - vp8_yv12_copy_frame_ptr(sd, &cm->yv12_fb[*ref_fb_ptr]); + vp8_yv12_copy_frame(sd, &cm->yv12_fb[*ref_fb_ptr]); } return pbi->common.error.error_code; @@ -366,7 +351,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi const int prev_idx = cm->lst_fb_idx; cm->fb_idx_ref_cnt[prev_idx]--; cm->lst_fb_idx = get_free_fb(cm); - vp8_yv12_copy_frame_ptr(&cm->yv12_fb[prev_idx], + vp8_yv12_copy_frame(&cm->yv12_fb[prev_idx], &cm->yv12_fb[cm->lst_fb_idx]); } /* This is used to signal that we are missing frames. @@ -485,7 +470,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi /* Apply the loop filter if appropriate. */ vp8_loop_filter_frame(cm, &pbi->mb); } - vp8_yv12_extend_frame_borders_ptr(cm->frame_to_show); + vp8_yv12_extend_frame_borders(cm->frame_to_show); } diff --git a/vp8/encoder/firstpass.c b/vp8/encoder/firstpass.c index ac83622..a9c30e4 100644 --- a/vp8/encoder/firstpass.c +++ b/vp8/encoder/firstpass.c @@ -8,23 +8,23 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "math.h" -#include "limits.h" +#include +#include +#include + #include "block.h" #include "onyx_int.h" #include "vp8/common/variance.h" #include "encodeintra.h" #include "vp8/common/setupintrarecon.h" +#include "vp8/common/systemdependent.h" #include "mcomp.h" #include "firstpass.h" #include "vpx_scale/vpxscale.h" #include "encodemb.h" #include "vp8/common/extend.h" -#include "vp8/common/systemdependent.h" -#include "vpx_scale/yv12extend.h" #include "vpx_mem/vpx_mem.h" #include "vp8/common/swapyv12buffer.h" -#include #include "rdopt.h" #include "vp8/common/quant_common.h" #include "encodemv.h" @@ -828,7 +828,7 @@ skip_motion_search: (cpi->twopass.this_frame_stats.pcnt_inter > 0.20) && ((cpi->twopass.this_frame_stats.intra_error / cpi->twopass.this_frame_stats.coded_error) > 2.0)) { - vp8_yv12_copy_frame_ptr(lst_yv12, gld_yv12); + vp8_yv12_copy_frame(lst_yv12, gld_yv12); } // swap frame pointers so last frame refers to the frame we just compressed @@ -838,7 +838,7 @@ skip_motion_search: // Special case for the first frame. Copy into the GF buffer as a second reference. if (cm->current_video_frame == 0) { - vp8_yv12_copy_frame_ptr(lst_yv12, gld_yv12); + vp8_yv12_copy_frame(lst_yv12, gld_yv12); } diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 7e56f8e..69b88a8 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -23,7 +23,6 @@ #include "ratectrl.h" #include "vp8/common/quant_common.h" #include "segmentation.h" -#include "vpx_scale/yv12extend.h" #if CONFIG_POSTPROC #include "vp8/common/postproc.h" #endif @@ -211,17 +210,6 @@ static const unsigned char inter_minq[QINDEX_RANGE] = 86,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100 }; -void vp8_initialize() -{ - static int init_done = 0; - - if (!init_done) - { - vp8_scale_machine_specific_config(); - - init_done = 1; - } -} #ifdef PACKET_TESTING extern FILE *vpxlogc; #endif @@ -589,7 +577,7 @@ static void set_default_lf_deltas(VP8_COMP *cpi) #define GOOD(x) (x+1) #define RT(x) (x+7) -static int speed_map(int speed, int *map) +static int speed_map(int speed, const int *map) { int res; @@ -600,73 +588,73 @@ static int speed_map(int speed, int *map) return res; } -static int thresh_mult_map_znn[] = { +static const int thresh_mult_map_znn[] = { /* map common to zero, nearest, and near */ 0, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(2), 2000, INT_MAX }; -static int thresh_mult_map_vhpred[] = { +static const int thresh_mult_map_vhpred[] = { 1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(1), 2000, RT(7), INT_MAX, INT_MAX }; -static int thresh_mult_map_bpred[] = { +static const int thresh_mult_map_bpred[] = { 2000, GOOD(0), 2500, GOOD(2), 5000, GOOD(3), 7500, RT(0), 2500, RT(1), 5000, RT(6), INT_MAX, INT_MAX }; -static int thresh_mult_map_tm[] = { +static const int thresh_mult_map_tm[] = { 1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 0, RT(1), 1000, RT(2), 2000, RT(7), INT_MAX, INT_MAX }; -static int thresh_mult_map_new1[] = { +static const int thresh_mult_map_new1[] = { 1000, GOOD(2), 2000, RT(0), 2000, INT_MAX }; -static int thresh_mult_map_new2[] = { +static const int thresh_mult_map_new2[] = { 1000, GOOD(2), 2000, GOOD(3), 2500, GOOD(5), 4000, RT(0), 2000, RT(2), 2500, RT(5), 4000, INT_MAX }; -static int thresh_mult_map_split1[] = { +static const int thresh_mult_map_split1[] = { 2500, GOOD(0), 1700, GOOD(2), 10000, GOOD(3), 25000, GOOD(4), INT_MAX, RT(0), 5000, RT(1), 10000, RT(2), 25000, RT(3), INT_MAX, INT_MAX }; -static int thresh_mult_map_split2[] = { +static const int thresh_mult_map_split2[] = { 5000, GOOD(0), 4500, GOOD(2), 20000, GOOD(3), 50000, GOOD(4), INT_MAX, RT(0), 10000, RT(1), 20000, RT(2), 50000, RT(3), INT_MAX, INT_MAX }; -static int mode_check_freq_map_zn2[] = { +static const int mode_check_freq_map_zn2[] = { /* {zero,nearest}{2,3} */ 0, RT(10), 1<<1, RT(11), 1<<2, RT(12), 1<<3, INT_MAX }; -static int mode_check_freq_map_vhbpred[] = { +static const int mode_check_freq_map_vhbpred[] = { 0, GOOD(5), 2, RT(0), 0, RT(3), 2, RT(5), 4, INT_MAX }; -static int mode_check_freq_map_near2[] = { +static const int mode_check_freq_map_near2[] = { 0, GOOD(5), 2, RT(0), 0, RT(3), 2, RT(10), 1<<2, RT(11), 1<<3, RT(12), 1<<4, INT_MAX }; -static int mode_check_freq_map_new1[] = { +static const int mode_check_freq_map_new1[] = { 0, RT(10), 1<<1, RT(11), 1<<2, RT(12), 1<<3, INT_MAX }; -static int mode_check_freq_map_new2[] = { +static const int mode_check_freq_map_new2[] = { 0, GOOD(5), 4, RT(0), 0, RT(3), 4, RT(10), 1<<3, RT(11), 1<<4, RT(12), 1<<5, INT_MAX }; -static int mode_check_freq_map_split1[] = { +static const int mode_check_freq_map_split1[] = { 0, GOOD(2), 2, GOOD(3), 7, RT(1), 2, RT(2), 7, INT_MAX }; -static int mode_check_freq_map_split2[] = { +static const int mode_check_freq_map_split2[] = { 0, GOOD(1), 2, GOOD(2), 4, GOOD(3), 15, RT(1), 4, RT(2), 15, INT_MAX }; @@ -2505,7 +2493,7 @@ int vp8_get_reference(VP8_COMP *cpi, VP8_REFFRAME ref_frame_flag, YV12_BUFFER_CO else return -1; - vp8_yv12_copy_frame_ptr(&cm->yv12_fb[ref_fb_idx], sd); + vp8_yv12_copy_frame(&cm->yv12_fb[ref_fb_idx], sd); return 0; } @@ -2524,7 +2512,7 @@ int vp8_set_reference(VP8_COMP *cpi, VP8_REFFRAME ref_frame_flag, YV12_BUFFER_CO else return -1; - vp8_yv12_copy_frame_ptr(sd, &cm->yv12_fb[ref_fb_idx]); + vp8_yv12_copy_frame(sd, &cm->yv12_fb[ref_fb_idx]); return 0; } @@ -3142,7 +3130,7 @@ void vp8_loopfilter_frame(VP8_COMP *cpi, VP8_COMMON *cm) vp8_loop_filter_frame(cm, &cpi->mb.e_mbd); } - vp8_yv12_extend_frame_borders_ptr(cm->frame_to_show); + vp8_yv12_extend_frame_borders(cm->frame_to_show); #if CONFIG_TEMPORAL_DENOISING if (cpi->oxcf.noise_sensitivity) { diff --git a/vp8/encoder/picklpf.c b/vp8/encoder/picklpf.c index eb54819..d09dfc8 100644 --- a/vp8/encoder/picklpf.c +++ b/vp8/encoder/picklpf.c @@ -13,7 +13,6 @@ #include "onyx_int.h" #include "quantize.h" #include "vpx_mem/vpx_mem.h" -#include "vpx_scale/yv12extend.h" #include "vpx_scale/vpxscale.h" #include "vp8/common/alloccommon.h" #include "vp8/common/loopfilter.h" @@ -304,7 +303,7 @@ void vp8cx_pick_filter_level(YV12_BUFFER_CONFIG *sd, VP8_COMP *cpi) // Get baseline error score /* Copy the unfiltered / processed recon buffer to the new buffer */ - vp8_yv12_copy_y_ptr(saved_frame, cm->frame_to_show); + vp8_yv12_copy_y(saved_frame, cm->frame_to_show); vp8cx_set_alt_lf_level(cpi, filt_mid); vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_mid); @@ -331,7 +330,7 @@ void vp8cx_pick_filter_level(YV12_BUFFER_CONFIG *sd, VP8_COMP *cpi) if(ss_err[filt_low] == 0) { // Get Low filter error score - vp8_yv12_copy_y_ptr(saved_frame, cm->frame_to_show); + vp8_yv12_copy_y(saved_frame, cm->frame_to_show); vp8cx_set_alt_lf_level(cpi, filt_low); vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_low); @@ -357,7 +356,7 @@ void vp8cx_pick_filter_level(YV12_BUFFER_CONFIG *sd, VP8_COMP *cpi) { if(ss_err[filt_high] == 0) { - vp8_yv12_copy_y_ptr(saved_frame, cm->frame_to_show); + vp8_yv12_copy_y(saved_frame, cm->frame_to_show); vp8cx_set_alt_lf_level(cpi, filt_high); vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_high); diff --git a/vp8/encoder/temporal_filter.c b/vp8/encoder/temporal_filter.c index 7e7def4..20bdf17 100644 --- a/vp8/encoder/temporal_filter.c +++ b/vp8/encoder/temporal_filter.c @@ -22,7 +22,6 @@ #include "ratectrl.h" #include "vp8/common/quant_common.h" #include "segmentation.h" -#include "vpx_scale/yv12extend.h" #include "vpx_mem/vpx_mem.h" #include "vp8/common/swapyv12buffer.h" #include "vp8/common/threading.h" diff --git a/vp8/vp8_cx_iface.c b/vp8/vp8_cx_iface.c index 683194a..5fb9684 100644 --- a/vp8/vp8_cx_iface.c +++ b/vp8/vp8_cx_iface.c @@ -628,8 +628,6 @@ static vpx_codec_err_t vp8e_init(vpx_codec_ctx_t *ctx, priv->deprecated_mode = NO_MODE_SET; - vp8_initialize(); - res = validate_config(priv, &priv->cfg, &priv->vp8_cfg, 0); if (!res) diff --git a/vp8/vp8_dx_iface.c b/vp8/vp8_dx_iface.c index 0a62d97..33c1aff 100644 --- a/vp8/vp8_dx_iface.c +++ b/vp8/vp8_dx_iface.c @@ -391,8 +391,6 @@ static vpx_codec_err_t vp8_decode(vpx_codec_alg_priv_t *ctx, VP8D_CONFIG oxcf; struct VP8D_COMP* optr; - vp8dx_initialize(); - oxcf.Width = ctx->si.w; oxcf.Height = ctx->si.h; oxcf.Version = 9; diff --git a/vpx_scale/arm/scalesystemdependent.c b/vpx_scale/arm/scalesystemdependent.c deleted file mode 100644 index 57b16a1..0000000 --- a/vpx_scale/arm/scalesystemdependent.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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 "vpx_config.h" -#include "vpx_ports/arm.h" -#include "vpx_scale/vpxscale.h" -#include "vpx_scale/yv12extend.h" - -void vp8_arch_arm_vpx_scale_init() -{ -#if HAVE_NEON -#if CONFIG_RUNTIME_CPU_DETECT - int flags = arm_cpu_caps(); - if (flags & HAS_NEON) -#endif - { - vp8_yv12_extend_frame_borders_ptr = vp8_yv12_extend_frame_borders_neon; - vp8_yv12_copy_y_ptr = vp8_yv12_copy_y_neon; - vp8_yv12_copy_frame_ptr = vp8_yv12_copy_frame_neon; - } -#endif -} diff --git a/vpx_scale/arm/yv12extend_arm.h b/vpx_scale/arm/yv12extend_arm.h deleted file mode 100644 index 897c672..0000000 --- a/vpx_scale/arm/yv12extend_arm.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * 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 YV12_EXTEND_ARM_H -#define YV12_EXTEND_ARM_H - -#include "vpx_config.h" -#include "vpx_scale/yv12config.h" - -#if HAVE_NEON - void vp8_yv12_extend_frame_borders_neon(YV12_BUFFER_CONFIG *ybf); - - /* Copy Y,U,V buffer data from src to dst, filling border of dst as well. */ - void vp8_yv12_copy_frame_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); - - /* Copy Y buffer data from src_ybc to dst_ybc without filling border data */ - void vp8_yv12_copy_y_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); -#endif - -#endif /* YV12_EXTEND_ARM_H */ diff --git a/vpx_scale/generic/gen_scalers.c b/vpx_scale/generic/gen_scalers.c index b54e334..9beb162 100644 --- a/vpx_scale/generic/gen_scalers.c +++ b/vpx_scale/generic/gen_scalers.c @@ -17,7 +17,7 @@ /**************************************************************************** * - * ROUTINE : vp8cx_horizontal_line_4_5_scale_c + * ROUTINE : vp8_horizontal_line_4_5_scale_c * * INPUTS : const unsigned char *source : Pointer to source data. * unsigned int source_width : Stride of source. @@ -34,7 +34,7 @@ * SPECIAL NOTES : None. * ****************************************************************************/ -void vp8cx_horizontal_line_4_5_scale_c +void vp8_horizontal_line_4_5_scale_c ( const unsigned char *source, unsigned int source_width, @@ -80,7 +80,7 @@ void vp8cx_horizontal_line_4_5_scale_c /**************************************************************************** * - * ROUTINE : vp8cx_vertical_band_4_5_scale_c + * ROUTINE : vp8_vertical_band_4_5_scale_c * * INPUTS : unsigned char *dest : Pointer to destination data. * unsigned int dest_pitch : Stride of destination data. @@ -97,7 +97,7 @@ void vp8cx_horizontal_line_4_5_scale_c * the current band. * ****************************************************************************/ -void vp8cx_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +void vp8_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) { unsigned int i; unsigned int a, b, c, d; @@ -126,7 +126,7 @@ void vp8cx_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitc /**************************************************************************** * - * ROUTINE : vp8cx_last_vertical_band_4_5_scale_c + * ROUTINE : vp8_last_vertical_band_4_5_scale_c * * INPUTS : unsigned char *dest : Pointer to destination data. * unsigned int dest_pitch : Stride of destination data. @@ -144,7 +144,7 @@ void vp8cx_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitc * last band. * ****************************************************************************/ -void vp8cx_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +void vp8_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) { unsigned int i; unsigned int a, b, c, d; @@ -172,7 +172,7 @@ void vp8cx_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest /**************************************************************************** * - * ROUTINE : vp8cx_horizontal_line_2_3_scale_c + * ROUTINE : vp8_horizontal_line_2_3_scale_c * * INPUTS : const unsigned char *source : Pointer to source data. * unsigned int source_width : Stride of source. @@ -190,7 +190,7 @@ void vp8cx_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest * * ****************************************************************************/ -void vp8cx_horizontal_line_2_3_scale_c +void vp8_horizontal_line_2_3_scale_c ( const unsigned char *source, unsigned int source_width, @@ -229,7 +229,7 @@ void vp8cx_horizontal_line_2_3_scale_c /**************************************************************************** * - * ROUTINE : vp8cx_vertical_band_2_3_scale_c + * ROUTINE : vp8_vertical_band_2_3_scale_c * * INPUTS : unsigned char *dest : Pointer to destination data. * unsigned int dest_pitch : Stride of destination data. @@ -246,7 +246,7 @@ void vp8cx_horizontal_line_2_3_scale_c * the current band. * ****************************************************************************/ -void vp8cx_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +void vp8_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) { unsigned int i; unsigned int a, b, c; @@ -266,7 +266,7 @@ void vp8cx_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitc /**************************************************************************** * - * ROUTINE : vp8cx_last_vertical_band_2_3_scale_c + * ROUTINE : vp8_last_vertical_band_2_3_scale_c * * INPUTS : unsigned char *dest : Pointer to destination data. * unsigned int dest_pitch : Stride of destination data. @@ -284,7 +284,7 @@ void vp8cx_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitc * last band. * ****************************************************************************/ -void vp8cx_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +void vp8_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) { unsigned int i; unsigned int a, b; @@ -303,7 +303,7 @@ void vp8cx_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest /**************************************************************************** * - * ROUTINE : vp8cx_horizontal_line_3_5_scale_c + * ROUTINE : vp8_horizontal_line_3_5_scale_c * * INPUTS : const unsigned char *source : Pointer to source data. * unsigned int source_width : Stride of source. @@ -321,7 +321,7 @@ void vp8cx_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest * * ****************************************************************************/ -void vp8cx_horizontal_line_3_5_scale_c +void vp8_horizontal_line_3_5_scale_c ( const unsigned char *source, unsigned int source_width, @@ -368,7 +368,7 @@ void vp8cx_horizontal_line_3_5_scale_c /**************************************************************************** * - * ROUTINE : vp8cx_vertical_band_3_5_scale_c + * ROUTINE : vp8_vertical_band_3_5_scale_c * * INPUTS : unsigned char *dest : Pointer to destination data. * unsigned int dest_pitch : Stride of destination data. @@ -385,7 +385,7 @@ void vp8cx_horizontal_line_3_5_scale_c * the current band. * ****************************************************************************/ -void vp8cx_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +void vp8_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) { unsigned int i; unsigned int a, b, c; @@ -411,7 +411,7 @@ void vp8cx_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitc /**************************************************************************** * - * ROUTINE : vp8cx_last_vertical_band_3_5_scale_c + * ROUTINE : vp8_last_vertical_band_3_5_scale_c * * INPUTS : unsigned char *dest : Pointer to destination data. * unsigned int dest_pitch : Stride of destination data. @@ -429,7 +429,7 @@ void vp8cx_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitc * last band. * ****************************************************************************/ -void vp8cx_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +void vp8_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) { unsigned int i; unsigned int a, b, c; @@ -455,7 +455,7 @@ void vp8cx_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest /**************************************************************************** * - * ROUTINE : vp8cx_horizontal_line_3_4_scale_c + * ROUTINE : vp8_horizontal_line_3_4_scale_c * * INPUTS : const unsigned char *source : Pointer to source data. * unsigned int source_width : Stride of source. @@ -473,7 +473,7 @@ void vp8cx_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest * * ****************************************************************************/ -void vp8cx_horizontal_line_3_4_scale_c +void vp8_horizontal_line_3_4_scale_c ( const unsigned char *source, unsigned int source_width, @@ -517,7 +517,7 @@ void vp8cx_horizontal_line_3_4_scale_c /**************************************************************************** * - * ROUTINE : vp8cx_vertical_band_3_4_scale_c + * ROUTINE : vp8_vertical_band_3_4_scale_c * * INPUTS : unsigned char *dest : Pointer to destination data. * unsigned int dest_pitch : Stride of destination data. @@ -534,7 +534,7 @@ void vp8cx_horizontal_line_3_4_scale_c * the current band. * ****************************************************************************/ -void vp8cx_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +void vp8_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) { unsigned int i; unsigned int a, b, c; @@ -559,7 +559,7 @@ void vp8cx_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitc /**************************************************************************** * - * ROUTINE : vp8cx_last_vertical_band_3_4_scale_c + * ROUTINE : vp8_last_vertical_band_3_4_scale_c * * INPUTS : unsigned char *dest : Pointer to destination data. * unsigned int dest_pitch : Stride of destination data. @@ -577,7 +577,7 @@ void vp8cx_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitc * last band. * ****************************************************************************/ -void vp8cx_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +void vp8_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) { unsigned int i; unsigned int a, b, c; @@ -602,7 +602,7 @@ void vp8cx_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest /**************************************************************************** * - * ROUTINE : vp8cx_horizontal_line_1_2_scale_c + * ROUTINE : vp8_horizontal_line_1_2_scale_c * * INPUTS : const unsigned char *source : Pointer to source data. * unsigned int source_width : Stride of source. @@ -619,7 +619,7 @@ void vp8cx_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest * SPECIAL NOTES : None. * ****************************************************************************/ -void vp8cx_horizontal_line_1_2_scale_c +void vp8_horizontal_line_1_2_scale_c ( const unsigned char *source, unsigned int source_width, @@ -651,7 +651,7 @@ void vp8cx_horizontal_line_1_2_scale_c /**************************************************************************** * - * ROUTINE : vp8cx_vertical_band_1_2_scale_c + * ROUTINE : vp8_vertical_band_1_2_scale_c * * INPUTS : unsigned char *dest : Pointer to destination data. * unsigned int dest_pitch : Stride of destination data. @@ -668,7 +668,7 @@ void vp8cx_horizontal_line_1_2_scale_c * the current band. * ****************************************************************************/ -void vp8cx_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +void vp8_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) { unsigned int i; unsigned int a, b; @@ -687,7 +687,7 @@ void vp8cx_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitc /**************************************************************************** * - * ROUTINE : vp8cx_last_vertical_band_1_2_scale_c + * ROUTINE : vp8_last_vertical_band_1_2_scale_c * * INPUTS : unsigned char *dest : Pointer to destination data. * unsigned int dest_pitch : Stride of destination data. @@ -705,7 +705,7 @@ void vp8cx_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitc * last band. * ****************************************************************************/ -void vp8cx_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +void vp8_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) { unsigned int i; unsigned char *des = dest; @@ -723,7 +723,7 @@ void vp8cx_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest /**************************************************************************** * - * ROUTINE : vp8cx_horizontal_line_4_5_scale_c + * ROUTINE : vp8_horizontal_line_4_5_scale_c * * INPUTS : const unsigned char *source : Pointer to source data. * unsigned int source_width : Stride of source. @@ -740,7 +740,7 @@ void vp8cx_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest * SPECIAL NOTES : None. * ****************************************************************************/ -void vp8cx_horizontal_line_5_4_scale_c +void vp8_horizontal_line_5_4_scale_c ( const unsigned char *source, unsigned int source_width, @@ -776,7 +776,7 @@ void vp8cx_horizontal_line_5_4_scale_c -void vp8cx_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +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) { unsigned int i; unsigned int a, b, c, d, e; @@ -806,7 +806,7 @@ void vp8cx_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pit /*7*************************************************************************** * - * ROUTINE : vp8cx_horizontal_line_3_5_scale_c + * ROUTINE : vp8_horizontal_line_3_5_scale_c * * INPUTS : const unsigned char *source : Pointer to source data. * unsigned int source_width : Stride of source. @@ -824,7 +824,7 @@ void vp8cx_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pit * * ****************************************************************************/ -void vp8cx_horizontal_line_5_3_scale_c +void vp8_horizontal_line_5_3_scale_c ( const unsigned char *source, unsigned int source_width, @@ -857,7 +857,7 @@ void vp8cx_horizontal_line_5_3_scale_c } -void vp8cx_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +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) { unsigned int i; unsigned int a, b, c, d, e; @@ -885,7 +885,7 @@ void vp8cx_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pit /**************************************************************************** * - * ROUTINE : vp8cx_horizontal_line_1_2_scale_c + * ROUTINE : vp8_horizontal_line_1_2_scale_c * * INPUTS : const unsigned char *source : Pointer to source data. * unsigned int source_width : Stride of source. @@ -902,7 +902,7 @@ void vp8cx_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pit * SPECIAL NOTES : None. * ****************************************************************************/ -void vp8cx_horizontal_line_2_1_scale_c +void vp8_horizontal_line_2_1_scale_c ( const unsigned char *source, unsigned int source_width, @@ -928,14 +928,14 @@ void vp8cx_horizontal_line_2_1_scale_c } -void vp8cx_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) +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) { (void) dest_pitch; (void) src_pitch; vpx_memcpy(dest, source, dest_width); } -void vp8cx_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) +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) { int i; int temp; diff --git a/vpx_scale/generic/scalesystemdependent.c b/vpx_scale/generic/scalesystemdependent.c deleted file mode 100644 index 24baef0..0000000 --- a/vpx_scale/generic/scalesystemdependent.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * 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 "vpx_config.h" -#include "vpx_scale/vpxscale.h" -#include "vpx_scale/yv12extend.h" - -void (*vp8_yv12_extend_frame_borders_ptr)(YV12_BUFFER_CONFIG *ybf); -void (*vp8_yv12_copy_frame_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); -void (*vp8_yv12_copy_y_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); - -extern void vp8_arch_arm_vpx_scale_init(); - -/**************************************************************************** - * - * ROUTINE : vp8_scale_machine_specific_config - * - * INPUTS : UINT32 Version : Codec version number. - * - * OUTPUTS : None. - * - * RETURNS : void - * - * FUNCTION : Checks for machine specifc features such as MMX support - * sets appropriate flags and function pointers. - * - * SPECIAL NOTES : None. - * - ****************************************************************************/ -void vp8_scale_machine_specific_config() -{ -#if CONFIG_SPATIAL_RESAMPLING - vp8_horizontal_line_1_2_scale = vp8cx_horizontal_line_1_2_scale_c; - vp8_vertical_band_1_2_scale = vp8cx_vertical_band_1_2_scale_c; - vp8_last_vertical_band_1_2_scale = vp8cx_last_vertical_band_1_2_scale_c; - vp8_horizontal_line_3_5_scale = vp8cx_horizontal_line_3_5_scale_c; - vp8_vertical_band_3_5_scale = vp8cx_vertical_band_3_5_scale_c; - vp8_last_vertical_band_3_5_scale = vp8cx_last_vertical_band_3_5_scale_c; - vp8_horizontal_line_3_4_scale = vp8cx_horizontal_line_3_4_scale_c; - vp8_vertical_band_3_4_scale = vp8cx_vertical_band_3_4_scale_c; - vp8_last_vertical_band_3_4_scale = vp8cx_last_vertical_band_3_4_scale_c; - vp8_horizontal_line_2_3_scale = vp8cx_horizontal_line_2_3_scale_c; - vp8_vertical_band_2_3_scale = vp8cx_vertical_band_2_3_scale_c; - vp8_last_vertical_band_2_3_scale = vp8cx_last_vertical_band_2_3_scale_c; - vp8_horizontal_line_4_5_scale = vp8cx_horizontal_line_4_5_scale_c; - vp8_vertical_band_4_5_scale = vp8cx_vertical_band_4_5_scale_c; - vp8_last_vertical_band_4_5_scale = vp8cx_last_vertical_band_4_5_scale_c; - - - vp8_vertical_band_5_4_scale = vp8cx_vertical_band_5_4_scale_c; - vp8_vertical_band_5_3_scale = vp8cx_vertical_band_5_3_scale_c; - vp8_vertical_band_2_1_scale = vp8cx_vertical_band_2_1_scale_c; - vp8_vertical_band_2_1_scale_i = vp8cx_vertical_band_2_1_scale_i_c; - vp8_horizontal_line_2_1_scale = vp8cx_horizontal_line_2_1_scale_c; - vp8_horizontal_line_5_3_scale = vp8cx_horizontal_line_5_3_scale_c; - vp8_horizontal_line_5_4_scale = vp8cx_horizontal_line_5_4_scale_c; -#endif - - vp8_yv12_extend_frame_borders_ptr = vp8_yv12_extend_frame_borders; - vp8_yv12_copy_y_ptr = vp8_yv12_copy_y_c; - vp8_yv12_copy_frame_ptr = vp8_yv12_copy_frame; - -#if ARCH_ARM - vp8_arch_arm_vpx_scale_init(); -#endif -} diff --git a/vpx_scale/generic/vpxscale.c b/vpx_scale/generic/vpxscale.c index 29b1308..c02e4ff 100644 --- a/vpx_scale/generic/vpxscale.c +++ b/vpx_scale/generic/vpxscale.c @@ -20,37 +20,11 @@ /**************************************************************************** * Header Files ****************************************************************************/ +#include "vpx_rtcd.h" #include "vpx_mem/vpx_mem.h" #include "vpx_scale/yv12config.h" #include "vpx_scale/scale_mode.h" -/**************************************************************************** -* Exports -****************************************************************************/ -void (*vp8_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_last_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_last_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_last_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_last_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_horizontal_line_1_2_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; -void (*vp8_horizontal_line_3_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; -void (*vp8_horizontal_line_3_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; -void (*vp8_horizontal_line_2_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; -void (*vp8_horizontal_line_4_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; -void (*vp8_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_last_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; - -void (*vp8_vertical_band_5_4_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_vertical_band_5_3_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_vertical_band_2_1_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_vertical_band_2_1_scale_i)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; -void (*vp8_horizontal_line_2_1_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; -void (*vp8_horizontal_line_5_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; -void (*vp8_horizontal_line_5_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; - typedef struct { int expanded_frame_width; diff --git a/vpx_scale/generic/yv12extend.c b/vpx_scale/generic/yv12extend.c index b9125de..638633b 100644 --- a/vpx_scale/generic/yv12extend.c +++ b/vpx_scale/generic/yv12extend.c @@ -21,7 +21,7 @@ * ****************************************************************************/ void -vp8_yv12_extend_frame_borders(YV12_BUFFER_CONFIG *ybf) +vp8_yv12_extend_frame_borders_c(YV12_BUFFER_CONFIG *ybf) { int i; unsigned char *src_ptr1, *src_ptr2; @@ -146,7 +146,7 @@ vp8_yv12_extend_frame_borders(YV12_BUFFER_CONFIG *ybf) static void -extend_frame_borders_yonly(YV12_BUFFER_CONFIG *ybf) +extend_frame_borders_yonly_c(YV12_BUFFER_CONFIG *ybf) { int i; unsigned char *src_ptr1, *src_ptr2; @@ -221,7 +221,7 @@ extend_frame_borders_yonly(YV12_BUFFER_CONFIG *ybf) * ****************************************************************************/ void -vp8_yv12_copy_frame(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc) +vp8_yv12_copy_frame_c(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc) { int row; unsigned char *source, *dest; @@ -256,7 +256,7 @@ vp8_yv12_copy_frame(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc) dest += dst_ybc->uv_stride; } - vp8_yv12_extend_frame_borders_ptr(dst_ybc); + vp8_yv12_extend_frame_borders_c(dst_ybc); } void vp8_yv12_copy_y_c(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc) diff --git a/vpx_scale/vpx_scale.mk b/vpx_scale/vpx_scale.mk index e0b2ca5..dc89478 100644 --- a/vpx_scale/vpx_scale.mk +++ b/vpx_scale/vpx_scale.mk @@ -1,19 +1,13 @@ SCALE_SRCS-yes += vpx_scale.mk SCALE_SRCS-yes += scale_mode.h -SCALE_SRCS-yes += yv12extend.h SCALE_SRCS-yes += yv12config.h SCALE_SRCS-yes += vpxscale.h SCALE_SRCS-yes += generic/vpxscale.c SCALE_SRCS-yes += generic/yv12config.c SCALE_SRCS-yes += generic/yv12extend.c SCALE_SRCS-yes += generic/yv12extend_generic.h -SCALE_SRCS-yes += generic/scalesystemdependent.c SCALE_SRCS-$(CONFIG_SPATIAL_RESAMPLING) += generic/gen_scalers.c -#arm -SCALE_SRCS-$(ARCH_ARM) += arm/yv12extend_arm.h -SCALE_SRCS-$(ARCH_ARM) += arm/scalesystemdependent.c - #neon SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copyframe_func_neon$(ASM) SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copy_y_neon$(ASM) diff --git a/vpx_scale/vpxscale.h b/vpx_scale/vpxscale.h index 1a4997c..8919a24 100644 --- a/vpx_scale/vpxscale.h +++ b/vpx_scale/vpxscale.h @@ -13,53 +13,6 @@ #define VPXSCALE_H #include "vpx_scale/yv12config.h" -#include "vpx_scale/yv12extend.h" -void vp8cx_horizontal_line_4_5_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -void vp8cx_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_horizontal_line_2_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -void vp8cx_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_horizontal_line_3_5_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -void vp8cx_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_horizontal_line_3_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -void vp8cx_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_horizontal_line_1_2_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -void vp8cx_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -void vp8cx_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -void vp8cx_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -void vp8cx_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -void vp8cx_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); - - -extern void (*vp8_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_last_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_last_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_last_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_last_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_horizontal_line_1_2_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -extern void (*vp8_horizontal_line_3_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -extern void (*vp8_horizontal_line_3_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -extern void (*vp8_horizontal_line_2_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -extern void (*vp8_horizontal_line_4_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -extern void (*vp8_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_last_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_vertical_band_5_4_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_vertical_band_5_3_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_vertical_band_2_1_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_vertical_band_2_1_scale_i)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); -extern void (*vp8_horizontal_line_2_1_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -extern void (*vp8_horizontal_line_5_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); -extern void (*vp8_horizontal_line_5_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); extern void vp8_yv12_scale_or_center ( @@ -85,6 +38,5 @@ extern void vp8_scale_frame unsigned int vratio, unsigned int interlaced ); -extern void vp8_scale_machine_specific_config(void); #endif diff --git a/vpx_scale/yv12extend.h b/vpx_scale/yv12extend.h deleted file mode 100644 index 72d046b..0000000 --- a/vpx_scale/yv12extend.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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 YV12_EXTEND_H -#define YV12_EXTEND_H - -#include "vpx_config.h" -#include "vpx_scale/yv12config.h" -#include "vpx_scale/generic/yv12extend_generic.h" - -#if HAVE_NEON -#include "vpx_scale/arm/yv12extend_arm.h" -#endif - -#ifdef __cplusplus -extern "C" -{ -#endif - - extern void (*vp8_yv12_extend_frame_borders_ptr)(YV12_BUFFER_CONFIG *ybf); - - /* Copy Y,U,V buffer data from src to dst, filling border of dst as well. */ - extern void (*vp8_yv12_copy_frame_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); - - /* Copy Y buffer data from src_ybc to dst_ybc without filling border data */ - extern void (*vp8_yv12_copy_y_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); - -#ifdef __cplusplus -} -#endif - -#endif -- 2.7.4