/src/libvpx/vpx_dsp/prob.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (c) 2013 The WebM project authors. All Rights Reserved. |
3 | | * |
4 | | * Use of this source code is governed by a BSD-style license |
5 | | * that can be found in the LICENSE file in the root of the source |
6 | | * tree. An additional intellectual property rights grant can be found |
7 | | * in the file PATENTS. All contributing project authors may |
8 | | * be found in the AUTHORS file in the root of the source tree. |
9 | | */ |
10 | | |
11 | | #ifndef VPX_VPX_DSP_PROB_H_ |
12 | | #define VPX_VPX_DSP_PROB_H_ |
13 | | |
14 | | #include <assert.h> |
15 | | |
16 | | #include "./vpx_config.h" |
17 | | #include "./vpx_dsp_common.h" |
18 | | |
19 | | #include "vpx_ports/mem.h" |
20 | | |
21 | | #ifdef __cplusplus |
22 | | extern "C" { |
23 | | #endif |
24 | | |
25 | | typedef uint8_t vpx_prob; |
26 | | |
27 | 373M | #define MAX_PROB 255 |
28 | | |
29 | | #define vpx_prob_half ((vpx_prob)128) |
30 | | |
31 | | typedef int8_t vpx_tree_index; |
32 | | |
33 | | #define TREE_SIZE(leaf_count) (2 * (leaf_count)-2) |
34 | | |
35 | | #define vpx_complement(x) (255 - (x)) |
36 | | |
37 | | #define MODE_MV_COUNT_SAT 20 |
38 | | |
39 | | /* We build coding trees compactly in arrays. |
40 | | Each node of the tree is a pair of vpx_tree_indices. |
41 | | Array index often references a corresponding probability table. |
42 | | Index <= 0 means done encoding/decoding and value = -Index, |
43 | | Index > 0 means need another bit, specification at index. |
44 | | Nonnegative indices are always even; processing begins at node 0. */ |
45 | | |
46 | | typedef const vpx_tree_index vpx_tree[]; |
47 | | |
48 | 8.39M | static INLINE vpx_prob get_prob(unsigned int num, unsigned int den) { |
49 | 8.39M | assert(den != 0); |
50 | 8.39M | { |
51 | 8.39M | const int p = (int)(((uint64_t)num * 256 + (den >> 1)) / den); |
52 | | // (p > 255) ? 255 : (p < 1) ? 1 : p; |
53 | 8.39M | const int clipped_prob = p | ((255 - p) >> 23) | (p == 0); |
54 | 8.39M | return (vpx_prob)clipped_prob; |
55 | 8.39M | } |
56 | 8.39M | } Unexecuted instantiation: vp9_cx_iface.c:get_prob Unexecuted instantiation: vp9_firstpass.c:get_prob Unexecuted instantiation: vp9_mcomp.c:get_prob Unexecuted instantiation: vp9_encoder.c:get_prob Unexecuted instantiation: vp9_picklpf.c:get_prob Unexecuted instantiation: vp9_quantize.c:get_prob Unexecuted instantiation: vp9_ratectrl.c:get_prob Unexecuted instantiation: vp9_rd.c:get_prob Unexecuted instantiation: vp9_segmentation.c:get_prob Unexecuted instantiation: vp9_speed_features.c:get_prob Unexecuted instantiation: vp9_svc_layercontext.c:get_prob Unexecuted instantiation: vp9_tokenize.c:get_prob Unexecuted instantiation: vp9_aq_variance.c:get_prob Unexecuted instantiation: vp9_aq_360.c:get_prob Unexecuted instantiation: vp9_aq_cyclicrefresh.c:get_prob Unexecuted instantiation: vp9_aq_complexity.c:get_prob Unexecuted instantiation: vp9_alt_ref_aq.c:get_prob Unexecuted instantiation: vp9_skin_detection.c:get_prob Unexecuted instantiation: vp9_noise_estimate.c:get_prob Unexecuted instantiation: vp9_ext_ratectrl.c:get_prob Unexecuted instantiation: vp9_temporal_filter.c:get_prob Unexecuted instantiation: vp9_tpl_model.c:get_prob Unexecuted instantiation: vp9_mbgraph.c:get_prob Unexecuted instantiation: yv12config.c:get_prob Unexecuted instantiation: vp9_alloccommon.c:get_prob Unexecuted instantiation: vp9_blockd.c:get_prob Unexecuted instantiation: vp9_entropy.c:get_prob Unexecuted instantiation: vp9_entropymode.c:get_prob Unexecuted instantiation: vp9_entropymv.c:get_prob Unexecuted instantiation: vp9_idct.c:get_prob Unexecuted instantiation: vp9_seg_common.c:get_prob Unexecuted instantiation: vp9_tile_common.c:get_prob Unexecuted instantiation: vp9_loopfilter.c:get_prob Unexecuted instantiation: vp9_thread_common.c:get_prob Unexecuted instantiation: vp9_quant_common.c:get_prob Unexecuted instantiation: vp9_reconinter.c:get_prob Unexecuted instantiation: vp9_reconintra.c:get_prob Unexecuted instantiation: vp9_scan.c:get_prob Line | Count | Source | 48 | 5.93M | static INLINE vpx_prob get_prob(unsigned int num, unsigned int den) { | 49 | 5.93M | assert(den != 0); | 50 | 5.93M | { | 51 | 5.93M | const int p = (int)(((uint64_t)num * 256 + (den >> 1)) / den); | 52 | | // (p > 255) ? 255 : (p < 1) ? 1 : p; | 53 | 5.93M | const int clipped_prob = p | ((255 - p) >> 23) | (p == 0); | 54 | 5.93M | return (vpx_prob)clipped_prob; | 55 | 5.93M | } | 56 | 5.93M | } |
Unexecuted instantiation: vp9_context_tree.c:get_prob Unexecuted instantiation: vp9_cost.c:get_prob Unexecuted instantiation: vp9_dct.c:get_prob Unexecuted instantiation: vp9_encodeframe.c:get_prob Unexecuted instantiation: vp9_encodemb.c:get_prob Line | Count | Source | 48 | 731k | static INLINE vpx_prob get_prob(unsigned int num, unsigned int den) { | 49 | 731k | assert(den != 0); | 50 | 731k | { | 51 | 731k | const int p = (int)(((uint64_t)num * 256 + (den >> 1)) / den); | 52 | | // (p > 255) ? 255 : (p < 1) ? 1 : p; | 53 | 731k | const int clipped_prob = p | ((255 - p) >> 23) | (p == 0); | 54 | 731k | return (vpx_prob)clipped_prob; | 55 | 731k | } | 56 | 731k | } |
Unexecuted instantiation: vp9_ethread.c:get_prob Unexecuted instantiation: vp9_frame_scale.c:get_prob Unexecuted instantiation: vp9_lookahead.c:get_prob Unexecuted instantiation: vp9_multi_thread.c:get_prob Unexecuted instantiation: vp9_rdopt.c:get_prob Unexecuted instantiation: vp9_pickmode.c:get_prob Line | Count | Source | 48 | 1.72M | static INLINE vpx_prob get_prob(unsigned int num, unsigned int den) { | 49 | 1.72M | assert(den != 0); | 50 | 1.72M | { | 51 | 1.72M | const int p = (int)(((uint64_t)num * 256 + (den >> 1)) / den); | 52 | | // (p > 255) ? 255 : (p < 1) ? 1 : p; | 53 | 1.72M | const int clipped_prob = p | ((255 - p) >> 23) | (p == 0); | 54 | 1.72M | return (vpx_prob)clipped_prob; | 55 | 1.72M | } | 56 | 1.72M | } |
Unexecuted instantiation: vp9_treewriter.c:get_prob Unexecuted instantiation: temporal_filter_sse4.c:get_prob Unexecuted instantiation: vp9_quantize_sse2.c:get_prob Unexecuted instantiation: vp9_quantize_ssse3.c:get_prob Unexecuted instantiation: vp9_quantize_avx2.c:get_prob Unexecuted instantiation: highbd_temporal_filter_sse4.c:get_prob Unexecuted instantiation: prob.c:get_prob Unexecuted instantiation: bitwriter.c:get_prob Unexecuted instantiation: quantize.c:get_prob Unexecuted instantiation: quantize_sse2.c:get_prob Unexecuted instantiation: quantize_ssse3.c:get_prob Unexecuted instantiation: quantize_avx.c:get_prob Unexecuted instantiation: quantize_avx2.c:get_prob Unexecuted instantiation: highbd_quantize_intrin_sse2.c:get_prob Unexecuted instantiation: highbd_quantize_intrin_avx2.c:get_prob Unexecuted instantiation: vp9_pred_common.c:get_prob Unexecuted instantiation: vp9_mvref_common.c:get_prob |
57 | | |
58 | 21.1M | static INLINE vpx_prob get_binary_prob(unsigned int n0, unsigned int n1) { |
59 | 21.1M | const unsigned int den = n0 + n1; |
60 | 21.1M | if (den == 0) return 128u; |
61 | 8.39M | return get_prob(n0, den); |
62 | 21.1M | } Unexecuted instantiation: vp9_cx_iface.c:get_binary_prob Unexecuted instantiation: vp9_firstpass.c:get_binary_prob Unexecuted instantiation: vp9_mcomp.c:get_binary_prob Unexecuted instantiation: vp9_encoder.c:get_binary_prob Unexecuted instantiation: vp9_picklpf.c:get_binary_prob Unexecuted instantiation: vp9_quantize.c:get_binary_prob Unexecuted instantiation: vp9_ratectrl.c:get_binary_prob Unexecuted instantiation: vp9_rd.c:get_binary_prob Unexecuted instantiation: vp9_segmentation.c:get_binary_prob Unexecuted instantiation: vp9_speed_features.c:get_binary_prob Unexecuted instantiation: vp9_svc_layercontext.c:get_binary_prob Unexecuted instantiation: vp9_tokenize.c:get_binary_prob Unexecuted instantiation: vp9_aq_variance.c:get_binary_prob Unexecuted instantiation: vp9_aq_360.c:get_binary_prob Unexecuted instantiation: vp9_aq_cyclicrefresh.c:get_binary_prob Unexecuted instantiation: vp9_aq_complexity.c:get_binary_prob Unexecuted instantiation: vp9_alt_ref_aq.c:get_binary_prob Unexecuted instantiation: vp9_skin_detection.c:get_binary_prob Unexecuted instantiation: vp9_noise_estimate.c:get_binary_prob Unexecuted instantiation: vp9_ext_ratectrl.c:get_binary_prob Unexecuted instantiation: vp9_temporal_filter.c:get_binary_prob Unexecuted instantiation: vp9_tpl_model.c:get_binary_prob Unexecuted instantiation: vp9_mbgraph.c:get_binary_prob Unexecuted instantiation: yv12config.c:get_binary_prob Unexecuted instantiation: vp9_alloccommon.c:get_binary_prob Unexecuted instantiation: vp9_blockd.c:get_binary_prob Unexecuted instantiation: vp9_entropy.c:get_binary_prob Unexecuted instantiation: vp9_entropymode.c:get_binary_prob Unexecuted instantiation: vp9_entropymv.c:get_binary_prob Unexecuted instantiation: vp9_idct.c:get_binary_prob Unexecuted instantiation: vp9_seg_common.c:get_binary_prob Unexecuted instantiation: vp9_tile_common.c:get_binary_prob Unexecuted instantiation: vp9_loopfilter.c:get_binary_prob Unexecuted instantiation: vp9_thread_common.c:get_binary_prob Unexecuted instantiation: vp9_quant_common.c:get_binary_prob Unexecuted instantiation: vp9_reconinter.c:get_binary_prob Unexecuted instantiation: vp9_reconintra.c:get_binary_prob Unexecuted instantiation: vp9_scan.c:get_binary_prob vp9_bitstream.c:get_binary_prob Line | Count | Source | 58 | 14.2M | static INLINE vpx_prob get_binary_prob(unsigned int n0, unsigned int n1) { | 59 | 14.2M | const unsigned int den = n0 + n1; | 60 | 14.2M | if (den == 0) return 128u; | 61 | 5.93M | return get_prob(n0, den); | 62 | 14.2M | } |
Unexecuted instantiation: vp9_context_tree.c:get_binary_prob Unexecuted instantiation: vp9_cost.c:get_binary_prob Unexecuted instantiation: vp9_dct.c:get_binary_prob Unexecuted instantiation: vp9_encodeframe.c:get_binary_prob Unexecuted instantiation: vp9_encodemb.c:get_binary_prob vp9_encodemv.c:get_binary_prob Line | Count | Source | 58 | 2.34M | static INLINE vpx_prob get_binary_prob(unsigned int n0, unsigned int n1) { | 59 | 2.34M | const unsigned int den = n0 + n1; | 60 | 2.34M | if (den == 0) return 128u; | 61 | 731k | return get_prob(n0, den); | 62 | 2.34M | } |
Unexecuted instantiation: vp9_ethread.c:get_binary_prob Unexecuted instantiation: vp9_frame_scale.c:get_binary_prob Unexecuted instantiation: vp9_lookahead.c:get_binary_prob Unexecuted instantiation: vp9_multi_thread.c:get_binary_prob Unexecuted instantiation: vp9_rdopt.c:get_binary_prob Unexecuted instantiation: vp9_pickmode.c:get_binary_prob vp9_subexp.c:get_binary_prob Line | Count | Source | 58 | 4.47M | static INLINE vpx_prob get_binary_prob(unsigned int n0, unsigned int n1) { | 59 | 4.47M | const unsigned int den = n0 + n1; | 60 | 4.47M | if (den == 0) return 128u; | 61 | 1.72M | return get_prob(n0, den); | 62 | 4.47M | } |
Unexecuted instantiation: vp9_treewriter.c:get_binary_prob Unexecuted instantiation: temporal_filter_sse4.c:get_binary_prob Unexecuted instantiation: vp9_quantize_sse2.c:get_binary_prob Unexecuted instantiation: vp9_quantize_ssse3.c:get_binary_prob Unexecuted instantiation: vp9_quantize_avx2.c:get_binary_prob Unexecuted instantiation: highbd_temporal_filter_sse4.c:get_binary_prob Unexecuted instantiation: prob.c:get_binary_prob Unexecuted instantiation: bitwriter.c:get_binary_prob Unexecuted instantiation: quantize.c:get_binary_prob Unexecuted instantiation: quantize_sse2.c:get_binary_prob Unexecuted instantiation: quantize_ssse3.c:get_binary_prob Unexecuted instantiation: quantize_avx.c:get_binary_prob Unexecuted instantiation: quantize_avx2.c:get_binary_prob Unexecuted instantiation: highbd_quantize_intrin_sse2.c:get_binary_prob Unexecuted instantiation: highbd_quantize_intrin_avx2.c:get_binary_prob Unexecuted instantiation: vp9_pred_common.c:get_binary_prob Unexecuted instantiation: vp9_mvref_common.c:get_binary_prob |
63 | | |
64 | | /* This function assumes prob1 and prob2 are already within [1,255] range. */ |
65 | 0 | static INLINE vpx_prob weighted_prob(int prob1, int prob2, int factor) { |
66 | 0 | return ROUND_POWER_OF_TWO(prob1 * (256 - factor) + prob2 * factor, 8); |
67 | 0 | } Unexecuted instantiation: vp9_cx_iface.c:weighted_prob Unexecuted instantiation: vp9_firstpass.c:weighted_prob Unexecuted instantiation: vp9_mcomp.c:weighted_prob Unexecuted instantiation: vp9_encoder.c:weighted_prob Unexecuted instantiation: vp9_picklpf.c:weighted_prob Unexecuted instantiation: vp9_quantize.c:weighted_prob Unexecuted instantiation: vp9_ratectrl.c:weighted_prob Unexecuted instantiation: vp9_rd.c:weighted_prob Unexecuted instantiation: vp9_segmentation.c:weighted_prob Unexecuted instantiation: vp9_speed_features.c:weighted_prob Unexecuted instantiation: vp9_svc_layercontext.c:weighted_prob Unexecuted instantiation: vp9_tokenize.c:weighted_prob Unexecuted instantiation: vp9_aq_variance.c:weighted_prob Unexecuted instantiation: vp9_aq_360.c:weighted_prob Unexecuted instantiation: vp9_aq_cyclicrefresh.c:weighted_prob Unexecuted instantiation: vp9_aq_complexity.c:weighted_prob Unexecuted instantiation: vp9_alt_ref_aq.c:weighted_prob Unexecuted instantiation: vp9_skin_detection.c:weighted_prob Unexecuted instantiation: vp9_noise_estimate.c:weighted_prob Unexecuted instantiation: vp9_ext_ratectrl.c:weighted_prob Unexecuted instantiation: vp9_temporal_filter.c:weighted_prob Unexecuted instantiation: vp9_tpl_model.c:weighted_prob Unexecuted instantiation: vp9_mbgraph.c:weighted_prob Unexecuted instantiation: yv12config.c:weighted_prob Unexecuted instantiation: vp9_alloccommon.c:weighted_prob Unexecuted instantiation: vp9_blockd.c:weighted_prob Unexecuted instantiation: vp9_entropy.c:weighted_prob Unexecuted instantiation: vp9_entropymode.c:weighted_prob Unexecuted instantiation: vp9_entropymv.c:weighted_prob Unexecuted instantiation: vp9_idct.c:weighted_prob Unexecuted instantiation: vp9_seg_common.c:weighted_prob Unexecuted instantiation: vp9_tile_common.c:weighted_prob Unexecuted instantiation: vp9_loopfilter.c:weighted_prob Unexecuted instantiation: vp9_thread_common.c:weighted_prob Unexecuted instantiation: vp9_quant_common.c:weighted_prob Unexecuted instantiation: vp9_reconinter.c:weighted_prob Unexecuted instantiation: vp9_reconintra.c:weighted_prob Unexecuted instantiation: vp9_scan.c:weighted_prob Unexecuted instantiation: vp9_bitstream.c:weighted_prob Unexecuted instantiation: vp9_context_tree.c:weighted_prob Unexecuted instantiation: vp9_cost.c:weighted_prob Unexecuted instantiation: vp9_dct.c:weighted_prob Unexecuted instantiation: vp9_encodeframe.c:weighted_prob Unexecuted instantiation: vp9_encodemb.c:weighted_prob Unexecuted instantiation: vp9_encodemv.c:weighted_prob Unexecuted instantiation: vp9_ethread.c:weighted_prob Unexecuted instantiation: vp9_frame_scale.c:weighted_prob Unexecuted instantiation: vp9_lookahead.c:weighted_prob Unexecuted instantiation: vp9_multi_thread.c:weighted_prob Unexecuted instantiation: vp9_rdopt.c:weighted_prob Unexecuted instantiation: vp9_pickmode.c:weighted_prob Unexecuted instantiation: vp9_subexp.c:weighted_prob Unexecuted instantiation: vp9_treewriter.c:weighted_prob Unexecuted instantiation: temporal_filter_sse4.c:weighted_prob Unexecuted instantiation: vp9_quantize_sse2.c:weighted_prob Unexecuted instantiation: vp9_quantize_ssse3.c:weighted_prob Unexecuted instantiation: vp9_quantize_avx2.c:weighted_prob Unexecuted instantiation: highbd_temporal_filter_sse4.c:weighted_prob Unexecuted instantiation: prob.c:weighted_prob Unexecuted instantiation: bitwriter.c:weighted_prob Unexecuted instantiation: quantize.c:weighted_prob Unexecuted instantiation: quantize_sse2.c:weighted_prob Unexecuted instantiation: quantize_ssse3.c:weighted_prob Unexecuted instantiation: quantize_avx.c:weighted_prob Unexecuted instantiation: quantize_avx2.c:weighted_prob Unexecuted instantiation: highbd_quantize_intrin_sse2.c:weighted_prob Unexecuted instantiation: highbd_quantize_intrin_avx2.c:weighted_prob Unexecuted instantiation: vp9_pred_common.c:weighted_prob Unexecuted instantiation: vp9_mvref_common.c:weighted_prob |
68 | | |
69 | | static INLINE vpx_prob merge_probs(vpx_prob pre_prob, const unsigned int ct[2], |
70 | | unsigned int count_sat, |
71 | 0 | unsigned int max_update_factor) { |
72 | 0 | const vpx_prob prob = get_binary_prob(ct[0], ct[1]); |
73 | 0 | const unsigned int count = VPXMIN(ct[0] + ct[1], count_sat); |
74 | 0 | const unsigned int factor = max_update_factor * count / count_sat; |
75 | 0 | return weighted_prob(pre_prob, prob, factor); |
76 | 0 | } Unexecuted instantiation: vp9_cx_iface.c:merge_probs Unexecuted instantiation: vp9_firstpass.c:merge_probs Unexecuted instantiation: vp9_mcomp.c:merge_probs Unexecuted instantiation: vp9_encoder.c:merge_probs Unexecuted instantiation: vp9_picklpf.c:merge_probs Unexecuted instantiation: vp9_quantize.c:merge_probs Unexecuted instantiation: vp9_ratectrl.c:merge_probs Unexecuted instantiation: vp9_rd.c:merge_probs Unexecuted instantiation: vp9_segmentation.c:merge_probs Unexecuted instantiation: vp9_speed_features.c:merge_probs Unexecuted instantiation: vp9_svc_layercontext.c:merge_probs Unexecuted instantiation: vp9_tokenize.c:merge_probs Unexecuted instantiation: vp9_aq_variance.c:merge_probs Unexecuted instantiation: vp9_aq_360.c:merge_probs Unexecuted instantiation: vp9_aq_cyclicrefresh.c:merge_probs Unexecuted instantiation: vp9_aq_complexity.c:merge_probs Unexecuted instantiation: vp9_alt_ref_aq.c:merge_probs Unexecuted instantiation: vp9_skin_detection.c:merge_probs Unexecuted instantiation: vp9_noise_estimate.c:merge_probs Unexecuted instantiation: vp9_ext_ratectrl.c:merge_probs Unexecuted instantiation: vp9_temporal_filter.c:merge_probs Unexecuted instantiation: vp9_tpl_model.c:merge_probs Unexecuted instantiation: vp9_mbgraph.c:merge_probs Unexecuted instantiation: yv12config.c:merge_probs Unexecuted instantiation: vp9_alloccommon.c:merge_probs Unexecuted instantiation: vp9_blockd.c:merge_probs Unexecuted instantiation: vp9_entropy.c:merge_probs Unexecuted instantiation: vp9_entropymode.c:merge_probs Unexecuted instantiation: vp9_entropymv.c:merge_probs Unexecuted instantiation: vp9_idct.c:merge_probs Unexecuted instantiation: vp9_seg_common.c:merge_probs Unexecuted instantiation: vp9_tile_common.c:merge_probs Unexecuted instantiation: vp9_loopfilter.c:merge_probs Unexecuted instantiation: vp9_thread_common.c:merge_probs Unexecuted instantiation: vp9_quant_common.c:merge_probs Unexecuted instantiation: vp9_reconinter.c:merge_probs Unexecuted instantiation: vp9_reconintra.c:merge_probs Unexecuted instantiation: vp9_scan.c:merge_probs Unexecuted instantiation: vp9_bitstream.c:merge_probs Unexecuted instantiation: vp9_context_tree.c:merge_probs Unexecuted instantiation: vp9_cost.c:merge_probs Unexecuted instantiation: vp9_dct.c:merge_probs Unexecuted instantiation: vp9_encodeframe.c:merge_probs Unexecuted instantiation: vp9_encodemb.c:merge_probs Unexecuted instantiation: vp9_encodemv.c:merge_probs Unexecuted instantiation: vp9_ethread.c:merge_probs Unexecuted instantiation: vp9_frame_scale.c:merge_probs Unexecuted instantiation: vp9_lookahead.c:merge_probs Unexecuted instantiation: vp9_multi_thread.c:merge_probs Unexecuted instantiation: vp9_rdopt.c:merge_probs Unexecuted instantiation: vp9_pickmode.c:merge_probs Unexecuted instantiation: vp9_subexp.c:merge_probs Unexecuted instantiation: vp9_treewriter.c:merge_probs Unexecuted instantiation: temporal_filter_sse4.c:merge_probs Unexecuted instantiation: vp9_quantize_sse2.c:merge_probs Unexecuted instantiation: vp9_quantize_ssse3.c:merge_probs Unexecuted instantiation: vp9_quantize_avx2.c:merge_probs Unexecuted instantiation: highbd_temporal_filter_sse4.c:merge_probs Unexecuted instantiation: prob.c:merge_probs Unexecuted instantiation: bitwriter.c:merge_probs Unexecuted instantiation: quantize.c:merge_probs Unexecuted instantiation: quantize_sse2.c:merge_probs Unexecuted instantiation: quantize_ssse3.c:merge_probs Unexecuted instantiation: quantize_avx.c:merge_probs Unexecuted instantiation: quantize_avx2.c:merge_probs Unexecuted instantiation: highbd_quantize_intrin_sse2.c:merge_probs Unexecuted instantiation: highbd_quantize_intrin_avx2.c:merge_probs Unexecuted instantiation: vp9_pred_common.c:merge_probs Unexecuted instantiation: vp9_mvref_common.c:merge_probs |
77 | | |
78 | | // MODE_MV_MAX_UPDATE_FACTOR (128) * count / MODE_MV_COUNT_SAT; |
79 | | static const int count_to_update_factor[MODE_MV_COUNT_SAT + 1] = { |
80 | | 0, 6, 12, 19, 25, 32, 38, 44, 51, 57, 64, |
81 | | 70, 76, 83, 89, 96, 102, 108, 115, 121, 128 |
82 | | }; |
83 | | |
84 | | static INLINE vpx_prob mode_mv_merge_probs(vpx_prob pre_prob, |
85 | 0 | const unsigned int ct[2]) { |
86 | 0 | const unsigned int den = ct[0] + ct[1]; |
87 | 0 | if (den == 0) { |
88 | 0 | return pre_prob; |
89 | 0 | } else { |
90 | 0 | const unsigned int count = VPXMIN(den, MODE_MV_COUNT_SAT); |
91 | 0 | const unsigned int factor = count_to_update_factor[count]; |
92 | 0 | const vpx_prob prob = get_prob(ct[0], den); |
93 | 0 | return weighted_prob(pre_prob, prob, factor); |
94 | 0 | } |
95 | 0 | } Unexecuted instantiation: vp9_cx_iface.c:mode_mv_merge_probs Unexecuted instantiation: vp9_firstpass.c:mode_mv_merge_probs Unexecuted instantiation: vp9_mcomp.c:mode_mv_merge_probs Unexecuted instantiation: vp9_encoder.c:mode_mv_merge_probs Unexecuted instantiation: vp9_picklpf.c:mode_mv_merge_probs Unexecuted instantiation: vp9_quantize.c:mode_mv_merge_probs Unexecuted instantiation: vp9_ratectrl.c:mode_mv_merge_probs Unexecuted instantiation: vp9_rd.c:mode_mv_merge_probs Unexecuted instantiation: vp9_segmentation.c:mode_mv_merge_probs Unexecuted instantiation: vp9_speed_features.c:mode_mv_merge_probs Unexecuted instantiation: vp9_svc_layercontext.c:mode_mv_merge_probs Unexecuted instantiation: vp9_tokenize.c:mode_mv_merge_probs Unexecuted instantiation: vp9_aq_variance.c:mode_mv_merge_probs Unexecuted instantiation: vp9_aq_360.c:mode_mv_merge_probs Unexecuted instantiation: vp9_aq_cyclicrefresh.c:mode_mv_merge_probs Unexecuted instantiation: vp9_aq_complexity.c:mode_mv_merge_probs Unexecuted instantiation: vp9_alt_ref_aq.c:mode_mv_merge_probs Unexecuted instantiation: vp9_skin_detection.c:mode_mv_merge_probs Unexecuted instantiation: vp9_noise_estimate.c:mode_mv_merge_probs Unexecuted instantiation: vp9_ext_ratectrl.c:mode_mv_merge_probs Unexecuted instantiation: vp9_temporal_filter.c:mode_mv_merge_probs Unexecuted instantiation: vp9_tpl_model.c:mode_mv_merge_probs Unexecuted instantiation: vp9_mbgraph.c:mode_mv_merge_probs Unexecuted instantiation: yv12config.c:mode_mv_merge_probs Unexecuted instantiation: vp9_alloccommon.c:mode_mv_merge_probs Unexecuted instantiation: vp9_blockd.c:mode_mv_merge_probs Unexecuted instantiation: vp9_entropy.c:mode_mv_merge_probs Unexecuted instantiation: vp9_entropymode.c:mode_mv_merge_probs Unexecuted instantiation: vp9_entropymv.c:mode_mv_merge_probs Unexecuted instantiation: vp9_idct.c:mode_mv_merge_probs Unexecuted instantiation: vp9_seg_common.c:mode_mv_merge_probs Unexecuted instantiation: vp9_tile_common.c:mode_mv_merge_probs Unexecuted instantiation: vp9_loopfilter.c:mode_mv_merge_probs Unexecuted instantiation: vp9_thread_common.c:mode_mv_merge_probs Unexecuted instantiation: vp9_quant_common.c:mode_mv_merge_probs Unexecuted instantiation: vp9_reconinter.c:mode_mv_merge_probs Unexecuted instantiation: vp9_reconintra.c:mode_mv_merge_probs Unexecuted instantiation: vp9_scan.c:mode_mv_merge_probs Unexecuted instantiation: vp9_bitstream.c:mode_mv_merge_probs Unexecuted instantiation: vp9_context_tree.c:mode_mv_merge_probs Unexecuted instantiation: vp9_cost.c:mode_mv_merge_probs Unexecuted instantiation: vp9_dct.c:mode_mv_merge_probs Unexecuted instantiation: vp9_encodeframe.c:mode_mv_merge_probs Unexecuted instantiation: vp9_encodemb.c:mode_mv_merge_probs Unexecuted instantiation: vp9_encodemv.c:mode_mv_merge_probs Unexecuted instantiation: vp9_ethread.c:mode_mv_merge_probs Unexecuted instantiation: vp9_frame_scale.c:mode_mv_merge_probs Unexecuted instantiation: vp9_lookahead.c:mode_mv_merge_probs Unexecuted instantiation: vp9_multi_thread.c:mode_mv_merge_probs Unexecuted instantiation: vp9_rdopt.c:mode_mv_merge_probs Unexecuted instantiation: vp9_pickmode.c:mode_mv_merge_probs Unexecuted instantiation: vp9_subexp.c:mode_mv_merge_probs Unexecuted instantiation: vp9_treewriter.c:mode_mv_merge_probs Unexecuted instantiation: temporal_filter_sse4.c:mode_mv_merge_probs Unexecuted instantiation: vp9_quantize_sse2.c:mode_mv_merge_probs Unexecuted instantiation: vp9_quantize_ssse3.c:mode_mv_merge_probs Unexecuted instantiation: vp9_quantize_avx2.c:mode_mv_merge_probs Unexecuted instantiation: highbd_temporal_filter_sse4.c:mode_mv_merge_probs Unexecuted instantiation: prob.c:mode_mv_merge_probs Unexecuted instantiation: bitwriter.c:mode_mv_merge_probs Unexecuted instantiation: quantize.c:mode_mv_merge_probs Unexecuted instantiation: quantize_sse2.c:mode_mv_merge_probs Unexecuted instantiation: quantize_ssse3.c:mode_mv_merge_probs Unexecuted instantiation: quantize_avx.c:mode_mv_merge_probs Unexecuted instantiation: quantize_avx2.c:mode_mv_merge_probs Unexecuted instantiation: highbd_quantize_intrin_sse2.c:mode_mv_merge_probs Unexecuted instantiation: highbd_quantize_intrin_avx2.c:mode_mv_merge_probs Unexecuted instantiation: vp9_pred_common.c:mode_mv_merge_probs Unexecuted instantiation: vp9_mvref_common.c:mode_mv_merge_probs |
96 | | |
97 | | void vpx_tree_merge_probs(const vpx_tree_index *tree, const vpx_prob *pre_probs, |
98 | | const unsigned int *counts, vpx_prob *probs); |
99 | | |
100 | | DECLARE_ALIGNED(16, extern const uint8_t, vpx_norm[256]); |
101 | | |
102 | | #ifdef __cplusplus |
103 | | } // extern "C" |
104 | | #endif |
105 | | |
106 | | #endif // VPX_VPX_DSP_PROB_H_ |