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