mirror of
https://github.com/mpv-player/mpv
synced 2025-04-01 23:00:41 +00:00
Enable -subfps for time based subtitles, too.
Please update the DOCS for -subfps: "If you have time-based subtitles like subviewer that can't be synced by -subdelay try specifying -subfps with the framerate of the movie the time-based sub was created for, eg. -subfps 25 if you use subs from a 25 fps movie with a movie using a different framerate. If you need to guess -subfps, try 25, 23.98 and 29.97" git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7611 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
0ab47ea363
commit
ff72be050b
18
subreader.c
18
subreader.c
@ -735,7 +735,7 @@ static void adjust_subs_time(subtitle* sub, float subtime, float fps){
|
|||||||
unsigned long subfms = (sub_uses_time ? 100 : fps) * subtime;
|
unsigned long subfms = (sub_uses_time ? 100 : fps) * subtime;
|
||||||
|
|
||||||
n=m=0;
|
n=m=0;
|
||||||
if (i) for (;;){
|
if (i) for (;;){
|
||||||
if (sub->end <= sub->start){
|
if (sub->end <= sub->start){
|
||||||
sub->end = sub->start + subfms;
|
sub->end = sub->start + subfms;
|
||||||
m++;
|
m++;
|
||||||
@ -750,6 +750,22 @@ static void adjust_subs_time(subtitle* sub, float subtime, float fps){
|
|||||||
if (!m)
|
if (!m)
|
||||||
n++;
|
n++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Theory:
|
||||||
|
* Movies are often converted from FILM (24 fps)
|
||||||
|
* to PAL (25) by simply speeding it up, so we
|
||||||
|
* to multiply the original timestmaps by
|
||||||
|
* (Movie's FPS / Subtitle's (guessed) FPS)
|
||||||
|
* so eg. for 23.98 fps movie and PAL time based
|
||||||
|
* subtitles we say -subfps 25 and we're fine!
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* timed sub fps correction ::atmos */
|
||||||
|
if(sub_uses_time && sub_fps) {
|
||||||
|
sub->start *= sub_fps/fps;
|
||||||
|
sub->end *= sub_fps/fps;
|
||||||
|
}
|
||||||
|
|
||||||
sub = nextsub;
|
sub = nextsub;
|
||||||
m = 0;
|
m = 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user