X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fsbr.h;h=7d06faddde9cac5d37b795dd5a6b64ea67a48fb2;hb=1d3c672d27d3beece88485e28f2286ec2df62e6e;hp=82a996fdc6ba7645d1a83cefef4adeef0e67cad2;hpb=423c254c18f13a84588713424bde0f90dc23783d;p=ffmpeg diff --git a/libavcodec/sbr.h b/libavcodec/sbr.h index 82a996fdc6b..7d06faddde9 100644 --- a/libavcodec/sbr.h +++ b/libavcodec/sbr.h @@ -3,20 +3,20 @@ * Copyright (c) 2008-2009 Robert Swain ( rob opendot cl ) * Copyright (c) 2010 Alex Converse * - * This file is part of FFmpeg. + * This file is part of Libav. * - * FFmpeg is free software; you can redistribute it and/or + * Libav is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * - * FFmpeg is distributed in the hope that it will be useful, + * Libav is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software + * License along with Libav; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -32,6 +32,7 @@ #include #include "fft.h" #include "aacps.h" +#include "sbrdsp.h" /** * Spectral Band Replication header - spectrum parameters that invoke a reset if they differ from the previous header. @@ -42,7 +43,7 @@ typedef struct { uint8_t bs_xover_band; /** - * @defgroup bs_header_extra_1 Variables associated with bs_header_extra_1 + * @name Variables associated with bs_header_extra_1 * @{ */ uint8_t bs_freq_scale; @@ -58,7 +59,7 @@ typedef struct { */ typedef struct { /** - * @defgroup aac_bitstream Main bitstream data variables + * @name Main bitstream data variables * @{ */ unsigned bs_frame_class; @@ -74,7 +75,7 @@ typedef struct { /** @} */ /** - * @defgroup state State variables + * @name State variables * @{ */ DECLARE_ALIGNED(16, float, synthesis_filterbank_samples)[SBR_SYNTHESIS_BUF_SIZE]; @@ -87,8 +88,8 @@ typedef struct { ///QMF values of the original signal float W[2][32][32][2]; ///QMF output of the HF adjustor - float Y[2][38][64][2]; - float g_temp[42][48]; + DECLARE_ALIGNED(16, float, Y)[2][38][64][2]; + DECLARE_ALIGNED(16, float, g_temp)[42][48]; float q_temp[42][48]; uint8_t s_indexmapped[8][48]; ///Envelope scalefactors @@ -116,7 +117,7 @@ typedef struct { SpectrumParameters spectrum_params; int bs_amp_res_header; /** - * @defgroup bs_header_extra_2 variables associated with bs_header_extra_2 + * @name Variables associated with bs_header_extra_2 * @{ */ unsigned bs_limiter_bands; @@ -155,15 +156,15 @@ typedef struct { uint8_t patch_num_subbands[6]; uint8_t patch_start_subband[6]; ///QMF low frequency input to the HF generator - float X_low[32][40][2]; + DECLARE_ALIGNED(16, float, X_low)[32][40][2]; ///QMF output of the HF generator - float X_high[64][40][2]; + DECLARE_ALIGNED(16, float, X_high)[64][40][2]; ///QMF values of the reconstructed signal DECLARE_ALIGNED(16, float, X)[2][2][38][64]; ///Zeroth coefficient used to filter the subband signals - float alpha0[64][2]; + DECLARE_ALIGNED(16, float, alpha0)[64][2]; ///First coefficient used to filter the subband signals - float alpha1[64][2]; + DECLARE_ALIGNED(16, float, alpha1)[64][2]; ///Dequantized envelope scalefactors, remapped float e_origmapped[7][48]; ///Dequantized noise scalefactors, remapped @@ -180,6 +181,7 @@ typedef struct { DECLARE_ALIGNED(16, float, qmf_filter_scratch)[5][64]; FFTContext mdct_ana; FFTContext mdct; + SBRDSPContext dsp; } SpectralBandReplication; #endif /* AVCODEC_SBR_H */