47#define _CRT_SECURE_NO_DEPRECATE
293 bool set_defaults=
true);
544 unsigned int luma_depth,
unsigned int chroma_depth);
805 CompSort c,
int est_bits,
int actual_bits);
836 const int xbsep,
const int ybsep);
1036 TESTM((p >=0 && p <=3),
"Motion precision value in range 0..3");
1043 TESTM((p >=0 && p <=3),
"Motion precision value in range 0..3");
1105 unsigned int num_refs = 0,
1106 bool set_defaults=
true);
1216 void SetCodeBlocks(
unsigned int level,
unsigned int hblocks,
unsigned int vblocks);
1287 unsigned int num_refs = 2,
1288 bool set_defaults=
true);
1576 if(num < 0)
return 0;
1577 else if(num >= max)
return max-1;
#define TESTM(exp, text)
Definition dirac_assertions.h:66
TransferFunction
Definition common_types.h:141
VideoFormat
Definition common_types.h:98
@ VIDEO_FORMAT_CIF
Definition common_types.h:103
@ VIDEO_FORMAT_CUSTOM
Definition common_types.h:99
ChromaFormat
Definition common_types.h:58
PictureType
Definition common_types.h:86
@ INTER_PICTURE
Definition common_types.h:88
@ INTRA_PICTURE
Definition common_types.h:87
PrefilterType
Definition common_types.h:76
MVPrecisionType
Definition common_types.h:189
ReferenceType
Definition common_types.h:92
PixelAspectRatioType
Definition common_types.h:166
@ PIXEL_ASPECT_RATIO_CUSTOM
Definition common_types.h:167
ColourPrimaries
Definition common_types.h:124
CodeBlockMode
Definition common_types.h:199
FrameRateType
Definition common_types.h:150
@ FRAMERATE_CUSTOM
Definition common_types.h:151
WltFilter
Definition common_types.h:62
SignalRangeType
Definition common_types.h:179
@ SIGNAL_RANGE_CUSTOM
Definition common_types.h:180
ColourMatrix
Definition common_types.h:133
Definition of class SequenceHeaderByteIO.
Definition accessunit_byteio.h:52
int CoeffType
Type of wavelet coefficient data (should be larger than ValueType)
Definition common.h:74
CompSort
Types of picture component.
Definition common.h:87
@ V_COMP
Definition common.h:87
@ Y_COMP
Definition common.h:87
@ U_COMP
Definition common.h:87
VideoFormat IntToVideoFormat(int video_format)
Function to convert an integer to a valid VideoFormat.
FrameRateType IntToFrameRateType(int frame_rate_idx)
Function to convert an integer to a valid FrameRate type.
AddOrSub
Addition or subtraction.
Definition common.h:90
@ ADD
Definition common.h:90
@ SUBTRACT
Definition common.h:90
short ValueType
Type of picture data (including motion compensated residuals)
Definition common.h:70
ValueType BChk(const ValueType &num, const ValueType &max)
A simple bounds checking function, very useful in a number of places.
Definition common.h:1574
ChromaFormat IntToChromaFormat(int chroma_format)
Function to convert an integer to a valid VideoFormat.
CtxAliases
Contexts used for coefficient coding.
Definition common.h:97
@ NZ_FBIN2_CTX
Definition common.h:113
@ Z_FBIN4_CTX
Definition common.h:107
@ INFO_CTX
Definition common.h:120
@ NZ_FBIN5_CTX
Definition common.h:116
@ SIGN_POS_CTX
Definition common.h:99
@ Z_FBIN2_CTX
Definition common.h:105
@ Z_FBIN1nz_CTX
Definition common.h:104
@ NZ_FBIN6plus_CTX
Definition common.h:117
@ Q_OFFSET_SIGN_CTX
Definition common.h:125
@ NZ_FBIN1nz_CTX
Definition common.h:112
@ NZ_FBIN3_CTX
Definition common.h:114
@ NZ_FBIN4_CTX
Definition common.h:115
@ NZ_FBIN1z_CTX
Definition common.h:111
@ SIGN0_CTX
Definition common.h:98
@ TOTAL_COEFF_CTXS
Definition common.h:126
@ SIGN_NEG_CTX
Definition common.h:100
@ Z_FBIN1z_CTX
Definition common.h:103
@ Z_FBIN5_CTX
Definition common.h:108
@ Q_OFFSET_FOLLOW_CTX
Definition common.h:123
@ BLOCK_SKIP_CTX
Definition common.h:122
@ Z_FBIN3_CTX
Definition common.h:106
@ Q_OFFSET_INFO_CTX
Definition common.h:124
@ Z_FBIN6plus_CTX
Definition common.h:109
MVPrecisionType IntToMVPrecisionType(int mv_prec)
Function to convert an integer to a valid motion-vector precision type.
MvCtxAliases
Contexts used for MV data coding.
Definition common.h:131
@ PMODE_BIT0_CTX
Definition common.h:157
@ MV_FBIN3_CTX
Definition common.h:146
@ MV_SIGN_CTX
Definition common.h:152
@ DC_FBIN2plus_CTX
Definition common.h:136
@ MV_FBIN1_CTX
Definition common.h:144
@ MV_INFO_CTX
Definition common.h:150
@ SB_SPLIT_INFO_CTX
Definition common.h:166
@ TOTAL_MV_CTXS
Definition common.h:168
@ SB_SPLIT_BIN1_CTX
Definition common.h:163
@ MV_FBIN5plus_CTX
Definition common.h:148
@ DC_SIGN_CTX
Definition common.h:138
@ SB_SPLIT_BIN2_CTX
Definition common.h:164
@ DC_INFO_CTX
Definition common.h:137
@ MV_FBIN4_CTX
Definition common.h:147
@ PMODE_BIT1_CTX
Definition common.h:158
@ MV_FBIN2_CTX
Definition common.h:145
@ DC_FBIN1_CTX
Definition common.h:135
PixelAspectRatioType IntToPixelAspectRatioType(int pix_asr_idx)
Function to convert an integer to a valid PixelAspectRatio type.
int CalcValueType
Type for performing calculations on ValueType and CoeffType. Should be >ValueType,...
Definition common.h:81
PredMode
Prediction modes for blocks.
Definition common.h:84
@ UNDEFINED
Definition common.h:84
@ REF1_ONLY
Definition common.h:84
@ REF2_ONLY
Definition common.h:84
@ INTRA
Definition common.h:84
@ REF1AND2
Definition common.h:84
SignalRangeType IntToSignalRangeType(int signal_range_idx)
Function to convert an integer to a valid SignalRange type.
Direction
Forward or backward.
Definition common.h:93
@ FORWARD
Definition common.h:93
@ BACKWARD
Definition common.h:93
A template class for one-dimensional arrays.
Definition arrays.h:90
A template class for two-dimensional arrays.
Definition arrays.h:285
Class defining a rational number.
Definition common.h:219
unsigned int m_num
Numerator.
Definition common.h:222
unsigned int m_denom
Denominator.
Definition common.h:224
Picture type Class.
Definition common.h:229
void Clear()
Definition common.h:253
void SetNonRef()
Definition common.h:235
static PictureSort IntraRefPictureSort()
Definition common.h:255
bool IsInterNonRef() const
Definition common.h:250
void SetInter()
Definition common.h:234
bool IsIntraRef() const
Definition common.h:249
void SetIntraNonRef()
Definition common.h:243
bool IsNonRef() const
Definition common.h:241
void SetIntra()
Definition common.h:233
void SetInterNonRef()
Definition common.h:245
PictureSort()
Definition common.h:231
bool IsRef() const
Definition common.h:240
void SetRef()
Definition common.h:236
bool IsInterRef() const
Definition common.h:251
void SetInterRef()
Definition common.h:246
bool IsIntraNonRef() const
Definition common.h:248
static PictureSort IntraNonRefPictureSort()
Definition common.h:269
static PictureSort InterRefPictureSort()
Definition common.h:262
void SetIntraRef()
Definition common.h:244
unsigned char fs
Definition common.h:284
static PictureSort InterNonRefPictureSort()
Definition common.h:276
bool IsIntra() const
Definition common.h:239
bool IsInter() const
Definition common.h:238
Parameters relating to the source material being encoded/decoded.
Definition common.h:289
unsigned int m_clean_height
Clean area height.
Definition common.h:495
SignalRangeType SignalRangeIndex() const
Return the type from the signal range table.
Definition common.h:349
unsigned int CleanWidth() const
Return the Clean area width.
Definition common.h:338
unsigned int m_chroma_excursion
Chroma excursion.
Definition common.h:515
void SetYl(unsigned int ylen)
Sets the picture height.
Definition common.h:376
TransferFunction TransferFunctionIndex() const
Return the transfer function index.
Definition common.h:368
void SetTopOffset(unsigned int top_offset)
Set the Clean area top offset.
Definition common.h:434
unsigned int TopOffset() const
Return the Clean area top offset.
Definition common.h:344
unsigned int ChromaOffset() const
Return the chroma offset.
Definition common.h:356
unsigned int m_source_sampling
Source sampling field : 0 - progressive, 1 - interlaced.
Definition common.h:472
unsigned int m_chroma_offset
Chroma offset.
Definition common.h:513
unsigned int Yl() const
Returns the picture height.
Definition common.h:307
void SetXl(unsigned int xlen)
Sets the picture width.
Definition common.h:373
void SetTopFieldFirst(bool tff)
Set Topfield first. True if top field comes first in time.
Definition common.h:386
Rational m_framerate
Frame Rate i.e number of frames per second.
Definition common.h:481
unsigned int ChromaExcursion() const
Return the chroma excursion.
Definition common.h:358
ColourMatrix m_col_matrix
Definition common.h:524
Rational PixelAspectRatio() const
Return the pixel aspect ratio.
Definition common.h:331
void SetChromaExcursion(unsigned int chroma_exc)
Set the chroma excursion.
Definition common.h:447
PixelAspectRatioType PixelAspectRatioIndex() const
Return the type from the pixel aspect ratio table.
Definition common.h:334
ChromaFormat CFormat() const
Returns the chroma format of the sequence (420, 422, 444)
Definition common.h:310
bool TopFieldFirst() const
Returns true if top field comes first in time.
Definition common.h:322
unsigned int LeftOffset() const
Return the Clean area left offset.
Definition common.h:342
unsigned int m_luma_offset
Luma offset.
Definition common.h:509
void SetVideoFormat(VideoFormat vf)
Sets the video format.
Definition common.h:389
unsigned int m_clean_width
Clean area width.
Definition common.h:492
void SetFrameRate(unsigned int fr_num, unsigned int fr_denom)
Set the frame rate.
Definition common.h:398
bool m_topfieldfirst
If m_source_sampling=1, true if the top field is first in temporal order.
Definition common.h:475
ColourPrimaries ColourPrimariesIndex() const
Return the colour primaries index.
Definition common.h:364
void SetSignalRange(SignalRangeType sr)
Set the Signal Range parameters.
TransferFunction m_transfer_func
Definition common.h:527
void SetPixelAspectRatio(const Rational &pix_asr)
Set the pixel aspect ratio.
Definition common.h:409
ColourPrimaries m_col_primary
Colour Primaries Index.
Definition common.h:521
void SetChromaOffset(unsigned int chroma_off)
Set the chroma offset.
Definition common.h:445
unsigned int m_xl
Width of video.
Definition common.h:463
void SetLumaOffset(unsigned int luma_offset)
Set the luma offset.
Definition common.h:441
void SetColourPrimariesIndex(unsigned int cp)
Set the colour primaries index.
void SetTransferFunctionIndex(unsigned int tf)
Set the transfer function index.
FrameRateType m_fr_idx
Index into frame rate table.
Definition common.h:478
void SetFrameRate(FrameRateType fr)
Set the frame rate.
void SetColourSpecification(unsigned int cs_idx)
Set the Colour specification.
unsigned int m_yl
Height of video.
Definition common.h:466
FrameRateType FrameRateIndex() const
Return the type from the frame rate table.
Definition common.h:328
void SetCleanWidth(unsigned int clean_width)
Set the Clean area width.
Definition common.h:428
VideoFormat m_video_format
Video-format.
Definition common.h:460
void SetSourceSampling(unsigned int source_sampling)
Set if the source sampling field of the scan format.
Definition common.h:382
unsigned int CleanHeight() const
Return the Clean area height.
Definition common.h:340
PixelAspectRatioType m_pix_asr_idx
Index into pixel aspect ratio table.
Definition common.h:484
VideoFormat GetVideoFormat() const
Returns video-format.
Definition common.h:301
unsigned int LumaOffset() const
Return the luma offset.
Definition common.h:352
ColourMatrix ColourMatrixIndex() const
Return the colour matrix index.
Definition common.h:366
void SetCFormat(ChromaFormat cf)
Sets the chroma format (Y only, 420, 422 etc)
Definition common.h:379
unsigned int m_cs_idx
Index into colour spec table.
Definition common.h:518
void SetColourMatrixIndex(unsigned int cm)
Set the colour matrix index.
unsigned int m_luma_excursion
Luma excursion.
Definition common.h:511
unsigned int m_top_offset
Clean area top offset.
Definition common.h:501
unsigned int Xl() const
Returns the picture width.
Definition common.h:304
Rational m_pixel_aspect_ratio
Pixel Aspect Ratio.
Definition common.h:487
unsigned int SourceSampling() const
Returns the source sampling field of the source scan format.
Definition common.h:319
void SetLeftOffset(unsigned int left_offset)
Set the Clean area left offset.
Definition common.h:432
void SetCleanHeight(unsigned int clean_height)
Set the Clean area height.
Definition common.h:430
void SetFrameRate(const Rational &frate)
Set the frame rate.
Definition common.h:392
int ChromaHeight() const
Returns the chroma height.
int ChromaWidth() const
Returns the chroma width.
SignalRangeType m_sr_idx
Index into signal range table.
Definition common.h:506
void SetLumaExcursion(unsigned int luma_exc)
Set the luma excursion.
Definition common.h:443
SourceParams(const VideoFormat &vf=VIDEO_FORMAT_CUSTOM, bool set_defaults=true)
default constructor
void SetPixelAspectRatio(unsigned int pix_as_num, unsigned int pix_as_denom)
Set the pixel aspect ratio.
Definition common.h:416
unsigned int m_left_offset
Clean area left offset.
Definition common.h:498
void SetPixelAspectRatio(PixelAspectRatioType pixel_aspect_ratio)
Set the Pixel Aspect Ratio.
Rational FrameRate() const
Return the number for frames per second.
Definition common.h:325
unsigned int ColourSpecificationIndex() const
Return the index into the colour specification table.
Definition common.h:361
ChromaFormat m_cformat
Presence of chroma and/or chroma sampling structure.
Definition common.h:469
unsigned int LumaExcursion() const
Return the luma excursion.
Definition common.h:354
Parameters for initialising picture class objects.
Definition common.h:533
PictureParams(const SourceParams &sparams)
Constructor.
void SetPicSort(const PictureSort &ps)
Sets the type of picture.
int m_xl
Picture luma width.
Definition common.h:692
void SetExpiryTime(const int expt)
Sets how long the picture will stay in the buffer (encoder only)
Definition common.h:636
int ChromaXl() const
Returns the chroma width of the picture.
Definition common.h:574
void SetYl(int ylen)
Sets the picture height.
PictureParams()
Default constructor.
ReferenceType m_reference_type
Reference type.
Definition common.h:683
std::vector< int > m_refs
The set of picture numbers of reference pictures.
Definition common.h:671
int RetiredPictureNum() const
Returns the retired reference picture number.
Definition common.h:592
void SetXl(int xlen)
Sets the picture width.
std::vector< int > & Refs()
Returns non-const C++ referece to the vector of reference pictures, to allow them to be set.
Definition common.h:607
unsigned int LumaDepth() const
Returns the luma depth.
Definition common.h:580
void SetPictureNum(const int fn)
Sets the picture number.
Definition common.h:633
int m_cyl
Picture chroma height.
Definition common.h:701
unsigned int ChromaDepth() const
Returns the chroma depth.
Definition common.h:583
ReferenceType GetReferenceType() const
Returns reference picture type (see enum)
Definition common.h:616
int m_expiry_time
The number of pictures, after the current picture number, after the (de)coding of which the picture c...
Definition common.h:674
void SetPictureType(const PictureType ftype)
Sets the picture to be Intra/Inter.
const PictureSort & PicSort() const
Returns the type of the picture.
Definition common.h:586
int ExpiryTime() const
Returns the number of pictures after the current picture number after which the picture can be discar...
Definition common.h:598
int Yl() const
Returns the picture height.
Definition common.h:571
void SetAsOutput()
Sets a flag to indicate that the picture has been output.
Definition common.h:639
void SetCFormat(ChromaFormat cf)
Sets the chroma format.
Definition common.h:642
int m_retd_fnum
The picture number of the retired picture.
Definition common.h:689
void SetReferenceType(const ReferenceType rtype)
Sets the picture to be a reference or not.
void SetLumaDepth(unsigned int luma_depth)
Set Luma Depth.
Definition common.h:651
PictureParams(const ChromaFormat &cf, int xlen, int ylen, unsigned int luma_depth, unsigned int chroma_depth)
Constructor.
void SetChromaDepth(unsigned int chroma_depth)
Set Chroma Depth.
Definition common.h:654
int m_yl
Picture luma height.
Definition common.h:695
const std::vector< int > & Refs() const
Returns a const C++ reference to the set of reference picture numbers (will be empty if the picture i...
Definition common.h:604
PictureSort m_psort
The picture sort.
Definition common.h:668
bool Output() const
Returns an indication of whether the picture has been output yet.
Definition common.h:601
int Xl() const
Returns the picture width.
Definition common.h:568
bool m_output
True if the picture has been output, false if not.
Definition common.h:686
unsigned int m_luma_depth
Luma depth - number of bits required for lumz.
Definition common.h:704
void SetRetiredPictureNum(int retd_fnum)
Sets the retired reference picture number.
Definition common.h:657
bool UsingAC() const
Returns true is entropy coding using Arithmetic coding.
Definition common.h:619
unsigned int m_chroma_depth
chroma depth - number of bits required for luma
Definition common.h:707
int PictureNum() const
Returns the number of the picture (in time order)
Definition common.h:589
PictureType GetPictureType() const
Returns type of picture (see enum)
Definition common.h:613
const ChromaFormat & CFormat() const
Returns the chroma format of the picture.
Definition common.h:565
int ChromaYl() const
Returns the chroma height of the picture.
Definition common.h:577
PictureParams(const ChromaFormat &cf, const PictureSort &fs)
Constructor.
int m_cxl
Picture chroma width.
Definition common.h:698
bool IsBPicture() const
Returns whether the picture is bi-directionally predicted by checking references.
int m_fnum
The picture number, in temporal order.
Definition common.h:677
PictureType m_picture_type
Picture type.
Definition common.h:680
unsigned int NumRefs() const
Return the number of reference pictures.
Definition common.h:610
ChromaFormat m_cformat
The chroma format.
Definition common.h:665
bool m_using_ac
arithmetic coding flag
Definition common.h:710
void SetUsingAC(bool using_ac)
Sets the arithmetic coding flag.
Definition common.h:660
const CompSort & CSort() const
Return which component is stored.
Definition common.h:741
void SetCSort(const CompSort cs)
Set the type of component being stored.
Definition common.h:744
~PicArray()
Destructor.
Definition common.h:738
PicArray()
Default constructor.
Definition common.h:725
CompSort m_csort
Definition common.h:748
PicArray(int height, int width, CompSort cs=Y_COMP)
Constructor.
Definition common.h:732
A structure for recording costs, particularly in quantisation.
Definition common.h:754
double Error
The error (MSE or 4th power)
Definition common.h:757
double TOTAL
The Lagrangian combination of MSE+lambda*entropy.
Definition common.h:763
double ENTROPY
The entropy in bits per symbol.
Definition common.h:760
A class used for correcting estimates of entropy.
Definition common.h:774
TwoDArray< float > m_Ufctrs
Definition common.h:812
TwoDArray< float > m_Yfctrs
Definition common.h:811
void Init()
Initialises the correction factors.
float Factor(const int bandnum, const PictureParams &pp, const CompSort c) const
Returns the correction factor.
EntropyCorrector(int depth)
Constructor.
void Update(int bandnum, const PictureParams &pp, CompSort c, int est_bits, int actual_bits)
Update the correction factors.
TwoDArray< float > m_Vfctrs
Definition common.h:813
Parameters for overlapped block motion compensation.
Definition common.h:818
int m_ybsep
Definition common.h:884
friend std::ostream & operator<<(std::ostream &, OLBParams &)
int Yoffset() const
The offset in the vertical start of the block caused by overlap,=(YBLEN-YBSEP)/2.
Definition common.h:856
int Xbsep() const
Returns the horizontal block separation.
Definition common.h:847
bool operator==(const OLBParams bparams) const
int m_yoffset
Definition common.h:886
int m_yblen
Definition common.h:882
int m_xblen
Definition common.h:881
int Xoffset() const
The offset in the horizontal start of the block caused by overlap,=(XBLEN-XBSEP)/2.
Definition common.h:853
int Yblen() const
Returns the vertical block length.
Definition common.h:844
int m_xoffset
Definition common.h:885
OLBParams()
Default constructor does nothing.
Definition common.h:823
int Xblen() const
Returns the horizontal block length.
Definition common.h:841
void SetXblen(int xblen)
Sets the block width.
Definition common.h:861
friend std::istream & operator>>(std::istream &, OLBParams &)
void SetYbsep(int ybsep)
Sets the block vertical separation.
Definition common.h:870
void SetYblen(int yblen)
Sets the block height.
Definition common.h:864
OLBParams(const int xblen, const int yblen, const int xbsep, const int ybsep)
Constructor.
int Ybsep() const
Returns the vertical block separation.
Definition common.h:850
void SetXbsep(int xbsep)
Sets the block horizontal separation.
Definition common.h:867
int m_xbsep
Definition common.h:883
void SetLevel(unsigned int level)
Set the Level.
Definition common.h:922
unsigned int m_profile
Profile.
Definition common.h:930
ParseParams()
Default constructor.
unsigned int Level() const
Get the Level.
Definition common.h:908
unsigned int m_major_ver
Major Version.
Definition common.h:926
void SetProfile(unsigned int profile)
Set the Profile.
Definition common.h:919
unsigned int m_level
Level.
Definition common.h:932
unsigned int MajorVersion() const
Get the major version.
Definition common.h:899
unsigned int Profile() const
Get the Profile.
Definition common.h:905
void SetMinorVersion(unsigned int minor_ver)
Set the minor version.
Definition common.h:916
unsigned int m_minor_ver
Minor Version.
Definition common.h:928
unsigned int MinorVersion() const
Get the minor version.
Definition common.h:902
void SetMajorVersion(unsigned int major_ver)
Set the major version.
Definition common.h:913
Structure to hold code block sizes when spatial partitioning is used.
Definition common.h:937
void SetVerticalCodeBlocks(unsigned int vblocks)
Set the number of vertical code blocks.
Definition common.h:958
unsigned int VerticalCodeBlocks() const
Return the number of vertical code blocks.
Definition common.h:953
unsigned int HorizontalCodeBlocks() const
Return the number of horizontal code blocks.
Definition common.h:951
void SetHorizontalCodeBlocks(unsigned int hblocks)
Set the number of horizontal code blocks.
Definition common.h:956
unsigned int m_hblocks
Number of Horizontal code blocks.
Definition common.h:961
unsigned int m_vblocks
Number of Vertical code blocks.
Definition common.h:963
CodeBlocks(unsigned int hblocks, unsigned int vblocks)
Constructor.
Definition common.h:944
CodeBlocks()
Default Constructor.
Definition common.h:940
Structure to hold motion parameters when motion comp is used.
Definition common.h:968
void SetBlockSizes(const OLBParams &olbparams, const ChromaFormat cformat)
Set the block sizes for all SB splitting levels given these prototype block sizes for level=2.
bool CustomRefWeights()
Definition common.h:986
void SetPictureWeightsPrecision(unsigned int wt_prec)
Set the picture weight precision bits used for (de)coding.
Definition common.h:1051
int m_y_num_blocks
The number of blocks vertically.
Definition common.h:1071
int m_y_num_sb
The number of superblocks verticaly.
Definition common.h:1065
void SetMVPrecision(const MVPrecisionType p)
Set the number of accuracy bits for motion vectors.
Definition common.h:1033
void SetXNumSB(const int xn)
Set how many SBs there are horizontally.
Definition common.h:1015
int m_x_num_sb
The number of superblocks horizontally.
Definition common.h:1062
PicturePredParams()
Definition common.h:970
int XNumSB() const
Return the number of superblocks horizontally.
Definition common.h:994
const OLBParams & ChromaBParams(int n) const
Return the Chroma block parameters for each macroblock splitting level.
Definition common.h:1009
OneDArray< OLBParams > m_lbparams
Definition common.h:1073
bool UsingGlobalMotion() const
Return the global motion flag used for encoding/decoding.
Definition common.h:975
int m_ref2_weight
picture predicion parameters - reference picture 2 weight
Definition common.h:1087
void SetYNumSB(const int yn)
Set how many SBs there are vertically.
Definition common.h:1018
void SetMVPrecision(const MVPrecisionType p) const
Definition common.h:1040
void SetLumaBlockParams(const OLBParams &olbparams)
Set block level luma params.
Definition common.h:1030
unsigned int PictureWeightsBits() const
Return the number of picture weight precision bits.
Definition common.h:978
int Ref1Weight() const
Return the Ref1 weight.
Definition common.h:981
void SetRef2Weight(int wt)
Set the ref 2 picture weight.
Definition common.h:1057
int YNumBlocks() const
Returns the number of blocks vertically.
Definition common.h:1003
int Ref2Weight() const
Return the Ref2 weight.
Definition common.h:984
unsigned int m_picture_weights_bits
picture predicion parameters - precision
Definition common.h:1081
void SetXNumBlocks(const int xn)
Set how many blocks there are horizontally.
Definition common.h:1021
const OLBParams & LumaBParams(int n) const
Return the Luma block parameters for each macroblock splitting level.
Definition common.h:1006
MVPrecisionType m_mv_precision
The precision of motion vectors (number of accuracy bits eg 1=half-pel accuracy)
Definition common.h:1078
OneDArray< OLBParams > m_cbparams
Definition common.h:1075
void SetRef1Weight(int wt)
Set the ref 1 picture weight.
Definition common.h:1054
int XNumBlocks() const
Return the number of blocks horizontally.
Definition common.h:1000
int m_x_num_blocks
The number of blocks horizontally.
Definition common.h:1068
int m_ref1_weight
picture predicion parameters - reference picture 1 weight
Definition common.h:1084
bool m_use_global_motion
Global motion fields.
Definition common.h:1090
MVPrecisionType MVPrecision() const
Return the number of accuracy bits used for motion vectors.
Definition common.h:1012
int YNumSB() const
Return the number of superblocks vertically.
Definition common.h:997
void SetYNumBlocks(const int yn)
Set how many blocks there are vertically.
Definition common.h:1024
void SetUsingGlobalMotion(bool gm)
Set the wavelet filter used for picture (de)coding.
Definition common.h:1048
WltFilter TransformFilter(unsigned int wf_idx)
Return the Wavelet filter associated with the wavelet index.
int PictureCodingMode() const
Returns the picture coding mode (independent of source format)
Definition common.h:1119
WltFilter m_wlt_filter
The wavelet filter being used.
Definition common.h:1260
PicturePredParams m_picpredparams
The picture prediction parameters.
Definition common.h:1227
unsigned int m_luma_depth
Luma depth - number of bits required for lumz.
Definition common.h:1248
void SetTopFieldFirst(bool topf)
Sets whether the topmost field comes first in time [NB: TBD since this duplicates metadata in the seq...
Definition common.h:1177
bool FieldCoding() const
Returns true if the pictures are being coded as fields (mode 1 or 3)
Definition common.h:1122
void SetChromaXl(const int x)
Set the frame/field chroma width.
Definition common.h:1186
const PicturePredParams & GetPicPredParams() const
Return the picture prediction params.
Definition common.h:1170
OneDArray< CodeBlocks > m_cb
Code block array. Number of entries is m_wlt_depth+1.
Definition common.h:1272
int m_cxl
The frame/field chroma width.
Definition common.h:1242
int Yl() const
Return the picture/field luma height.
Definition common.h:1131
int m_yl
The frame/field luma height.
Definition common.h:1239
CodeBlockMode m_cb_mode
Code block mode.
Definition common.h:1266
void SetChromaDepth(unsigned int chroma_depth)
Set Chroma Depth.
Definition common.h:1195
CodecParams(const VideoFormat &video_format=VIDEO_FORMAT_CUSTOM, PictureType ftype=INTRA_PICTURE, unsigned int num_refs=0, bool set_defaults=true)
Default constructor.
void SetChromaYl(const int y)
Set the frame/field chroma height.
Definition common.h:1189
void SetVideoFormat(const VideoFormat vd)
Set the video format used for picture (de)coding.
Definition common.h:1219
bool m_zero_transform
Zero transform flag.
Definition common.h:1257
void SetXl(const int x)
Set the picture/field luma width.
Definition common.h:1180
void SetTransformFilter(const WltFilter wf)
Set the wavelet filter used for picture (de)coding.
Definition common.h:1201
void SetTransformFilter(unsigned int wf_idx)
Set the wavelet filter used for picture (de)coding.
WltFilter TransformFilter() const
Return the wavelet filter currently being used for picture (de)coding.
Definition common.h:1149
bool SpatialPartition() const
Return the spatial partitioning flag being used for picture (de)coding.
Definition common.h:1158
bool ZeroTransform() const
Return zero transform flag being used for picture (de)coding.
Definition common.h:1146
void SetCodeBlocks(unsigned int level, unsigned int hblocks, unsigned int vblocks)
Set the number of code blocks for a particular level.
void SetCodeBlockMode(unsigned int cb_mode)
Set the multiple quantisers flag usedto picture (de)coding.
void SetYl(const int y)
Set the picture/field luma height.
Definition common.h:1183
VideoFormat GetVideoFormat() const
Return the video format currently being used for picture (de)coding.
Definition common.h:1164
bool TopFieldFirst() const
Returns true if the topmost field comes first in time when coding.
Definition common.h:1125
const CodeBlocks & GetCodeBlocks(unsigned int level) const
Return the code blocks for a particular level.
unsigned int TransformDepth() const
Return the transform depth being used for picture (de)coding.
Definition common.h:1152
PicturePredParams & GetPicPredParams()
Return the picture prediction params.
Definition common.h:1167
void SetPictureCodingMode(int pic_coding)
Sets whether input is coded as fields or quincunxially.
Definition common.h:1174
unsigned int ChromaDepth() const
Returns the chroma depth.
Definition common.h:1143
void SetZeroTransform(bool zero_transform)
Set the zero transform flag being used for picture (de)coding.
Definition common.h:1198
int m_cyl
The frame/field chroma height.
Definition common.h:1245
void SetSpatialPartition(bool spatial_partition)
Set the spatial partition flag usedto picture (de)coding.
Definition common.h:1213
bool m_spatial_partition
Spatial partitioning flag.
Definition common.h:1269
void SetLumaDepth(unsigned int luma_depth)
Set Luma Depth.
Definition common.h:1192
int ChromaXl() const
Return the picture/field chroma width.
Definition common.h:1134
int ChromaYl() const
Return the picture/field chroma height.
Definition common.h:1137
bool m_topfieldfirst
True if interlaced and top field is first in temporal order.
Definition common.h:1233
int m_pic_coding_mode
The picture coding mode.
Definition common.h:1230
VideoFormat m_video_format
The video format being used.
Definition common.h:1254
CodeBlockMode GetCodeBlockMode() const
Return multiple quantisers flag being used for picture (de)coding.
Definition common.h:1155
int m_xl
The frame/field luma width.
Definition common.h:1236
void SetTransformDepth(unsigned int wd)
Set the transform depth used for picture (de)coding and allocate for the code blocks array.
unsigned int m_wlt_depth
Wavelet depth.
Definition common.h:1263
int Xl() const
Return the picture/field luma width.
Definition common.h:1128
unsigned int m_chroma_depth
chroma depth - number of bits required for luma
Definition common.h:1251
unsigned int LumaDepth() const
Returns the luma depth.
Definition common.h:1140
void SetVerbose(bool v)
Sets verbosity on or off.
Definition common.h:1390
void SetYRangeME(const int yr)
Set the vertical search range for full-search motion estimation.
Definition common.h:1408
bool Lossless() const
Get whether we're doing lossless coding.
Definition common.h:1305
void SetIntraTransformFilter(WltFilter wf)
Set the Wavelet filter to be used for intra pictures.
Definition common.h:1444
bool m_using_ac
Arithmetic coding flag.
Definition common.h:1540
void SetCombinedME(const bool cme)
Set whether we're doing combined component motion estimation.
Definition common.h:1402
void SetLossless(const bool l)
Set whether we're doing lossless coding.
Definition common.h:1396
bool CombinedME() const
Get whether we're doing combined component motion estimation.
Definition common.h:1317
void SetQf(const float qfac)
Set the quality factor.
Definition common.h:1411
void SetUFactor(const float uf)
Set the amount to weight noise in the U component.
Definition common.h:1420
PrefilterType Prefilter() const
Return what prefiltering is in place.
Definition common.h:1343
EncoderParams(const VideoFormat &video_format, PictureType ftype=INTER_PICTURE, unsigned int num_refs=2, bool set_defaults=true)
Default constructor.
void SetIntraTransformFilter(unsigned int wf_idx)
Set the Wavelet filter to be used for intra pictures.
int m_num_L1
Number of L1 pictures before next I picture.
Definition common.h:1489
EntropyCorrector * m_ent_correct
Correction factors for quantiser selection.
Definition common.h:1525
float m_L2_me_lambda
Lagrangian param for L2 motion estimation.
Definition common.h:1522
float Qf() const
Get the quality factor.
Definition common.h:1320
void SetCPD(const float cpd)
Set the number of cycles per degree at the nominal viewing distance.
Definition common.h:1426
void SetXRangeME(const int xr)
Set the horizontal search range for full-search motion estimation.
Definition common.h:1405
WltFilter m_inter_wltfilter
Wavelet filter for Inter pictures.
Definition common.h:1534
float m_L1_lambda
Lagrangian parameter for L1 picture coding.
Definition common.h:1513
bool m_full_search
A flag indicating whether we're doing full-search block matching.
Definition common.h:1474
float UFactor() const
Return the amount we're weighting noise in the U component.
Definition common.h:1334
void SetOutputPath(const char *op)
Set the output path to be used for diagnostic data.
Definition common.h:1433
int YRangeME() const
Get the vertical search range for full-search motion estimation.
Definition common.h:1314
float ILambda() const
Return the Lagrangian parameter to be used for I pictures.
Definition common.h:1349
char * OutputPath() const
Return the output path to be used for storing diagnositic data.
Definition common.h:1367
std::string m_output_path
Output file path.
Definition common.h:1528
int TargetRate()
Return the Target Bit Rate in kbps.
Definition common.h:1382
float m_L2_lambda
Lagrangian parameter for L2 picture coding.
Definition common.h:1516
float m_I_lambda
Lagrangian parameter for Intra picture coding.
Definition common.h:1510
void SetNumL1(const int nl)
Set the nominal number of L1 pictures between I pictures.
Definition common.h:1414
void SetVFactor(const float vf)
Set the amount to weight noise in the V component.
Definition common.h:1423
int NumL1() const
Return the nominal number of L1 pictures before the next I picture.
Definition common.h:1328
float L2MELambda() const
Return the Lagrangian ME parameter to be used for L2 pictures.
Definition common.h:1361
bool m_lossless
A flag indicating we're doing lossless coding.
Definition common.h:1471
void SetPrefilter(const PrefilterType pf, const int str)
Set denoising value - true or false.
Definition common.h:1429
float L2Lambda() const
Return the Lagrangian parameter to be used for L2 pictures.
Definition common.h:1355
int XRangeME() const
Get the horizontal search range for full-search motion estimation.
Definition common.h:1311
float L1MELambda() const
Return the Lagrangian ME parameter to be used for L1 pictures.
Definition common.h:1358
int PrefilterStrength() const
Return the prefiltering strength.
Definition common.h:1346
float m_vfactor
factor for weighting V component quantisation errors
Definition common.h:1498
int m_x_range_me
The horizontal range for full-search block matching.
Definition common.h:1480
bool FullSearch() const
Get whether we're doing full-search motion estimation.
Definition common.h:1308
void SetUsualCodeBlocks(const PictureType &ftype)
Set the number of code blocks for all levels.
void SetLocalDecode(const bool decode)
Sets a flag indicating that we're producing a locally decoded o/p.
Definition common.h:1393
int L1Sep() const
Return the separation between L1 pictures (and between L1 and I pictures)
Definition common.h:1331
PrefilterType m_prefilter
Indicator for prefiltering.
Definition common.h:1504
int m_y_range_me
The vertical range for full-search block matching.
Definition common.h:1483
int m_L1_sep
Separation between L1 pictures.
Definition common.h:1492
void SetUsingAC(bool using_ac)
Set the arithmetic coding flag.
Definition common.h:1456
WltFilter IntraTransformFilter()
Return the Wavelet filter to be used for intra pictures.
Definition common.h:1376
EntropyCorrector & EntropyFactors()
Return a reference to the entropy factors - we need to be able to change the values of the entropy fa...
Definition common.h:1373
bool LocalDecode() const
Returns a flag indicating that we're doing local decoding.
Definition common.h:1302
int m_prefilter_strength
Prefiltering strength.
Definition common.h:1507
int GOPLength() const
Return the size of the GOP.
bool m_combined_me
A flag indicating whether we're doing combined component motion estimation.
Definition common.h:1477
void SetL1Sep(const int lsep)
Set the separation between L1 pictures.
Definition common.h:1417
void SetFullSearch(const bool fs)
Set whether we're doing full-search motion estimation.
Definition common.h:1399
float m_L1_me_lambda
Lagrangian param for L1 motion estimation.
Definition common.h:1519
void CalcLambdas(const float qf)
Calculate the Lagrangian parameters from the quality factor.
float m_qf
Quality factor.
Definition common.h:1486
float L1Lambda() const
Return the Lagrangian parameter to be used for L1 pictures.
Definition common.h:1352
int m_target_rate
Target bit rate.
Definition common.h:1537
float m_cpd
Cycles per degree assumed for viewing the video.
Definition common.h:1501
float CPD() const
Return the number of cycles per degree at the nominal viewing distance for the raster.
Definition common.h:1340
WltFilter InterTransformFilter()
Return the Wavelet filter to be used for Inter pictures.
Definition common.h:1379
WltFilter m_intra_wltfilter
Wavelet filter for Intra pictures.
Definition common.h:1531
float VFactor() const
Return the amount we're weighting noise in the V component.
Definition common.h:1337
void SetInterTransformFilter(unsigned int wf_idx)
Set the Wavelet filter to be used for inter pictures.
void SetEntropyFactors(EntropyCorrector *entcorrect)
Sets the entropy factors - TBD: set this up in a constructor and pass encoder params around entirely ...
Definition common.h:1436
void SetInterTransformFilter(WltFilter wf)
Set the Wavelet filter to be used for inter pictures.
Definition common.h:1450
bool Verbose() const
Returns true if we're operating verbosely, false otherwise.
Definition common.h:1299
const EntropyCorrector & EntropyFactors() const
Return a reference to the entropy factors.
Definition common.h:1370
bool m_loc_decode
Flag indicating we're doing local decoding.
Definition common.h:1468
bool m_verbose
Code/decode with commentary if true.
Definition common.h:1465
float m_ufactor
factor for weighting U component quantisation errors
Definition common.h:1495
bool UsingAC() const
Return true if using Arithmetic coding.
Definition common.h:1385
void SetTargetRate(const int rate)
Set the target bit rate.
Definition common.h:1453
bool m_verbose
Code/decode with commentary if true.
Definition common.h:1569
DecoderParams(const VideoFormat &video_format=VIDEO_FORMAT_CIF, PictureType ftype=INTRA_PICTURE, unsigned int num_refs=0, bool set_defaults=false)
Default constructor.
bool Verbose() const
Returns true if we're operating verbosely, false otherwise.
Definition common.h:1555
void SetVerbose(bool v)
Sets verbosity on or off.
Definition common.h:1558
Class for encapsulating quantiser data.
Definition common.h:1583
int IntraQuantOffset4(const int index) const
Returns the intra Picture quantisation offset for non-zero values.
Definition common.h:1592
QuantiserLists()
Default constructor.
int MaxQuantIndex() const
Returns the maximum quantiser index supported.
Definition common.h:1597
OneDArray< int > m_qflist4
Definition common.h:1602
int InterQuantOffset4(const int index) const
Returns the inter Picture quantisation offset for non-zero values.
Definition common.h:1594
int QuantFactor4(const int index) const
Returns 4 times the quantisation factor.
Definition common.h:1589
OneDArray< int > m_intra_offset4
Definition common.h:1603
OneDArray< int > m_inter_offset4
Definition common.h:1604
unsigned int m_max_qindex
Definition common.h:1601
TwoDArray()
Definition arrays.h:294