Mercurial > mplayer.hg
annotate subreader.h @ 15205:19243f85e164
nico partially fixed the bug i reported; here's the rest of the fix.
basically demux_audio was mixing data in its header buffer in a bogus
manner, whereby it could sometimes "make up" valid mpeg headers where
no such header actually occurred in the file. it should be correct now.
btw these changes also fix the bug where mplayer reports huge initial
cpu usage for sound when playing mp3 files.
author | rfelker |
---|---|
date | Sun, 17 Apr 2005 17:17:52 +0000 |
parents | 59bb11213d11 |
children | 59452efe579c |
rev | line source |
---|---|
616 | 1 #ifndef __MPLAYER_SUBREADER_H |
2 #define __MPLAYER_SUBREADER_H | |
258 | 3 |
12910 | 4 #include <stdio.h> |
5 | |
8361
2202c00001e3
overlapping subtitles support is now optional, can be disabled (-nooverlapsub)
arpi
parents:
7982
diff
changeset
|
6 extern int suboverlap_enabled; |
9126
7a06258271d6
Add a command line option (-sub-no-text-pp) to disable subtitles
arpi
parents:
8733
diff
changeset
|
7 extern int sub_no_text_pp; // disable text post-processing |
9893 | 8 extern int sub_match_fuzziness; |
2912 | 9 |
10 // subtitle formats | |
11 #define SUB_INVALID -1 | |
12 #define SUB_MICRODVD 0 | |
13 #define SUB_SUBRIP 1 | |
14 #define SUB_SUBVIEWER 2 | |
15 #define SUB_SAMI 3 | |
16 #define SUB_VPLAYER 4 | |
17 #define SUB_RT 5 | |
18 #define SUB_SSA 6 | |
11873 | 19 #define SUB_PJS 7 |
2912 | 20 #define SUB_MPSUB 8 |
21 #define SUB_AQTITLE 9 | |
6012 | 22 #define SUB_SUBVIEWER2 10 |
6076
eff64fb1ffea
patch fixes broken detecniou of AQTitle subtiles and adds support for subtitles created by subrip 0.9 - by Jiri.Svoboda@seznam.cz
arpi
parents:
6012
diff
changeset
|
23 #define SUB_SUBRIP09 11 |
7982
eac680483e6c
JACOSub is another subtitling format, whose specifications are at:
arpi
parents:
7460
diff
changeset
|
24 #define SUB_JACOSUB 12 |
12138
eb3ad04675e1
MPL2 subreader, patch by Cezary Jackiewicz (cjackiewicz@poczta.onet.pl)
alex
parents:
11873
diff
changeset
|
25 #define SUB_MPL2 13 |
2912 | 26 |
27 // One of the SUB_* constant above | |
28 extern int sub_format; | |
29 | |
9870
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
30 #define MAX_SUBTITLE_FILES 128 |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
31 |
7215
065387d29573
increased SUB_MAX_TEXT by Piotr Krukowiecki <piotr@pingu.ii.uj.edu.pl>
alex
parents:
6792
diff
changeset
|
32 #define SUB_MAX_TEXT 10 |
13343
1a4b6e575484
This time is a patch to improve subtitle alignment management. It
faust3
parents:
12930
diff
changeset
|
33 #define SUB_ALIGNMENT_BOTTOMLEFT 1 |
1a4b6e575484
This time is a patch to improve subtitle alignment management. It
faust3
parents:
12930
diff
changeset
|
34 #define SUB_ALIGNMENT_BOTTOMCENTER 2 |
1a4b6e575484
This time is a patch to improve subtitle alignment management. It
faust3
parents:
12930
diff
changeset
|
35 #define SUB_ALIGNMENT_BOTTOMRIGHT 3 |
1a4b6e575484
This time is a patch to improve subtitle alignment management. It
faust3
parents:
12930
diff
changeset
|
36 #define SUB_ALIGNMENT_MIDDLELEFT 4 |
1a4b6e575484
This time is a patch to improve subtitle alignment management. It
faust3
parents:
12930
diff
changeset
|
37 #define SUB_ALIGNMENT_MIDDLECENTER 5 |
1a4b6e575484
This time is a patch to improve subtitle alignment management. It
faust3
parents:
12930
diff
changeset
|
38 #define SUB_ALIGNMENT_MIDDLERIGHT 6 |
1a4b6e575484
This time is a patch to improve subtitle alignment management. It
faust3
parents:
12930
diff
changeset
|
39 #define SUB_ALIGNMENT_TOPLEFT 7 |
1a4b6e575484
This time is a patch to improve subtitle alignment management. It
faust3
parents:
12930
diff
changeset
|
40 #define SUB_ALIGNMENT_TOPCENTER 8 |
1a4b6e575484
This time is a patch to improve subtitle alignment management. It
faust3
parents:
12930
diff
changeset
|
41 #define SUB_ALIGNMENT_TOPRIGHT 9 |
258 | 42 |
43 typedef struct { | |
44 | |
45 int lines; | |
46 | |
47 unsigned long start; | |
48 unsigned long end; | |
49 | |
50 char *text[SUB_MAX_TEXT]; | |
10916
c36db88bfbc4
Subtitle alignment & smart splitting by Salvatore Falco
henry
parents:
9893
diff
changeset
|
51 unsigned char alignment; |
258 | 52 } subtitle; |
53 | |
9870
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
54 typedef struct { |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
55 subtitle *subtitles; |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
56 char *filename; |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
57 int sub_uses_time; |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
58 int sub_num; // number of subtitle structs |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
59 int sub_errs; |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
60 } sub_data; |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
61 |
13679
59bb11213d11
correctly display the commas of most hebrew subtitles on the left side
faust3
parents:
13343
diff
changeset
|
62 #ifdef USE_FRIBIDI |
59bb11213d11
correctly display the commas of most hebrew subtitles on the left side
faust3
parents:
13343
diff
changeset
|
63 extern char *fribidi_charset; |
59bb11213d11
correctly display the commas of most hebrew subtitles on the left side
faust3
parents:
13343
diff
changeset
|
64 extern int flip_hebrew; |
59bb11213d11
correctly display the commas of most hebrew subtitles on the left side
faust3
parents:
13343
diff
changeset
|
65 extern int fribidi_flip_commas; |
59bb11213d11
correctly display the commas of most hebrew subtitles on the left side
faust3
parents:
13343
diff
changeset
|
66 #endif |
59bb11213d11
correctly display the commas of most hebrew subtitles on the left side
faust3
parents:
13343
diff
changeset
|
67 |
9870
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
68 sub_data* sub_read_file (char *filename, float pts); |
8618
a879b231b7e3
This patch adds a call to subcp_recode1(), so this subtitles too are
arpi
parents:
8451
diff
changeset
|
69 subtitle* subcp_recode1 (subtitle *sub); |
12909
dc8eba991005
fixes a crash and unchecked string-handling in ENCA code.
reimar
parents:
12443
diff
changeset
|
70 // enca_fd is the file enca uses to determine the codepage. |
dc8eba991005
fixes a crash and unchecked string-handling in ENCA code.
reimar
parents:
12443
diff
changeset
|
71 // setting to NULL disables enca. |
dc8eba991005
fixes a crash and unchecked string-handling in ENCA code.
reimar
parents:
12443
diff
changeset
|
72 void subcp_open (FILE *enca_fd); /* for demux_ogg.c */ |
8733
478561617705
compiler warning fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
arpi
parents:
8618
diff
changeset
|
73 void subcp_close (void); /* for demux_ogg.c */ |
12930
b200b94ebc4b
missing guess_cp declaration (patch by Ismail D«Ónmez)
henry
parents:
12910
diff
changeset
|
74 #ifdef HAVE_ENCA |
b200b94ebc4b
missing guess_cp declaration (patch by Ismail D«Ónmez)
henry
parents:
12910
diff
changeset
|
75 void* guess_cp(FILE *enca_fd, char *preferred_language, char *fallback); |
b200b94ebc4b
missing guess_cp declaration (patch by Ismail D«Ónmez)
henry
parents:
12910
diff
changeset
|
76 #endif |
9870
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
77 char ** sub_filenames(char *path, char *fname); |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
78 void list_sub_file(sub_data* subd); |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
79 void dump_srt(sub_data* subd, float fps); |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
80 void dump_mpsub(sub_data* subd, float fps); |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
81 void dump_microdvd(sub_data* subd, float fps); |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
82 void dump_jacosub(sub_data* subd, float fps); |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
83 void dump_sami(sub_data* subd, float fps); |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
84 void sub_free( sub_data * subd ); |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
85 void find_sub(sub_data* subd,int key); |
09d630a4f991
support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents:
9126
diff
changeset
|
86 void step_sub(sub_data *subd, float pts, int movement); |
818 | 87 #endif |