FFmpeg
libavcodec
mlp_parse.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2007 Ian Caulfield
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#ifndef AVCODEC_MLP_PARSE_H
22
#define AVCODEC_MLP_PARSE_H
23
24
#include "
get_bits.h
"
25
26
typedef
struct
MLPHeaderInfo
27
{
28
int
stream_type
;
///< 0xBB for MLP, 0xBA for TrueHD
29
int
header_size
;
///< Size of the major sync header, in bytes
30
31
int
group1_bits
;
///< The bit depth of the first substream
32
int
group2_bits
;
///< Bit depth of the second substream (MLP only)
33
34
int
group1_samplerate
;
///< Sample rate of first substream
35
int
group2_samplerate
;
///< Sample rate of second substream (MLP only)
36
37
int
channel_arrangement
;
38
39
int
channel_modifier_thd_stream0
;
///< Channel modifier for substream 0 of TrueHD streams ("2-channel presentation")
40
int
channel_modifier_thd_stream1
;
///< Channel modifier for substream 1 of TrueHD streams ("6-channel presentation")
41
int
channel_modifier_thd_stream2
;
///< Channel modifier for substream 2 of TrueHD streams ("8-channel presentation")
42
43
int
channels_mlp
;
///< Channel count for MLP streams
44
int
channels_thd_stream1
;
///< Channel count for substream 1 of TrueHD streams ("6-channel presentation")
45
int
channels_thd_stream2
;
///< Channel count for substream 2 of TrueHD streams ("8-channel presentation")
46
uint64_t
channel_layout_mlp
;
///< Channel layout for MLP streams
47
uint64_t
channel_layout_thd_stream1
;
///< Channel layout for substream 1 of TrueHD streams ("6-channel presentation")
48
uint64_t
channel_layout_thd_stream2
;
///< Channel layout for substream 2 of TrueHD streams ("8-channel presentation")
49
50
int
access_unit_size
;
///< Number of samples per coded frame
51
int
access_unit_size_pow2
;
///< Next power of two above number of samples per frame
52
53
int
is_vbr
;
///< Stream is VBR instead of CBR
54
int
peak_bitrate
;
///< Peak bitrate for VBR, actual bitrate (==peak) for CBR
55
56
int
num_substreams
;
///< Number of substreams within stream
57
}
MLPHeaderInfo
;
58
59
60
int
ff_mlp_read_major_sync
(
void
*log,
MLPHeaderInfo
*
mh
,
GetBitContext
*gb);
61
62
#endif
/* AVCODEC_MLP_PARSE_H */
MLPHeaderInfo::channel_arrangement
int channel_arrangement
Definition:
mlp_parse.h:37
MLPHeaderInfo::group1_samplerate
int group1_samplerate
Sample rate of first substream.
Definition:
mlp_parse.h:34
MLPHeaderInfo::channel_layout_thd_stream2
uint64_t channel_layout_thd_stream2
Channel layout for substream 2 of TrueHD streams ("8-channel presentation")
Definition:
mlp_parse.h:48
mh
#define mh
Definition:
vf_colormatrix.c:107
GetBitContext
Definition:
get_bits.h:61
MLPHeaderInfo::channels_thd_stream1
int channels_thd_stream1
Channel count for substream 1 of TrueHD streams ("6-channel presentation")
Definition:
mlp_parse.h:44
MLPHeaderInfo::channels_thd_stream2
int channels_thd_stream2
Channel count for substream 2 of TrueHD streams ("8-channel presentation")
Definition:
mlp_parse.h:45
MLPHeaderInfo::access_unit_size
int access_unit_size
Number of samples per coded frame.
Definition:
mlp_parse.h:50
get_bits.h
MLPHeaderInfo::channel_modifier_thd_stream0
int channel_modifier_thd_stream0
Channel modifier for substream 0 of TrueHD streams ("2-channel presentation")
Definition:
mlp_parse.h:39
MLPHeaderInfo::stream_type
int stream_type
0xBB for MLP, 0xBA for TrueHD
Definition:
mlp_parse.h:28
MLPHeaderInfo::access_unit_size_pow2
int access_unit_size_pow2
Next power of two above number of samples per frame.
Definition:
mlp_parse.h:51
MLPHeaderInfo::peak_bitrate
int peak_bitrate
Peak bitrate for VBR, actual bitrate (==peak) for CBR.
Definition:
mlp_parse.h:54
MLPHeaderInfo::channels_mlp
int channels_mlp
Channel count for MLP streams.
Definition:
mlp_parse.h:43
MLPHeaderInfo::channel_layout_thd_stream1
uint64_t channel_layout_thd_stream1
Channel layout for substream 1 of TrueHD streams ("6-channel presentation")
Definition:
mlp_parse.h:47
MLPHeaderInfo::group2_bits
int group2_bits
Bit depth of the second substream (MLP only)
Definition:
mlp_parse.h:32
MLPHeaderInfo::header_size
int header_size
Size of the major sync header, in bytes.
Definition:
mlp_parse.h:29
MLPHeaderInfo::group1_bits
int group1_bits
The bit depth of the first substream.
Definition:
mlp_parse.h:31
ff_mlp_read_major_sync
int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, GetBitContext *gb)
Read a major sync info header - contains high level information about the stream - sample rate,...
Definition:
mlp_parse.c:136
MLPHeaderInfo
Definition:
mlp_parse.h:26
MLPHeaderInfo::is_vbr
int is_vbr
Stream is VBR instead of CBR.
Definition:
mlp_parse.h:53
MLPHeaderInfo::channel_modifier_thd_stream2
int channel_modifier_thd_stream2
Channel modifier for substream 2 of TrueHD streams ("8-channel presentation")
Definition:
mlp_parse.h:41
MLPHeaderInfo::channel_modifier_thd_stream1
int channel_modifier_thd_stream1
Channel modifier for substream 1 of TrueHD streams ("6-channel presentation")
Definition:
mlp_parse.h:40
MLPHeaderInfo::group2_samplerate
int group2_samplerate
Sample rate of second substream (MLP only)
Definition:
mlp_parse.h:35
MLPHeaderInfo::num_substreams
int num_substreams
Number of substreams within stream.
Definition:
mlp_parse.h:56
MLPHeaderInfo::channel_layout_mlp
uint64_t channel_layout_mlp
Channel layout for MLP streams.
Definition:
mlp_parse.h:46
Generated on Wed Aug 24 2022 21:26:50 for FFmpeg by
1.8.17