incremental update to make sure the massive modifications exist on
[platform/upstream/libvorbis.git] / lib / mapping0.h
1 /********************************************************************
2  *                                                                  *
3  * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE.  *
4  * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY *
5  * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE.    *
6  * PLEASE READ THESE TERMS DISTRIBUTING.                            *
7  *                                                                  *
8  * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-2000             *
9  * by Monty <monty@xiph.org> and The XIPHOPHORUS Company            *
10  * http://www.xiph.org/                                             *
11  *                                                                  *
12  ********************************************************************
13
14  function: channel mapping 0 implementation
15  last mod: $Id: mapping0.h,v 1.1 2000/01/20 04:43:02 xiphmont Exp $
16
17  ********************************************************************/
18
19 typedef struct vorbis_info_mapping0{
20   int    timesubmap;    /* list position of the time backend/settings
21                            we're using */
22
23   int   *floorsubmap;   /* for each floor map, which channels */
24   int   *residuesubmap; /* residue to use for each incoming channel */
25   int   *psysubmap;     /* psychoacoustics to use for each incoming channel */
26
27 } vorbis_info_mapping0;
28
29 extern _vi_info_map *_vorbis_map0_dup      (vorbis_info *vi,
30                                             _vi_info_map *source);
31 extern void          _vorbis_map0_free     (_vi_info_map *i);
32 extern void          _vorbis_map0_pack     (vorbis_info *vi,
33                                             oggpack_buffer *opb,
34                                             _vi_info_map *i);
35 extern _vi_info_map *_vorbis_map0_unpack   (vorbis_info *vi,
36                                             oggpack_buffer *opb);
37 extern int           _vorbis_map0_analysis (vorbis_block *vb,
38                                             _vi_info_map *i,ogg_packet *);
39 extern int           _vorbis_map0_synthesis(vorbis_block *vb,
40                                             _vi_info_map *i,ogg_packet *);
41