annotate libmpdemux/mpeg_hdr.h @ 29732:eb29792f6a72

Add support for "Forward Uncompressed" decoding via FFmpeg
author reimar
date Wed, 14 Oct 2009 19:19:20 +0000
parents d643e4643313
children 7c6145c57bda
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29238
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
1 /*
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
2 * This file is part of MPlayer.
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
3 *
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
5 * it under the terms of the GNU General Public License as published by
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
7 * (at your option) any later version.
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
8 *
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
12 * GNU General Public License for more details.
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
13 *
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
14 * You should have received a copy of the GNU General Public License along
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
17 */
d643e4643313 Add standard license header to all files in libmpdemux.
diego
parents: 26029
diff changeset
18
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
19 #ifndef MPLAYER_MPEG_HDR_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
20 #define MPLAYER_MPEG_HDR_H
2565
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
21
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
22 typedef struct {
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
23 // video info:
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
24 int mpeg1; // 0=mpeg2 1=mpeg1
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
25 int display_picture_width;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
26 int display_picture_height;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
27 int aspect_ratio_information;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
28 int frame_rate_code;
16184
04dd5945fab8 100l to whoever wrote this crap using 1/10000 units. it caused framerates to get trashed from 30000/1001 to 2997/100, etc.!
rfelker
parents: 15217
diff changeset
29 float fps;
2565
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
30 int bitrate; // 0x3FFFF==VBR
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
31 // timing:
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
32 int picture_structure;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
33 int progressive_sequence;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
34 int repeat_first_field;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
35 int progressive_frame;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
36 int top_field_first;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
37 int display_time; // secs*100
14477
92553e3c8f01 automatic fps calculation for mpeg4 in raw stream/mpeg-ts
nicodvb
parents: 2565
diff changeset
38 //the following are for mpeg4
15217
d49091f2206c integer overflow when reading fps from h264 vui.
lorenm
parents: 14887
diff changeset
39 unsigned int timeinc_resolution, timeinc_bits, timeinc_unit;
14477
92553e3c8f01 automatic fps calculation for mpeg4 in raw stream/mpeg-ts
nicodvb
parents: 2565
diff changeset
40 int picture_type;
2565
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
41 } mp_mpeg_header_t;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
42
24784
328d1b36952a Mark constant argument of mp_header_process_sequence_header as such.
diego
parents: 21947
diff changeset
43 int mp_header_process_sequence_header (mp_mpeg_header_t * picture, const unsigned char * buffer);
2565
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
44 int mp_header_process_extension (mp_mpeg_header_t * picture, unsigned char * buffer);
18398
a1375e440e92 COSMETICS: moved code to parse mpeg1/2 A/R to mpeg_hdr.c
nicodvb
parents: 16184
diff changeset
45 float mpeg12_aspect_info(mp_mpeg_header_t *picture);
14477
92553e3c8f01 automatic fps calculation for mpeg4 in raw stream/mpeg-ts
nicodvb
parents: 2565
diff changeset
46 int mp4_header_process_vol(mp_mpeg_header_t * picture, unsigned char * buffer);
14887
rathann
parents: 14798
diff changeset
47 void mp4_header_process_vop(mp_mpeg_header_t * picture, unsigned char * buffer);
14798
0bd50330e688 framerate autodetection for H264 in raw/ts streams
nicodvb
parents: 14477
diff changeset
48 int h264_parse_sps(mp_mpeg_header_t * picture, unsigned char * buf, int len);
21947
df1d03939216 added function to parse vc1 sequence header
nicodvb
parents: 18398
diff changeset
49 int mp_vc1_decode_sequence_header(mp_mpeg_header_t * picture, unsigned char * buf, int len);
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 24784
diff changeset
50
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
51 #endif /* MPLAYER_MPEG_HDR_H */