1 #ifndef MPLAYER_SUBREADER_H
2 #define MPLAYER_SUBREADER_H
8 extern int suboverlap_enabled
;
9 extern int sub_no_text_pp
; // disable text post-processing
10 extern int sub_match_fuzziness
;
13 #define SUB_INVALID -1
14 #define SUB_MICRODVD 0
16 #define SUB_SUBVIEWER 2
24 #define SUB_SUBVIEWER2 10
25 #define SUB_SUBRIP09 11
26 #define SUB_JACOSUB 12
29 // One of the SUB_* constant above
30 extern int sub_format
;
32 #define MAX_SUBTITLE_FILES 128
34 #define SUB_MAX_TEXT 12
35 #define SUB_ALIGNMENT_BOTTOMLEFT 1
36 #define SUB_ALIGNMENT_BOTTOMCENTER 2
37 #define SUB_ALIGNMENT_BOTTOMRIGHT 3
38 #define SUB_ALIGNMENT_MIDDLELEFT 4
39 #define SUB_ALIGNMENT_MIDDLECENTER 5
40 #define SUB_ALIGNMENT_MIDDLERIGHT 6
41 #define SUB_ALIGNMENT_TOPLEFT 7
42 #define SUB_ALIGNMENT_TOPCENTER 8
43 #define SUB_ALIGNMENT_TOPRIGHT 9
52 char *text
[SUB_MAX_TEXT
];
53 double endpts
[SUB_MAX_TEXT
];
54 unsigned char alignment
;
61 int sub_num
; // number of subtitle structs
65 extern char *fribidi_charset
;
66 extern int flip_hebrew
;
67 extern int fribidi_flip_commas
;
69 sub_data
* sub_read_file (char *filename
, float pts
);
70 subtitle
* subcp_recode (subtitle
*sub
);
71 // enca_fd is the file enca uses to determine the codepage.
72 // setting to NULL disables enca.
74 void subcp_open (struct stream
*st
); /* for demux_ogg.c */
75 void subcp_close (void); /* for demux_ogg.c */
77 const char* guess_buffer_cp(unsigned char* buffer
, int buflen
, const char *preferred_language
, const char *fallback
);
78 const char* guess_cp(struct stream
*st
, const char *preferred_language
, const char *fallback
);
80 char ** sub_filenames(const char *path
, char *fname
);
81 void list_sub_file(sub_data
* subd
);
82 void dump_srt(sub_data
* subd
, float fps
);
83 void dump_mpsub(sub_data
* subd
, float fps
);
84 void dump_microdvd(sub_data
* subd
, float fps
);
85 void dump_jacosub(sub_data
* subd
, float fps
);
86 void dump_sami(sub_data
* subd
, float fps
);
87 void sub_free( sub_data
* subd
);
89 void find_sub(struct MPContext
*mpctx
, sub_data
* subd
,int key
);
90 void step_sub(sub_data
*subd
, float pts
, int movement
);
91 void sub_add_text(subtitle
*sub
, const char *txt
, int len
, double endpts
);
92 int sub_clear_text(subtitle
*sub
, double pts
);
94 #endif /* MPLAYER_SUBREADER_H */