FFmpeg
libavcodec
adts_header.h
Go to the documentation of this file.
1
/*
2
* AAC ADTS header decoding prototypes and structures
3
* Copyright (c) 2003 Fabrice Bellard
4
* Copyright (c) 2003 Michael Niedermayer
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
#ifndef AVCODEC_ADTS_HEADER_H
24
#define AVCODEC_ADTS_HEADER_H
25
26
#include "
get_bits.h
"
27
28
typedef
struct
AACADTSHeaderInfo
{
29
uint32_t
sample_rate
;
30
uint32_t
samples
;
31
uint32_t
bit_rate
;
32
uint8_t
crc_absent
;
33
uint8_t
object_type
;
34
uint8_t
sampling_index
;
35
uint8_t
chan_config
;
36
uint8_t
num_aac_frames
;
37
}
AACADTSHeaderInfo
;
38
39
/**
40
* Parse the ADTS frame header to the end of the variable header, which is
41
* the first 54 bits.
42
* @param[in] gbc BitContext containing the first 54 bits of the frame.
43
* @param[out] hdr Pointer to struct where header info is written.
44
* @return Returns 0 on success, -1 if there is a sync word mismatch,
45
* -2 if the version element is invalid, -3 if the sample rate
46
* element is invalid, or -4 if the bit rate element is invalid.
47
*/
48
int
ff_adts_header_parse
(
GetBitContext
*gbc,
AACADTSHeaderInfo
*hdr);
49
50
#endif
/* AVCODEC_ADTS_HEADER_H */
AACADTSHeaderInfo::samples
uint32_t samples
Definition:
adts_header.h:30
AACADTSHeaderInfo::bit_rate
uint32_t bit_rate
Definition:
adts_header.h:31
GetBitContext
Definition:
get_bits.h:61
ff_adts_header_parse
int ff_adts_header_parse(GetBitContext *gbc, AACADTSHeaderInfo *hdr)
Parse the ADTS frame header to the end of the variable header, which is the first 54 bits.
Definition:
adts_header.c:30
AACADTSHeaderInfo::chan_config
uint8_t chan_config
Definition:
adts_header.h:35
get_bits.h
AACADTSHeaderInfo::num_aac_frames
uint8_t num_aac_frames
Definition:
adts_header.h:36
AACADTSHeaderInfo::sampling_index
uint8_t sampling_index
Definition:
adts_header.h:34
AACADTSHeaderInfo::object_type
uint8_t object_type
Definition:
adts_header.h:33
uint8_t
uint8_t
Definition:
audio_convert.c:194
AACADTSHeaderInfo::sample_rate
uint32_t sample_rate
Definition:
adts_header.h:29
AACADTSHeaderInfo::crc_absent
uint8_t crc_absent
Definition:
adts_header.h:32
AACADTSHeaderInfo
Definition:
adts_header.h:28
Generated on Wed Aug 24 2022 21:26:32 for FFmpeg by
1.8.17