annotate libmpdemux/mpeg_hdr.h @ 24787:02535b3216c5

Avoid text deformation and subtitles moving outside the screen in pan-and-scan mode. For this, crop amounts are passed from vo_gl as negative margins sizes. They are used to calculate aspect ratio. They are ignored when calculating subtitle positions, so subtitles will stay on screen most of the time. Based on a patch by Jindrich Makovicka [makovick gmail com].
author eugeni
date Fri, 19 Oct 2007 18:16:23 +0000
parents 328d1b36952a
children 6ac1ece1f9fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2565
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
1
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
2 typedef struct {
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
3 // video info:
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
4 int mpeg1; // 0=mpeg2 1=mpeg1
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
5 int display_picture_width;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
6 int display_picture_height;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
7 int aspect_ratio_information;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
8 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
9 float fps;
2565
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
10 int bitrate; // 0x3FFFF==VBR
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
11 // timing:
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
12 int picture_structure;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
13 int progressive_sequence;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
14 int repeat_first_field;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
15 int progressive_frame;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
16 int top_field_first;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
17 int display_time; // secs*100
14477
92553e3c8f01 automatic fps calculation for mpeg4 in raw stream/mpeg-ts
nicodvb
parents: 2565
diff changeset
18 //the following are for mpeg4
15217
d49091f2206c integer overflow when reading fps from h264 vui.
lorenm
parents: 14887
diff changeset
19 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
20 int picture_type;
2565
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
21 } mp_mpeg_header_t;
4bc54a0f775f mpeg video header parser
arpi
parents:
diff changeset
22
24784
328d1b36952a Mark constant argument of mp_header_process_sequence_header as such.
diego
parents: 21947
diff changeset
23 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
24 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
25 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
26 int mp4_header_process_vol(mp_mpeg_header_t * picture, unsigned char * buffer);
14887
rathann
parents: 14798
diff changeset
27 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
28 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
29 int mp_vc1_decode_sequence_header(mp_mpeg_header_t * picture, unsigned char * buf, int len);