diff options
29 files changed, 87 insertions, 78 deletions
diff --git a/vp9/common/vp9_alloccommon.c b/vp9/common/vp9_alloccommon.c index 8eda491de..a3e01bf38 100644 --- a/vp9/common/vp9_alloccommon.c +++ b/vp9/common/vp9_alloccommon.c @@ -16,7 +16,6 @@ #include "vp9/common/vp9_entropymode.h" #include "vp9/common/vp9_entropymv.h" #include "vp9/common/vp9_onyxc_int.h" -#include "vp9/common/vp9_systemdependent.h" // TODO(hkuang): Don't need to lock the whole pool after implementing atomic // frame reference count. diff --git a/vp9/common/vp9_common.h b/vp9/common/vp9_common.h index c249ad4d7..76e7cd440 100644 --- a/vp9/common/vp9_common.h +++ b/vp9/common/vp9_common.h @@ -19,7 +19,7 @@ #include "vpx_dsp/vpx_dsp_common.h" #include "vpx_mem/vpx_mem.h" #include "vpx/vpx_integer.h" -#include "vp9/common/vp9_systemdependent.h" +#include "vpx_ports/bitops.h" #ifdef __cplusplus extern "C" { diff --git a/vp9/common/vp9_idct.c b/vp9/common/vp9_idct.c index 146bf4298..d12cd76db 100644 --- a/vp9/common/vp9_idct.c +++ b/vp9/common/vp9_idct.c @@ -14,7 +14,6 @@ #include "./vpx_dsp_rtcd.h" #include "vp9/common/vp9_blockd.h" #include "vp9/common/vp9_idct.h" -#include "vp9/common/vp9_systemdependent.h" #include "vpx_dsp/inv_txfm.h" #include "vpx_ports/mem.h" diff --git a/vp9/common/vp9_postproc.c b/vp9/common/vp9_postproc.c index 53b3b700c..1843bb95c 100644 --- a/vp9/common/vp9_postproc.c +++ b/vp9/common/vp9_postproc.c @@ -17,12 +17,12 @@ #include "./vp9_rtcd.h" #include "vpx_ports/mem.h" +#include "vpx_ports/system_state.h" #include "vpx_scale/vpx_scale.h" #include "vpx_scale/yv12config.h" #include "vp9/common/vp9_onyxc_int.h" #include "vp9/common/vp9_postproc.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/common/vp9_textblit.h" #if CONFIG_VP9_POSTPROC @@ -544,7 +544,7 @@ static void fillrd(struct postproc_state *state, int q, int a) { double sigma; int ai = a, qi = q, i; - vp9_clear_system_state(); + vpx_clear_system_state(); sigma = ai + .5 + .6 * (63 - qi) / 63.0; @@ -638,7 +638,7 @@ int vp9_post_proc_frame(struct VP9Common *cm, return 0; } - vp9_clear_system_state(); + vpx_clear_system_state(); // Alloc memory for prev_mip in the first frame. if (cm->current_video_frame == 1) { diff --git a/vp9/decoder/vp9_decoder.c b/vp9/decoder/vp9_decoder.c index 801145654..6734d0029 100644 --- a/vp9/decoder/vp9_decoder.c +++ b/vp9/decoder/vp9_decoder.c @@ -17,6 +17,7 @@ #include "./vpx_scale_rtcd.h" #include "vpx_mem/vpx_mem.h" +#include "vpx_ports/system_state.h" #include "vpx_ports/vpx_once.h" #include "vpx_ports/vpx_timer.h" #include "vpx_scale/vpx_scale.h" @@ -30,7 +31,6 @@ #endif #include "vp9/common/vp9_quant_common.h" #include "vp9/common/vp9_reconintra.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/decoder/vp9_decodeframe.h" #include "vp9/decoder/vp9_decoder.h" @@ -365,7 +365,7 @@ int vp9_receive_compressed_data(VP9Decoder *pbi, decrease_ref_count(cm->new_fb_idx, frame_bufs, pool); unlock_buffer_pool(pool); - vp9_clear_system_state(); + vpx_clear_system_state(); return -1; } @@ -374,7 +374,7 @@ int vp9_receive_compressed_data(VP9Decoder *pbi, swap_frame_buffers(pbi); - vp9_clear_system_state(); + vpx_clear_system_state(); if (!cm->show_existing_frame) { cm->last_show_frame = cm->show_frame; @@ -440,7 +440,7 @@ int vp9_get_raw_frame(VP9Decoder *pbi, YV12_BUFFER_CONFIG *sd, *sd = *cm->frame_to_show; ret = 0; #endif /*!CONFIG_POSTPROC*/ - vp9_clear_system_state(); + vpx_clear_system_state(); return ret; } diff --git a/vp9/encoder/vp9_aq_complexity.c b/vp9/encoder/vp9_aq_complexity.c index bea7653d2..15f227fb8 100644 --- a/vp9/encoder/vp9_aq_complexity.c +++ b/vp9/encoder/vp9_aq_complexity.c @@ -10,6 +10,7 @@ #include <limits.h> #include <math.h> +#include "vpx_ports/system_state.h" #include "vp9/encoder/vp9_aq_complexity.h" #include "vp9/encoder/vp9_aq_variance.h" @@ -47,7 +48,7 @@ void vp9_setup_in_frame_q_adj(VP9_COMP *cpi) { struct segmentation *const seg = &cm->seg; // Make SURE use of floating point in this function is safe. - vp9_clear_system_state(); + vpx_clear_system_state(); if (cm->frame_type == KEY_FRAME || cpi->refresh_alt_ref_frame || @@ -133,7 +134,7 @@ void vp9_caq_select_segment(VP9_COMP *cpi, MACROBLOCK *mb, BLOCK_SIZE bs, double low_var_thresh; const int aq_strength = get_aq_c_strength(cm->base_qindex, cm->bit_depth); - vp9_clear_system_state(); + vpx_clear_system_state(); low_var_thresh = (cpi->oxcf.pass == 2) ? MAX(cpi->twopass.mb_av_energy, MIN_DEFAULT_LV_THRESH) : DEFAULT_LV_THRESH; diff --git a/vp9/encoder/vp9_aq_cyclicrefresh.c b/vp9/encoder/vp9_aq_cyclicrefresh.c index a13f0c001..e6b368617 100644 --- a/vp9/encoder/vp9_aq_cyclicrefresh.c +++ b/vp9/encoder/vp9_aq_cyclicrefresh.c @@ -11,6 +11,8 @@ #include <limits.h> #include <math.h> +#include "vpx_ports/system_state.h" + #include "vp9/encoder/vp9_aq_cyclicrefresh.h" #include "vp9/common/vp9_seg_common.h" @@ -506,7 +508,7 @@ void vp9_cyclic_refresh_setup(VP9_COMP *const cpi) { int qindex_delta = 0; int qindex2; const double q = vp9_convert_qindex_to_q(cm->base_qindex, cm->bit_depth); - vp9_clear_system_state(); + vpx_clear_system_state(); // Set rate threshold to some multiple (set to 2 for now) of the target // rate (target is given by sb64_target_rate and scaled by 256). cr->thresh_rate_sb = ((int64_t)(rc->sb64_target_rate) << 8) << 2; diff --git a/vp9/encoder/vp9_aq_variance.c b/vp9/encoder/vp9_aq_variance.c index f072717f1..1c99105d1 100644 --- a/vp9/encoder/vp9_aq_variance.c +++ b/vp9/encoder/vp9_aq_variance.c @@ -11,6 +11,7 @@ #include <math.h> #include "vpx_ports/mem.h" +#include "vpx_ports/system_state.h" #include "vp9/encoder/vp9_aq_variance.h" @@ -19,7 +20,6 @@ #include "vp9/encoder/vp9_ratectrl.h" #include "vp9/encoder/vp9_rd.h" #include "vp9/encoder/vp9_segmentation.h" -#include "vp9/common/vp9_systemdependent.h" #define ENERGY_MIN (-4) #define ENERGY_MAX (1) @@ -56,7 +56,7 @@ void vp9_vaq_frame_setup(VP9_COMP *cpi) { seg->abs_delta = SEGMENT_DELTADATA; - vp9_clear_system_state(); + vpx_clear_system_state(); for (i = 0; i < MAX_SEGMENTS; ++i) { int qindex_delta = @@ -191,7 +191,7 @@ static unsigned int block_variance(VP9_COMP *cpi, MACROBLOCK *x, double vp9_log_block_var(VP9_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bs) { unsigned int var = block_variance(cpi, x, bs); - vp9_clear_system_state(); + vpx_clear_system_state(); return log(var + 1.0); } @@ -199,7 +199,7 @@ double vp9_log_block_var(VP9_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bs) { int vp9_block_energy(VP9_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bs) { double energy; double energy_midpoint; - vp9_clear_system_state(); + vpx_clear_system_state(); energy_midpoint = (cpi->oxcf.pass == 2) ? cpi->twopass.mb_av_energy : DEFAULT_E_MIDPOINT; energy = vp9_log_block_var(cpi, x, bs) - energy_midpoint; diff --git a/vp9/encoder/vp9_bitstream.c b/vp9/encoder/vp9_bitstream.c index f06bd56ea..d0de095ac 100644 --- a/vp9/encoder/vp9_bitstream.c +++ b/vp9/encoder/vp9_bitstream.c @@ -16,6 +16,7 @@ #include "vpx_dsp/bitwriter_buffer.h" #include "vpx_mem/vpx_mem.h" #include "vpx_ports/mem_ops.h" +#include "vpx_ports/system_state.h" #include "vp9/common/vp9_entropy.h" #include "vp9/common/vp9_entropymode.h" @@ -23,7 +24,6 @@ #include "vp9/common/vp9_mvref_common.h" #include "vp9/common/vp9_pred_common.h" #include "vp9/common/vp9_seg_common.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/common/vp9_tile_common.h" #include "vp9/encoder/vp9_cost.h" @@ -1240,7 +1240,7 @@ void vp9_pack_bitstream(VP9_COMP *cpi, uint8_t *dest, size_t *size) { uncompressed_hdr_size = vpx_wb_bytes_written(&wb); data += uncompressed_hdr_size; - vp9_clear_system_state(); + vpx_clear_system_state(); first_part_size = write_compressed_header(cpi, data); data += first_part_size; diff --git a/vp9/encoder/vp9_blockiness.c b/vp9/encoder/vp9_blockiness.c index fc3eac6c7..661496ee0 100644 --- a/vp9/encoder/vp9_blockiness.c +++ b/vp9/encoder/vp9_blockiness.c @@ -17,6 +17,7 @@ #include "vpx_dsp/vpx_convolve.h" #include "vpx_dsp/vpx_filter.h" #include "vpx_ports/mem.h" +#include "vpx_ports/system_state.h" static int horizontal_filter(const uint8_t *s) { return (s[1] - s[-2]) * 2 + (s[-1] - s[0]) * 6; @@ -123,7 +124,7 @@ double vp9_get_blockiness(const unsigned char *img1, int img1_pitch, int width, int height ) { double blockiness = 0; int i, j; - vp9_clear_system_state(); + vpx_clear_system_state(); for (i = 0; i < height; i += 4, img1 += img1_pitch * 4, img2 += img2_pitch * 4) { for (j = 0; j < width; j += 4) { diff --git a/vp9/encoder/vp9_dct.c b/vp9/encoder/vp9_dct.c index 8d0d10f81..f94540baa 100644 --- a/vp9/encoder/vp9_dct.c +++ b/vp9/encoder/vp9_dct.c @@ -17,7 +17,6 @@ #include "vp9/common/vp9_blockd.h" #include "vp9/common/vp9_idct.h" -#include "vp9/common/vp9_systemdependent.h" #include "vpx_dsp/fwd_txfm.h" #include "vpx_ports/mem.h" diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index feef12d1e..63ab15773 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -18,6 +18,7 @@ #include "vpx_ports/mem.h" #include "vpx_ports/vpx_timer.h" +#include "vpx_ports/system_state.h" #include "vp9/common/vp9_common.h" #include "vp9/common/vp9_entropy.h" @@ -29,7 +30,6 @@ #include "vp9/common/vp9_reconintra.h" #include "vp9/common/vp9_reconinter.h" #include "vp9/common/vp9_seg_common.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/common/vp9_tile_common.h" #include "vp9/encoder/vp9_aq_complexity.h" @@ -1152,7 +1152,7 @@ static int set_segment_rdmult(VP9_COMP *const cpi, int segment_qindex; VP9_COMMON *const cm = &cpi->common; vp9_init_plane_quantizers(cpi, x); - vp9_clear_system_state(); + vpx_clear_system_state(); segment_qindex = vp9_get_qindex(&cm->seg, segment_id, cm->base_qindex); return vp9_compute_rd_mult(cpi, segment_qindex + cm->y_dc_delta_q); @@ -1173,7 +1173,7 @@ static void rd_pick_sb_modes(VP9_COMP *cpi, const AQ_MODE aq_mode = cpi->oxcf.aq_mode; int i, orig_rdmult; - vp9_clear_system_state(); + vpx_clear_system_state(); // Use the lower precision, but faster, 32x32 fdct for mode selection. x->use_lp32x32fdct = 1; diff --git a/vp9/encoder/vp9_encodemb.c b/vp9/encoder/vp9_encodemb.c index c3ed43240..00e4c610b 100644 --- a/vp9/encoder/vp9_encodemb.c +++ b/vp9/encoder/vp9_encodemb.c @@ -21,7 +21,6 @@ #include "vp9/common/vp9_reconinter.h" #include "vp9/common/vp9_reconintra.h" #include "vp9/common/vp9_scan.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/encoder/vp9_encodemb.h" #include "vp9/encoder/vp9_rd.h" diff --git a/vp9/encoder/vp9_encodemv.c b/vp9/encoder/vp9_encodemv.c index a1d77dba8..7848c93a8 100644 --- a/vp9/encoder/vp9_encodemv.c +++ b/vp9/encoder/vp9_encodemv.c @@ -12,7 +12,6 @@ #include "vp9/common/vp9_common.h" #include "vp9/common/vp9_entropymode.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/encoder/vp9_cost.h" #include "vp9/encoder/vp9_encodemv.h" diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index b4e07a682..370a581fd 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -22,6 +22,7 @@ #include "vpx_dsp/ssim.h" #endif #include "vpx_ports/mem.h" +#include "vpx_ports/system_state.h" #include "vpx_ports/vpx_timer.h" #include "vpx_scale/vpx_scale.h" @@ -33,7 +34,6 @@ #endif #include "vp9/common/vp9_reconinter.h" #include "vp9/common/vp9_reconintra.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/common/vp9_tile_common.h" #include "vp9/encoder/vp9_aq_complexity.h" @@ -1926,7 +1926,7 @@ void vp9_remove_compressor(VP9_COMP *cpi) { if (cpi && (cm->current_video_frame > 0)) { #if CONFIG_INTERNAL_STATS - vp9_clear_system_state(); + vpx_clear_system_state(); if (cpi->oxcf.pass != 1) { char headings[512] = {0}; @@ -2748,7 +2748,7 @@ static void loopfilter_frame(VP9_COMP *cpi, VP9_COMMON *cm) { } else { struct vpx_usec_timer timer; - vp9_clear_system_state(); + vpx_clear_system_state(); vpx_usec_timer_start(&timer); @@ -2932,7 +2932,7 @@ static void output_frame_level_debug_stats(VP9_COMP *cpi) { FILE *const f = fopen("tmp.stt", cm->current_video_frame ? "a" : "w"); int64_t recon_err; - vp9_clear_system_state(); + vpx_clear_system_state(); recon_err = vp9_get_y_sse(cpi->Source, get_frame_new_buffer(cm)); @@ -3184,7 +3184,7 @@ static void encode_without_recode_loop(VP9_COMP *cpi) { VP9_COMMON *const cm = &cpi->common; int q = 0, bottom_index = 0, top_index = 0; // Dummy variables. - vp9_clear_system_state(); + vpx_clear_system_state(); set_frame_size(cpi); @@ -3248,7 +3248,7 @@ static void encode_without_recode_loop(VP9_COMP *cpi) { // Update the skip mb flag probabilities based on the distribution // seen in the last encoder iteration. // update_base_skip_probs(cpi); - vp9_clear_system_state(); + vpx_clear_system_state(); } static void encode_with_recode_loop(VP9_COMP *cpi, @@ -3269,7 +3269,7 @@ static void encode_with_recode_loop(VP9_COMP *cpi, set_size_independent_vars(cpi); do { - vp9_clear_system_state(); + vpx_clear_system_state(); set_frame_size(cpi); @@ -3333,7 +3333,7 @@ static void encode_with_recode_loop(VP9_COMP *cpi, // seen in the last encoder iteration. // update_base_skip_probs(cpi); - vp9_clear_system_state(); + vpx_clear_system_state(); // Dummy pack of the bitstream using up to date stats to get an // accurate estimate of output frame size to determine if we need @@ -3637,7 +3637,7 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, TX_SIZE t; set_ext_overrides(cpi); - vp9_clear_system_state(); + vpx_clear_system_state(); // Set the arf sign bias for this frame. set_arf_sign_bias(cpi); @@ -3728,7 +3728,7 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, } } - vp9_clear_system_state(); + vpx_clear_system_state(); #if CONFIG_INTERNAL_STATS memset(cpi->mode_chosen_counts, 0, @@ -4248,7 +4248,7 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags, } // Clear down mmx registers - vp9_clear_system_state(); + vpx_clear_system_state(); // adjust frame rates based on timestamps given if (cm->show_frame) { @@ -4400,7 +4400,7 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags, vp9_deblock(cm->frame_to_show, &cm->post_proc_buffer, cm->lf.filter_level * 10 / 6); #endif - vp9_clear_system_state(); + vpx_clear_system_state(); #if CONFIG_VP9_HIGHBITDEPTH calc_highbd_psnr(orig, pp, &psnr2, cpi->td.mb.e_mbd.bd, @@ -4575,7 +4575,7 @@ int vp9_get_preview_raw_frame(VP9_COMP *cpi, YV12_BUFFER_CONFIG *dest, ret = -1; } #endif // !CONFIG_VP9_POSTPROC - vp9_clear_system_state(); + vpx_clear_system_state(); return ret; } } diff --git a/vp9/encoder/vp9_firstpass.c b/vp9/encoder/vp9_firstpass.c index 7cf973131..3c2545452 100644 --- a/vp9/encoder/vp9_firstpass.c +++ b/vp9/encoder/vp9_firstpass.c @@ -17,13 +17,13 @@ #include "vpx_mem/vpx_mem.h" #include "vpx_ports/mem.h" +#include "vpx_ports/system_state.h" #include "vpx_scale/vpx_scale.h" #include "vpx_scale/yv12config.h" #include "vp9/common/vp9_entropymv.h" #include "vp9/common/vp9_quant_common.h" #include "vp9/common/vp9_reconinter.h" // vp9_setup_dst_planes() -#include "vp9/common/vp9_systemdependent.h" #include "vp9/encoder/vp9_aq_variance.h" #include "vp9/encoder/vp9_block.h" #include "vp9/encoder/vp9_encodeframe.h" @@ -545,7 +545,7 @@ void vp9_first_pass(VP9_COMP *cpi, const struct lookahead_entry *source) { } #endif - vp9_clear_system_state(); + vpx_clear_system_state(); intra_factor = 0.0; brightness_factor = 0.0; @@ -656,7 +656,7 @@ void vp9_first_pass(VP9_COMP *cpi, const struct lookahead_entry *source) { const int mb_index = mb_row * cm->mb_cols + mb_col; #endif - vp9_clear_system_state(); + vpx_clear_system_state(); xd->plane[0].dst.buf = new_yv12->y_buffer + recon_yoffset; xd->plane[1].dst.buf = new_yv12->u_buffer + recon_uvoffset; @@ -707,7 +707,7 @@ void vp9_first_pass(VP9_COMP *cpi, const struct lookahead_entry *source) { } #endif // CONFIG_VP9_HIGHBITDEPTH - vp9_clear_system_state(); + vpx_clear_system_state(); log_intra = log(this_error + 1.0); if (log_intra < 10.0) intra_factor += 1.0 + ((10.0 - log_intra) * 0.05); @@ -877,7 +877,7 @@ void vp9_first_pass(VP9_COMP *cpi, const struct lookahead_entry *source) { #endif if (motion_error <= this_error) { - vp9_clear_system_state(); + vpx_clear_system_state(); // Keep a count of cases where the inter and intra were very close // and very low. This helps with scene cut detection for example in @@ -1012,7 +1012,7 @@ void vp9_first_pass(VP9_COMP *cpi, const struct lookahead_entry *source) { x->plane[2].src.buf += uv_mb_height * x->plane[1].src.stride - uv_mb_height * cm->mb_cols; - vp9_clear_system_state(); + vpx_clear_system_state(); } // Clamp the image start to rows/2. This number of rows is discarded top @@ -1890,7 +1890,7 @@ static void define_gf_group(VP9_COMP *cpi, FIRSTPASS_STATS *this_frame) { vp9_zero(twopass->gf_group); } - vp9_clear_system_state(); + vpx_clear_system_state(); vp9_zero(next_frame); // Load stats for the current frame. @@ -2631,7 +2631,7 @@ void vp9_rc_get_second_pass_params(VP9_COMP *cpi) { return; } - vp9_clear_system_state(); + vpx_clear_system_state(); if (cpi->oxcf.rc_mode == VPX_Q) { twopass->active_worst_quality = cpi->oxcf.cq_level; diff --git a/vp9/encoder/vp9_mbgraph.c b/vp9/encoder/vp9_mbgraph.c index acbd7dd43..d59f3157a 100644 --- a/vp9/encoder/vp9_mbgraph.c +++ b/vp9/encoder/vp9_mbgraph.c @@ -14,12 +14,12 @@ #include "./vpx_dsp_rtcd.h" #include "vpx_mem/vpx_mem.h" +#include "vpx_ports/system_state.h" #include "vp9/encoder/vp9_segmentation.h" #include "vp9/encoder/vp9_mcomp.h" #include "vp9/common/vp9_blockd.h" #include "vp9/common/vp9_reconinter.h" #include "vp9/common/vp9_reconintra.h" -#include "vp9/common/vp9_systemdependent.h" static unsigned int do_16x16_motion_iteration(VP9_COMP *cpi, @@ -410,7 +410,7 @@ void vp9_update_mbgraph_stats(VP9_COMP *cpi) { golden_ref, cpi->Source); } - vp9_clear_system_state(); + vpx_clear_system_state(); separate_arf_mbs(cpi); } diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c index 1cb7c74ba..a0b3f8a75 100644 --- a/vp9/encoder/vp9_ratectrl.c +++ b/vp9/encoder/vp9_ratectrl.c @@ -17,6 +17,7 @@ #include "vpx_mem/vpx_mem.h" #include "vpx_ports/mem.h" +#include "vpx_ports/system_state.h" #include "vp9/common/vp9_alloccommon.h" #include "vp9/encoder/vp9_aq_cyclicrefresh.h" @@ -24,7 +25,6 @@ #include "vp9/common/vp9_entropymode.h" #include "vp9/common/vp9_quant_common.h" #include "vp9/common/vp9_seg_common.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/encoder/vp9_encodemv.h" #include "vp9/encoder/vp9_ratectrl.h" @@ -455,7 +455,7 @@ void vp9_rc_update_rate_correction_factors(VP9_COMP *cpi) { return; // Clear down mmx registers to allow floating point in what follows - vp9_clear_system_state(); + vpx_clear_system_state(); // Work out how big we would have expected the frame to be at this Q given // the current correction factor. @@ -765,7 +765,7 @@ static int rc_pick_q_and_bounds_one_pass_cbr(const VP9_COMP *cpi, !rc->this_key_frame_forced && !(cm->current_video_frame == 0)) { int qdelta = 0; - vp9_clear_system_state(); + vpx_clear_system_state(); qdelta = vp9_compute_qdelta_by_rate(&cpi->rc, cm->frame_type, active_worst_quality, 2.0, cm->bit_depth); @@ -915,7 +915,7 @@ static int rc_pick_q_and_bounds_one_pass_vbr(const VP9_COMP *cpi, #if LIMIT_QRANGE_FOR_ALTREF_AND_KEY { int qdelta = 0; - vp9_clear_system_state(); + vpx_clear_system_state(); // Limit Q range for the adaptive loop. if (cm->frame_type == KEY_FRAME && @@ -1109,7 +1109,7 @@ static int rc_pick_q_and_bounds_two_pass(const VP9_COMP *cpi, } #if LIMIT_QRANGE_FOR_ALTREF_AND_KEY - vp9_clear_system_state(); + vpx_clear_system_state(); // Static forced key frames Q restrictions dealt with elsewhere. if (!((frame_is_intra_only(cm) || vp9_is_upper_layer_key_frame(cpi))) || !rc->this_key_frame_forced || diff --git a/vp9/encoder/vp9_rd.c b/vp9/encoder/vp9_rd.c index 3f6de42e3..3ee6fbec3 100644 --- a/vp9/encoder/vp9_rd.c +++ b/vp9/encoder/vp9_rd.c @@ -15,7 +15,9 @@ #include "./vp9_rtcd.h" #include "vpx_mem/vpx_mem.h" +#include "vpx_ports/bitops.h" #include "vpx_ports/mem.h" +#include "vpx_ports/system_state.h" #include "vp9/common/vp9_common.h" #include "vp9/common/vp9_entropy.h" @@ -26,7 +28,6 @@ #include "vp9/common/vp9_reconinter.h" #include "vp9/common/vp9_reconintra.h" #include "vp9/common/vp9_seg_common.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/encoder/vp9_cost.h" #include "vp9/encoder/vp9_encodemb.h" @@ -268,7 +269,7 @@ void vp9_initialize_rd_consts(VP9_COMP *cpi) { RD_OPT *const rd = &cpi->rd; int i; - vp9_clear_system_state(); + vpx_clear_system_state(); rd->RDDIV = RDDIV_BITS; // In bits (to multiply D by 128). rd->RDMULT = vp9_compute_rd_mult(cpi, cm->base_qindex + cm->y_dc_delta_q); diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index 0e12d8c9b..9f3873600 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -16,6 +16,7 @@ #include "vpx_mem/vpx_mem.h" #include "vpx_ports/mem.h" +#include "vpx_ports/system_state.h" #include "vp9/common/vp9_common.h" #include "vp9/common/vp9_entropy.h" @@ -28,7 +29,6 @@ #include "vp9/common/vp9_reconintra.h" #include "vp9/common/vp9_scan.h" #include "vp9/common/vp9_seg_common.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/encoder/vp9_cost.h" #include "vp9/encoder/vp9_encodemb.h" diff --git a/vp9/encoder/vp9_temporal_filter.c b/vp9/encoder/vp9_temporal_filter.c index 3475d58da..c4d66e021 100644 --- a/vp9/encoder/vp9_temporal_filter.c +++ b/vp9/encoder/vp9_temporal_filter.c @@ -15,7 +15,6 @@ #include "vp9/common/vp9_onyxc_int.h" #include "vp9/common/vp9_quant_common.h" #include "vp9/common/vp9_reconinter.h" -#include "vp9/common/vp9_systemdependent.h" #include "vp9/encoder/vp9_extend.h" #include "vp9/encoder/vp9_firstpass.h" #include "vp9/encoder/vp9_mcomp.h" diff --git a/vp9/vp9_common.mk b/vp9/vp9_common.mk index a49cd0aee..d0135c6f8 100644 --- a/vp9/vp9_common.mk +++ b/vp9/vp9_common.mk @@ -45,7 +45,6 @@ VP9_COMMON_SRCS-yes += common/vp9_scale.h VP9_COMMON_SRCS-yes += common/vp9_scale.c VP9_COMMON_SRCS-yes += common/vp9_seg_common.h VP9_COMMON_SRCS-yes += common/vp9_seg_common.c -VP9_COMMON_SRCS-yes += common/vp9_systemdependent.h VP9_COMMON_SRCS-yes += common/vp9_textblit.h VP9_COMMON_SRCS-yes += common/vp9_tile_common.h VP9_COMMON_SRCS-yes += common/vp9_tile_common.c diff --git a/vpx_dsp/fastssim.c b/vpx_dsp/fastssim.c index 97dba336a..1405a30e0 100644 --- a/vpx_dsp/fastssim.c +++ b/vpx_dsp/fastssim.c @@ -16,6 +16,7 @@ #include "./vpx_config.h" #include "./vpx_dsp_rtcd.h" #include "vpx_dsp/ssim.h" +#include "vpx_ports/system_state.h" /* TODO(jbb): High bit depth version of this code needed */ typedef struct fs_level fs_level; typedef struct fs_ctx fs_ctx; diff --git a/vpx_dsp/psnrhvs.c b/vpx_dsp/psnrhvs.c index 4d723e441..2de77c051 100644 --- a/vpx_dsp/psnrhvs.c +++ b/vpx_dsp/psnrhvs.c @@ -17,6 +17,7 @@ #include "./vpx_config.h" #include "./vpx_dsp_rtcd.h" #include "vpx_dsp/ssim.h" +#include "vpx_ports/system_state.h" #if !defined(M_PI) # define M_PI (3.141592653589793238462643) diff --git a/vpx_dsp/ssim.c b/vpx_dsp/ssim.c index e69c8131b..cfe5bb331 100644 --- a/vpx_dsp/ssim.c +++ b/vpx_dsp/ssim.c @@ -12,6 +12,7 @@ #include "./vpx_dsp_rtcd.h" #include "vpx_dsp/ssim.h" #include "vpx_ports/mem.h" +#include "vpx_ports/system_state.h" void vpx_ssim_parms_16x16_c(const uint8_t *s, int sp, const uint8_t *r, int rp, uint32_t *sum_s, uint32_t *sum_r, diff --git a/vpx_dsp/ssim.h b/vpx_dsp/ssim.h index 19f4df281..132f7f9e1 100644 --- a/vpx_dsp/ssim.h +++ b/vpx_dsp/ssim.h @@ -18,14 +18,6 @@ extern "C" { #include "./vpx_config.h" #include "vpx_scale/yv12config.h" -// TODO(aconverse): Unify vp8/vp9_clear_system_state -#if ARCH_X86 || ARCH_X86_64 -void vpx_reset_mmx_state(void); -#define vpx_clear_system_state() vpx_reset_mmx_state() -#else -#define vpx_clear_system_state() -#endif - // metrics used for calculating ssim, ssim2, dssim, and ssimc typedef struct { // source sum ( over 8x8 region ) diff --git a/vp9/common/vp9_systemdependent.h b/vpx_ports/bitops.h index e4178b249..0d3223e32 100644 --- a/vp9/common/vp9_systemdependent.h +++ b/vpx_ports/bitops.h @@ -8,8 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ -#ifndef VP9_COMMON_VP9_SYSTEMDEPENDENT_H_ -#define VP9_COMMON_VP9_SYSTEMDEPENDENT_H_ +#ifndef VPX_PORTS_BITOPS_H_ +#define VPX_PORTS_BITOPS_H_ #include "vpx_ports/msvc.h" @@ -25,14 +25,6 @@ extern "C" { #endif -#include "./vpx_config.h" -#if ARCH_X86 || ARCH_X86_64 -void vpx_reset_mmx_state(void); -#define vp9_clear_system_state() vpx_reset_mmx_state() -#else -#define vp9_clear_system_state() -#endif - // use GNU builtins where available. #if defined(__GNUC__) && \ ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ >= 4) @@ -71,4 +63,4 @@ static INLINE int get_msb(unsigned int n) { } // extern "C" #endif -#endif // VP9_COMMON_VP9_SYSTEMDEPENDENT_H_ +#endif // VPX_PORTS_BITOPS_H_ diff --git a/vpx_ports/system_state.h b/vpx_ports/system_state.h new file mode 100644 index 000000000..086c64681 --- /dev/null +++ b/vpx_ports/system_state.h @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2015 The WebM project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef VPX_PORTS_SYSTEM_STATE_H_ +#define VPX_PORTS_SYSTEM_STATE_H_ + +#include "./vpx_config.h" + +#if ARCH_X86 || ARCH_X86_64 +void vpx_reset_mmx_state(void); +#define vpx_clear_system_state() vpx_reset_mmx_state() +#else +#define vpx_clear_system_state() +#endif // ARCH_X86 || ARCH_X86_64 +#endif // VPX_PORTS_SYSTEM_STATE_H_ diff --git a/vpx_ports/vpx_ports.mk b/vpx_ports/vpx_ports.mk index ab7fc4ac7..36b14936d 100644 --- a/vpx_ports/vpx_ports.mk +++ b/vpx_ports/vpx_ports.mk @@ -11,8 +11,10 @@ PORTS_SRCS-yes += vpx_ports.mk +PORTS_SRCS-yes += bitops.h PORTS_SRCS-yes += mem.h PORTS_SRCS-yes += msvc.h +PORTS_SRCS-yes += system_state.h PORTS_SRCS-yes += vpx_timer.h ifeq ($(ARCH_X86)$(ARCH_X86_64),yes) |