Mercurial > mplayer.hg
annotate libmpdemux/mpeg_hdr.h @ 34929:c410ef9752a0
Initialize a few more AVFrame fields to avoid FFmpeg errors.
However this really needs to be done via FFmpeg somehow to avoid
issues each time new fields are added, either by exposing
ff_init_buffer_info as public API or by calling get_buffer etc.
through wrappers that take care of the initialization.
author | reimar |
---|---|
date | Sat, 14 Jul 2012 11:37:22 +0000 |
parents | bf6f772e609d |
children |
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); |
34159 | 46 int mp_header_process_extension (mp_mpeg_header_t * picture, const 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); |
34159 | 48 int mp4_header_process_vol(mp_mpeg_header_t * picture, const unsigned char * buffer); |
49 void mp4_header_process_vop(mp_mpeg_header_t * picture, const unsigned char * buffer); | |
34158
562cd6805eac
Stop h264_parse_sps and mp_vc1_decode_sequence_header from corrupting the
reimar
parents:
30639
diff
changeset
|
50 int h264_parse_sps(mp_mpeg_header_t * picture, const unsigned char * buf, int len); |
562cd6805eac
Stop h264_parse_sps and mp_vc1_decode_sequence_header from corrupting the
reimar
parents:
30639
diff
changeset
|
51 int mp_vc1_decode_sequence_header(mp_mpeg_header_t * picture, const unsigned char * buf, int len); |
25553
6ac1ece1f9fe
Add multiple inclusion guards to all header files that lack them.
diego
parents:
24784
diff
changeset
|
52 |
34159 | 53 unsigned char mp_getbits(const unsigned char *buffer, unsigned int from, unsigned char len); |
30579
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 */ |