147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org/*
247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org *  Copyright (c) 2013 The WebM project authors. All Rights Reserved.
347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org *
447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org *  Use of this source code is governed by a BSD-style license
547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org *  that can be found in the LICENSE file in the root of the source
647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org *  tree. An additional intellectual property rights grant can be found
747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org *  in the file PATENTS.  All contributing project authors may
847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org *  be found in the AUTHORS file in the root of the source tree.
947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org */
1047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
1147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
128b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.org#ifndef VP9_ENCODER_VP9_SUBEXP_H_
138b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.org#define VP9_ENCODER_VP9_SUBEXP_H_
1447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
15dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
16dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.orgextern "C" {
17dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
18dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
1947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.orgvoid vp9_write_prob_diff_update(vp9_writer *w,
2047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org                                vp9_prob newp, vp9_prob oldp);
2147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
2247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.orgvoid vp9_cond_prob_diff_update(vp9_writer *w, vp9_prob *oldp,
23ecee051929d6ced19cf324688774acccc9ad4a0ajohannkoenig@chromium.org                               unsigned int *ct);
2447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
2547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.orgint vp9_prob_diff_update_savings_search(const unsigned int *ct,
2647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org                                        vp9_prob oldp, vp9_prob *bestp,
2747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org                                        vp9_prob upd);
2847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
2947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
3047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.orgint vp9_prob_diff_update_savings_search_model(const unsigned int *ct,
3147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org                                              const vp9_prob *oldp,
3247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org                                              vp9_prob *bestp,
33411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org                                              vp9_prob upd);
3447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
35dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
36dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org}  // extern "C"
37dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
38dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
398b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.org#endif  // VP9_ENCODER_VP9_SUBEXP_H_
40