HEVC Test Model (HM)  HM-16.3
Classes | Namespaces | Macros | Enumerations | Functions
TAppEncCfg.cpp File Reference

Handle encoder configuration parameters. More...

#include <stdlib.h>
#include <cassert>
#include <cstring>
#include <string>
#include <limits>
#include "TLibCommon/TComRom.h"
#include "TAppEncCfg.h"
#include "TAppCommon/program_options_lite.h"
#include "TLibEncoder/TEncRateCtrl.h"
Include dependency graph for TAppEncCfg.cpp:

Go to the source code of this file.

Classes

struct  MapStrToProfile
 
struct  MapStrToExtendedProfile
 
struct  MapStrToTier
 
struct  MapStrToLevel
 
struct  MapStrToCostMode
 
struct  MapStrToScalingListMode
 
struct  SMultiValueInput< T >
 

Namespaces

 Level
 

Macros

#define MACRO_TO_STRING_HELPER(val)   #val
 
#define MACRO_TO_STRING(val)   MACRO_TO_STRING_HELPER(val)
 
#define xConfirmPara(a, b)   check_failed |= confirmPara(a,b)
 

Enumerations

enum  ExtendedProfileName {
  NONE = 0, MAIN = 1, MAIN10 = 2, MAINSTILLPICTURE = 3,
  MAINREXT = 4, HIGHTHROUGHPUTREXT = 5, MONOCHROME_8 = 1008, MONOCHROME_12 = 1012,
  MONOCHROME_16 = 1016, MAIN_12 = 1112, MAIN_422_10 = 1210, MAIN_422_12 = 1212,
  MAIN_444 = 1308, MAIN_444_10 = 1310, MAIN_444_12 = 1312, MAIN_444_16 = 1316,
  MAIN_INTRA = 2108, MAIN_10_INTRA = 2110, MAIN_12_INTRA = 2112, MAIN_422_10_INTRA = 2210,
  MAIN_422_12_INTRA = 2212, MAIN_444_INTRA = 2308, MAIN_444_10_INTRA = 2310, MAIN_444_12_INTRA = 2312,
  MAIN_444_16_INTRA = 2316
}
 

Functions

static istream & Level::operator>> (istream &in, Tier &tier)
 
static istream & Level::operator>> (istream &in, Name &level)
 
static const struct MapStrToProfile strToProfile []
 
static const struct MapStrToExtendedProfile strToExtendedProfile []
 
static const ExtendedProfileName validRExtProfileNames [2][4][4]
 
static const struct MapStrToTier strToTier []
 
static const struct MapStrToLevel strToLevel []
 
static const struct MapStrToCostMode strToCostMode []
 
static const struct MapStrToScalingListMode strToScalingListMode []
 
std::istringstream & operator>> (std::istringstream &in, GOPEntry &entry)
 
Bool confirmPara (Bool bflag, const Char *message)
 
static ChromaFormat numberToChromaFormat (const Int val)
 
template<typename T , typename P >
static std::string enumToString (P map[], UInt mapLen, const T val)
 
template<typename T , typename P >
static istream & readStrToEnum (P map[], UInt mapLen, istream &in, T &val)
 
static istream & operator>> (istream &in, ExtendedProfileName &profile)
 
static istream & operator>> (istream &in, CostMode &mode)
 
static istream & operator>> (istream &in, ScalingListMode &mode)
 
static istream & operator>> (istream &in, SMultiValueInput< UInt > &values)
 
static istream & operator>> (istream &in, SMultiValueInput< Int > &values)
 
static istream & operator>> (istream &in, SMultiValueInput< Bool > &values)
 
static Void automaticallySelectRExtProfile (const Bool bUsingGeneralRExtTools, const Bool bUsingChromaQPAdjustment, const Bool bUsingExtendedPrecision, const Bool bIntraConstraintFlag, UInt &bitDepthConstraint, ChromaFormat &chromaFormatConstraint, const Int maxBitDepth, const ChromaFormat chromaFormat)
 
const CharprofileToString (const Profile::Name profile)
 

Detailed Description

Handle encoder configuration parameters.

Definition in file TAppEncCfg.cpp.

Macro Definition Documentation

#define MACRO_TO_STRING (   val)    MACRO_TO_STRING_HELPER(val)

Definition at line 52 of file TAppEncCfg.cpp.

#define MACRO_TO_STRING_HELPER (   val)    #val

Definition at line 51 of file TAppEncCfg.cpp.

#define xConfirmPara (   a,
 
)    check_failed |= confirmPara(a,b)

Enumeration Type Documentation

