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
This commit is contained in:
Attila Nagy
2012-04-19 15:55:03 +03:00
parent 441cac8ea6
commit 5948a02106
19 changed files with 117 additions and 371 deletions

View File

@@ -14,7 +14,6 @@
#include "vpx_scale/yv12config.h" #include "vpx_scale/yv12config.h"
#include "postproc.h" #include "postproc.h"
#include "common.h" #include "common.h"
#include "vpx_scale/yv12extend.h"
#include "vpx_scale/vpxscale.h" #include "vpx_scale/vpxscale.h"
#include "systemdependent.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))); (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) static void fillrd(struct postproc_state *state, int q, int a)
{ {
char char_dist[300]; 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)) && if (((flags & VP8D_DEBLOCK) || (flags & VP8D_DEMACROBLOCK)) &&
oci->post_proc_buffer_int_used) 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) if (flags & VP8D_DEMACROBLOCK)
{ {
vp8_deblock_and_de_macro_block(&oci->post_proc_buffer_int, &oci->post_proc_buffer, 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 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_base_qindex = oci->base_qindex;
} }
oci->postproc_state.last_frame_valid = 1; oci->postproc_state.last_frame_valid = 1;

View File

@@ -502,3 +502,39 @@ specialize vp8_yv12_copy_partial_frame neon
# End of encoder only functions # End of encoder only functions
fi 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

View File

@@ -21,7 +21,6 @@
#include "vp8/common/entropymode.h" #include "vp8/common/entropymode.h"
#include "vp8/common/quant_common.h" #include "vp8/common/quant_common.h"
#include "vpx_scale/vpxscale.h" #include "vpx_scale/vpxscale.h"
#include "vpx_scale/yv12extend.h"
#include "vp8/common/setupintrarecon.h" #include "vp8/common/setupintrarecon.h"
#include "decodemv.h" #include "decodemv.h"
@@ -1135,7 +1134,7 @@ int vp8_decode_frame(VP8D_COMP *pbi)
{ {
int i; int i;
vp8mt_decode_mb_rows(pbi, xd); 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) for (i = 0; i < pbi->decoding_thread_count; ++i)
corrupt_tokens |= pbi->mb_row_di[i].mbd.corrupted; corrupt_tokens |= pbi->mb_row_di[i].mbd.corrupted;
} }

View File

@@ -17,7 +17,6 @@
#include "onyxd_int.h" #include "onyxd_int.h"
#include "vpx_mem/vpx_mem.h" #include "vpx_mem/vpx_mem.h"
#include "vp8/common/alloccommon.h" #include "vp8/common/alloccommon.h"
#include "vpx_scale/yv12extend.h"
#include "vp8/common/loopfilter.h" #include "vp8/common/loopfilter.h"
#include "vp8/common/swapyv12buffer.h" #include "vp8/common/swapyv12buffer.h"
#include "vp8/common/threading.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 int get_free_fb (VP8_COMMON *cm);
static void ref_cnt_fb (int *buf, int *idx, int new_idx); 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) struct VP8D_COMP * vp8dx_create_decompressor(VP8D_CONFIG *oxcf)
{ {
VP8D_COMP *pbi = vpx_memalign(32, sizeof(VP8D_COMP)); 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; pbi->common.error.setjmp = 1;
vp8dx_initialize();
vp8_create_common(&pbi->common); 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"); "Incorrect buffer dimensions");
} }
else 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; 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. */ /* Manage the reference counters and copy image. */
ref_cnt_fb (cm->fb_idx_ref_cnt, ref_fb_ptr, free_fb); 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; 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; const int prev_idx = cm->lst_fb_idx;
cm->fb_idx_ref_cnt[prev_idx]--; cm->fb_idx_ref_cnt[prev_idx]--;
cm->lst_fb_idx = get_free_fb(cm); 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]); &cm->yv12_fb[cm->lst_fb_idx]);
} }
/* This is used to signal that we are missing frames. /* 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. */ /* Apply the loop filter if appropriate. */
vp8_loop_filter_frame(cm, &pbi->mb); 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);
} }

