summaryrefslogtreecommitdiff
path: root/libavcodec/parser.h
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2007-04-15 12:32:36 +0000
committerDiego Biurrun <diego@biurrun.de>2007-04-15 12:32:36 +0000
commit98d0205145efe9a39370b163c9eb80ddf80672b1 (patch)
treea79b3e675a21d3f4b8f4ad0fd92b287351f62f49 /libavcodec/parser.h
parentd3255f6fd88586b43d13a5d07fbdf56f4013b319 (diff)
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
Diffstat (limited to 'libavcodec/parser.h')
-rw-r--r--libavcodec/parser.h14
1 files changed, 14 insertions, 0 deletions
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 */