FFmpeg
4.0
libavcodec
adts_parser.c
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* FFmpeg is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with FFmpeg; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#include "config.h"
20
21
#include <stddef.h>
22
#include <stdint.h>
23
24
#include "
adts_header.h
"
25
#include "
adts_parser.h
"
26
27
int
av_adts_header_parse
(
const
uint8_t
*
buf
, uint32_t *samples,
uint8_t
*
frames
)
28
{
29
#if CONFIG_ADTS_HEADER
30
GetBitContext
gb;
31
AACADTSHeaderInfo
hdr;
32
int
err =
init_get_bits8
(&gb, buf,
AV_AAC_ADTS_HEADER_SIZE
);
33
if
(err < 0)
34
return
err;
35
err =
ff_adts_header_parse
(&gb, &hdr);
36
if
(err < 0)
37
return
err;
38
*samples = hdr.
samples
;
39
*frames = hdr.
num_aac_frames
;
40
return
0;
41
#else
42
return
AVERROR
(ENOSYS);
43
#endif
44
}
av_adts_header_parse
int av_adts_header_parse(const uint8_t *buf, uint32_t *samples, uint8_t *frames)
Extract the number of samples and frames from AAC data.
Definition:
adts_parser.c:27
uint8_t
uint8_t
Definition:
audio_convert.c:194
AVERROR
#define AVERROR(e)
Definition:
error.h:43
adts_header.h
AV_AAC_ADTS_HEADER_SIZE
#define AV_AAC_ADTS_HEADER_SIZE
Definition:
adts_parser.h:25
AACADTSHeaderInfo::num_aac_frames
uint8_t num_aac_frames
Definition:
adts_header.h:36
AACADTSHeaderInfo::samples
uint32_t samples
Definition:
adts_header.h:30
frames
int frames
Definition:
movenc.c:65
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
init_get_bits8
static int init_get_bits8(GetBitContext *s, const uint8_t *buffer, int byte_size)
Initialize GetBitContext.
Definition:
get_bits.h:464
buf
void * buf
Definition:
avisynth_c.h:690
AACADTSHeaderInfo
Definition:
adts_header.h:28
GetBitContext
Definition:
get_bits.h:56
adts_parser.h
Generated on Tue May 22 2018 07:06:27 for FFmpeg by
1.8.13