mediaextract/mpg123.h

24 lines
663 B
C
Raw Normal View History

2012-12-29 16:48:36 +00:00
#ifndef AUDIOEXTRACT_MPG123_H__
#define AUDIOEXTRACT_MPG123_H__
2012-12-27 17:17:49 +00:00
#include "audioextract.h"
2012-12-29 16:48:36 +00:00
#define IS_MPG123_MAGIC(hdr) \
2012-12-27 17:17:49 +00:00
( ( ((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 */
2012-12-29 16:48:36 +00:00
#define MPG123_HEADER_SIZE 4
2012-12-27 17:17:49 +00:00
2012-12-29 16:48:36 +00:00
struct mpg123_info {
2012-12-27 17:17:49 +00:00
uint16_t frame_size;
uint8_t version;
uint8_t layer;
};
2012-12-31 16:46:07 +00:00
int mpg123_isframe(const uint8_t *data, size_t input_len, struct mpg123_info *info);
2012-12-27 17:17:49 +00:00
2012-12-29 16:48:36 +00:00
#endif /* AUDIOEXTRACT_MPG123_H__ */