annotate mlp_parser.h @ 6944:030cc3278868 libavcodec

As *_static are not deallocated anymore except on program termination we do not need to keep track of them anymore. Fixes CID117 RUN2 and various race conditions.
author michael
date Fri, 30 May 2008 23:26:09 +0000
parents 99aba24ddc6c
children ae78650d4ac8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5954
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
1 /*
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
2 * MLP parser prototypes
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
3 * Copyright (c) 2007 Ian Caulfield
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
4 *
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
5 * This file is part of FFmpeg.
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
6 *
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
11 *
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
15 * Lesser General Public License for more details.
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
16 *
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
20 */
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
21
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
22 /**
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
23 * @file mlp_parser.h
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
24 * MLP parser prototypes
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
25 */
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
26
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
27 #ifndef FFMPEG_MLP_PARSER_H
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
28 #define FFMPEG_MLP_PARSER_H
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
29
5956
99aba24ddc6c Fix make checkheaders, #include <inttypes.h> was missing.
diego
parents: 5954
diff changeset
30 #include <inttypes.h>
99aba24ddc6c Fix make checkheaders, #include <inttypes.h> was missing.
diego
parents: 5954
diff changeset
31
5954
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
32 typedef struct MLPHeaderInfo
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
33 {
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
34 int stream_type; ///< 0xBB for MLP, 0xBA for TrueHD
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
35
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
36 int group1_bits; ///< The bit depth of the first substream
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
37 int group2_bits; ///< Bit depth of the second substream (MLP only)
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
38
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
39 int group1_samplerate; ///< Sample rate of first substream
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
40 int group2_samplerate; ///< Sample rate of second substream (MLP only)
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
41
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
42 int channels_mlp; ///< Channel arrangement for MLP streams
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
43 int channels_thd_stream1; ///< Channel arrangement for substream 1 of TrueHD streams (5.1)
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
44 int channels_thd_stream2; ///< Channel arrangement for substream 2 of TrueHD streams (7.1)
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
45
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
46 int access_unit_size; ///< Number of samples per coded frame
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
47 int access_unit_size_pow2; ///< Next power of two above number of samples per frame
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
48
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
49 int is_vbr; ///< Stream is VBR instead of CBR
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
50 int peak_bitrate; ///< Peak bitrate for VBR, actual bitrate (==peak) for CBR
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
51
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
52 int num_substreams; ///< Number of substreams within stream
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
53 } MLPHeaderInfo;
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
54
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
55
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
56 int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, const uint8_t *buf,
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
57 unsigned int buf_size);
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
58
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
59 #endif /* FFMPEG_MLP_PARSER_H */
aafe67fa196f MLP/TrueHD parser
cehoyos
parents:
diff changeset
60