Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1096)

Side by Side Diff: source/patched-ffmpeg-mt/libavcodec/sbr.h

Issue 2850032: ffmpeg update to june 23 version which fixes mp4 crash on still frames with 3... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « source/patched-ffmpeg-mt/libavcodec/raw.c ('k') | source/patched-ffmpeg-mt/libavcodec/svq3.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Spectral Band Replication definitions and structures 2 * Spectral Band Replication definitions and structures
3 * Copyright (c) 2008-2009 Robert Swain ( rob opendot cl ) 3 * Copyright (c) 2008-2009 Robert Swain ( rob opendot cl )
4 * Copyright (c) 2010 Alex Converse <alex.converse@gmail.com> 4 * Copyright (c) 2010 Alex Converse <alex.converse@gmail.com>
5 * 5 *
6 * This file is part of FFmpeg. 6 * This file is part of FFmpeg.
7 * 7 *
8 * FFmpeg is free software; you can redistribute it and/or 8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public 9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 13 matching lines...) Expand all
24 * @file 24 * @file
25 * Spectral Band Replication definitions and structures 25 * Spectral Band Replication definitions and structures
26 * @author Robert Swain ( rob opendot cl ) 26 * @author Robert Swain ( rob opendot cl )
27 */ 27 */
28 28
29 #ifndef AVCODEC_SBR_H 29 #ifndef AVCODEC_SBR_H
30 #define AVCODEC_SBR_H 30 #define AVCODEC_SBR_H
31 31
32 #include <stdint.h> 32 #include <stdint.h>
33 #include "fft.h" 33 #include "fft.h"
34 #include "ps.h"
34 35
35 /** 36 /**
36 * Spectral Band Replication header - spectrum parameters that invoke a reset if they differ from the previous header. 37 * Spectral Band Replication header - spectrum parameters that invoke a reset if they differ from the previous header.
37 */ 38 */
38 typedef struct { 39 typedef struct {
39 uint8_t bs_start_freq; 40 uint8_t bs_start_freq;
40 uint8_t bs_stop_freq; 41 uint8_t bs_stop_freq;
41 uint8_t bs_xover_band; 42 uint8_t bs_xover_band;
42 43
43 /** 44 /**
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 unsigned bs_coupling; 127 unsigned bs_coupling;
127 unsigned k[5]; ///< k0, k1, k2 128 unsigned k[5]; ///< k0, k1, k2
128 ///kx', and kx respectively, kx is the first QMF subband where SBR is used. 129 ///kx', and kx respectively, kx is the first QMF subband where SBR is used.
129 ///kx' is its value from the previous frame 130 ///kx' is its value from the previous frame
130 unsigned kx[2]; 131 unsigned kx[2];
131 ///M' and M respectively, M is the number of QMF subbands that use SBR. 132 ///M' and M respectively, M is the number of QMF subbands that use SBR.
132 unsigned m[2]; 133 unsigned m[2];
133 ///The number of frequency bands in f_master 134 ///The number of frequency bands in f_master
134 unsigned n_master; 135 unsigned n_master;
135 SBRData data[2]; 136 SBRData data[2];
137 PSContext ps;
136 ///N_Low and N_High respectively, the number of frequency bands for low and high resolution 138 ///N_Low and N_High respectively, the number of frequency bands for low and high resolution
137 unsigned n[2]; 139 unsigned n[2];
138 ///Number of noise floor bands 140 ///Number of noise floor bands
139 unsigned n_q; 141 unsigned n_q;
140 ///Number of limiter bands 142 ///Number of limiter bands
141 unsigned n_lim; 143 unsigned n_lim;
142 ///The master QMF frequency grouping 144 ///The master QMF frequency grouping
143 uint16_t f_master[49]; 145 uint16_t f_master[49];
144 ///Frequency borders for low resolution SBR 146 ///Frequency borders for low resolution SBR
145 uint16_t f_tablelow[25]; 147 uint16_t f_tablelow[25];
146 ///Frequency borders for high resolution SBR 148 ///Frequency borders for high resolution SBR
147 uint16_t f_tablehigh[49]; 149 uint16_t f_tablehigh[49];
148 ///Frequency borders for noise floors 150 ///Frequency borders for noise floors
149 uint16_t f_tablenoise[6]; 151 uint16_t f_tablenoise[6];
150 ///Frequency borders for the limiter 152 ///Frequency borders for the limiter
151 uint16_t f_tablelim[29]; 153 uint16_t f_tablelim[29];
152 unsigned num_patches; 154 unsigned num_patches;
153 uint8_t patch_num_subbands[6]; 155 uint8_t patch_num_subbands[6];
154 uint8_t patch_start_subband[6]; 156 uint8_t patch_start_subband[6];
155 ///QMF low frequency input to the HF generator 157 ///QMF low frequency input to the HF generator
156 float X_low[32][40][2]; 158 float X_low[32][40][2];
157 ///QMF output of the HF generator 159 ///QMF output of the HF generator
158 float X_high[64][40][2]; 160 float X_high[64][40][2];
159 ///QMF values of the reconstructed signal 161 ///QMF values of the reconstructed signal
160 DECLARE_ALIGNED(16, float, X)[2][2][32][64]; 162 DECLARE_ALIGNED(16, float, X)[2][2][38][64];
161 ///Zeroth coefficient used to filter the subband signals 163 ///Zeroth coefficient used to filter the subband signals
162 float alpha0[64][2]; 164 float alpha0[64][2];
163 ///First coefficient used to filter the subband signals 165 ///First coefficient used to filter the subband signals
164 float alpha1[64][2]; 166 float alpha1[64][2];
165 ///Dequantized envelope scalefactors, remapped 167 ///Dequantized envelope scalefactors, remapped
166 float e_origmapped[7][48]; 168 float e_origmapped[7][48];
167 ///Dequantized noise scalefactors, remapped 169 ///Dequantized noise scalefactors, remapped
168 float q_mapped[7][48]; 170 float q_mapped[7][48];
169 ///Sinusoidal presence, remapped 171 ///Sinusoidal presence, remapped
170 uint8_t s_mapped[7][48]; 172 uint8_t s_mapped[7][48];
171 ///Estimated envelope 173 ///Estimated envelope
172 float e_curr[7][48]; 174 float e_curr[7][48];
173 ///Amplitude adjusted noise scalefactors 175 ///Amplitude adjusted noise scalefactors
174 float q_m[7][48]; 176 float q_m[7][48];
175 ///Sinusoidal levels 177 ///Sinusoidal levels
176 float s_m[7][48]; 178 float s_m[7][48];
177 float gain[7][48]; 179 float gain[7][48];
178 DECLARE_ALIGNED(16, float, qmf_filter_scratch)[5][64]; 180 DECLARE_ALIGNED(16, float, qmf_filter_scratch)[5][64];
179 FFTContext mdct_ana; 181 FFTContext mdct_ana;
180 FFTContext mdct; 182 FFTContext mdct;
181 } SpectralBandReplication; 183 } SpectralBandReplication;
182 184
183 #endif /* AVCODEC_SBR_H */ 185 #endif /* AVCODEC_SBR_H */
OLDNEW
« no previous file with comments | « source/patched-ffmpeg-mt/libavcodec/raw.c ('k') | source/patched-ffmpeg-mt/libavcodec/svq3.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698