diff parser.h @ 4855:40f3a7f2b1fd libavcodec

Move AC3 header parsing code together with the rest of the AC3 parsing code.
author diego
date Sun, 15 Apr 2007 12:32:36 +0000
parents 522e52c630bd
children b6a4f6c5623c
line wrap: on
line diff
--- a/parser.h	Sun Apr 15 08:53:03 2007 +0000
+++ b/parser.h	Sun Apr 15 12:32:36 2007 +0000
@@ -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 @@
 /* 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 */