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:
Родитель
441cac8ea6
Коммит
5948a02106
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -8,23 +8,23 @@
|
|||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "math.h"
|
||||
#include "limits.h"
|
||||
#include <math.h>
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#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 <stdio.h>
|
||||
#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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -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 */
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
Загрузка…
Ссылка в новой задаче