digiKam
tb-transform.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 TB_TRANSFORM_H
24 #define TB_TRANSFORM_H
25 
26 #include "libde265/nal-parser.h"
27 #include "libde265/decctx.h"
30 #include "libde265/slice.h"
31 #include "libde265/scan.h"
32 #include "libde265/intrapred.h"
33 #include "libde265/transform.h"
34 #include "libde265/fallback-dct.h"
35 #include "libde265/quality.h"
36 #include "libde265/fallback.h"
37 #include "libde265/configparam.h"
38 
41 
42 
43 void diff_blk(int16_t* out,int out_stride,
44  const uint8_t* a_ptr, int a_stride,
45  const uint8_t* b_ptr, int b_stride,
46  int blkSize);
47 
48 
49 // ========== TB split decision ==========
50 
51 class Algo_TB_Residual : public Algo
52 {
53 public:
55 
58  const de265_image* input,
59  enc_tb* tb,
60  int TrafoDepth, int MaxTrafoDepth, int IntraSplitFlag) = 0;
61 
62  const char* name() const { return "residual-unknown"; }
63 };
64 
65 
67 {
68 public:
70 
73  const de265_image* input,
74  enc_tb* parent,
75  int TrafoDepth, int MaxTrafoDepth, int IntraSplitFlag);
76 
78 
79  const char* name() const { return "residual-FDCT"; }
80 
81  protected:
83 };
84 
85 
86 #endif
Definition: tb-rateestim.h:57
Definition: tb-transform.h:52
virtual enc_tb * analyze(encoder_context *, context_model_table &, const de265_image *input, enc_tb *tb, int TrafoDepth, int MaxTrafoDepth, int IntraSplitFlag)=0
const char * name() const
Definition: tb-transform.h:62
Algo_TB_Residual()
Definition: tb-transform.h:54
Definition: tb-transform.h:67
virtual enc_tb * analyze(encoder_context *, context_model_table &, const de265_image *input, enc_tb *parent, int TrafoDepth, int MaxTrafoDepth, int IntraSplitFlag)
const char * name() const
Definition: tb-transform.h:79
void setAlgo_TB_RateEstimation(Algo_TB_RateEstimation *algo)
Definition: tb-transform.h:77
Algo_TB_Transform()
Definition: tb-transform.h:69
Algo_TB_RateEstimation * mAlgo_TB_RateEstimation
Definition: tb-transform.h:82
Definition: algo.h:46
Definition: contextmodel.h:100
Definition: encoder-types.h:135
Definition: encoder-context.h:39
Definition: image.h:222
void diff_blk(int16_t *out, int out_stride, const uint8_t *a_ptr, int a_stride, const uint8_t *b_ptr, int b_stride, int blkSize)