Index: stream/stream.h
===================================================================
--- stream/stream.h	(revisione 24096)
+++ stream/stream.h	(copia locale)
@@ -59,6 +59,7 @@
 #define STREAM_CTRL_GET_CURRENT_TIME 5
 #define STREAM_CTRL_SEEK_TO_TIME 6
 #define STREAM_CTRL_GET_SIZE 7
+#define STREAM_CTRL_GET_ASPECT_RATIO 8
 
 #ifdef MPLAYER_NETWORK
 #include "network.h"
Index: stream/stream_dvd.c
===================================================================
--- stream/stream_dvd.c	(revisione 24249)
+++ stream/stream_dvd.c	(copia locale)
@@ -737,6 +737,11 @@
               return 1;
             break;
         }
+        case STREAM_CTRL_GET_ASPECT_RATIO:
+        {
+            *((double *)arg) = (double) (!d->vts_file->vtsi_mat->vts_video_attr.display_aspect_ratio ? 4.0/3.0 : 16.0/9.0);
+            return 1;
+        }
     }
     return STREAM_UNSUPORTED;
 }
Index: mplayer.c
===================================================================
--- mplayer.c	(revisione 24096)
+++ mplayer.c	(copia locale)
@@ -3061,6 +3061,7 @@
 
 if(mpctx->sh_video){
 
+  double ar=-1.0;
   current_module="video_read_properties";
   if(!video_read_properties(mpctx->sh_video)) {
     mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_CannotReadVideoProperties);
@@ -3082,6 +3083,8 @@
       mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_FPSnotspecified);
       mpctx->sh_video=mpctx->d_video->sh=NULL;
     }
+    if(stream_control(mpctx->demuxer->stream, STREAM_CTRL_GET_ASPECT_RATIO, &ar) != STREAM_UNSUPORTED)
+      movie_aspect = (float) ar;
   }
 
 }
