summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/muxer_mpeg.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/libmpdemux/muxer_mpeg.c b/libmpdemux/muxer_mpeg.c
index 751fef2669..501060b18b 100644
--- a/libmpdemux/muxer_mpeg.c
+++ b/libmpdemux/muxer_mpeg.c
@@ -2733,33 +2733,35 @@ int muxer_init_muxer_mpeg(muxer_t *muxer){
{
int fps;
- fps = (int) (conf_vframerate * 1000.0);
+ fps = (int) (conf_vframerate * 1001 + 0.5);
switch(fps)
{
case 24000:
+ priv->vframerate = FRAMERATE_23976;
+ break;
+ case 24024:
priv->vframerate = FRAMERATE_24;
break;
- case 25000:
+ case 25025:
priv->vframerate = FRAMERATE_25;
break;
case 30000:
+ priv->vframerate = FRAMERATE_2997;
+ break;
+ case 30030:
priv->vframerate = FRAMERATE_30;
break;
- case 50000:
+ case 50050:
priv->vframerate = FRAMERATE_50;
break;
case 60000:
+ priv->vframerate = FRAMERATE_5994;
+ break;
+ case 60060:
priv->vframerate = FRAMERATE_60;
break;
default:
- if(fps >= 23975 && fps <= 23977)
- priv->vframerate = FRAMERATE_23976;
- else if(fps >= 29969 && fps <= 29971)
- priv->vframerate = FRAMERATE_2997;
- else if(fps >= 59939 && fps <= 59941)
- priv->vframerate = FRAMERATE_5994;
- else
- mp_msg(MSGT_MUXER, MSGL_ERR, "WRONG FPS: %d/1000, ignoring\n", fps);
+ mp_msg(MSGT_MUXER, MSGL_ERR, "WRONG FPS: %d/1000, ignoring\n", fps);
}
}