Mercurial > mplayer.hg
annotate libmpdemux/mpeg_hdr.h @ 32493:59b6fef90241
Fix program switching with -demuxer lavf.
author | reimar |
---|---|
date | Sat, 06 Nov 2010 14:57:44 +0000 |
parents | 102ae81b5dc8 |
children | 562cd6805eac |
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 | 19 #ifndef MPLAYER_MPEG_HDR_H |
20 #define MPLAYER_MPEG_HDR_H | |
2565 | 21 |
22 typedef struct { | |
23 // video info: | |
24 int mpeg1; // 0=mpeg2 1=mpeg1 | |
25 int display_picture_width; | |
26 int display_picture_height; | |
27 int aspect_ratio_information; | |
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; |
30639
102ae81b5dc8
Parse and use the information from the frame rate extension header for MPEG-2.
reimar
parents:
30579
diff
changeset
|
30 int frame_rate_extension_n; |
102ae81b5dc8
Parse and use the information from the frame rate extension header for MPEG-2.
reimar
parents:
30579
diff
changeset
|
31 int frame_rate_extension_d; |
2565 | 32 int bitrate; // 0x3FFFF==VBR |
33 // timing: | |
34 int picture_structure; | |
35 int progressive_sequence; | |
36 int repeat_first_field; | |
37 int progressive_frame; | |
38 int top_field_first; | |
39 int display_time; // secs*100 | |
14477
92553e3c8f01
automatic fps calculation for mpeg4 in raw stream/mpeg-ts
nicodvb
parents:
2565
diff
changeset
|
40 //the following are for mpeg4 |
15217 | 41 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
|
42 int picture_type; |
2565 | 43 } mp_mpeg_header_t; |
44 | |
24784
328d1b36952a
Mark constant argument of mp_header_process_sequence_header as such.
diego
parents:
21947
diff
changeset
|
45 int mp_header_process_sequence_header (mp_mpeg_header_t * picture, const unsigned char * buffer); |
2565 | 46 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
|
47 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
|
48 int mp4_header_process_vol(mp_mpeg_header_t * picture, unsigned char * buffer); |
14887 | 49 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
|
50 int h264_parse_sps(mp_mpeg_header_t * picture, unsigned char * buf, int len); |
21947 | 51 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
|
52 |
30579
7c6145c57bda
Add mp_getbits() to mpeg_hdr.h to avoid a forward declaration.
diego
parents:
29238
diff
changeset
|
53 unsigned char mp_getbits(unsigned char *buffer, unsigned int from, unsigned char len); |
7c6145c57bda
Add mp_getbits() to mpeg_hdr.h to avoid a forward declaration.
diego
parents:
29238
diff
changeset
|
54 |
26029 | 55 #endif /* MPLAYER_MPEG_HDR_H */ |