summaryrefslogtreecommitdiffstats
path: root/subreader.c
diff options
context:
space:
mode:
authorkmkaplan <kmkaplan@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-09-21 17:23:46 +0000
committerkmkaplan <kmkaplan@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-09-21 17:23:46 +0000
commit5f9adff3f6d3b807ee30003c6558bb74cb467592 (patch)
treee6cc2db37a936b40f973a99773c0a6061f336650 /subreader.c
parentb9ce5ed76cd7afd6f9fefe89176c5e7b0201f3e4 (diff)
downloadmpv-5f9adff3f6d3b807ee30003c6558bb74cb467592.tar.bz2
mpv-5f9adff3f6d3b807ee30003c6558bb74cb467592.tar.xz
New option for mplayer: -dumpmicrodvdsub
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7461 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'subreader.c')
-rw-r--r--subreader.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/subreader.c b/subreader.c
index daa6673893..fa10c71393 100644
--- a/subreader.c
+++ b/subreader.c
@@ -1007,6 +1007,40 @@ void dump_mpsub(subtitle* subs, float fps){
mp_msg(MSGT_SUBREADER,MSGL_INFO,"SUB: Subtitles dumped in \'dump.mpsub\'.\n");
}
+void dump_microdvd(subtitle* subs, float fps) {
+ int i, delay;
+ FILE *fd;
+ if (sub_fps == 0)
+ sub_fps = fps;
+ fd = fopen("dumpsub.txt", "w");
+ if (!fd) {
+ perror("dumpsub.txt: fopen");
+ return;
+ }
+ delay = sub_delay * sub_fps;
+ for (i = 0; i < sub_num; ++i) {
+ int j, start, end;
+ start = subs[i].start;
+ end = subs[i].end;
+ if (sub_uses_time) {
+ start = start * sub_fps / 100 ;
+ end = end * sub_fps / 100;
+ }
+ else {
+ start = start * sub_fps / fps;
+ end = end * sub_fps / fps;
+ }
+ start -= delay;
+ end -= delay;
+ fprintf(fd, "{%d}{%d}", start, end);
+ for (j = 0; j < subs[i].lines; ++j)
+ fprintf(fd, "%s%s", j ? "|" : "", subs[i].text[j]);
+ fprintf(fd, "\n");
+ }
+ fclose(fd);
+ mp_msg(MSGT_SUBREADER,MSGL_INFO,"SUB: Subtitles dumped in \'dumpsub.txt\'.\n");
+}
+
void sub_free( subtitle * subs )
{
int i;