Mercurial > libavcodec.hg
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 */