Created by the British Broadcasting Corporation.
#include <band_codec.h>
GenericBandCodec::GenericBandCodec | ( | SubbandByteIO * | subband_byteio, | |
size_t | number_of_contexts, | |||
const SubbandList & | band_list, | |||
int | band_num, | |||
const bool | is_intra | |||
) | [inline] |
Constructor for encoding.
Creates a BandCodec object to encode subband data
subband_byteio | input/output for the encoded bits | |
number_of_contexts | the number of contexts used in the encoding process | |
band_list | the set of all the subbands | |
band_num | the number of the subband being coded | |
is_intra | Flag indicating whether the band comes from an intra picture |
References dirac::GenericBandCodec< EntropyCodec >::m_node, dirac::GenericBandCodec< EntropyCodec >::m_pnode, and dirac::Subband::Parent().
dirac::GenericBandCodec< EntropyCodec >::GenericBandCodec | ( | const GenericBandCodec< EntropyCodec > & | cpy | ) | [private] |
int GenericBandCodec::ChooseFollowContext | ( | const int | bin_number | ) | const [inline, protected] |
References dirac::GenericBandCodec< EntropyCodec >::m_nhood_nonzero, dirac::GenericBandCodec< EntropyCodec >::m_parent_notzero, dirac::NZ_FBIN1nz_CTX, dirac::NZ_FBIN1z_CTX, dirac::NZ_FBIN2_CTX, dirac::NZ_FBIN3_CTX, dirac::NZ_FBIN4_CTX, dirac::NZ_FBIN5_CTX, dirac::NZ_FBIN6plus_CTX, dirac::Z_FBIN1nz_CTX, dirac::Z_FBIN1z_CTX, dirac::Z_FBIN2_CTX, dirac::Z_FBIN3_CTX, dirac::Z_FBIN4_CTX, dirac::Z_FBIN5_CTX, and dirac::Z_FBIN6plus_CTX.
Referenced by dirac::GenericBandCodec< EntropyCodec >::CodeVal(), and dirac::GenericBandCodec< EntropyCodec >::DecodeVal().
int GenericBandCodec::ChooseInfoContext | ( | ) | const [inline, protected] |
References dirac::INFO_CTX.
Referenced by dirac::GenericBandCodec< EntropyCodec >::CodeVal(), and dirac::GenericBandCodec< EntropyCodec >::DecodeVal().
int GenericBandCodec::ChooseSignContext | ( | const CoeffArray & | data, | |
const int | xpos, | |||
const int | ypos | |||
) | const [inline, protected] |
void GenericBandCodec::ClearBlock | ( | const CodeBlock & | code_block, | |
CoeffArray & | coeff_data | |||
) | [inline, protected, virtual] |
Reimplemented in dirac::GenericIntraDCBandCodec< EntropyCodec >, dirac::GenericIntraDCBandCodec< dirac::ArithCodec< dirac::CoeffArray > >, and dirac::GenericIntraDCBandCodec< dirac::ArithCodecToVLCAdapter >.
References dirac::CodeBlock::Xend(), dirac::CodeBlock::Xstart(), dirac::CodeBlock::Yend(), and dirac::CodeBlock::Ystart().
Referenced by dirac::GenericBandCodec< EntropyCodec >::DoWorkCode(), and dirac::GenericBandCodec< EntropyCodec >::DoWorkDecode().
void GenericBandCodec::CodeCoeff | ( | CoeffArray & | in_data, | |
const int | xpos, | |||
const int | ypos | |||
) | [inline, protected, virtual] |
Reimplemented in dirac::IntraDCBandCodec, and dirac::IntraDCBandVLC.
References dirac::GenericBandCodec< EntropyCodec >::CodeVal().
Referenced by dirac::GenericBandCodec< EntropyCodec >::CodeCoeffBlock().
void GenericBandCodec::CodeCoeffBlock | ( | const CodeBlock & | code_block, | |
CoeffArray & | in_data | |||
) | [inline, protected, virtual] |
References dirac::GenericBandCodec< EntropyCodec >::CodeCoeff(), dirac::GenericBandCodec< EntropyCodec >::CodeQuantIndexOffset(), dirac::GenericBandCodec< EntropyCodec >::m_is_intra, dirac::GenericBandCodec< EntropyCodec >::m_last_qf_idx, dirac::GenericBandCodec< EntropyCodec >::m_nhood_nonzero, dirac::GenericBandCodec< EntropyCodec >::m_node, dirac::GenericBandCodec< EntropyCodec >::m_offset, dirac::GenericBandCodec< EntropyCodec >::m_parent_notzero, dirac::GenericBandCodec< EntropyCodec >::m_pnode, dirac::GenericBandCodec< EntropyCodec >::m_pxpos, dirac::GenericBandCodec< EntropyCodec >::m_pypos, dirac::GenericBandCodec< EntropyCodec >::m_qf, dirac::Subband::Parent(), dirac::CodeBlock::QuantIndex(), dirac::Subband::UsingMultiQuants(), dirac::CodeBlock::Xend(), dirac::Subband::Xp(), dirac::CodeBlock::Xstart(), dirac::CodeBlock::Yend(), dirac::Subband::Yp(), and dirac::CodeBlock::Ystart().
Referenced by dirac::GenericBandCodec< EntropyCodec >::DoWorkCode().
void GenericBandCodec::CodeQuantIndexOffset | ( | const int | offset | ) | [inline, protected] |
References dirac::Q_OFFSET_FOLLOW_CTX, dirac::Q_OFFSET_INFO_CTX, and dirac::Q_OFFSET_SIGN_CTX.
Referenced by dirac::GenericBandCodec< EntropyCodec >::CodeCoeffBlock().
void GenericBandCodec::CodeVal | ( | CoeffArray & | in_data, | |
const int | xpos, | |||
const int | ypos, | |||
const CoeffType | val | |||
) | [inline, protected] |
References dirac::GenericBandCodec< EntropyCodec >::ChooseFollowContext(), dirac::GenericBandCodec< EntropyCodec >::ChooseInfoContext(), dirac::GenericBandCodec< EntropyCodec >::ChooseSignContext(), dirac::GenericBandCodec< EntropyCodec >::m_offset, and dirac::GenericBandCodec< EntropyCodec >::m_qf.
Referenced by dirac::GenericBandCodec< EntropyCodec >::CodeCoeff().
void GenericBandCodec::DecodeCoeff | ( | CoeffArray & | in_data, | |
const int | xpos, | |||
const int | ypos | |||
) | [inline, protected, virtual] |
Reimplemented in dirac::IntraDCBandCodec.
References dirac::GenericBandCodec< EntropyCodec >::DecodeVal().
Referenced by dirac::GenericBandCodec< EntropyCodec >::DecodeCoeffBlock().
void GenericBandCodec::DecodeCoeffBlock | ( | const CodeBlock & | code_block, | |
CoeffArray & | out_data | |||
) | [inline, protected, virtual] |
Reimplemented in dirac::GenericIntraDCBandCodec< EntropyCodec >, dirac::GenericIntraDCBandCodec< dirac::ArithCodec< dirac::CoeffArray > >, and dirac::GenericIntraDCBandCodec< dirac::ArithCodecToVLCAdapter >.
References dirac::GenericBandCodec< EntropyCodec >::DecodeCoeff(), dirac::GenericBandCodec< EntropyCodec >::DecodeQuantIndexOffset(), DIRAC_THROW_EXCEPTION, dirac::ERR_UNSUPPORTED_STREAM_DATA, dirac::GenericBandCodec< EntropyCodec >::m_is_intra, dirac::GenericBandCodec< EntropyCodec >::m_last_qf_idx, dirac::GenericBandCodec< EntropyCodec >::m_nhood_nonzero, dirac::GenericBandCodec< EntropyCodec >::m_node, dirac::GenericBandCodec< EntropyCodec >::m_offset, dirac::GenericBandCodec< EntropyCodec >::m_parent_notzero, dirac::GenericBandCodec< EntropyCodec >::m_pnode, dirac::GenericBandCodec< EntropyCodec >::m_pxpos, dirac::GenericBandCodec< EntropyCodec >::m_pypos, dirac::GenericBandCodec< EntropyCodec >::m_qf, dirac::Subband::Parent(), dirac::Subband::QuantIndex(), dirac::SEVERITY_PICTURE_ERROR, dirac::Subband::UsingMultiQuants(), dirac::CodeBlock::Xend(), dirac::Subband::Xp(), dirac::CodeBlock::Xstart(), dirac::CodeBlock::Yend(), dirac::Subband::Yp(), and dirac::CodeBlock::Ystart().
Referenced by dirac::GenericBandCodec< EntropyCodec >::DoWorkDecode().
int GenericBandCodec::DecodeQuantIndexOffset | ( | ) | [inline, protected] |
References dirac::Q_OFFSET_FOLLOW_CTX, dirac::Q_OFFSET_INFO_CTX, and dirac::Q_OFFSET_SIGN_CTX.
Referenced by dirac::GenericBandCodec< EntropyCodec >::DecodeCoeffBlock().
void GenericBandCodec::DecodeVal | ( | CoeffArray & | out_data, | |
const int | xpos, | |||
const int | ypos | |||
) | [inline, protected] |
References dirac::GenericBandCodec< EntropyCodec >::ChooseFollowContext(), dirac::GenericBandCodec< EntropyCodec >::ChooseInfoContext(), dirac::GenericBandCodec< EntropyCodec >::ChooseSignContext(), dirac::GenericBandCodec< EntropyCodec >::m_offset, and dirac::GenericBandCodec< EntropyCodec >::m_qf.
Referenced by dirac::GenericBandCodec< EntropyCodec >::DecodeCoeff().
void GenericBandCodec::DoWorkCode | ( | CoeffArray & | in_data | ) | [inline, protected, virtual] |
void GenericBandCodec::DoWorkDecode | ( | CoeffArray & | out_data | ) | [inline, protected, virtual] |
Reimplemented in dirac::IntraDCBandCodec.
References dirac::BLOCK_SKIP_CTX, dirac::GenericBandCodec< EntropyCodec >::ClearBlock(), dirac::GenericBandCodec< EntropyCodec >::DecodeCoeffBlock(), dirac::Subband::GetCodeBlocks(), dirac::GenericBandCodec< EntropyCodec >::m_node, and dirac::CodeBlock::SetSkip().
GenericBandCodec& dirac::GenericBandCodec< EntropyCodec >::operator= | ( | const GenericBandCodec< EntropyCodec > & | rhs | ) | [private] |
void GenericBandCodec::SetToVal | ( | const CodeBlock & | code_block, | |
CoeffArray & | coeff_data, | |||
const CoeffType | val | |||
) | [inline, protected] |
int dirac::GenericBandCodec< EntropyCodec >::m_bnum [protected] |
bool dirac::GenericBandCodec< EntropyCodec >::m_is_intra [protected] |
int dirac::GenericBandCodec< EntropyCodec >::m_last_qf_idx [protected] |
bool dirac::GenericBandCodec< EntropyCodec >::m_nhood_nonzero [protected] |
const Subband dirac::GenericBandCodec< EntropyCodec >::m_node [protected] |
Referenced by dirac::GenericBandCodec< EntropyCodec >::ChooseSignContext(), dirac::GenericBandCodec< EntropyCodec >::CodeCoeffBlock(), dirac::GenericBandCodec< EntropyCodec >::DecodeCoeffBlock(), dirac::GenericBandCodec< EntropyCodec >::DoWorkCode(), dirac::GenericBandCodec< EntropyCodec >::DoWorkDecode(), and dirac::GenericBandCodec< EntropyCodec >::GenericBandCodec().
CoeffType dirac::GenericBandCodec< EntropyCodec >::m_offset [protected] |
bool dirac::GenericBandCodec< EntropyCodec >::m_parent_notzero [protected] |
Subband dirac::GenericBandCodec< EntropyCodec >::m_pnode [protected] |
int dirac::GenericBandCodec< EntropyCodec >::m_pxpos [protected] |
int dirac::GenericBandCodec< EntropyCodec >::m_pypos [protected] |
int dirac::GenericBandCodec< EntropyCodec >::m_qf [protected] |
© 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.