Fixed AR setting for dvdsimple, support AR for dvdnav.
authorLaurent Aimar <fenrir@videolan.org>
Wed, 27 Aug 2008 11:46:33 +0000 (13:46 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Wed, 27 Aug 2008 11:46:33 +0000 (13:46 +0200)
modules/access/dvdnav.c
modules/access/dvdread.c

index bc4abff..95f91ac 100644 (file)
@@ -1143,7 +1143,10 @@ static void ESNew( demux_t *p_demux, int i_id )
     {
         switch( p_sys->i_aspect )
         {
-        /* XXX We need the video size to support it */
+        case 1: tk->fmt.video.i_aspect = VOUT_ASPECT_FACTOR; break;
+        case 2: tk->fmt.video.i_aspect = VOUT_ASPECT_FACTOR * 4 / 3; break;
+        case 3: tk->fmt.video.i_aspect = VOUT_ASPECT_FACTOR * 16 / 9; break;
+        case 4: tk->fmt.video.i_aspect = VOUT_ASPECT_FACTOR * 221 / 10; break;
         default:
             tk->fmt.video.i_aspect = 0;
             break;
index a918dc9..48671c5 100644 (file)
@@ -710,9 +710,15 @@ static void ESNew( demux_t *p_demux, int i_id, int i_lang )
     /* Add a new ES */
     if( tk->fmt.i_cat == VIDEO_ES )
     {
-        if( p_sys->i_aspect >= 0 )
+        switch( p_sys->i_aspect )
         {
-            tk->fmt.video.i_aspect = p_sys->i_aspect;
+        case 1: tk->fmt.video.i_aspect = VOUT_ASPECT_FACTOR; break;
+        case 2: tk->fmt.video.i_aspect = VOUT_ASPECT_FACTOR * 4 / 3; break;
+        case 3: tk->fmt.video.i_aspect = VOUT_ASPECT_FACTOR * 16 / 9; break;
+        case 4: tk->fmt.video.i_aspect = VOUT_ASPECT_FACTOR * 221 / 10; break;
+        default:
+            tk->fmt.video.i_aspect = 0;
+            break;
         }
     }
     else if( tk->fmt.i_cat == AUDIO_ES )