Created by the British Broadcasting Corporation.
Choose a quantiser. More...
#include <quant_chooser.h>
Public Member Functions | |
| QuantChooser (const CoeffArray &pic_data, const float lambda) | |
| Constructor. More... | |
| int | GetBestQuant (Subband &node) |
| Finds the best quantisers for the subband, returning the predicted number of bits needed. More... | |
| void | SetEntropyCorrection (const float ecfac) |
| Sets the factor used for correcting the entropy calculation. More... | |
Private Member Functions | |
| QuantChooser (const QuantChooser &cpy) | |
| Copy constructor is private and body-less. This class should not be copied. More... | |
| QuantChooser & | operator= (const QuantChooser &rhs) |
| Assignment = is private and body-less. This class should not be assigned. More... | |
| void | IntegralErrorCalc (Subband &node, const int xratio, const int yratio) |
| Calculate errors and entropies for integral-bit quantisers. More... | |
| void | NonIntegralErrorCalc (Subband &node, const int xratio, const int yratio) |
| Calculate errors and entropies for non-integral-bit quantisers. More... | |
| void | LagrangianCalc () |
| Having got statistics, calculate the Lagrangian costs. More... | |
| void | SelectBestQuant () |
| Select the best quantisation index on the basis of the Lagrangian calculations. More... | |
| CoeffType | BlockAbsMax (const Subband &node) |
| void | SetSkip (CodeBlock &cblock, const int qidx) |
| Set the skip flag for a codeblock. More... | |
Private Attributes | |
| float | m_subband_wt |
| The perceptual weighting factor of the subband being tested. More... | |
| int | m_bottom_idx |
| The smallest quantisation index being tested. More... | |
| int | m_top_idx |
| The largest quantisation index being tested. More... | |
| int | m_index_step |
| The step we use in jumping through the list of quantisers. More... | |
| int | m_min_idx |
| The index of the quantiser with the lowest cost. More... | |
| const CoeffArray & | m_coeff_data |
| A local reference to the data under consideration. More... | |
| const float | m_lambda |
| The lambda value to be used in the Lagrangian calculation. More... | |
| float | m_entropy_correctionfactor |
| A value for correcting the crude calculation of the entropy. More... | |
| OneDArray< int > | m_count0 |
| An array used to count the number of zeroes. More... | |
| int | m_count1 |
| The number of ones (equal to the number of coefficients) More... | |
| OneDArray< int > | m_countPOS |
| An array used to count the number of positive values. More... | |
| OneDArray< int > | m_countNEG |
| An array used to count the number of negative values. More... | |
| OneDArray< double > | m_error_total |
| An array used to collate the sum of the perceptually-weighted errors. More... | |
| OneDArray< CostType > | m_costs |
| An array used to collate the computed costs. More... | |
This class chooses a quantiser or quantisers for a subband
| dirac::QuantChooser::QuantChooser | ( | const CoeffArray & | pic_data, |
| const float | lambda | ||
| ) |
|
private |
| int dirac::QuantChooser::GetBestQuant | ( | Subband & | node | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inline |
References m_entropy_correctionfactor.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by SetEntropyCorrection().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
© 2004 British Broadcasting Corporation.
Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's
excellent Doxygen tool.