
This makes room for typedefing some other struct to aom_writer. Change-Id: I1e82de1320da00b3e41c90b14f2df45e7628aa89 (cherry picked from commit d69161f8f1eed602e0e5d21f4e6157b674e30cf6)
57 lines
2.3 KiB
C
57 lines
2.3 KiB
C
/*
|
|
* Copyright (c) 2016, Alliance for Open Media. All rights reserved
|
|
*
|
|
* This source code is subject to the terms of the BSD 2 Clause License and
|
|
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
|
* was not distributed with this source code in the LICENSE file, you can
|
|
* obtain it at www.aomedia.org/license/software. If the Alliance for Open
|
|
* Media Patent License 1.0 was not distributed with this source code in the
|
|
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
|
|
*/
|
|
|
|
#ifndef AV1_ENCODER_SUBEXP_H_
|
|
#define AV1_ENCODER_SUBEXP_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "aom_dsp/bitwriter.h"
|
|
#include "aom_dsp/prob.h"
|
|
|
|
void av1_write_prob_diff_update(aom_writer *w, aom_prob newp, aom_prob oldp);
|
|
|
|
void av1_cond_prob_diff_update(aom_writer *w, aom_prob *oldp,
|
|
const unsigned int ct[2]);
|
|
|
|
int av1_prob_diff_update_savings_search(const unsigned int *ct, aom_prob oldp,
|
|
aom_prob *bestp, aom_prob upd);
|
|
|
|
int av1_prob_diff_update_savings_search_model(const unsigned int *ct,
|
|
const aom_prob *oldp,
|
|
aom_prob *bestp, aom_prob upd,
|
|
int stepsize);
|
|
int av1_cond_prob_diff_update_savings(aom_prob *oldp, const unsigned int ct[2]);
|
|
|
|
#if CONFIG_ENTROPY
|
|
int av1_prob_update_search_subframe(unsigned int ct[][2], aom_prob oldp,
|
|
aom_prob *bestp, aom_prob upd, int n);
|
|
int av1_prob_update_search_model_subframe(unsigned int ct[ENTROPY_NODES]
|
|
[COEF_PROBS_BUFS][2],
|
|
const aom_prob *oldp, aom_prob *bestp,
|
|
aom_prob upd, int stepsize, int n);
|
|
#endif // CONFIG_ENTROPY
|
|
|
|
//
|
|
// mag_bits is number of bits for magnitude. The alphabet is of size
|
|
// 2 * 2^mag_bits + 1, symmetric around 0, where one bit is used to
|
|
// indicate 0 or non-zero, mag_bits bits are used to indicate magnitide
|
|
// and 1 more bit for the sign if non-zero.
|
|
void aom_write_primitive_symmetric(aom_writer *w, int word,
|
|
unsigned int mag_bits);
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif // AV1_ENCODER_SUBEXP_H_
|