FFmpeg
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavformat
mpeg.h
Go to the documentation of this file.
1
/*
2
* MPEG1/2 muxer and demuxer common defines
3
* Copyright (c) 2000, 2001, 2002 Fabrice Bellard
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#ifndef AVFORMAT_MPEG_H
23
#define AVFORMAT_MPEG_H
24
25
#include <stdint.h>
26
#include "
libavutil/intreadwrite.h
"
27
28
#define PACK_START_CODE ((unsigned int)0x000001ba)
29
#define SYSTEM_HEADER_START_CODE ((unsigned int)0x000001bb)
30
#define SEQUENCE_END_CODE ((unsigned int)0x000001b7)
31
#define PACKET_START_CODE_MASK ((unsigned int)0xffffff00)
32
#define PACKET_START_CODE_PREFIX ((unsigned int)0x00000100)
33
#define ISO_11172_END_CODE ((unsigned int)0x000001b9)
34
35
/* mpeg2 */
36
#define PROGRAM_STREAM_MAP 0x1bc
37
#define PRIVATE_STREAM_1 0x1bd
38
#define PADDING_STREAM 0x1be
39
#define PRIVATE_STREAM_2 0x1bf
40
41
#define AUDIO_ID 0xc0
42
#define VIDEO_ID 0xe0
43
#define AC3_ID 0x80
44
#define DTS_ID 0x8a
45
#define LPCM_ID 0xa0
46
#define SUB_ID 0x20
47
48
#define STREAM_TYPE_VIDEO_MPEG1 0x01
49
#define STREAM_TYPE_VIDEO_MPEG2 0x02
50
#define STREAM_TYPE_AUDIO_MPEG1 0x03
51
#define STREAM_TYPE_AUDIO_MPEG2 0x04
52
#define STREAM_TYPE_PRIVATE_SECTION 0x05
53
#define STREAM_TYPE_PRIVATE_DATA 0x06
54
#define STREAM_TYPE_AUDIO_AAC 0x0f
55
#define STREAM_TYPE_VIDEO_MPEG4 0x10
56
#define STREAM_TYPE_VIDEO_H264 0x1b
57
58
#define STREAM_TYPE_AUDIO_AC3 0x81
59
#define STREAM_TYPE_AUDIO_DTS 0x8a
60
61
static
const
int
lpcm_freq_tab
[4] = { 48000, 96000, 44100, 32000 };
62
63
/**
64
* Parse MPEG-PES five-byte timestamp
65
*/
66
static
inline
int64_t
ff_parse_pes_pts
(
const
uint8_t
*buf) {
67
return
(int64_t)(*buf & 0x0e) << 29 |
68
(
AV_RB16
(buf+1) >> 1) << 15 |
69
AV_RB16
(buf+3) >> 1;
70
}
71
72
#endif
/* AVFORMAT_MPEG_H */
Generated on Sat May 25 2013 03:58:47 for FFmpeg by
1.8.2