digiKam
cb-intra-inter.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_INTRA_INTER_H
24
#define CB_INTRA_INTER_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-intrapredmode.h
"
39
#include "
libde265/encoder/algo/tb-split.h
"
40
#include "
libde265/encoder/algo/cb-intrapartmode.h
"
41
42
43
// ========== CB Intra/Inter decision ==========
44
45
class
Algo_CB_IntraInter
:
public
Algo_CB
46
{
47
public
:
48
virtual
~Algo_CB_IntraInter
() { }
49
50
void
setIntraChildAlgo
(
Algo_CB
* algo) {
mIntraAlgo
= algo; }
51
void
setInterChildAlgo
(
Algo_CB
* algo) {
mInterAlgo
= algo; }
52
53
virtual
const
char
*
name
()
const
{
return
"cb-intra-inter"
; }
54
55
protected
:
56
Algo_CB
*
mIntraAlgo
;
57
Algo_CB
*
mInterAlgo
;
58
};
59
60
class
Algo_CB_IntraInter_BruteForce
:
public
Algo_CB_IntraInter
61
{
62
public
:
63
virtual
enc_cb
*
analyze
(
encoder_context
*,
64
context_model_table
&,
65
enc_cb
* cb);
66
};
67
68
#endif
algo.h
cb-intrapartmode.h
Algo_CB_IntraInter_BruteForce
Definition:
cb-intra-inter.h:61
Algo_CB_IntraInter_BruteForce::analyze
virtual enc_cb * analyze(encoder_context *, context_model_table &, enc_cb *cb)
Algo_CB_IntraInter
Definition:
cb-intra-inter.h:46
Algo_CB_IntraInter::name
virtual const char * name() const
Definition:
cb-intra-inter.h:53
Algo_CB_IntraInter::mInterAlgo
Algo_CB * mInterAlgo
Definition:
cb-intra-inter.h:57
Algo_CB_IntraInter::~Algo_CB_IntraInter
virtual ~Algo_CB_IntraInter()
Definition:
cb-intra-inter.h:48
Algo_CB_IntraInter::mIntraAlgo
Algo_CB * mIntraAlgo
Definition:
cb-intra-inter.h:56
Algo_CB_IntraInter::setInterChildAlgo
void setInterChildAlgo(Algo_CB *algo)
Definition:
cb-intra-inter.h:51
Algo_CB_IntraInter::setIntraChildAlgo
void setIntraChildAlgo(Algo_CB *algo)
Definition:
cb-intra-inter.h:50
Algo_CB
Definition:
algo.h:67
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-intrapredmode.h
tb-split.h
transform.h
core
libs
heifutils
libde265
encoder
algo
cb-intra-inter.h
Generated by
1.9.1