[mythtv-users] Setting specific xrandr mode based on the file's refresh rate
john
jppoet at gmail.com
Thu Feb 12 06:34:24 UTC 2009
On Feb 11, 2009, at 11:04 PM, Jean-Yves Avenard wrote:
> Hi
>
> Is there any way to set a specific refresh rate for the screen based
> on the video you play?
>
> Right now I'm using an external script to check the refresh rate used
> by the video file, then set the appropriate xrandr mode before I run
> mythtv on the file.
> The downside with this is that I don't get any display on the LCD of
> my case...
>
> Currently mythtv let you specify a xrandr mode based on the size of
> the video you are playing. But can you do that same based on the
> refresh rate without having to use an external script?
>
> Here is the script I'm using BTW:
>
> ---
> #! /bin/bash
> BIN=/usr/bin/mplayer
> MYTHBIN=/usr/bin/mythtv
> XRANDR=/usr/bin/xrandr
>
> if [ ! -n "$1" ]; then
> echo "Usage: `basename $0` file."
> exit 1
> fi
>
> RETURN=`$BIN -v "$1" -nosound -frames 0 | grep VIDEO:`
> #Test if it's a video file
> if [ "$RETURN" != "" ]; then
> FPS=`echo $RETURN | grep fps | sed -e 's/^.* \(.*\) fps .*$/\1/g'`
> WRES=`echo $RETURN | sed -e 's/^.* \([0-9]*\)x\([0-9]*\) .*$/\1/g'`
> HRES=`echo $RETURN | sed -e 's/^.* \([0-9]*\)x\([0-9]*\) .*$/\2/g'`
> CODEC=`echo $RETURN | sed -e 's/^.* \[\(.*\)\] .*$/\1/g'`
> FPS2=`echo "tmp=$FPS; tmp /= 1; tmp" | bc`;
>
> if [ "$FPS" != "" ]; then
> #50 - "1920x1080 at 50"
> #51 - "1920x1080 at 60"
> #52 - "1920x1080 at 24"
> #53 - "1920x1080 at 23.976"
> #54 - "1920x1080 at 50i"
> #55 - "1920x1080 at 60i"
> #56 - "1920x1080 at 59.94"
> #57 - "1920x1080 at 59.94i"
> #"1920x1080 at 25" "1920x1080 at 29.97" "1920x1080 at 30.00"
>
> RATE=51
> if [ $FPS == 23.976 ]; then
> RATE=53
> elif [ $FPS == 59.940 ]; then
> RATE=56
> elif [ $FPS == 29.970 ]; then
> RATE=56
> elif [ $FPS2 == 24 ]; then
> RATE=52
> elif [ $FPS2 == 25 ]; then
> RATE=50
> elif [ $FPS2 == 50 ]; then
> RATE=50
> elif [ $FPS2 == 30 ]; then
> RATE=51
> elif [ $FPS2 == 60 ]; then
> RATE=51
> fi
>
> #Use opengl for DX50 codec, XV for everything else
> ext=`echo $1 | sed -e 's/^.*\.\(.*\)$/\1/g'`
> echo 'Movie rate is' $FPS 'fps, setting screen to' $RATE',
> H='$HRES 'W='$WRES', extension:' $ext', codec:'$CODEC
> $XRANDR -r $RATE
> $MYTHBIN "$1"
> $XRANDR -r 50
> fi
> else
> echo "Usage: `basename $0` video_file."
> exit 1
> fi
>
> ----
>
> Cheers
> Jean-Yves
I thought you followed the commits list? Just kidding.
http://svn.mythtv.com/trac/ticket/5643
BTW, I found it by simply searching for "refresh" on svn.mythtv.org
John
More information about the mythtv-users
mailing list