annotate ac3_parser.h @ 11560:8a4984c5cacc libavcodec

Define AVMediaType enum, and use it instead of enum CodecType, which is deprecated and will be dropped at the next major bump.
author stefano
date Tue, 30 Mar 2010 23:30:55 +0000
parents 0dce4fe6e6f3
children fdafbcef52f5
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 /*
7470
1a93d3bbe3ee cosmetics: make all references to AC-3 capitalized and hyphenated
jbr
parents: 6951
diff changeset
2 * AC-3 parser prototypes
8629
04423b2f6e0b cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents: 8545
diff changeset
3 * Copyright (c) 2003 Fabrice Bellard
04423b2f6e0b cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents: 8545
diff changeset
4 * Copyright (c) 2003 Michael Niedermayer
4941
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
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 7470
diff changeset
23 #ifndef AVCODEC_AC3_PARSER_H
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 7470
diff changeset
24 #define AVCODEC_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"
9428
0dce4fe6e6f3 Rename bitstream.h to get_bits.h.
stefano
parents: 8629
diff changeset
27 #include "get_bits.h"
4941
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
28
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
29 /**
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
30 * Parses AC-3 frame header.
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
31 * 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
32 * depending on the audio coding mode.
6661
a409fbf1f42b change ff_ac3_parse_header() to take a GetBitContext instead of const char*
bwolowiec
parents: 6540
diff changeset
33 * @param gbc[in] BitContext containing the first 54 bits of the frame.
4941
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
34 * @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
35 * @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
36 * -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
37 * 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
38 */
6661
a409fbf1f42b change ff_ac3_parse_header() to take a GetBitContext instead of const char*
bwolowiec
parents: 6540
diff changeset
39 int ff_ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr);
4941
c3ee5c30c297 move aac and ac3 parsers in their own files
aurel
parents:
diff changeset
40
6671
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
41 /**
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
42 * Parses AC-3 frame header and sets channel_map
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
43 * Parses the header up to the lfeon (channel_map in E-AC-3)
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
44 * element, which is the first 52, 54 or 104 bits depending
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
45 * on the audio coding mode.
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
46 * @param gbc[in] BitContext containing the first 54 bits of the frame.
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
47 * @param hdr[out] Pointer to struct where header info is written.
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
48 * @return value returned by ff_ac3_parse_header
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
49 */
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
50 int ff_ac3_parse_header_full(GetBitContext *gbc, AC3HeaderInfo *hdr);
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6661
diff changeset
51
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 7470
diff changeset
52 #endif /* AVCODEC_AC3_PARSER_H */