mediaextract/mpeg.h
2012-12-27 18:17:49 +01:00

24 lines
662 B
C

#ifndef AUDIOEXTRACT_MPEG_H__
#define AUDIOEXTRACT_MPEG_H__
#include "audioextract.h"
#define IS_MPEG_MAGIC(hdr) \
( ( ((uint8_t)(hdr)[0] & 0xFF) == 0xFF) \
&& ( ((uint8_t)(hdr)[1] & 0xE0) == 0xE0) /* 3 sync bits */ \
&& ( ((uint8_t)(hdr)[1] & 0x18) != 0x08) /* Version rsvd */ \
&& ( ((uint8_t)(hdr)[1] & 0x06) != 0x00) /* Layer rsvd */ \
&& ( ((uint8_t)(hdr)[2] & 0xF0) != 0xF0)) /* Bitrate rsvd */
#define MPEG_HEADER_SIZE 4
struct mpeg_info {
uint16_t frame_size;
uint8_t version;
uint8_t layer;
};
int mpeg_isframe(const unsigned char *start, const unsigned char *end, struct mpeg_info *info);
#endif /* AUDIOEXTRACT_MPEG_H__ */