00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
#ifndef __MPEGHEADERINFO_H
00016
#define __MPEGHEADERINFO_H
00017
00018
00019
#include <stdio.h>
00020
#include "mnstream.h"
00021
00022
#define _FREQUENCY_44100 0
00023
#define _FREQUENCY_48000 1
00024
#define _FREQUENCY_32000 2
00025
00026
#define _MODE_FULLSTEREO 0
00027
#define _MODE_JOINT 1
00028
#define _MODE_DUAL 2
00029
#define _MODE_SINGLE 3
00030
00031
#define _VERSION_1 0
00032
#define _VERSION_2 1
00033
00034
00035
#define MAXSUBBAND 32
00036
#define SCALEBLOCK 12
00037
00038
00039
00040 class CopyOfMpegAudioHeader {
00041
00042
int protection;
00043
int layer;
00044
int version;
00045
int padding;
00046
int frequency;
00047
int frequencyHz;
00048
int bitrateindex;
00049
int bitratevalue;
00050
int extendedmode;
00051
int mode;
00052
int inputstereo;
00053
int channelbitrate;
00054
int tableindex;
00055
int subbandnumber;
00056
int stereobound;
00057
int framesize;
00058
int layer3slots;
00059
unsigned char header[4];
00060
00061
public:
00062
CopyOfMpegAudioHeader();
00063
~CopyOfMpegAudioHeader();
00064
00065
int parseHeader(
unsigned char* buf);
00066
00067 inline int getProtection() {
return protection; }
00068 inline int getLayer() {
return layer; }
00069 inline int getVersion() {
return version; }
00070 inline int getPadding() {
return padding; }
00071 inline int getFrequency() {
return frequency; }
00072 inline int getFrequencyHz() {
return frequencyHz; }
00073 inline int getBitrateindex() {
return bitrateindex; }
00074 inline int getBitratevalue() {
return bitratevalue; }
00075 inline int getExtendedmode() {
return extendedmode; }
00076 inline int getMode() {
return mode; }
00077 inline int getInputstereo() {
return inputstereo; }
00078 inline int getChannelbitrate() {
return channelbitrate; }
00079 inline int getTableindex() {
return tableindex; }
00080 inline int getSubbandnumber() {
return subbandnumber; }
00081 inline int getStereobound() {
return stereobound; }
00082 inline int getFramesize() {
return framesize; }
00083 inline int getLayer3slots() {
return layer3slots; }
00084
00085
int getpcmperframe();
00086
00087
00088
void copyTo(
CopyOfMpegAudioHeader* dest);
00089
00090
void print(
char* name);
00091 };
00092
#endif