Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /********************************************************************
  2.  *                                                                  *
  3.  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
  4.  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
  5.  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  6.  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  7.  *                                                                  *
  8.  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009             *
  9.  * by the Xiph.Org Foundation https://xiph.org/                     *
  10.  *                                                                  *
  11.  ********************************************************************
  12.  
  13.  function: highlevel encoder setup struct separated out for vorbisenc clarity
  14.  
  15.  ********************************************************************/
  16.  
  17. typedef struct highlevel_byblocktype {
  18.   double tone_mask_setting;
  19.   double tone_peaklimit_setting;
  20.   double noise_bias_setting;
  21.   double noise_compand_setting;
  22. } highlevel_byblocktype;
  23.  
  24. typedef struct highlevel_encode_setup {
  25.   int   set_in_stone;
  26.   const void *setup;
  27.   double base_setting;
  28.  
  29.   double impulse_noisetune;
  30.  
  31.   /* bitrate management below all settable */
  32.   float  req;
  33.   int    managed;
  34.   long   bitrate_min;
  35.   long   bitrate_av;
  36.   double bitrate_av_damp;
  37.   long   bitrate_max;
  38.   long   bitrate_reservoir;
  39.   double bitrate_reservoir_bias;
  40.  
  41.   int impulse_block_p;
  42.   int noise_normalize_p;
  43.   int coupling_p;
  44.  
  45.   double stereo_point_setting;
  46.   double lowpass_kHz;
  47.   int    lowpass_altered;
  48.  
  49.   double ath_floating_dB;
  50.   double ath_absolute_dB;
  51.  
  52.   double amplitude_track_dBpersec;
  53.   double trigger_setting;
  54.  
  55.   highlevel_byblocktype block[4]; /* padding, impulse, transition, long */
  56.  
  57. } highlevel_encode_setup;
  58.