incremental update to make sure the massive modifications exist on
[platform/upstream/libvorbis.git] / lib / registry.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: registry for time, floor, res backends and channel mappings
15  last mod: $Id: registry.h,v 1.1 2000/01/20 04:43:04 xiphmont Exp $
16
17  ********************************************************************/
18
19 #ifndef _V_REG_H_
20 #define _V_REG_H_
21
22 typedef void _vi_info_time;
23 typedef void _vi_info_floor;
24 typedef void _vi_info_res;
25 typedef void _vi_info_map;
26
27 #define VI_TIMEB 1
28 extern _vi_info_time  *(*vorbis_time_dup_P[])    (_vi_info_time *);
29 extern void            (*vorbis_time_free_P[])   (_vi_info_time *);
30 extern void            (*vorbis_time_pack_P[])   (oggpack_buffer *,
31                                                   _vi_info_time *);
32 extern _vi_info_time  *(*vorbis_time_unpack_P[]) (vorbis_info *,
33                                                   oggpack_buffer *);
34
35 #define VI_FLOORB 1
36 extern _vi_info_floor *(*vorbis_floor_dup_P[])   (_vi_info_floor *);
37 extern void            (*vorbis_floor_free_P[])  (_vi_info_floor *);
38 extern void            (*vorbis_floor_pack_P[])  (oggpack_buffer *,
39                                                   _vi_info_floor*);
40 extern _vi_info_floor *(*vorbis_floor_unpack_P[])(vorbis_info *,
41                                                   oggpack_buffer *);
42
43 #define VI_RESB 1
44 extern _vi_info_res   *(*vorbis_res_dup_P[])     (_vi_info_res *);
45 extern void            (*vorbis_res_free_P[])    (_vi_info_res *);
46 extern void            (*vorbis_res_pack_P[])    (oggpack_buffer *,
47                                                   _vi_info_res *);
48 extern _vi_info_res   *(*vorbis_res_unpack_P[])  (vorbis_info *,
49                                                   oggpack_buffer *);
50
51 #define VI_MAPB 1
52 extern _vi_info_map   *(*vorbis_map_dup_P[])     (vorbis_info *,
53                                                   _vi_info_map *);
54 extern void            (*vorbis_map_free_P[])    (_vi_info_map *);
55 extern void            (*vorbis_map_pack_P[])    (vorbis_info *,
56                                                   oggpack_buffer *,
57                                                   _vi_info_map *);
58 extern _vi_info_map   *(*vorbis_map_unpack_P[])  (vorbis_info *,
59                                                   oggpack_buffer *);
60
61 extern int   (*vorbis_map_analysis_P[]) (vorbis_block *vb,_vi_info_map *,
62                                          ogg_packet *);
63 extern int   (*vorbis_map_synthesis_P[])(vorbis_block *vb,_vi_info_map *,
64                                          ogg_packet *);
65
66 #endif