/work/libde265/libde265/transform.h
Line | Count | Source |
1 | | /* |
2 | | * H.265 video codec. |
3 | | * Copyright (c) 2013-2014 struktur AG, Dirk Farin <farin@struktur.de> |
4 | | * |
5 | | * This file is part of libde265. |
6 | | * |
7 | | * libde265 is free software: you can redistribute it and/or modify |
8 | | * it under the terms of the GNU Lesser General Public License as |
9 | | * published by the Free Software Foundation, either version 3 of |
10 | | * the License, or (at your option) any later version. |
11 | | * |
12 | | * libde265 is distributed in the hope that it will be useful, |
13 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | | * GNU Lesser General Public License for more details. |
16 | | * |
17 | | * You should have received a copy of the GNU Lesser General Public License |
18 | | * along with libde265. If not, see <http://www.gnu.org/licenses/>. |
19 | | */ |
20 | | |
21 | | #ifndef DE265_TRANSFORM_H |
22 | | #define DE265_TRANSFORM_H |
23 | | |
24 | | #include "libde265/de265.h" |
25 | | #include "libde265/decctx.h" |
26 | | |
27 | | extern const int tab8_22[]; |
28 | | |
29 | | LIBDE265_INLINE static int table8_22(int qPi) |
30 | 0 | { |
31 | 0 | if (qPi<30) return qPi; |
32 | 0 | if (qPi>=43) return qPi-6; |
33 | 0 | return tab8_22[qPi-30]; |
34 | 0 | } Unexecuted instantiation: slice.cc:table8_22(int) Unexecuted instantiation: transform.cc:table8_22(int) Unexecuted instantiation: deblock.cc:table8_22(int) Unexecuted instantiation: intrapred.cc:table8_22(int) |
35 | | |
36 | | // (8.6.1) |
37 | | void decode_quantization_parameters(thread_context* tctx, int xC,int yC, |
38 | | int xCUBase, int yCUBase); |
39 | | |
40 | | // (8.6.2) |
41 | | void scale_coefficients(thread_context* tctx, |
42 | | int xT,int yT, // position of TU in frame (chroma adapted) |
43 | | int x0,int y0, // position of CU in frame (chroma adapted) |
44 | | int nT, int cIdx, |
45 | | bool transform_skip_flag, bool intra, int rdpcmMode); |
46 | | |
47 | | |
48 | | void inv_transform(acceleration_functions* acceleration, |
49 | | uint8_t* dst, int dstStride, int16_t* coeff, |
50 | | int log2TbSize, int trType); |
51 | | |
52 | | void fwd_transform(acceleration_functions* acceleration, |
53 | | int16_t* coeff, int coeffStride, int log2TbSize, int trType, |
54 | | const int16_t* src, int srcStride); |
55 | | |
56 | | void quant_coefficients(int16_t* out_coeff, |
57 | | const int16_t* in_coeff, |
58 | | int log2TrSize, int qp, |
59 | | bool intra); |
60 | | |
61 | | void dequant_coefficients(int16_t* out_coeff, |
62 | | const int16_t* in_coeff, |
63 | | int log2TrSize, int qP); |
64 | | |
65 | | #endif |