annotate ac3_parser.h @ 6323:e6da66f378c7 libavcodec

mpegvideo.h has two function declarations with the 'inline' specifier but no definition for those functions. The C standard requires a definition to appear in the same translation unit for any function declared with 'inline'. Most of the files including mpegvideo.h do not define those functions. Fix this by removing the 'inline' specifiers from the header. patch by Uoti Urpala
author diego
date Sun, 03 Feb 2008 17:54:30 +0000
parents 1d83e9c34641
children 5542d0c04a55
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4941
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
1 /*
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
2 * AC3 parser prototypes
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
3 * Copyright (c) 2003 Fabrice Bellard.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
4 * Copyright (c) 2003 Michael Niedermayer.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
5 *
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
6 * This file is part of FFmpeg.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
7 *
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
8 * FFmpeg is free software; you can redistribute it and/or
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
9 * modify it under the terms of the GNU Lesser General Public
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
10 * License as published by the Free Software Foundation; either
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
11 * version 2.1 of the License, or (at your option) any later version.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
12 *
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
13 * FFmpeg is distributed in the hope that it will be useful,
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
16 * Lesser General Public License for more details.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
17 *
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
18 * You should have received a copy of the GNU Lesser General Public
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
19 * License along with FFmpeg; if not, write to the Free Software
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
21 */
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
22
5830
1d83e9c34641 Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 5680
diff changeset
23 #ifndef FFMPEG_AC3_PARSER_H
1d83e9c34641 Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 5680
diff changeset
24 #define FFMPEG_AC3_PARSER_H
4941
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
25
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
26 #include "ac3.h"
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
27
5680
5ae5a74b0e4b better AC3 header error reporting
jbr
parents: 4941
diff changeset
28 typedef enum {
5ae5a74b0e4b better AC3 header error reporting
jbr
parents: 4941
diff changeset
29 AC3_PARSE_ERROR_SYNC = -1,
5ae5a74b0e4b better AC3 header error reporting
jbr
parents: 4941
diff changeset
30 AC3_PARSE_ERROR_BSID = -2,
5ae5a74b0e4b better AC3 header error reporting
jbr
parents: 4941
diff changeset
31 AC3_PARSE_ERROR_SAMPLE_RATE = -3,
5ae5a74b0e4b better AC3 header error reporting
jbr
parents: 4941
diff changeset
32 AC3_PARSE_ERROR_FRAME_SIZE = -4,
5ae5a74b0e4b better AC3 header error reporting
jbr
parents: 4941
diff changeset
33 } AC3ParseError;
5ae5a74b0e4b better AC3 header error reporting
jbr
parents: 4941
diff changeset
34
4941
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
35 /**
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
36 * Parses AC-3 frame header.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
37 * Parses the header up to the lfeon element, which is the first 52 or 54 bits
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
38 * depending on the audio coding mode.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
39 * @param buf[in] Array containing the first 7 bytes of the frame.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
40 * @param hdr[out] Pointer to struct where header info is written.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
41 * @return Returns 0 on success, -1 if there is a sync word mismatch,
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
42 * -2 if the bsid (version) element is invalid, -3 if the fscod (sample rate)
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
43 * element is invalid, or -4 if the frmsizecod (bit rate) element is invalid.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
44 */
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
45 int ff_ac3_parse_header(const uint8_t buf[7], AC3HeaderInfo *hdr);
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
46
5830
1d83e9c34641 Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 5680
diff changeset
47 #endif /* FFMPEG_AC3_PARSER_H */