Log in

View Full Version : MadVR+bistreamed audio = dropped/repeat frames


oddball
12th March 2012, 03:27
OK you are wondering WTH I am on about so here we go. I would much prefer to have my audio bitstreamed where appropriate to my 'old' 7.1 Receiver (Sony STR-DB790). At present I send video via HDMI from my Nvidia GTX560. Because my receiver has no HDMI capability I can either send it as SPDIF (optical or coax) or as 8 channel analog from a cheapo external USB soundcard (My current setup). I currently use ReClock to match the audio to the source video then 24p on my HDTV (Panasonic G20B).

However it would be preferable to use bitstreaming for most Non-PAL sources that support it. This is where I hit a snag. If I want to use MadVR as the renderer with bitstreamed audio I get frame drops every few minutes. I am guessing this is due to MadVR not compromising on framerate vs output sync? When I do CTRL-J I get a reading of 23.97105FPS in 23Hz mode and 24.00x in 24Hz mode. With 23Hz I get 1 frame drop every 3-4 minutes and with 24Hz mode it says on repeat frame every 40 or so seconds or somesuch (I see a dropped frame at around the same time though of 3-4 minutes in either case). I clearly see these as a glitch every so often when viewing.

If I use EVR Sync and set it to sync to the display I get 0 frame drops but I watch as the actual framerate keeps moving up and down between 23.971-23.993. So I am guessing much like ReClock does with audio it varies the framerate slightly to match the sync? I may be wrong on this so please correct me and yes I am aware ReClock is resampling on-the-fly the audio not speeding it up and down (or you might notice pitching issues).

So I tried forcing a custom resolution of 23.976 or close to and managed to get it working. At beginning of playback it reports 0 framedrops predicted for 15+ hours and rising. However I now had a new problem. I get a mirror line at the bottom of the TV rather like what you used to get on VHS tapes when the tracking was off. I have tried various different timings and can't get the line to budge. It will only look correct at the default 23Hz and 24Hz. Very frustrating!

I don't know if this is Nvidia's crappy drivers (I have tried several versions right up to the latest) or my G20B not liking it.

So I am back to using ReClock resampling to analog out again for now. I can't quite afford a new receiever with HDMI capability yet and I would still prefer bistreaming anyhow for anything other than True-HD etc.

It's nothing major it's just something that is bugging me. I can't hear the difference to be honest. But you know what people (Like me) are like with having that blue light come on.

BTW I tried forcing ReClock to accept bitsreaming but I can see instead of dropped video frames I get dropped audio frames instead (Funny how the blue light never gets interrupted though). I hear it though as an occasional audio glitch I think.

I've been pondering how it can't really be the TV as it accepts Nvidia's 23.97100 signal fine (No line at bottom of screen). I would have thought the TV would find that a strange output unless Nvidia's drivers read it from the TV's EDID or something? It's both confusing and annoying me.

dukey
12th March 2012, 11:33
I get a mirror line at the bottom of the TV rather like what you used to get on VHS tapes when the tracking was off.

Sounds like the tv doesn't support the refresh rate you are giving it. There's not much you can do to fix that. They probably have limited checking for input frequencies so probably just work even though the timing is off a bit, hence your line. I'd just speed the video up to 24fps, the original frame rate and live with audio that is very slightly faster. Less than 1% so I wouldn't cry about it. I wouldn't bother re sampling it to match the output speed, probably unnecessarily degrade the audio compared to such a minor rate change.

oddball
12th March 2012, 19:44
Sounds like the tv doesn't support the refresh rate you are giving it. There's not much you can do to fix that. They probably have limited checking for input frequencies so probably just work even though the timing is off a bit, hence your line. I'd just speed the video up to 24fps, the original frame rate and live with audio that is very slightly faster. Less than 1% so I wouldn't cry about it. I wouldn't bother re sampling it to match the output speed, probably unnecessarily degrade the audio compared to such a minor rate change.

I don't see how that is possible. If I send pure bitstream to SPDIF out with MadVR as the video renderer I get VISIBLE dropped frames. If I send the bitstream through ReClock and force it to speed up the video to 24fps I then get dropped audio frames in the bitstream even though it's not being resampled. Because the video is being sped up to 24fps the audio would go out of sync so in order to keep it in sync ReClock allows the bitstream packets to be repeated causing audible glitches. You can count the audio frames being dropped and repeated as you view it in ReClock.

I can't win either way.

The only possible way to use MadVR as the video renderer and keep both audio and video synced without glitches is to allow the audio to be decoded to analog and let ReClock resample it 'on-the-fly' that I can see or just don't use MadVR. Why does EVR-Sync work without dropping frames? I am pretty sure it adjusts the framerate up and down slightly (impercetably) to match the vsync. I may be wrong of course so hopefully someone can chime in with more info on this. I already asked Madshi if he would include a similar 'option' but he refuses to compromise in any way shape or form.

EDIT: OK I tried cleaning out any trace of the Nvidia drivers and now I managed to get 23.97665fps which is close enough to not notice through a two hour movie. Maybe longer. I also got rid of the line somehow. Hope it stays that way.