~ubuntu-branches/ubuntu/hoary/kdemultimedia/hoary

« back to all changes in this revision

Viewing changes to mpeglib/lib/splay/mpegAudioHeader.h

  • Committer: Bazaar Package Importer
  • Author(s): Martin Schulze
  • Date: 2003-01-22 15:00:51 UTC
  • Revision ID: james.westby@ubuntu.com-20030122150051-uihwkdoxf15mi1tn
Tags: upstream-2.2.2
ImportĀ upstreamĀ versionĀ 2.2.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
  stores information after we found a header.
 
3
  Copyright (C) 2000  Martin Vogt
 
4
 
 
5
  This program is free software; you can redistribute it and/or modify
 
6
  it under the terms of the GNU Library General Public License as published by
 
7
  the Free Software Foundation.
 
8
 
 
9
  For more information look at the file COPYRIGHT in this package
 
10
 
 
11
 */
 
12
 
 
13
 
 
14
 
 
15
#ifndef __MPEGHEADERINFO_H
 
16
#define __MPEGHEADERINFO_H
 
17
 
 
18
 
 
19
#include <stdio.h>
 
20
#include <iostream.h>
 
21
#include <stdlib.h>
 
22
#include <string.h>
 
23
 
 
24
#define _FREQUENCY_44100 0
 
25
#define _FREQUENCY_48000 1
 
26
#define _FREQUENCY_32000 2
 
27
 
 
28
#define _MODE_FULLSTEREO 0
 
29
#define _MODE_JOINT      1
 
30
#define _MODE_DUAL       2
 
31
#define _MODE_SINGLE     3
 
32
 
 
33
#define _VERSION_1       0
 
34
#define _VERSION_2       1
 
35
 
 
36
 
 
37
#define MAXSUBBAND         32
 
38
#define SCALEBLOCK         12
 
39
 
 
40
 
 
41
 
 
42
class MpegAudioHeader {
 
43
 
 
44
  int protection;
 
45
  int layer;
 
46
  int version;
 
47
  int padding;
 
48
  int frequency;
 
49
  int frequencyHz;
 
50
  int bitrateindex;
 
51
  int extendedmode;
 
52
  int mode;
 
53
  int inputstereo;
 
54
  int channelbitrate;
 
55
  int tableindex;
 
56
  int subbandnumber;
 
57
  int stereobound;
 
58
  int framesize;
 
59
  int layer3slots;
 
60
  int lmpeg25;
 
61
  unsigned char header[4];
 
62
  
 
63
 public:
 
64
  MpegAudioHeader();
 
65
  ~MpegAudioHeader();
 
66
 
 
67
  int parseHeader(unsigned char* buf);
 
68
  
 
69
  inline int getProtection()     { return protection; }
 
70
  inline int getLayer()          { return layer; }
 
71
  inline int getVersion()        { return version; }
 
72
  inline int getPadding()        { return padding; }
 
73
  inline int getFrequency()      { return frequency; }
 
74
  inline int getFrequencyHz()    { return frequencyHz; }
 
75
  inline int getBitrateindex()   { return bitrateindex; }
 
76
  inline int getExtendedmode()   { return extendedmode; }
 
77
  inline int getMode()           { return mode; }
 
78
  inline int getInputstereo()    { return inputstereo; }
 
79
  inline int getFramesize()      { return framesize; }
 
80
  inline int getLayer25()        { return lmpeg25; } 
 
81
 
 
82
  // MPEG layer 2
 
83
  inline int getTableindex()     { return tableindex; }
 
84
  // MPEG layer 1/2
 
85
  inline int getSubbandnumber()  { return subbandnumber; }
 
86
  inline int getStereobound()    { return stereobound; }
 
87
  // MPEG layer 3
 
88
  inline int getLayer3slots()    { return layer3slots; }
 
89
  
 
90
  int getChannelbitrate();
 
91
 
 
92
 
 
93
  inline unsigned char* getHeader() { return header; }
 
94
  int  getpcmperframe();
 
95
 
 
96
 
 
97
  void copyTo(MpegAudioHeader* dest);
 
98
 
 
99
  void print(const char* name);
 
100
  void printStates(const char* name);
 
101
};
 
102
#endif