digiKam
cb-mergeindex.h
Go to the documentation of this file.
1
/*
2
* H.265 video codec.
3
* Copyright (c) 2013-2014 struktur AG, Dirk Farin <farin@struktur.de>
4
*
5
* Authors: Dirk Farin <farin@struktur.de>
6
*
7
* This file is part of libde265.
8
*
9
* libde265 is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU Lesser General Public License as
11
* published by the Free Software Foundation, either version 3 of
12
* the License, or (at your option) any later version.
13
*
14
* libde265 is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU Lesser General Public License for more details.
18
*
19
* You should have received a copy of the GNU Lesser General Public License
20
* along with libde265. If not, see <http://www.gnu.org/licenses/>.
21
*/
22
23
#ifndef CB_MERGEINDEX_H
24
#define CB_MERGEINDEX_H
25
26
#include "
libde265/nal-parser.h
"
27
#include "
libde265/decctx.h
"
28
#include "
libde265/slice.h
"
29
#include "
libde265/scan.h
"
30
#include "
libde265/intrapred.h
"
31
#include "
libde265/transform.h
"
32
#include "
libde265/fallback-dct.h
"
33
#include "
libde265/quality.h
"
34
#include "
libde265/fallback.h
"
35
#include "
libde265/configparam.h
"
36
37
#include "
libde265/encoder/algo/algo.h
"
38
#include "
libde265/encoder/algo/tb-split.h
"
39
40
41
// ========== CB Skip/Inter decision ==========
42
43
class
Algo_CB_MergeIndex
:
public
Algo_CB
44
{
45
public
:
46
Algo_CB_MergeIndex
() :
mCodeResidual
(false) { }
47
virtual
~Algo_CB_MergeIndex
() { }
48
49
void
set_code_residual
(
bool
flag=
true
) {
mCodeResidual
=flag; }
50
51
void
setChildAlgo
(
Algo_TB_Split
* algo) {
mTBSplit
= algo; }
52
// TODO void setInterChildAlgo(Algo_CB_IntraPartMode* algo) { mInterPartModeAlgo = algo; }
53
54
virtual
const
char
*
name
()
const
{
return
"cb-mergeindex"
; }
55
56
protected
:
57
Algo_TB_Split
*
mTBSplit
;
58
59
bool
mCodeResidual
;
60
};
61
62
class
Algo_CB_MergeIndex_Fixed
:
public
Algo_CB_MergeIndex
63
{
64
public
:
65
virtual
enc_cb
*
analyze
(
encoder_context
*,
66
context_model_table
&,
67
enc_cb
* cb);
68
};
69
70
#endif
algo.h
Algo_CB_MergeIndex_Fixed
Definition:
cb-mergeindex.h:63
Algo_CB_MergeIndex_Fixed::analyze
virtual enc_cb * analyze(encoder_context *, context_model_table &, enc_cb *cb)
Algo_CB_MergeIndex
Definition:
cb-mergeindex.h:44
Algo_CB_MergeIndex::setChildAlgo
void setChildAlgo(Algo_TB_Split *algo)
Definition:
cb-mergeindex.h:51
Algo_CB_MergeIndex::mCodeResidual
bool mCodeResidual
Definition:
cb-mergeindex.h:59
Algo_CB_MergeIndex::~Algo_CB_MergeIndex
virtual ~Algo_CB_MergeIndex()
Definition:
cb-mergeindex.h:47
Algo_CB_MergeIndex::mTBSplit
Algo_TB_Split * mTBSplit
Definition:
cb-mergeindex.h:57
Algo_CB_MergeIndex::set_code_residual
void set_code_residual(bool flag=true)
Definition:
cb-mergeindex.h:49
Algo_CB_MergeIndex::Algo_CB_MergeIndex
Algo_CB_MergeIndex()
Definition:
cb-mergeindex.h:46
Algo_CB_MergeIndex::name
virtual const char * name() const
Definition:
cb-mergeindex.h:54
Algo_CB
Definition:
algo.h:67
Algo_TB_Split
Definition:
tb-split.h:47
context_model_table
Definition:
contextmodel.h:100
enc_cb
Definition:
encoder-types.h:248
encoder_context
Definition:
encoder-context.h:39
configparam.h
decctx.h
fallback-dct.h
fallback.h
intrapred.h
nal-parser.h
quality.h
scan.h
slice.h
tb-split.h
transform.h
core
libs
heifutils
libde265
encoder
algo
cb-mergeindex.h
Generated by
1.9.1