23 #ifndef TB_INTRAPREDMODE_H
24 #define TB_INTRAPREDMODE_H
94 int TrafoDepth,
int MaxTrafoDepth,
int IntraSplitFlag) = 0;
98 const char*
name()
const {
return "tb-intrapredmode"; }
134 for (
int i=0;i<35;i++) {
135 mPredMode_enabled[i] =
true;
139 mNumPredModesEnabled = 35;
143 for (
int i=0;i<35;i++) {
144 mPredMode_enabled[i] =
false;
147 mNumPredModesEnabled = 0;
151 if (!mPredMode_enabled[mode]) {
152 mPredMode[mNumPredModesEnabled] = mode;
153 mPredMode_enabled[mode] =
true;
154 mNumPredModesEnabled++;
186 assert(idx<mNumPredModesEnabled);
187 return mPredMode[idx];
191 return mNumPredModesEnabled;
195 return mPredMode_enabled[mode];
200 bool mPredMode_enabled[35];
201 int mNumPredModesEnabled;
215 int TrafoDepth,
int MaxTrafoDepth,
int IntraSplitFlag);
218 const char*
name()
const {
return "tb-intrapredmode_BruteForce"; }
254 int TrafoDepth,
int MaxTrafoDepth,
int IntraSplitFlag);
257 const char*
name()
const {
return "tb-intrapredmode_FastBrute"; }
289 int TrafoDepth,
int MaxTrafoDepth,
int IntraSplitFlag);
291 const char*
name()
const {
return "tb-intrapredmode_MinResidual"; }
Definition: tb-intrapredmode.h:208
const char * name() const
Definition: tb-intrapredmode.h:218
virtual enc_tb * analyze(encoder_context *, context_model_table &, const de265_image *input, enc_tb *tb, int TrafoDepth, int MaxTrafoDepth, int IntraSplitFlag)
Definition: tb-intrapredmode.h:225
void setParams(const params &p)
Definition: tb-intrapredmode.h:247
const char * name() const
Definition: tb-intrapredmode.h:257
void registerParams(config_parameters &config)
Definition: tb-intrapredmode.h:242
virtual enc_tb * analyze(encoder_context *, context_model_table &, const de265_image *input, enc_tb *tb, int TrafoDepth, int MaxTrafoDepth, int IntraSplitFlag)
Definition: tb-intrapredmode.h:267
void registerParams(config_parameters &config)
Definition: tb-intrapredmode.h:281
void setParams(const params &p)
Definition: tb-intrapredmode.h:279
const char * name() const
Definition: tb-intrapredmode.h:291
enc_tb * analyze(encoder_context *, context_model_table &, const de265_image *input, enc_tb *tb, int TrafoDepth, int MaxTrafoDepth, int IntraSplitFlag)
Definition: tb-intrapredmode.h:127
void disableAllIntraPredModes()
Definition: tb-intrapredmode.h:142
Algo_TB_IntraPredMode_ModeSubset()
Definition: tb-intrapredmode.h:129
void enableIntraPredMode(enum IntraPredMode mode)
Definition: tb-intrapredmode.h:150
bool isPredModeEnabled(enum IntraPredMode mode)
Definition: tb-intrapredmode.h:194
void enableAllIntraPredModes()
Definition: tb-intrapredmode.h:133
void enableIntraPredModeSubset(enum ALGO_TB_IntraPredMode_Subset subset)
Definition: tb-intrapredmode.h:160
enum IntraPredMode getPredMode(int idx) const
Definition: tb-intrapredmode.h:185
int nPredModesEnabled() const
Definition: tb-intrapredmode.h:190
Definition: tb-intrapredmode.h:85
Algo_TB_Split * mTBSplitAlgo
Definition: tb-intrapredmode.h:101
virtual enc_tb * analyze(encoder_context *, context_model_table &, const de265_image *input, enc_tb *tb, int TrafoDepth, int MaxTrafoDepth, int IntraSplitFlag)=0
void setChildAlgo(Algo_TB_Split *algo)
Definition: tb-intrapredmode.h:96
const char * name() const
Definition: tb-intrapredmode.h:98
Algo_TB_IntraPredMode()
Definition: tb-intrapredmode.h:87
virtual ~Algo_TB_IntraPredMode()
Definition: tb-intrapredmode.h:88
Definition: tb-split.h:47
Definition: configparam.h:258
void add_choice(const std::string &s, enum ALGO_TB_IntraPredMode id, bool default_value=false)
Definition: configparam.h:264
Definition: configparam.h:366
void LIBDE265_API add_option(option_base *o)
Definition: contextmodel.h:100
Definition: encoder-types.h:135
Definition: encoder-context.h:39
Definition: tb-intrapredmode.h:113
option_ALGO_TB_IntraPredMode_Subset()
Definition: tb-intrapredmode.h:115
Definition: tb-intrapredmode.h:49
option_ALGO_TB_IntraPredMode()
Definition: tb-intrapredmode.h:51
Definition: tb-intrapredmode.h:68
option_TBBitrateEstimMethod()
Definition: tb-intrapredmode.h:70
void set_ID(const char *name)
Definition: configparam.h:56
Definition: configparam.h:182
void set_range(int mini, int maxi)
void set_default(int v)
Definition: configparam.h:203
IntraPredMode
Definition: slice.h:95
@ INTRA_ANGULAR_26
Definition: slice.h:104
@ INTRA_DC
Definition: slice.h:97
@ INTRA_ANGULAR_10
Definition: slice.h:100
@ INTRA_PLANAR
Definition: slice.h:96
Definition: tb-intrapredmode.h:229
option_TBBitrateEstimMethod bitrateEstimMethod
Definition: tb-intrapredmode.h:238
params()
Definition: tb-intrapredmode.h:230
option_int keepNBest
Definition: tb-intrapredmode.h:239
Definition: tb-intrapredmode.h:271
option_TBBitrateEstimMethod bitrateEstimMethod
Definition: tb-intrapredmode.h:276
params()
Definition: tb-intrapredmode.h:272
TBBitrateEstimMethod
Definition: tb-intrapredmode.h:59
@ TBBitrateEstim_SATD_DCT
Definition: tb-intrapredmode.h:63
@ TBBitrateEstim_SATD_Hadamard
Definition: tb-intrapredmode.h:64
@ TBBitrateEstim_SSD
Definition: tb-intrapredmode.h:61
@ TBBitrateEstim_SAD
Definition: tb-intrapredmode.h:62
ALGO_TB_IntraPredMode
Definition: tb-intrapredmode.h:42
@ ALGO_TB_IntraPredMode_BruteForce
Definition: tb-intrapredmode.h:43
@ ALGO_TB_IntraPredMode_FastBrute
Definition: tb-intrapredmode.h:44
@ ALGO_TB_IntraPredMode_MinResidual
Definition: tb-intrapredmode.h:45
ALGO_TB_IntraPredMode_Subset
Definition: tb-intrapredmode.h:105
@ ALGO_TB_IntraPredMode_Subset_HVPlus
Definition: tb-intrapredmode.h:107
@ ALGO_TB_IntraPredMode_Subset_DC
Definition: tb-intrapredmode.h:108
@ ALGO_TB_IntraPredMode_Subset_Planar
Definition: tb-intrapredmode.h:109
@ ALGO_TB_IntraPredMode_Subset_All
Definition: tb-intrapredmode.h:106