Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Hardware & Software > Software players

Reply
 
Thread Tools Search this Thread Display Modes
Old 23rd April 2015, 22:53   #1  |  Link
paulescobar
Registered User
 
Join Date: Apr 2015
Posts: 15
[MadVr] Help a newb set "Profile Auto-Select Rules"?

I'm just getting the hang of MadVR.

I'm at the point in knowledge where I can determine what Frame-Height, Frame-Width, and Frames-Rate are required for particular profiles.

Unfortunately, I feel like I can't get a grip on Madshi's scripting rules. I'm hoping someone can help me. If I see how my conditions look in the scripting language, I could break it down and get a better handle for the future.

......

Before I provide the sample conditions, I would like to point out a major source of confusion I have.

I don't understand what Madshi means by "framerate after deinterlacing". So in the example posted below, the "Frame Rate" I am conveying is based on:
(a) what I see in the "Ctrl+J" option
(b) what I see in Windows Explorer, when activating the "Frame Rate" column in Details view

If the Frame-Rate values expressed through these methods are incorrect, please tell me the correct method.

.......

Suppose I have two profiles:
- Profile 1
- Profile 2

For "Profile 1", the conditions are:
- Frame Rate: 0-28
- Frame Height: 0-480
- Frame Width: 0-640

For "Profile 2", the conditions are:
- Frame Rate: Any
- Frame Height: 481 and above
- Frame Width: 0-720

How could I set the "Profile Auto Select Rules" to choose between two such profiles?

Last edited by paulescobar; 23rd April 2015 at 22:55.
paulescobar is offline   Reply With Quote
Old 23rd April 2015, 23:18   #2  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 4,358
You need three profiles, what happens for a width of 721 or higher?

Code:
if (deintfps <= 28) and (srcwidth <= 640) and (srcheight <= 480) "Profile 1"
elseif (srcwidth <= 720) and (srcheight > 480) "Profile 2"
else "Profile 3"
edit:
Quote:
Originally Posted by paulescobar View Post
I don't understand what Madshi means by "framerate after deinterlacing".
"framerate after deinterlacing" is the frame rate unless the video is interlaced. Interlaced video is deinterlaced to twice the frame rate so 30i is deinterlaced to 60p. The 60p is what madVR has to process so it makes more sense to base profile rules on the frame rate after deinterlacing.

edit2:
Actually your rules have a somewhat odd special case. What about a video that had a height below 480 but a width between 640 and 720? I assume you would want to use Profile 2 in that case so this would be a better set of rules:
Code:
if (deintfps <= 28) and (srcwidth <= 640) and (srcheight <= 480) "Profile 1"
elseif (srcwidth <= 720) "Profile 2"
else "Profile 3"
__________________
madVR options explained

Last edited by Asmodian; 23rd April 2015 at 23:31.
Asmodian is offline   Reply With Quote
Old 23rd April 2015, 23:37   #3  |  Link
paulescobar
Registered User
 
Join Date: Apr 2015
Posts: 15
Asmodian,

I only provided two profile samples to keep it simple.
These are, by no means, the complete package of profiles I intend to use.

I'm actually working my way up, starting with profiles for low-quality videos...then moving on-to higher.
So I have more work to do creating profiles, and by the end...they should cover all bases.

And thank you so much for the script! Can't wait to try this when I get home!

Quote:
"framerate after deinterlacing" is the frame rate unless the video is interlaced. Interlaced video is deinterlaced to twice the frame rate so 30i is deinterlaced to 60p. The 60p is what madVR has to process so it makes more sense to base profile rules on the frame rate after deinterlacing.
But how do I determine this value?

I pointed out in my OP, I'm currently determining frame rate through "Ctrl+J" during video playback...or Windows Explorer.

Would any of these methods correctly display "framerate after deinterlacing"?

Last edited by paulescobar; 23rd April 2015 at 23:39.
paulescobar is offline   Reply With Quote
Old 23rd April 2015, 23:48   #4  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 4,358
Quote:
Originally Posted by paulescobar View Post
But how do I determine this value?

I pointed out in my OP, I'm currently determining frame rate through "Ctrl+J" during video playback...or Windows Explorer.

Would any of these methods correctly display "framerate after deinterlacing"?
You would need to know the video was interlaced and double the values reported there.

Or you can use the "movie frame interval" reported in Ctrl+J, the current frame rate would be 1000 / "movie frame interval".
__________________
madVR options explained
Asmodian is offline   Reply With Quote
Old 23rd April 2015, 23:52   #5  |  Link
paulescobar
Registered User
 
Join Date: Apr 2015
Posts: 15
Quote:
Originally Posted by Asmodian View Post
You would need to know the video was interlaced and double the values reported there.

Or you can use the "movie frame interval" reported in Ctrl+J, the current frame rate would be 1000 / "movie frame interval".
Great! So much thanks for your help.
It looks so simple now!
paulescobar is offline   Reply With Quote
Old 24th April 2015, 05:56   #6  |  Link
QBhd
QB the Slayer
 
QBhd's Avatar
 
Join Date: Feb 2011
Location: Toronto
Posts: 686
Here is my profiles.... I watch a lot of different sources and like to push my GPU to the max for everything I watch

Code:
if (srcHeight < 289) and (deintFps < 31)        "Flash 288"
elseif (srcHeight < 361) and (deintFps < 31)    "Flash"
elseif (srcHeight < 405) and (deintFps < 31)    "400p 30fps"
elseif (srcHeight < 714) and (srcWidth > 1279)  "720p24 (cropped)"
elseif (srcHeight < 541) and (deintFps < 26)    "1/2 HD"
elseif (srcHeight < 541) and (deintFps < 31)    "1/2 HD 30fps"
elseif (srcHeight < 541) and (deintFps > 59)    "1/2 HD 60fps"
elseif (srcHeight < 577) and (deintFps < 26)    "Flash 576 25fps"
elseif (srcHeight < 577) and (deintFps > 49)    "Flash 576 50fps"
elseif (srcHeight < 433) and (deintFps < 31)    "<SD 30fps"
elseif (srcHeight < 481) and (deintFps < 31)    "SD 30fps"
elseif (srcHeight < 714) and (deintFps > 59)    "720p60 (cropped)"
elseif (srcHeight < 721) and (deintFps < 26)    "720p24"
elseif (srcHeight < 721) and (deintFps < 31)    "720p30"
elseif (srcHeight < 721) and (deintFps < 51)    "720p50"
elseif (srcHeight < 721) and (deintFps > 51)    "720p60"
elseif (srcHeight < 1040) and (srcWidth > 1919) "1080p24 (cropped)"
elseif (deintFps < 26)                          "1080p24"
else                                            "1080i30"

It's important to know how conditions pass through the Boolean. So the order of these profiles is very important.

QB
__________________

Last edited by QBhd; 24th April 2015 at 05:58.
QBhd is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 09:56.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.