* keyframe default is now every 20 frames.
[swftools.git] / lib / bladeenc / codec.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.
7
8                 This file doesn't contain any of the ISO reference code and
9                 is copyright Tord Jansson (tord.jansson@swipnet.se).
10
11         BladeEnc is free software; you can redistribute this file
12         and/or modify it under the terms of the GNU Lesser General Public
13         License as published by the Free Software Foundation; either
14         version 2.1 of the License, or (at your option) any later version.
15
16
17
18         ------------    CHANGES    ------------
19
20         2000-12-10  Andre Piotrowski
21
22         -       reformatted
23 */
24
25 #ifndef         __CODEC__
26 #define         __CODEC__
27
28
29
30
31
32 typedef         struct
33                         {
34                                 int                                             frequency;   /* 48000, 44100 and 32000 allowed. */
35                                 int                                             mode;        /* 0 = Stereo, 2 = Dual Channel, 3 = Mono */
36                                 int                                             bitrate;     
37                                 int                                             emphasis;    /* 0 = None, 1 = 50/15 microsec, 3 = CCITT J.17 */
38                                 int                                             fPrivate;               
39                                 int                                             fCRC;
40                                 int                                             fCopyright;
41                                 int                                             fOriginal;
42                         }                                               CodecInitIn;
43
44
45 typedef         struct
46                         {
47                                 int                                             nSamples;
48                                 int                                             bufferSize;
49                         }                                               CodecInitOut;
50
51
52
53 extern  CodecInitOut    *codecInit (CodecInitIn *psInitData);
54
55 extern  unsigned int    codecEncodeChunk (int nSamples, short *pSamples, char *pOutput);
56
57 extern  unsigned int    codecExit (char *pOutput);
58
59 extern  unsigned int    codecFlush (char *pOutput);
60
61
62
63
64
65 #endif          /* __CODEC__ */