several more bugfixes.
[swftools.git] / lib / bladeenc / l3bitstream-pvt.h
1 /*
2                         (c) Copyright 1998-2000 - Tord Jansson
3                         ======================================
4
5                 This file is part of the BladeEnc MP3 Encoder, based on
6                 ISO's reference code for MPEG Layer 3 compression, and might
7                 contain smaller or larger sections that are directly taken
8                 from ISO's reference code.
9
10                 All changes to the ISO reference code herein are either
11                 copyrighted by Tord Jansson (tord.jansson@swipnet.se)
12                 or sublicensed to Tord Jansson by a third party.
13
14         BladeEnc is free software; you can redistribute this file
15         and/or modify it under the terms of the GNU Lesser General Public
16         License as published by the Free Software Foundation; either
17         version 2.1 of the License, or (at your option) any later version.
18
19
20
21         ------------    Changes    ------------
22
23         2000-12-04  Andre Piotrowski
24
25         -       redesigned, reformatted
26 */
27
28 #ifndef         __L3BITSTREAM_PVT__
29 #define         __L3BITSTREAM_PVT__
30
31
32
33
34
35 static  void                    encodeMainData
36 (
37         int                                             l3_enc[2][2][576],
38         III_side_info_t                 *side_info,
39         III_scalefac_t                  *scalefac
40 );
41
42 static  int                             encodeSideInfo (III_side_info_t *side_info);
43
44 static  void                    write_ancillary_data
45 (
46         char                                    *theData,
47         int                                             lengthInBits
48 );
49
50 static  void                    drain_into_ancillary_data (int lengthInBits);
51
52 static  void                    Huffmancodebits
53 (
54         BitHolder                               *ph,
55         int                                             *ix,
56         gr_info                                 *cod_info
57 );
58
59 static  int                             writeHuffmanCode
60 (
61         BitHolder                               *ph,
62         int                                             table,
63         int                                             x,
64         int                                             y
65 );
66
67
68
69
70
71 #endif          /* __L3BITSTREAM_PVT__ */