diff --git a/vp9/encoder/vp9_bitstream.c b/vp9/encoder/vp9_bitstream.c index 7188d7674..2ab4c7907 100644 --- a/vp9/encoder/vp9_bitstream.c +++ b/vp9/encoder/vp9_bitstream.c @@ -746,6 +746,7 @@ static void update_coef_probs(VP9_COMP* cpi, vp9_writer* w) { const TX_MODE tx_mode = cpi->common.tx_mode; const TX_SIZE max_tx_size = tx_mode_to_biggest_tx_size[tx_mode]; TX_SIZE tx_size; + vp9_clear_system_state(); for (tx_size = TX_4X4; tx_size <= TX_32X32; ++tx_size) build_tree_distribution(cpi, tx_size); @@ -1295,6 +1296,8 @@ void vp9_pack_bitstream(VP9_COMP *cpi, uint8_t *dest, size_t *size) { active_section = 7; #endif + vp9_clear_system_state(); // __asm emms; + first_part_size = write_compressed_header(cpi, data); data += first_part_size; vp9_wb_write_literal(&saved_wb, first_part_size, 16); diff --git a/vp9/encoder/vp9_encodemv.c b/vp9/encoder/vp9_encodemv.c index 853094b29..af710a8f4 100644 --- a/vp9/encoder/vp9_encodemv.c +++ b/vp9/encoder/vp9_encodemv.c @@ -224,9 +224,13 @@ void vp9_encode_mv(VP9_COMP* cpi, vp9_writer* w, } } -void vp9_build_nmv_cost_table(int *mvjoint, int *mvcost[2], +void vp9_build_nmv_cost_table(int *mvjoint, + int *mvcost[2], const nmv_context* const mvctx, - int usehp, int mvc_flag_v, int mvc_flag_h) { + int usehp, + int mvc_flag_v, + int mvc_flag_h) { + vp9_clear_system_state(); vp9_cost_tokens(mvjoint, mvctx->joints, vp9_mv_joint_tree); if (mvc_flag_v) build_nmv_component_cost_table(mvcost[0], &mvctx->comps[0], usehp);