From 98d0205145efe9a39370b163c9eb80ddf80672b1 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Sun, 15 Apr 2007 12:32:36 +0000 Subject: Move AC3 header parsing code together with the rest of the AC3 parsing code. Originally committed as revision 8739 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/parser.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libavcodec/parser.h') diff --git a/libavcodec/parser.h b/libavcodec/parser.h index 9452a096c0..80a6007e80 100644 --- a/libavcodec/parser.h +++ b/libavcodec/parser.h @@ -23,6 +23,8 @@ #ifndef FFMPEG_PARSER_H #define FFMPEG_PARSER_H +#include "ac3.h" + typedef struct ParseContext{ uint8_t *buffer; int index; @@ -60,4 +62,16 @@ void ff_parse1_close(AVCodecParserContext *s); /* h263dec.c */ int ff_mpeg4_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size); +/** + * Parses AC-3 frame header. + * Parses the header up to the lfeon element, which is the first 52 or 54 bits + * depending on the audio coding mode. + * @param buf[in] Array containing the first 7 bytes of the frame. + * @param hdr[out] Pointer to struct where header info is written. + * @return Returns 0 on success, -1 if there is a sync word mismatch, + * -2 if the bsid (version) element is invalid, -3 if the fscod (sample rate) + * element is invalid, or -4 if the frmsizecod (bit rate) element is invalid. + */ +int ff_ac3_parse_header(const uint8_t buf[7], AC3HeaderInfo *hdr); + #endif /* !FFMPEG_PARSER_H */ -- cgit v1.2.3