"Fossies" - the Fresh Open Source Software Archive

Member "ffmpeg-3.4.2/libavcodec/aacenc_is.h" (31 Dec 2017, 1803 Bytes) of package /linux/misc/ffmpeg-3.4.2.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "aacenc_is.h" see the Fossies "Dox" file reference documentation.

    1 /*
    2  * AAC encoder intensity stereo
    3  * Copyright (C) 2015 Rostislav Pehlivanov
    4  *
    5  * This file is part of FFmpeg.
    6  *
    7  * FFmpeg is free software; you can redistribute it and/or
    8  * modify it under the terms of the GNU Lesser General Public
    9  * License as published by the Free Software Foundation; either
   10  * version 2.1 of the License, or (at your option) any later version.
   11  *
   12  * FFmpeg 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 GNU
   15  * Lesser General Public License for more details.
   16  *
   17  * You should have received a copy of the GNU Lesser General Public
   18  * License along with FFmpeg; if not, write to the Free Software
   19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   20  */
   21 
   22 /**
   23  * @file
   24  * AAC encoder Intensity Stereo
   25  * @author Rostislav Pehlivanov ( atomnuker gmail com )
   26  */
   27 
   28 #ifndef AVCODEC_AACENC_IS_H
   29 #define AVCODEC_AACENC_IS_H
   30 
   31 #include "aacenc.h"
   32 
   33 /** Frequency in Hz for lower limit of intensity stereo **/
   34 #define INT_STEREO_LOW_LIMIT 6100
   35 
   36 struct AACISError {
   37     int pass;    /* 1 if dist2 <= dist1  */
   38     int phase;   /* -1 or +1             */
   39     float error; /* fabs(dist1 - dist2)  */
   40     float dist1; /* From original coeffs */
   41     float dist2; /* From IS'd coeffs     */
   42     float ener01;
   43 };
   44 
   45 struct AACISError ff_aac_is_encoding_err(AACEncContext *s, ChannelElement *cpe,
   46                                          int start, int w, int g, float ener0,
   47                                          float ener1, float ener01,
   48                                          int use_pcoeffs, int phase);
   49 void ff_aac_search_for_is(AACEncContext *s, AVCodecContext *avctx, ChannelElement *cpe);
   50 
   51 #endif /* AVCODEC_AACENC_IS_H */