FFmpeg
vorbis_parser_internal.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012 Justin Ruggles
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 /**
22  * @file
23  * Vorbis audio parser
24  *
25  * Determines the duration for each packet.
26  */
27 
28 #ifndef AVCODEC_VORBIS_PARSER_INTERNAL_H
29 #define AVCODEC_VORBIS_PARSER_INTERNAL_H
30 
31 #include <stdint.h>
32 
33 #include "vorbis_parser.h"
34 
36  const struct AVClass *class;
37  int extradata_parsed; ///< we have attempted to parse extradata
38  int valid_extradata; ///< extradata is valid, so we can calculate duration
39  int blocksize[2]; ///< short and long window sizes
40  int previous_blocksize; ///< previous window size
41  int mode_blocksize[64]; ///< window size mapping for each mode
42  int mode_count; ///< number of modes
43  int mode_mask; ///< bitmask used to get the mode in each packet
44  int prev_mask; ///< bitmask used to get the previous mode flag in each packet
45 };
46 
48  const uint8_t *extradata, int extradata_size);
49 
50 #endif /* AVCODEC_VORBIS_PARSER_INTERNAL_H */
AVVorbisParseContext
Definition: vorbis_parser_internal.h:35
AVVorbisParseContext::prev_mask
int prev_mask
bitmask used to get the previous mode flag in each packet
Definition: vorbis_parser_internal.h:44
AVVorbisParseContext::mode_mask
int mode_mask
bitmask used to get the mode in each packet
Definition: vorbis_parser_internal.h:43
AVVorbisParseContext::mode_count
int mode_count
number of modes
Definition: vorbis_parser_internal.h:42
s
#define s(width, name)
Definition: cbs_vp9.c:198
AVClass
Describe the class of an AVClass context structure.
Definition: log.h:76
AVVorbisParseContext::valid_extradata
int valid_extradata
extradata is valid, so we can calculate duration
Definition: vorbis_parser_internal.h:38
vorbis_parser.h
AVVorbisParseContext::extradata_parsed
int extradata_parsed
we have attempted to parse extradata
Definition: vorbis_parser_internal.h:37
AVVorbisParseContext::previous_blocksize
int previous_blocksize
previous window size
Definition: vorbis_parser_internal.h:40
ff_vorbis_parse_init
int ff_vorbis_parse_init(AVVorbisParseContext *s, const uint8_t *extradata, int extradata_size)
Definition: vorbis_parser.c:187
AVVorbisParseContext::blocksize
int blocksize[2]
short and long window sizes
Definition: vorbis_parser_internal.h:39
AVVorbisParseContext::mode_blocksize
int mode_blocksize[64]
window size mapping for each mode
Definition: vorbis_parser_internal.h:41