View File

@@ -8,23 +8,23 @@
* be found in the AUTHORS file in the root of the source tree. * be found in the AUTHORS file in the root of the source tree.
*/ */
#include "math.h" #include <math.h>
#include "limits.h" #include <limits.h>
#include <stdio.h>
#include "block.h" #include "block.h"
#include "onyx_int.h" #include "onyx_int.h"
#include "vp8/common/variance.h" #include "vp8/common/variance.h"
#include "encodeintra.h" #include "encodeintra.h"
#include "vp8/common/setupintrarecon.h" #include "vp8/common/setupintrarecon.h"
#include "vp8/common/systemdependent.h"
#include "mcomp.h" #include "mcomp.h"
#include "firstpass.h" #include "firstpass.h"
#include "vpx_scale/vpxscale.h" #include "vpx_scale/vpxscale.h"
#include "encodemb.h" #include "encodemb.h"
#include "vp8/common/extend.h" #include "vp8/common/extend.h"
#include "vp8/common/systemdependent.h"
#include "vpx_scale/yv12extend.h"
#include "vpx_mem/vpx_mem.h" #include "vpx_mem/vpx_mem.h"
#include "vp8/common/swapyv12buffer.h" #include "vp8/common/swapyv12buffer.h"
#include <stdio.h>
#include "rdopt.h" #include "rdopt.h"
#include "vp8/common/quant_common.h" #include "vp8/common/quant_common.h"
#include "encodemv.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.pcnt_inter > 0.20) &&
((cpi->twopass.this_frame_stats.intra_error / cpi->twopass.this_frame_stats.coded_error) > 2.0)) ((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 // 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. // Special case for the first frame. Copy into the GF buffer as a second reference.
if (cm->current_video_frame == 0) if (cm->current_video_frame == 0)
{ {
vp8_yv12_copy_frame_ptr(lst_yv12, gld_yv12); vp8_yv12_copy_frame(lst_yv12, gld_yv12);
} }

View File

@@ -23,7 +23,6 @@
#include "ratectrl.h" #include "ratectrl.h"
#include "vp8/common/quant_common.h" #include "vp8/common/quant_common.h"
#include "segmentation.h" #include "segmentation.h"
#include "vpx_scale/yv12extend.h"
#if CONFIG_POSTPROC #if CONFIG_POSTPROC
#include "vp8/common/postproc.h" #include "vp8/common/postproc.h"
#endif #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 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 #ifdef PACKET_TESTING
extern FILE *vpxlogc; extern FILE *vpxlogc;
#endif #endif
@@ -589,7 +577,7 @@ static void set_default_lf_deltas(VP8_COMP *cpi)
#define GOOD(x) (x+1) #define GOOD(x) (x+1)
#define RT(x) (x+7) #define RT(x) (x+7)
static int speed_map(int speed, int *map) static int speed_map(int speed, const int *map)
{ {
int res; int res;
@@ -600,73 +588,73 @@ static int speed_map(int speed, int *map)
return res; return res;
} }
static int thresh_mult_map_znn[] = { static const int thresh_mult_map_znn[] = {
/* map common to zero, nearest, and near */ /* map common to zero, nearest, and near */
0, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(2), 2000, INT_MAX 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, 1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(1), 2000,
RT(7), INT_MAX, INT_MAX 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, 2000, GOOD(0), 2500, GOOD(2), 5000, GOOD(3), 7500, RT(0), 2500, RT(1), 5000,
RT(6), INT_MAX, INT_MAX 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, 1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 0, RT(1), 1000, RT(2), 2000,
RT(7), INT_MAX, INT_MAX 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 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, 1000, GOOD(2), 2000, GOOD(3), 2500, GOOD(5), 4000, RT(0), 2000, RT(2), 2500,
RT(5), 4000, INT_MAX 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, 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 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, 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 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} */ /* {zero,nearest}{2,3} */
0, RT(10), 1<<1, RT(11), 1<<2, RT(12), 1<<3, INT_MAX 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 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, 0, GOOD(5), 2, RT(0), 0, RT(3), 2, RT(10), 1<<2, RT(11), 1<<3, RT(12), 1<<4,
INT_MAX 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 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, 0, GOOD(5), 4, RT(0), 0, RT(3), 4, RT(10), 1<<3, RT(11), 1<<4, RT(12), 1<<5,
INT_MAX 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 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 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 else
return -1; 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; return 0;
} }
@@ -2524,7 +2512,7 @@ int vp8_set_reference(VP8_COMP *cpi, VP8_REFFRAME ref_frame_flag, YV12_BUFFER_CO
else else
return -1; 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; 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_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 CONFIG_TEMPORAL_DENOISING
if (cpi->oxcf.noise_sensitivity) if (cpi->oxcf.noise_sensitivity)
{ {

View File

@@ -13,7 +13,6 @@
#include "onyx_int.h" #include "onyx_int.h"
#include "quantize.h" #include "quantize.h"
#include "vpx_mem/vpx_mem.h" #include "vpx_mem/vpx_mem.h"
#include "vpx_scale/yv12extend.h"
#include "vpx_scale/vpxscale.h" #include "vpx_scale/vpxscale.h"
#include "vp8/common/alloccommon.h" #include "vp8/common/alloccommon.h"
#include "vp8/common/loopfilter.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 // Get baseline error score
/* Copy the unfiltered / processed recon buffer to the new buffer */ /* 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); vp8cx_set_alt_lf_level(cpi, filt_mid);
vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, 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) if(ss_err[filt_low] == 0)
{ {
// Get Low filter error score // 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); vp8cx_set_alt_lf_level(cpi, filt_low);
vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, 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) 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); vp8cx_set_alt_lf_level(cpi, filt_high);
vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_high); vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_high);

View File

@@ -22,7 +22,6 @@
#include "ratectrl.h" #include "ratectrl.h"
#include "vp8/common/quant_common.h" #include "vp8/common/quant_common.h"
#include "segmentation.h" #include "segmentation.h"
#include "vpx_scale/yv12extend.h"
#include "vpx_mem/vpx_mem.h" #include "vpx_mem/vpx_mem.h"
#include "vp8/common/swapyv12buffer.h" #include "vp8/common/swapyv12buffer.h"
#include "vp8/common/threading.h" #include "vp8/common/threading.h"

View File

@@ -628,8 +628,6 @@ static vpx_codec_err_t vp8e_init(vpx_codec_ctx_t *ctx,
priv->deprecated_mode = NO_MODE_SET; priv->deprecated_mode = NO_MODE_SET;
vp8_initialize();
res = validate_config(priv, &priv->cfg, &priv->vp8_cfg, 0); res = validate_config(priv, &priv->cfg, &priv->vp8_cfg, 0);
if (!res) if (!res)

View File

@@ -391,8 +391,6 @@ static vpx_codec_err_t vp8_decode(vpx_codec_alg_priv_t *ctx,
VP8D_CONFIG oxcf; VP8D_CONFIG oxcf;
struct VP8D_COMP* optr; struct VP8D_COMP* optr;
vp8dx_initialize();
oxcf.Width = ctx->si.w; oxcf.Width = ctx->si.w;
oxcf.Height = ctx->si.h; oxcf.Height = ctx->si.h;
oxcf.Version = 9; oxcf.Version = 9;

View File

@@ -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
}

View File

@@ -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 */

View File

@@ -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. * INPUTS : const unsigned char *source : Pointer to source data.
* unsigned int source_width : Stride of source. * unsigned int source_width : Stride of source.
@@ -34,7 +34,7 @@
* SPECIAL NOTES : None. * SPECIAL NOTES : None.
* *
****************************************************************************/ ****************************************************************************/
void vp8cx_horizontal_line_4_5_scale_c void vp8_horizontal_line_4_5_scale_c
( (
const unsigned char *source, const unsigned char *source,
unsigned int source_width, 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. * INPUTS : unsigned char *dest : Pointer to destination data.
* unsigned int dest_pitch : Stride of 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. * 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 i;
unsigned int a, b, c, d; 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. * INPUTS : unsigned char *dest : Pointer to destination data.
* unsigned int dest_pitch : Stride of 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. * 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 i;
unsigned int a, b, c, d; 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. * INPUTS : const unsigned char *source : Pointer to source data.
* unsigned int source_width : Stride of source. * 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, const unsigned char *source,
unsigned int source_width, 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. * INPUTS : unsigned char *dest : Pointer to destination data.
* unsigned int dest_pitch : Stride of 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. * 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 i;
unsigned int a, b, c; 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. * INPUTS : unsigned char *dest : Pointer to destination data.
* unsigned int dest_pitch : Stride of 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. * 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 i;
unsigned int a, b; 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. * INPUTS : const unsigned char *source : Pointer to source data.
* unsigned int source_width : Stride of source. * 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, const unsigned char *source,
unsigned int source_width, 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. * INPUTS : unsigned char *dest : Pointer to destination data.
* unsigned int dest_pitch : Stride of 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. * 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 i;
unsigned int a, b, c; 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. * INPUTS : unsigned char *dest : Pointer to destination data.
* unsigned int dest_pitch : Stride of 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. * 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 i;
unsigned int a, b, c; 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. * INPUTS : const unsigned char *source : Pointer to source data.
* unsigned int source_width : Stride of source. * 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, const unsigned char *source,
unsigned int source_width, 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. * INPUTS : unsigned char *dest : Pointer to destination data.
* unsigned int dest_pitch : Stride of 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. * 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 i;
unsigned int a, b, c; 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. * INPUTS : unsigned char *dest : Pointer to destination data.
* unsigned int dest_pitch : Stride of 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. * 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 i;
unsigned int a, b, c; 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. * INPUTS : const unsigned char *source : Pointer to source data.
* unsigned int source_width : Stride of source. * 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. * SPECIAL NOTES : None.
* *
****************************************************************************/ ****************************************************************************/
void vp8cx_horizontal_line_1_2_scale_c void vp8_horizontal_line_1_2_scale_c
( (
const unsigned char *source, const unsigned char *source,
unsigned int source_width, 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. * INPUTS : unsigned char *dest : Pointer to destination data.
* unsigned int dest_pitch : Stride of 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. * 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 i;
unsigned int a, b; 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. * INPUTS : unsigned char *dest : Pointer to destination data.
* unsigned int dest_pitch : Stride of 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. * 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 int i;
unsigned char *des = dest; 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. * INPUTS : const unsigned char *source : Pointer to source data.
* unsigned int source_width : Stride of source. * 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. * SPECIAL NOTES : None.
* *
****************************************************************************/ ****************************************************************************/
void vp8cx_horizontal_line_5_4_scale_c void vp8_horizontal_line_5_4_scale_c
( (
const unsigned char *source, const unsigned char *source,
unsigned int source_width, 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 i;
unsigned int a, b, c, d, e; 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*************************************************************************** /*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. * INPUTS : const unsigned char *source : Pointer to source data.
* unsigned int source_width : Stride of source. * 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, const unsigned char *source,
unsigned int source_width, 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 i;
unsigned int a, b, c, d, e; 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. * INPUTS : const unsigned char *source : Pointer to source data.
* unsigned int source_width : Stride of source. * 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. * SPECIAL NOTES : None.
* *
****************************************************************************/ ****************************************************************************/
void vp8cx_horizontal_line_2_1_scale_c void vp8_horizontal_line_2_1_scale_c
( (
const unsigned char *source, const unsigned char *source,
unsigned int source_width, 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) dest_pitch;
(void) src_pitch; (void) src_pitch;
vpx_memcpy(dest, source, dest_width); 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 i;
int temp; int temp;

View File

@@ -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
}

View File

@@ -20,37 +20,11 @@
/**************************************************************************** /****************************************************************************
* Header Files * Header Files
****************************************************************************/ ****************************************************************************/
#include "vpx_rtcd.h"
#include "vpx_mem/vpx_mem.h" #include "vpx_mem/vpx_mem.h"
#include "vpx_scale/yv12config.h" #include "vpx_scale/yv12config.h"
#include "vpx_scale/scale_mode.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 typedef struct
{ {
int expanded_frame_width; int expanded_frame_width;

View File

@@ -21,7 +21,7 @@
* *
****************************************************************************/ ****************************************************************************/
void void
vp8_yv12_extend_frame_borders(YV12_BUFFER_CONFIG *ybf) vp8_yv12_extend_frame_borders_c(YV12_BUFFER_CONFIG *ybf)
{ {
int i; int i;
unsigned char *src_ptr1, *src_ptr2; unsigned char *src_ptr1, *src_ptr2;
@@ -146,7 +146,7 @@ vp8_yv12_extend_frame_borders(YV12_BUFFER_CONFIG *ybf)
static void static void
extend_frame_borders_yonly(YV12_BUFFER_CONFIG *ybf) extend_frame_borders_yonly_c(YV12_BUFFER_CONFIG *ybf)
{ {
int i; int i;
unsigned char *src_ptr1, *src_ptr2; unsigned char *src_ptr1, *src_ptr2;
@@ -221,7 +221,7 @@ extend_frame_borders_yonly(YV12_BUFFER_CONFIG *ybf)
* *
****************************************************************************/ ****************************************************************************/
void 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; int row;
unsigned char *source, *dest; 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; 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) void vp8_yv12_copy_y_c(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc)

View File

@@ -1,19 +1,13 @@
SCALE_SRCS-yes += vpx_scale.mk SCALE_SRCS-yes += vpx_scale.mk
SCALE_SRCS-yes += scale_mode.h SCALE_SRCS-yes += scale_mode.h
SCALE_SRCS-yes += yv12extend.h
SCALE_SRCS-yes += yv12config.h SCALE_SRCS-yes += yv12config.h
SCALE_SRCS-yes += vpxscale.h SCALE_SRCS-yes += vpxscale.h
SCALE_SRCS-yes += generic/vpxscale.c SCALE_SRCS-yes += generic/vpxscale.c
SCALE_SRCS-yes += generic/yv12config.c SCALE_SRCS-yes += generic/yv12config.c
SCALE_SRCS-yes += generic/yv12extend.c SCALE_SRCS-yes += generic/yv12extend.c
SCALE_SRCS-yes += generic/yv12extend_generic.h SCALE_SRCS-yes += generic/yv12extend_generic.h
SCALE_SRCS-yes += generic/scalesystemdependent.c
SCALE_SRCS-$(CONFIG_SPATIAL_RESAMPLING) += generic/gen_scalers.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 #neon
SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copyframe_func_neon$(ASM) SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copyframe_func_neon$(ASM)
SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copy_y_neon$(ASM) SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copy_y_neon$(ASM)

View File

@@ -13,53 +13,6 @@
#define VPXSCALE_H #define VPXSCALE_H
#include "vpx_scale/yv12config.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 extern void vp8_yv12_scale_or_center
( (
@@ -85,6 +38,5 @@ extern void vp8_scale_frame
unsigned int vratio, unsigned int vratio,
unsigned int interlaced unsigned int interlaced
); );
extern void vp8_scale_machine_specific_config(void);
#endif #endif

View File

@@ -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