videoeditorengine/mp3aacManipLib/MP3Gain/inc/param.h
author Mikael Laine <mikael.laine@ixonos.com>
Fri, 29 Jan 2010 14:08:33 +0200
changeset 0 951a5db380a0
permissions -rw-r--r--
Committing the Video Editor package under the Eclipse Public License

/*
* Copyright (c) 2010 Ixonos Plc.
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - Initial contribution
*
* Contributors:
* Ixonos Plc
*
* Description:
*
*/


#ifndef DECPARAM_H_
#define DECPARAM_H_

/*-- Project Headers --*/
#include "defines.h"

/*
   Purpose:     The # of filter branches of the polyphase filterbank
                to be discarded. By default 2 lowest and highest branches
        will be discarded.
   Explanation: - */
#define WINDOW_PRUNING_START_IDX 2

/*
   Purpose:     Parameters that control the decoding complexity.
   Explanation: - */
typedef struct Out_ComplexityStr
{
  BOOL no_antialias;    /* If TRUE, no alias-reduction is performed. */
  int16 subband_pairs;  /* # of subband pairs for alias-reduction.   */
  int16 imdct_subbands; /* # of IMDCT subbands.                      */

} Out_Complexity;

/*
   Purpose:     Parameters that control the output stream.
   Explanation: - */
typedef struct Out_ParamStr
{
  int32 sampling_frequency; /* Output sampling frequency.           */
  int16 num_out_channels;   /* # of output channels.                */
  int16 decim_factor;       /* Decimation factor.                   */
  int16 num_samples;        /* # of output samples per subband.     */
  int16 num_out_samples;    /* Total # of output samples per frame. */

  /*
   * Specifies how many window coefficients are discarded from the synthesis
   * window. In units of 'SBLIMIT' samples. The start index can vary
   * between 0 and 'NUM_SUBWIN', but if you don't want to reduce the overall
   * audio quality, the default value 2 (or 0) should be used.
   */
  int16 window_pruning_idx;
  int16 num_subwindows;
  int16 window_offset;

} Out_Param;

/*
   Purpose:     Mapping of above structures into one common structure.
   Explanation: - */
typedef struct Out_InfoStr
{
  Out_Param *out_param;
  Out_Complexity *out_complex;

} Out_Info;

#endif /* DECPARAM_H_ */