Merge changes Ia3e9122f,Id33eb6c8,I956bd8ce

* changes:
  Remove vp8_clear_system_state
  vpx_dsp: clean up rtcd
  vp8: clean up rtcd
This commit is contained in:
Johann Koenig 2016-09-29 23:16:44 +00:00 committed by Gerrit Code Review
commit ad55b1d270
12 changed files with 46 additions and 75 deletions

View File

@ -83,8 +83,6 @@ static int get_cpu_count() {
} }
#endif #endif
void vp8_clear_system_state_c(){};
void vp8_machine_specific_config(VP8_COMMON *ctx) { void vp8_machine_specific_config(VP8_COMMON *ctx) {
#if CONFIG_MULTITHREAD #if CONFIG_MULTITHREAD
ctx->processor_core_count = get_cpu_count(); ctx->processor_core_count = get_cpu_count();

View File

@ -12,6 +12,7 @@
#include "vpx_dsp_rtcd.h" #include "vpx_dsp_rtcd.h"
#include "vp8_rtcd.h" #include "vp8_rtcd.h"
#include "vpx_dsp/postproc.h" #include "vpx_dsp/postproc.h"
#include "vpx_ports/system_state.h"
#include "vpx_scale_rtcd.h" #include "vpx_scale_rtcd.h"
#include "vpx_scale/yv12config.h" #include "vpx_scale/yv12config.h"
#include "postproc.h" #include "postproc.h"
@ -321,7 +322,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest,
} }
} }
vp8_clear_system_state(); vpx_clear_system_state();
if ((flags & VP8D_MFQE) && oci->postproc_state.last_frame_valid && if ((flags & VP8D_MFQE) && oci->postproc_state.last_frame_valid &&
oci->current_video_frame >= 2 && oci->current_video_frame >= 2 &&
@ -363,7 +364,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest,
oci->postproc_state.last_noise != noise_level) { oci->postproc_state.last_noise != noise_level) {
double sigma; double sigma;
struct postproc_state *ppstate = &oci->postproc_state; struct postproc_state *ppstate = &oci->postproc_state;
vp8_clear_system_state(); vpx_clear_system_state();
sigma = noise_level + .5 + .6 * q / 63.0; sigma = noise_level + .5 + .6 * q / 63.0;
ppstate->clamp = ppstate->clamp =
vpx_setup_noise(sigma, ppstate->generated_noise, oci->Width + 256); vpx_setup_noise(sigma, ppstate->generated_noise, oci->Width + 256);

View File

@ -18,13 +18,6 @@ EOF
} }
forward_decls qw/vp8_common_forward_decls/; forward_decls qw/vp8_common_forward_decls/;
#
# system state
#
add_proto qw/void vp8_clear_system_state/, "";
specialize qw/vp8_clear_system_state mmx/;
$vp8_clear_system_state_mmx=vpx_reset_mmx_state;
# #
# Dequant # Dequant
# #
@ -33,34 +26,27 @@ specialize qw/vp8_dequantize_b mmx neon msa/;
add_proto qw/void vp8_dequant_idct_add/, "short *input, short *dq, unsigned char *output, int stride"; add_proto qw/void vp8_dequant_idct_add/, "short *input, short *dq, unsigned char *output, int stride";
specialize qw/vp8_dequant_idct_add mmx neon dspr2 msa/; specialize qw/vp8_dequant_idct_add mmx neon dspr2 msa/;
$vp8_dequant_idct_add_dspr2=vp8_dequant_idct_add_dspr2;
add_proto qw/void vp8_dequant_idct_add_y_block/, "short *q, short *dq, unsigned char *dst, int stride, char *eobs"; add_proto qw/void vp8_dequant_idct_add_y_block/, "short *q, short *dq, unsigned char *dst, int stride, char *eobs";
specialize qw/vp8_dequant_idct_add_y_block mmx sse2 neon dspr2 msa/; specialize qw/vp8_dequant_idct_add_y_block mmx sse2 neon dspr2 msa/;
$vp8_dequant_idct_add_y_block_dspr2=vp8_dequant_idct_add_y_block_dspr2;
add_proto qw/void vp8_dequant_idct_add_uv_block/, "short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs"; add_proto qw/void vp8_dequant_idct_add_uv_block/, "short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs";
specialize qw/vp8_dequant_idct_add_uv_block mmx sse2 neon dspr2 msa/; specialize qw/vp8_dequant_idct_add_uv_block mmx sse2 neon dspr2 msa/;
$vp8_dequant_idct_add_y_block_dspr2=vp8_dequant_idct_add_y_block_dspr2;
# #
# Loopfilter # Loopfilter
# #
add_proto qw/void vp8_loop_filter_mbv/, "unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi"; add_proto qw/void vp8_loop_filter_mbv/, "unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi";
specialize qw/vp8_loop_filter_mbv mmx sse2 neon dspr2 msa/; specialize qw/vp8_loop_filter_mbv mmx sse2 neon dspr2 msa/;
$vp8_loop_filter_mbv_dspr2=vp8_loop_filter_mbv_dspr2;
add_proto qw/void vp8_loop_filter_bv/, "unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi"; add_proto qw/void vp8_loop_filter_bv/, "unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi";
specialize qw/vp8_loop_filter_bv mmx sse2 neon dspr2 msa/; specialize qw/vp8_loop_filter_bv mmx sse2 neon dspr2 msa/;
$vp8_loop_filter_bv_dspr2=vp8_loop_filter_bv_dspr2;
add_proto qw/void vp8_loop_filter_mbh/, "unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi"; add_proto qw/void vp8_loop_filter_mbh/, "unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi";
specialize qw/vp8_loop_filter_mbh mmx sse2 neon dspr2 msa/; specialize qw/vp8_loop_filter_mbh mmx sse2 neon dspr2 msa/;
$vp8_loop_filter_mbh_dspr2=vp8_loop_filter_mbh_dspr2;
add_proto qw/void vp8_loop_filter_bh/, "unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi"; add_proto qw/void vp8_loop_filter_bh/, "unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi";
specialize qw/vp8_loop_filter_bh mmx sse2 neon dspr2 msa/; specialize qw/vp8_loop_filter_bh mmx sse2 neon dspr2 msa/;
$vp8_loop_filter_bh_dspr2=vp8_loop_filter_bh_dspr2;
add_proto qw/void vp8_loop_filter_simple_mbv/, "unsigned char *y, int ystride, const unsigned char *blimit"; add_proto qw/void vp8_loop_filter_simple_mbv/, "unsigned char *y, int ystride, const unsigned char *blimit";
@ -101,38 +87,30 @@ $vp8_loop_filter_simple_bh_msa=vp8_loop_filter_bhs_msa;
#idct16 #idct16
add_proto qw/void vp8_short_idct4x4llm/, "short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride"; add_proto qw/void vp8_short_idct4x4llm/, "short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride";
specialize qw/vp8_short_idct4x4llm mmx neon dspr2 msa/; specialize qw/vp8_short_idct4x4llm mmx neon dspr2 msa/;
$vp8_short_idct4x4llm_dspr2=vp8_short_idct4x4llm_dspr2;
#iwalsh1 #iwalsh1
add_proto qw/void vp8_short_inv_walsh4x4_1/, "short *input, short *output"; add_proto qw/void vp8_short_inv_walsh4x4_1/, "short *input, short *output";
specialize qw/vp8_short_inv_walsh4x4_1 dspr2/; specialize qw/vp8_short_inv_walsh4x4_1 dspr2/;
$vp8_short_inv_walsh4x4_1_dspr2=vp8_short_inv_walsh4x4_1_dspr2;
# no asm yet
#iwalsh16 #iwalsh16
add_proto qw/void vp8_short_inv_walsh4x4/, "short *input, short *output"; add_proto qw/void vp8_short_inv_walsh4x4/, "short *input, short *output";
specialize qw/vp8_short_inv_walsh4x4 mmx sse2 neon dspr2 msa/; specialize qw/vp8_short_inv_walsh4x4 mmx sse2 neon dspr2 msa/;
$vp8_short_inv_walsh4x4_dspr2=vp8_short_inv_walsh4x4_dspr2;
#idct1_scalar_add #idct1_scalar_add
add_proto qw/void vp8_dc_only_idct_add/, "short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride"; add_proto qw/void vp8_dc_only_idct_add/, "short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride";
specialize qw/vp8_dc_only_idct_add mmx neon dspr2 msa/; specialize qw/vp8_dc_only_idct_add mmx neon dspr2 msa/;
$vp8_dc_only_idct_add_dspr2=vp8_dc_only_idct_add_dspr2;
# #
# RECON # RECON
# #
add_proto qw/void vp8_copy_mem16x16/, "unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch"; add_proto qw/void vp8_copy_mem16x16/, "unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch";
specialize qw/vp8_copy_mem16x16 mmx sse2 neon dspr2 msa/; specialize qw/vp8_copy_mem16x16 mmx sse2 neon dspr2 msa/;
$vp8_copy_mem16x16_dspr2=vp8_copy_mem16x16_dspr2;
add_proto qw/void vp8_copy_mem8x8/, "unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch"; add_proto qw/void vp8_copy_mem8x8/, "unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch";
specialize qw/vp8_copy_mem8x8 mmx neon dspr2 msa/; specialize qw/vp8_copy_mem8x8 mmx neon dspr2 msa/;
$vp8_copy_mem8x8_dspr2=vp8_copy_mem8x8_dspr2;
add_proto qw/void vp8_copy_mem8x4/, "unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch"; add_proto qw/void vp8_copy_mem8x4/, "unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch";
specialize qw/vp8_copy_mem8x4 mmx neon dspr2 msa/; specialize qw/vp8_copy_mem8x4 mmx neon dspr2 msa/;
$vp8_copy_mem8x4_dspr2=vp8_copy_mem8x4_dspr2;
# #
# Postproc # Postproc
@ -140,13 +118,10 @@ $vp8_copy_mem8x4_dspr2=vp8_copy_mem8x4_dspr2;
if (vpx_config("CONFIG_POSTPROC") eq "yes") { if (vpx_config("CONFIG_POSTPROC") eq "yes") {
add_proto qw/void vp8_blend_mb_inner/, "unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride"; add_proto qw/void vp8_blend_mb_inner/, "unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride";
# no asm yet
add_proto qw/void vp8_blend_mb_outer/, "unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride"; add_proto qw/void vp8_blend_mb_outer/, "unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride";
# no asm yet
add_proto qw/void vp8_blend_b/, "unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride"; add_proto qw/void vp8_blend_b/, "unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride";
# no asm yet
add_proto qw/void vp8_filter_by_weight16x16/, "unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight"; add_proto qw/void vp8_filter_by_weight16x16/, "unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight";
specialize qw/vp8_filter_by_weight16x16 sse2 msa/; specialize qw/vp8_filter_by_weight16x16 sse2 msa/;
@ -155,7 +130,6 @@ if (vpx_config("CONFIG_POSTPROC") eq "yes") {
specialize qw/vp8_filter_by_weight8x8 sse2 msa/; specialize qw/vp8_filter_by_weight8x8 sse2 msa/;
add_proto qw/void vp8_filter_by_weight4x4/, "unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight"; add_proto qw/void vp8_filter_by_weight4x4/, "unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight";
# no asm yet
} }
# #
@ -163,19 +137,15 @@ if (vpx_config("CONFIG_POSTPROC") eq "yes") {
# #
add_proto qw/void vp8_sixtap_predict16x16/, "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"; add_proto qw/void vp8_sixtap_predict16x16/, "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch";
specialize qw/vp8_sixtap_predict16x16 mmx sse2 ssse3 neon dspr2 msa/; specialize qw/vp8_sixtap_predict16x16 mmx sse2 ssse3 neon dspr2 msa/;
$vp8_sixtap_predict16x16_dspr2=vp8_sixtap_predict16x16_dspr2;
add_proto qw/void vp8_sixtap_predict8x8/, "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"; add_proto qw/void vp8_sixtap_predict8x8/, "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch";
specialize qw/vp8_sixtap_predict8x8 mmx sse2 ssse3 neon dspr2 msa/; specialize qw/vp8_sixtap_predict8x8 mmx sse2 ssse3 neon dspr2 msa/;
$vp8_sixtap_predict8x8_dspr2=vp8_sixtap_predict8x8_dspr2;
add_proto qw/void vp8_sixtap_predict8x4/, "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"; add_proto qw/void vp8_sixtap_predict8x4/, "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch";
specialize qw/vp8_sixtap_predict8x4 mmx sse2 ssse3 neon dspr2 msa/; specialize qw/vp8_sixtap_predict8x4 mmx sse2 ssse3 neon dspr2 msa/;
$vp8_sixtap_predict8x4_dspr2=vp8_sixtap_predict8x4_dspr2;
add_proto qw/void vp8_sixtap_predict4x4/, "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"; add_proto qw/void vp8_sixtap_predict4x4/, "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch";
specialize qw/vp8_sixtap_predict4x4 mmx ssse3 neon dspr2 msa/; specialize qw/vp8_sixtap_predict4x4 mmx ssse3 neon dspr2 msa/;
$vp8_sixtap_predict4x4_dspr2=vp8_sixtap_predict4x4_dspr2;
add_proto qw/void vp8_bilinear_predict16x16/, "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"; add_proto qw/void vp8_bilinear_predict16x16/, "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch";
specialize qw/vp8_bilinear_predict16x16 mmx sse2 ssse3 neon msa/; specialize qw/vp8_bilinear_predict16x16 mmx sse2 ssse3 neon msa/;

View File

@ -29,6 +29,7 @@
#include "./vpx_scale_rtcd.h" #include "./vpx_scale_rtcd.h"
#include "vpx_scale/vpx_scale.h" #include "vpx_scale/vpx_scale.h"
#include "vp8/common/systemdependent.h" #include "vp8/common/systemdependent.h"
#include "vpx_ports/system_state.h"
#include "vpx_ports/vpx_once.h" #include "vpx_ports/vpx_once.h"
#include "vpx_ports/vpx_timer.h" #include "vpx_ports/vpx_timer.h"
#include "detokenize.h" #include "detokenize.h"
@ -352,7 +353,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, size_t size,
goto decode_exit; goto decode_exit;
} }
vp8_clear_system_state(); vpx_clear_system_state();
if (cm->show_frame) { if (cm->show_frame) {
cm->current_video_frame++; cm->current_video_frame++;
@ -383,7 +384,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, size_t size,
decode_exit: decode_exit:
pbi->common.error.setjmp = 0; pbi->common.error.setjmp = 0;
vp8_clear_system_state(); vpx_clear_system_state();
return retcode; return retcode;
} }
int vp8dx_get_raw_frame(VP8D_COMP *pbi, YV12_BUFFER_CONFIG *sd, int vp8dx_get_raw_frame(VP8D_COMP *pbi, YV12_BUFFER_CONFIG *sd,
@ -416,7 +417,7 @@ int vp8dx_get_raw_frame(VP8D_COMP *pbi, YV12_BUFFER_CONFIG *sd,
} }
#endif /*!CONFIG_POSTPROC*/ #endif /*!CONFIG_POSTPROC*/
vp8_clear_system_state(); vpx_clear_system_state();
return ret; return ret;
} }
@ -447,7 +448,7 @@ int vp8_create_decoder_instances(struct frame_buffers *fb, VP8D_CONFIG *oxcf) {
if (setjmp(fb->pbi[0]->common.error.jmp)) { if (setjmp(fb->pbi[0]->common.error.jmp)) {
vp8_remove_decoder_instances(fb); vp8_remove_decoder_instances(fb);
memset(fb->pbi, 0, sizeof(fb->pbi) / sizeof(fb->pbi[0])); memset(fb->pbi, 0, sizeof(fb->pbi) / sizeof(fb->pbi[0]));
vp8_clear_system_state(); vpx_clear_system_state();
return VPX_CODEC_ERROR; return VPX_CODEC_ERROR;
} }

View File

@ -19,6 +19,7 @@
#include <limits.h> #include <limits.h>
#include "vpx/vpx_encoder.h" #include "vpx/vpx_encoder.h"
#include "vpx_mem/vpx_mem.h" #include "vpx_mem/vpx_mem.h"
#include "vpx_ports/system_state.h"
#include "bitstream.h" #include "bitstream.h"
#include "defaultcoefcounts.h" #include "defaultcoefcounts.h"
@ -843,7 +844,7 @@ int vp8_estimate_entropy_savings(VP8_COMP *cpi) {
int new_intra, new_last, new_garf, oldtotal, newtotal; int new_intra, new_last, new_garf, oldtotal, newtotal;
int ref_frame_cost[MAX_REF_FRAMES]; int ref_frame_cost[MAX_REF_FRAMES];
vp8_clear_system_state(); vpx_clear_system_state();
if (cpi->common.frame_type != KEY_FRAME) { if (cpi->common.frame_type != KEY_FRAME) {
if (!(new_intra = rf_intra * 255 / (rf_intra + rf_inter))) new_intra = 1; if (!(new_intra = rf_intra * 255 / (rf_intra + rf_inter))) new_intra = 1;
@ -908,7 +909,7 @@ void vp8_update_coef_probs(VP8_COMP *cpi) {
#endif #endif
int savings = 0; int savings = 0;
vp8_clear_system_state(); vpx_clear_system_state();
do { do {
int j = 0; int j = 0;
@ -1295,7 +1296,7 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest,
#endif #endif
vp8_clear_system_state(); vpx_clear_system_state();
#if CONFIG_REALTIME_ONLY & CONFIG_ONTHEFLY_BITPACKING #if CONFIG_REALTIME_ONLY & CONFIG_ONTHEFLY_BITPACKING
pack_coef_probs(cpi); pack_coef_probs(cpi);

View File

@ -12,6 +12,7 @@
#include "encodemv.h" #include "encodemv.h"
#include "vp8/common/entropymode.h" #include "vp8/common/entropymode.h"
#include "vp8/common/systemdependent.h" #include "vp8/common/systemdependent.h"
#include "vpx_ports/system_state.h"
#include <math.h> #include <math.h>
@ -126,7 +127,7 @@ void vp8_build_component_cost_table(int *mvcost[2], const MV_CONTEXT *mvc,
unsigned int cost0 = 0; unsigned int cost0 = 0;
unsigned int cost1 = 0; unsigned int cost1 = 0;
vp8_clear_system_state(); vpx_clear_system_state();
i = 1; i = 1;

View File

@ -26,6 +26,7 @@
#include "vpx_scale/vpx_scale.h" #include "vpx_scale/vpx_scale.h"
#include "encodemb.h" #include "encodemb.h"
#include "vp8/common/extend.h" #include "vp8/common/extend.h"
#include "vpx_ports/system_state.h"
#include "vpx_mem/vpx_mem.h" #include "vpx_mem/vpx_mem.h"
#include "vp8/common/swapyv12buffer.h" #include "vp8/common/swapyv12buffer.h"
#include "rdopt.h" #include "rdopt.h"
@ -499,7 +500,7 @@ void vp8_first_pass(VP8_COMP *cpi) {
zero_ref_mv.as_int = 0; zero_ref_mv.as_int = 0;
vp8_clear_system_state(); vpx_clear_system_state();
x->src = *cpi->Source; x->src = *cpi->Source;
xd->pre = *lst_yv12; xd->pre = *lst_yv12;
@ -741,10 +742,10 @@ void vp8_first_pass(VP8_COMP *cpi) {
/* extend the recon for intra prediction */ /* extend the recon for intra prediction */
vp8_extend_mb_row(new_yv12, xd->dst.y_buffer + 16, xd->dst.u_buffer + 8, vp8_extend_mb_row(new_yv12, xd->dst.y_buffer + 16, xd->dst.u_buffer + 8,
xd->dst.v_buffer + 8); xd->dst.v_buffer + 8);
vp8_clear_system_state(); vpx_clear_system_state();
} }
vp8_clear_system_state(); vpx_clear_system_state();
{ {
double weight = 0.0; double weight = 0.0;
@ -1655,7 +1656,7 @@ static void define_gf_group(VP8_COMP *cpi, FIRSTPASS_STATS *this_frame) {
cpi->twopass.gf_group_bits = 0; cpi->twopass.gf_group_bits = 0;
cpi->twopass.gf_decay_rate = 0; cpi->twopass.gf_decay_rate = 0;
vp8_clear_system_state(); vpx_clear_system_state();
start_pos = cpi->twopass.stats_in; start_pos = cpi->twopass.stats_in;
@ -2268,7 +2269,7 @@ void vp8_second_pass(VP8_COMP *cpi) {
return; return;
} }
vp8_clear_system_state(); vpx_clear_system_state();
if (EOF == input_stats(cpi, &this_frame)) return; if (EOF == input_stats(cpi, &this_frame)) return;
@ -2543,7 +2544,7 @@ static void find_next_key_frame(VP8_COMP *cpi, FIRSTPASS_STATS *this_frame) {
memset(&next_frame, 0, sizeof(next_frame)); memset(&next_frame, 0, sizeof(next_frame));
vp8_clear_system_state(); vpx_clear_system_state();
start_position = cpi->twopass.stats_in; start_position = cpi->twopass.stats_in;
cpi->common.frame_type = KEY_FRAME; cpi->common.frame_type = KEY_FRAME;

View File

@ -33,6 +33,7 @@
#include "vp8/common/reconintra.h" #include "vp8/common/reconintra.h"
#include "vp8/common/swapyv12buffer.h" #include "vp8/common/swapyv12buffer.h"
#include "vp8/common/threading.h" #include "vp8/common/threading.h"
#include "vpx_ports/system_state.h"
#include "vpx_ports/vpx_timer.h" #include "vpx_ports/vpx_timer.h"
#if ARCH_ARM #if ARCH_ARM
#include "vpx_ports/arm.h" #include "vpx_ports/arm.h"
@ -2296,7 +2297,7 @@ static uint64_t calc_plane_error(unsigned char *orig, int orig_stride,
recon += recon_stride; recon += recon_stride;
} }
vp8_clear_system_state(); vpx_clear_system_state();
return total_sse; return total_sse;
} }
@ -2691,7 +2692,7 @@ static int decide_key_frame(VP8_COMP *cpi) {
if (cpi->Speed > 11) return 0; if (cpi->Speed > 11) return 0;
/* Clear down mmx registers */ /* Clear down mmx registers */
vp8_clear_system_state(); vpx_clear_system_state();
if ((cpi->compressor_speed == 2) && (cpi->Speed >= 5) && (cpi->sf.RD == 0)) { if ((cpi->compressor_speed == 2) && (cpi->Speed >= 5) && (cpi->sf.RD == 0)) {
double change = 1.0 * double change = 1.0 *
@ -3129,7 +3130,7 @@ void vp8_loopfilter_frame(VP8_COMP *cpi, VP8_COMMON *cm) {
} else { } else {
struct vpx_usec_timer timer; struct vpx_usec_timer timer;
vp8_clear_system_state(); vpx_clear_system_state();
vpx_usec_timer_start(&timer); vpx_usec_timer_start(&timer);
if (cpi->sf.auto_filter == 0) { if (cpi->sf.auto_filter == 0) {
@ -3217,7 +3218,7 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size,
int drop_mark25 = drop_mark / 8; int drop_mark25 = drop_mark / 8;
/* Clear down mmx registers to allow floating point in what follows */ /* Clear down mmx registers to allow floating point in what follows */
vp8_clear_system_state(); vpx_clear_system_state();
if (cpi->force_next_frame_intra) { if (cpi->force_next_frame_intra) {
cm->frame_type = KEY_FRAME; /* delayed intra frame */ cm->frame_type = KEY_FRAME; /* delayed intra frame */
@ -3576,7 +3577,7 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size,
* There is some odd behavior for one pass here that needs attention. * There is some odd behavior for one pass here that needs attention.
*/ */
if ((cpi->pass == 2) || (cpi->ni_frames > 150)) { if ((cpi->pass == 2) || (cpi->ni_frames > 150)) {
vp8_clear_system_state(); vpx_clear_system_state();
Q = cpi->active_worst_quality; Q = cpi->active_worst_quality;
@ -3802,7 +3803,7 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size,
#endif #endif
do { do {
vp8_clear_system_state(); vpx_clear_system_state();
vp8_set_quantizer(cpi, Q); vp8_set_quantizer(cpi, Q);
@ -3935,7 +3936,7 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size,
cpi->projected_frame_size = cpi->projected_frame_size =
(cpi->projected_frame_size > 0) ? cpi->projected_frame_size : 0; (cpi->projected_frame_size > 0) ? cpi->projected_frame_size : 0;
#endif #endif
vp8_clear_system_state(); vpx_clear_system_state();
/* Test to see if the stats generated for this frame indicate that /* Test to see if the stats generated for this frame indicate that
* we should have coded a key frame (assuming that we didn't)! * we should have coded a key frame (assuming that we didn't)!
@ -3979,7 +3980,7 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size,
#endif #endif
} }
vp8_clear_system_state(); vpx_clear_system_state();
if (frame_over_shoot_limit == 0) frame_over_shoot_limit = 1; if (frame_over_shoot_limit == 0) frame_over_shoot_limit = 1;
@ -4549,7 +4550,7 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size,
{ {
FILE *f = fopen("tmp.stt", "a"); FILE *f = fopen("tmp.stt", "a");
vp8_clear_system_state(); vpx_clear_system_state();
if (cpi->twopass.total_left_stats.coded_error != 0.0) if (cpi->twopass.total_left_stats.coded_error != 0.0)
fprintf(f, "%10d %10d %10d %10d %10d %10"PRId64" %10"PRId64 fprintf(f, "%10d %10d %10d %10d %10d %10"PRId64" %10"PRId64
@ -4779,7 +4780,7 @@ int vp8_get_compressed_data(VP8_COMP *cpi, unsigned int *frame_flags,
if (setjmp(cpi->common.error.jmp)) { if (setjmp(cpi->common.error.jmp)) {
cpi->common.error.setjmp = 0; cpi->common.error.setjmp = 0;
vp8_clear_system_state(); vpx_clear_system_state();
return VPX_CODEC_CORRUPT_FRAME; return VPX_CODEC_CORRUPT_FRAME;
} }
@ -4986,7 +4987,7 @@ int vp8_get_compressed_data(VP8_COMP *cpi, unsigned int *frame_flags,
*size = 0; *size = 0;
/* Clear down mmx registers */ /* Clear down mmx registers */
vp8_clear_system_state(); vpx_clear_system_state();
cm->frame_type = INTER_FRAME; cm->frame_type = INTER_FRAME;
cm->frame_flags = *frame_flags; cm->frame_flags = *frame_flags;
@ -5139,7 +5140,7 @@ int vp8_get_compressed_data(VP8_COMP *cpi, unsigned int *frame_flags,
vp8_deblock(cm, cm->frame_to_show, &cm->post_proc_buffer, vp8_deblock(cm, cm->frame_to_show, &cm->post_proc_buffer,
cm->filter_level * 10 / 6, 1, 0); cm->filter_level * 10 / 6, 1, 0);
vp8_clear_system_state(); vpx_clear_system_state();
ye = calc_plane_error(orig->y_buffer, orig->y_stride, pp->y_buffer, ye = calc_plane_error(orig->y_buffer, orig->y_stride, pp->y_buffer,
pp->y_stride, y_width, y_height); pp->y_stride, y_width, y_height);
@ -5249,7 +5250,7 @@ int vp8_get_preview_raw_frame(VP8_COMP *cpi, YV12_BUFFER_CONFIG *dest,
} }
#endif #endif
vp8_clear_system_state(); vpx_clear_system_state();
return ret; return ret;
} }
} }

View File

@ -22,6 +22,7 @@
#include "vp8/common/systemdependent.h" #include "vp8/common/systemdependent.h"
#include "encodemv.h" #include "encodemv.h"
#include "vpx_dsp/vpx_dsp_common.h" #include "vpx_dsp/vpx_dsp_common.h"
#include "vpx_ports/system_state.h"
#define MIN_BPB_FACTOR 0.01 #define MIN_BPB_FACTOR 0.01
#define MAX_BPB_FACTOR 50 #define MAX_BPB_FACTOR 50
@ -296,7 +297,7 @@ static void calc_iframe_target_size(VP8_COMP *cpi) {
uint64_t target; uint64_t target;
/* Clear down mmx registers to allow floating point in what follows */ /* Clear down mmx registers to allow floating point in what follows */
vp8_clear_system_state(); vpx_clear_system_state();
if (cpi->oxcf.fixed_q >= 0) { if (cpi->oxcf.fixed_q >= 0) {
int Q = cpi->oxcf.key_q; int Q = cpi->oxcf.key_q;
@ -1019,7 +1020,7 @@ void vp8_update_rate_correction_factors(VP8_COMP *cpi, int damp_var) {
int projected_size_based_on_q = 0; int projected_size_based_on_q = 0;
/* Clear down mmx registers to allow floating point in what follows */ /* Clear down mmx registers to allow floating point in what follows */
vp8_clear_system_state(); vpx_clear_system_state();
if (cpi->common.frame_type == KEY_FRAME) { if (cpi->common.frame_type == KEY_FRAME) {
rate_correction_factor = cpi->key_frame_rate_correction_factor; rate_correction_factor = cpi->key_frame_rate_correction_factor;
@ -1302,7 +1303,7 @@ static int estimate_keyframe_frequency(VP8_COMP *cpi) {
void vp8_adjust_key_frame_context(VP8_COMP *cpi) { void vp8_adjust_key_frame_context(VP8_COMP *cpi) {
/* Clear down mmx registers to allow floating point in what follows */ /* Clear down mmx registers to allow floating point in what follows */
vp8_clear_system_state(); vpx_clear_system_state();
/* Do we have any key frame overspend to recover? */ /* Do we have any key frame overspend to recover? */
/* Two-pass overspend handled elsewhere. */ /* Two-pass overspend handled elsewhere. */

View File

@ -30,6 +30,7 @@
#include "encodemb.h" #include "encodemb.h"
#include "vp8/encoder/quantize.h" #include "vp8/encoder/quantize.h"
#include "vpx_dsp/variance.h" #include "vpx_dsp/variance.h"
#include "vpx_ports/system_state.h"
#include "mcomp.h" #include "mcomp.h"
#include "rdopt.h" #include "rdopt.h"
#include "vpx_mem/vpx_mem.h" #include "vpx_mem/vpx_mem.h"
@ -163,7 +164,7 @@ void vp8_initialize_rd_consts(VP8_COMP *cpi, MACROBLOCK *x, int Qvalue) {
double capped_q = (Qvalue < 160) ? (double)Qvalue : 160.0; double capped_q = (Qvalue < 160) ? (double)Qvalue : 160.0;
double rdconst = 2.80; double rdconst = 2.80;
vp8_clear_system_state(); vpx_clear_system_state();
/* Further tests required to see if optimum is different /* Further tests required to see if optimum is different
* for key frames, golden frames and arf frames. * for key frames, golden frames and arf frames.

View File

@ -24,6 +24,7 @@
#include "decoder/onyxd_int.h" #include "decoder/onyxd_int.h"
#include "vpx_dsp/vpx_dsp_common.h" #include "vpx_dsp/vpx_dsp_common.h"
#include "vpx_mem/vpx_mem.h" #include "vpx_mem/vpx_mem.h"
#include "vpx_ports/system_state.h"
#if CONFIG_ERROR_CONCEALMENT #if CONFIG_ERROR_CONCEALMENT
#include "decoder/error_concealment.h" #include "decoder/error_concealment.h"
#endif #endif
@ -365,7 +366,7 @@ static vpx_codec_err_t vp8_decode(vpx_codec_alg_priv_t *ctx,
* reallocation is attempted on resync. */ * reallocation is attempted on resync. */
ctx->si.w = 0; ctx->si.w = 0;
ctx->si.h = 0; ctx->si.h = 0;
vp8_clear_system_state(); vpx_clear_system_state();
/* same return value as used in vp8dx_receive_compressed_data */ /* same return value as used in vp8dx_receive_compressed_data */
return -1; return -1;
} }

View File

@ -11,12 +11,6 @@ EOF
} }
forward_decls qw/vpx_dsp_forward_decls/; forward_decls qw/vpx_dsp_forward_decls/;
# optimizations which depend on multiple features
$avx2_ssse3 = '';
if ((vpx_config("HAVE_AVX2") eq "yes") && (vpx_config("HAVE_SSSE3") eq "yes")) {
$avx2_ssse3 = 'avx2';
}
# functions that are 64 bit only. # functions that are 64 bit only.
$mmx_x86_64 = $sse2_x86_64 = $ssse3_x86_64 = $avx_x86_64 = $avx2_x86_64 = ''; $mmx_x86_64 = $sse2_x86_64 = $ssse3_x86_64 = $avx_x86_64 = $avx2_x86_64 = '';
if ($opts{arch} eq "x86_64") { if ($opts{arch} eq "x86_64") {
@ -437,13 +431,13 @@ add_proto qw/void vpx_convolve_avg/, "const uint8_t *src, ptrdiff_t src_stride,
specialize qw/vpx_convolve_avg neon dspr2 msa sse2/; specialize qw/vpx_convolve_avg neon dspr2 msa sse2/;
add_proto qw/void vpx_convolve8/, "const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h"; add_proto qw/void vpx_convolve8/, "const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h";
specialize qw/vpx_convolve8 sse2 ssse3 neon dspr2 msa/, "$avx2_ssse3"; specialize qw/vpx_convolve8 sse2 ssse3 avx2 neon dspr2 msa/;
add_proto qw/void vpx_convolve8_horiz/, "const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h"; add_proto qw/void vpx_convolve8_horiz/, "const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h";
specialize qw/vpx_convolve8_horiz sse2 ssse3 neon dspr2 msa/, "$avx2_ssse3"; specialize qw/vpx_convolve8_horiz sse2 ssse3 avx2 neon dspr2 msa/;
add_proto qw/void vpx_convolve8_vert/, "const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h"; add_proto qw/void vpx_convolve8_vert/, "const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h";
specialize qw/vpx_convolve8_vert sse2 ssse3 neon dspr2 msa/, "$avx2_ssse3"; specialize qw/vpx_convolve8_vert sse2 ssse3 avx2 neon dspr2 msa/;
add_proto qw/void vpx_convolve8_avg/, "const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h"; add_proto qw/void vpx_convolve8_avg/, "const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h";
specialize qw/vpx_convolve8_avg sse2 ssse3 neon dspr2 msa/; specialize qw/vpx_convolve8_avg sse2 ssse3 neon dspr2 msa/;