summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authornicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-04-10 10:06:59 +0000
committernicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-04-10 10:06:59 +0000
commitbd9d54015fb4de1dda60009454815e471d6de4ca (patch)
tree9a17e09e919332229c3a451a00ccf38f085845ea /libmpdemux
parent108b3bc6a5860e8b34c7d4fa6f8ae7fd76c694c7 (diff)
downloadmpv-bd9d54015fb4de1dda60009454815e471d6de4ca.tar.bz2
mpv-bd9d54015fb4de1dda60009454815e471d6de4ca.tar.xz
changed :vaspect option to CONF_TYPE_FLOAT
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15084 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/muxer_mpeg.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/libmpdemux/muxer_mpeg.c b/libmpdemux/muxer_mpeg.c
index ba1cb71a04..ee285c76d5 100644
--- a/libmpdemux/muxer_mpeg.c
+++ b/libmpdemux/muxer_mpeg.c
@@ -66,7 +66,7 @@ static const char *aspect_ratios[] = {
static char *conf_mux = "mpeg2";
static uint16_t conf_packet_size = 0; //dvd
static uint32_t conf_muxrate = 0; //kb/s
-static char *conf_vaspect = NULL;
+static float conf_vaspect = 0;
static float conf_vframerate = 0;
static uint32_t conf_vwidth = 0, conf_vheight = 0, conf_panscan_width = 0, conf_panscan_height = 0;
static uint32_t conf_vbitrate = 0;
@@ -162,7 +162,7 @@ m_option_t mpegopts_conf[] = {
{"format", &(conf_mux), CONF_TYPE_STRING, 0, 0 ,0, NULL},
{"size", &(conf_packet_size), CONF_TYPE_INT, CONF_RANGE, 0, 65535, NULL},
{"muxrate", &(conf_muxrate), CONF_TYPE_INT, CONF_RANGE, 0, 12000000, NULL}, //12 Mb/s
- {"vaspect", &(conf_vaspect), CONF_TYPE_STRING, 0, 0, 0, NULL},
+ {"vaspect", &(conf_vaspect), CONF_TYPE_FLOAT, 0, 0, 0, NULL},
{"vframerate", &(conf_vframerate), CONF_TYPE_FLOAT, 0, 0, 0, NULL},
{"vwidth", &(conf_vwidth), CONF_TYPE_INT, CONF_RANGE, 1, 4095, NULL},
{"vheight", &(conf_vheight), CONF_TYPE_INT, CONF_RANGE, 1, 4095, NULL},
@@ -2450,16 +2450,19 @@ int muxer_init_muxer_mpeg(muxer_t *muxer){
setup_sys_params(priv);
priv->skip_padding = conf_skip_padding;
- if(conf_vaspect != NULL)
+ if(conf_vaspect > 0)
{
- if(! strcmp(conf_vaspect, "1/1"))
- priv->vaspect = ASPECT_1_1;
- else if(! strcmp(conf_vaspect, "4/3"))
+ int asp = (int) (conf_vaspect * 1000.0f);
+ if(asp >= 1332 && asp <= 1334)
priv->vaspect = ASPECT_4_3;
- else if(! strcmp(conf_vaspect, "16/9"))
+ else if(asp >= 1776 && asp <= 1778)
priv->vaspect = ASPECT_16_9;
- else if(! strcmp(conf_vaspect, "2.21/1"))
+ else if(asp >= 2209 && asp <= 2211)
priv->vaspect = ASPECT_2_21_1;
+ else if(asp == 1000)
+ priv->vaspect = ASPECT_1_1;
+ else
+ mp_msg(MSGT_MUXER, MSGL_ERR, "ERROR: unrecognized aspect %.3f\n", conf_vaspect);
}
priv->vframerate = 0; // no change