Enumerator
NONE 
MAIN 
MAIN10 
MAINSTILLPICTURE 
MAINREXT 
HIGHTHROUGHPUTREXT 
MONOCHROME_8 
MONOCHROME_12 
MONOCHROME_16 
MAIN_12 
MAIN_422_10 
MAIN_422_12 
MAIN_444 
MAIN_444_10 
MAIN_444_12 
MAIN_444_16 
MAIN_INTRA 
MAIN_10_INTRA 
MAIN_12_INTRA 
MAIN_422_10_INTRA 
MAIN_422_12_INTRA 
MAIN_444_INTRA 
MAIN_444_10_INTRA 
MAIN_444_12_INTRA 
MAIN_444_16_INTRA 

Definition at line 59 of file TAppEncCfg.cpp.

Function Documentation

static Void automaticallySelectRExtProfile ( const Bool  bUsingGeneralRExtTools,
const Bool  bUsingChromaQPAdjustment,
const Bool  bUsingExtendedPrecision,
const Bool  bIntraConstraintFlag,
UInt bitDepthConstraint,
ChromaFormat chromaFormatConstraint,
const Int  maxBitDepth,
const ChromaFormat  chromaFormat 
)
static

Definition at line 556 of file TAppEncCfg.cpp.

Bool confirmPara ( Bool  bflag,
const Char message 
)

Definition at line 2454 of file TAppEncCfg.cpp.

template<typename T , typename P >
static std::string enumToString ( map[],
UInt  mapLen,
const T  val 
)
static

Definition at line 328 of file TAppEncCfg.cpp.

static ChromaFormat numberToChromaFormat ( const Int  val)
inlinestatic

Definition at line 187 of file TAppEncCfg.cpp.

std::istringstream& operator>> ( std::istringstream &  in,
GOPEntry entry 
)

Definition at line 153 of file TAppEncCfg.cpp.

static istream& operator>> ( istream &  in,
ExtendedProfileName profile 
)
inlinestatic

Definition at line 362 of file TAppEncCfg.cpp.

static istream& operator>> ( istream &  in,
CostMode mode 
)
inlinestatic

Definition at line 380 of file TAppEncCfg.cpp.

static istream& operator>> ( istream &  in,
ScalingListMode mode 
)
inlinestatic

Definition at line 385 of file TAppEncCfg.cpp.

static istream& operator>> ( istream &  in,
SMultiValueInput< UInt > &  values 
)
inlinestatic

Definition at line 408 of file TAppEncCfg.cpp.

static istream& operator>> ( istream &  in,
SMultiValueInput< Int > &  values 
)
inlinestatic

Definition at line 457 of file TAppEncCfg.cpp.

static istream& operator>> ( istream &  in,
SMultiValueInput< Bool > &  values 
)
inlinestatic

Definition at line 506 of file TAppEncCfg.cpp.

const Char* profileToString ( const Profile::Name  profile)

Definition at line 2270 of file TAppEncCfg.cpp.

template<typename T , typename P >
static istream& readStrToEnum ( map[],
UInt  mapLen,
istream &  in,
T &  val 
)
static

Definition at line 341 of file TAppEncCfg.cpp.

Variable Documentation

const struct MapStrToCostMode strToCostMode[]
static
const struct MapStrToExtendedProfile strToExtendedProfile[]
static
Initial value:
=
{
{"none", NONE },
{"main", MAIN },
{"main10", MAIN10 },
{"main-still-picture", MAINSTILLPICTURE },
{"main-RExt", MAINREXT },
{"high-throughput-RExt", HIGHTHROUGHPUTREXT },
{"monochrome", MONOCHROME_8 },
{"monochrome12", MONOCHROME_12 },
{"monochrome16", MONOCHROME_16 },
{"main12", MAIN_12 },
{"main_422_10", MAIN_422_10 },
{"main_422_12", MAIN_422_12 },
{"main_444", MAIN_444 },
{"main_444_10", MAIN_444_10 },
{"main_444_12", MAIN_444_12 },
{"main_444_16", MAIN_444_16 },
{"main_intra", MAIN_INTRA },
{"main_10_intra", MAIN_10_INTRA },
{"main_12_intra", MAIN_12_INTRA },
{"main_422_10_intra", MAIN_422_10_INTRA},
{"main_422_12_intra", MAIN_422_12_INTRA},
{"main_444_intra", MAIN_444_INTRA },
{"main_444_10_intra", MAIN_444_10_INTRA},
{"main_444_12_intra", MAIN_444_12_INTRA},
{"main_444_16_intra", MAIN_444_16_INTRA}
}
const struct MapStrToLevel strToLevel[]
static
const struct MapStrToProfile strToProfile[]
static
Initial value:
const struct MapStrToScalingListMode strToScalingListMode[]
static
const struct MapStrToTier strToTier[]
static
Initial value:
=
{
{"main", Level::MAIN},
{"high", Level::HIGH},
}
const ExtendedProfileName validRExtProfileNames[2][4][4]
static