0Optimal LAV and mad-vr settings for a high end GPU at 1080p

I have spent a lot of time exper­i­ment­ing with mad-vr and lav try­ing to find the optim­al set­tings for my GTX 1050Ti which out­puts to a 1080p pro­ject­or. Set­tings for high­er res­ol­u­tion dis­plays will be very dif­fer­ent, but as 4k pro­ject­ors are cur­rently so expens­ive, for a truly “home cinema” exper­i­ence 1080p is the lim­it for most people.

The first thing to do in mad­vr is to set up pro­files for dif­fer­ent res­ol­u­tion videos — 1080p videos will require far less work than much lower or high­er res­ol­u­tions, eg. 360p (needs a lot of work to upscale well) or 4320p (takes a lot of decod­ing). I also have 2 dif­fer­ent low-res­ol­u­tion pro­files, one of which gets filtered by file exten­sion so I can use dif­fer­ent set­tings for par­tic­u­larly low qual­ity old divx videos.

Next, spend some time read­ing an up-to-date art­icle about all the set­tings. Many guides get out of date as the avail­able set­tings change so make sure the inform­a­tion is up-to-date.

Some use­ful inform­a­tion on which decod­ing mode to use in LAV is avail­able. I recom­mend DXVA2 Nat­ive (not copyback)

Fun­da­ment­ally, mad­vr is pro­cessing lots of frames per second. So it can­’t spend very long on each frame to main­tain smooth play­back. Render times over 40ms will almost cer­tainly res­ult in dropped frames. The frame rate of the con­tent will also mat­ter: 60fps is much harder work than 24fps. You may want to have dif­fer­ent pro­files for dif­fer­ent frame-rate content.

Frame rateMax­im­um render time
60fps16ms
50fps / 48fps20ms
30fps33ms
25fps / 24fps40ms

In terms of sizes, I group them as there are a lot of dif­fer­ent poten­tial sizes. Very little con­tent is in 4:3 ratio, so in most cases the con­tent will be either 16:9 or will be letterboxed

SD con­tent is usu­ally 360p, 480p or 576p. As 360p is so rare I focus on 480p con­tent for SD as set­tings suit­able for 480p60 will cope with 576p as well. I then have cat­egor­ies for 720p, 1080p, 2160p and 4320p.
How­ever, I recom­mend using the width of the con­tent, rather than the height in pro­cessing rules. The widest format you are likely to encounter is UltraPanavision70 which is 2.76:1. Using this aspect ratio would see 720p con­tent have an actu­al res­ol­u­tion of 1280×464. Many videos in these wider formats have had the let­ter­box­ing cut off, and the prob­lem of defin­ing sizes begins…

There are formats below 360p but you are very unlikely to have any watch­able videos in those formats.

Formattyp­ic­al heighttyp­ic­al width
360p360640
480p480640–854
576p576704–720
720p534–720960‑1280
1080p Full HD800‑10801440–1920
4k 2160p UHD1600–21602880–4096
8k 4320p SUHD3200–43205760–8192

So, to be com­pre­hens­ive we need rules for both width and height of the video. Any video with a height great­er than 2160 or a width great­er than 4096 will have to be regarded as great­er than 4k, so we’ll treat it as 8k, and so on

Formatmin­im­um height+1min­im­um width+1
4320p21604096
2160p10802048
1080p7201280
720p576720
SD00

So, the fol­low­ing set of rules would do the job to group by both res­ol­u­tion and to split into 4 fram­er­ate groups (59–60fps; 47–50fps; 29–30fps; 23–25fps)

You may well wish to use a smal­ler num­ber of group­ings as it is likely you will get a lot of over­lap in set­tings with some of these set­tings. I find that I only need to split by fram­er­ate for the lower resolutions.

if (deintFps > 50) and ((srcWidth  4096) or (srcHeight  2160)) "4320p60"
else if (deintFps >= 47) and ((srcWidth  4096) or (srcHeight  2160)) "4320p50"
else if (deintFps >= 29) and ((srcWidth  4096) or (srcHeight  2160)) "4320p30"
else if (deintFps  29) and ((srcWidth  4096) or (srcHeight  2160)) "4320p25"

I will con­tin­ue to tinker and optim­ise my own set­tings, and whenev­er I have found improve­ments I will update them below.

My set­tings are as follows

SD-lowQ

processing

scaling

rendering

SD

processing

scaling

rendering

720p

processing

scaling

rendering

1080p

processing

scaling

rendering

4k

processing

scaling

rendering

8k

processing

scaling

rendering

Think we've missed something? Let us know by commenting below. If you would like to subscribe please use the subscribe link on the menu at the top right. You can also share this with your friends by using the social links below. Cheers.

Leave a Reply