diff options
author | Sean Bartell <wingedtachikoma@gmail.com> | 2011-06-25 21:32:25 -0400 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2012-04-25 22:13:20 +0200 |
commit | f40bfc9267b13b54e6379dfe7539447662879d24 (patch) | |
tree | 9b20069d5e62809ff434061ad730096836f916f2 /lib/rbcodec/codecs/libfaad/drm_dec.h | |
parent | a0009907de7a0107d49040d8a180f140e2eff299 (diff) | |
download | rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.tar.gz rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.zip |
Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
Diffstat (limited to 'lib/rbcodec/codecs/libfaad/drm_dec.h')
-rw-r--r-- | lib/rbcodec/codecs/libfaad/drm_dec.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/libfaad/drm_dec.h b/lib/rbcodec/codecs/libfaad/drm_dec.h new file mode 100644 index 0000000000..d7ae9d0166 --- /dev/null +++ b/lib/rbcodec/codecs/libfaad/drm_dec.h | |||
@@ -0,0 +1,98 @@ | |||
1 | /* | ||
2 | ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding | ||
3 | ** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com | ||
4 | ** | ||
5 | ** This program is free software; you can redistribute it and/or modify | ||
6 | ** it under the terms of the GNU General Public License as published by | ||
7 | ** the Free Software Foundation; either version 2 of the License, or | ||
8 | ** (at your option) any later version. | ||
9 | ** | ||
10 | ** This program is distributed in the hope that it will be useful, | ||
11 | ** but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | ** GNU General Public License for more details. | ||
14 | ** | ||
15 | ** You should have received a copy of the GNU General Public License | ||
16 | ** along with this program; if not, write to the Free Software | ||
17 | ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
18 | ** | ||
19 | ** Any non-GPL usage of this software or parts of this software is strictly | ||
20 | ** forbidden. | ||
21 | ** | ||
22 | ** Commercial non-GPL licensing of this software is possible. | ||
23 | ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. | ||
24 | ** | ||
25 | ** $Id$ | ||
26 | **/ | ||
27 | |||
28 | #ifndef __DRM_DEC_H__ | ||
29 | #define __DRM_DEC_H__ | ||
30 | |||
31 | #ifdef __cplusplus | ||
32 | extern "C" { | ||
33 | #endif | ||
34 | |||
35 | #include "bits.h" | ||
36 | |||
37 | #define DRM_PARAMETRIC_STEREO 0 | ||
38 | #define DRM_NUM_SA_BANDS 8 | ||
39 | #define DRM_NUM_PAN_BANDS 20 | ||
40 | #define NUM_OF_LINKS 3 | ||
41 | #define NUM_OF_QMF_CHANNELS 64 | ||
42 | #define NUM_OF_SUBSAMPLES 30 | ||
43 | #define MAX_SA_BAND 46 | ||
44 | #define MAX_PAN_BAND 64 | ||
45 | #define MAX_DELAY 5 | ||
46 | |||
47 | typedef struct | ||
48 | { | ||
49 | uint8_t drm_ps_data_available; | ||
50 | uint8_t bs_enable_sa; | ||
51 | uint8_t bs_enable_pan; | ||
52 | |||
53 | uint8_t bs_sa_dt_flag; | ||
54 | uint8_t bs_pan_dt_flag; | ||
55 | |||
56 | uint8_t g_last_had_sa; | ||
57 | uint8_t g_last_had_pan; | ||
58 | |||
59 | int8_t bs_sa_data[DRM_NUM_SA_BANDS]; | ||
60 | int8_t bs_pan_data[DRM_NUM_PAN_BANDS]; | ||
61 | |||
62 | int8_t g_sa_index[DRM_NUM_SA_BANDS]; | ||
63 | int8_t g_pan_index[DRM_NUM_PAN_BANDS]; | ||
64 | int8_t g_prev_sa_index[DRM_NUM_SA_BANDS]; | ||
65 | int8_t g_prev_pan_index[DRM_NUM_PAN_BANDS]; | ||
66 | |||
67 | int8_t sa_decode_error; | ||
68 | int8_t pan_decode_error; | ||
69 | |||
70 | int8_t g_last_good_sa_index[DRM_NUM_SA_BANDS]; | ||
71 | int8_t g_last_good_pan_index[DRM_NUM_PAN_BANDS]; | ||
72 | |||
73 | qmf_t SA[NUM_OF_SUBSAMPLES][MAX_SA_BAND]; | ||
74 | |||
75 | complex_t d_buff[2][MAX_SA_BAND]; | ||
76 | complex_t d2_buff[NUM_OF_LINKS][MAX_DELAY][MAX_SA_BAND]; | ||
77 | |||
78 | uint8_t delay_buf_index_ser[NUM_OF_LINKS]; | ||
79 | |||
80 | real_t prev_nrg[MAX_SA_BAND]; | ||
81 | real_t prev_peakdiff[MAX_SA_BAND]; | ||
82 | real_t peakdecay_fast[MAX_SA_BAND]; | ||
83 | } drm_ps_info; | ||
84 | |||
85 | |||
86 | uint16_t drm_ps_data(drm_ps_info *ps, bitfile *ld); | ||
87 | |||
88 | drm_ps_info *drm_ps_init(void); | ||
89 | |||
90 | uint8_t drm_ps_decode(drm_ps_info *ps, uint8_t guess, uint32_t samplerate, | ||
91 | qmf_t X_left[MAX_NTSRPS][64], | ||
92 | qmf_t X_right[MAX_NTSRPS][64]); | ||
93 | |||
94 | #ifdef __cplusplus | ||
95 | } | ||
96 | #endif | ||
97 | #endif | ||
98 | |||