SageTV Community  

Go Back   SageTV Community > SageTV Products > SageTV Software
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Software Discussion related to the SageTV application produced by SageTV. Questions, issues, problems, suggestions, etc. relating to the SageTV software application should be posted here. (Check the descriptions of the other forums; all hardware related questions go in the Hardware Support forum, etc. And, post in the customizations forum instead if any customizations are active.)

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 10-20-2012, 01:44 PM
mkanet's Avatar
mkanet mkanet is offline
SageTVaholic
 
Join Date: Feb 2004
Posts: 3,359
Thumbs up SageTV PC client Bluray VC-1 stutter bug finally fixed today

Two years ago, I had reported to a sageTV developer that SageTV Client Bluray VC1 playback was broken. However, he wasn't able to fix the issue; saying, he would take a look at it later. Just last week, I had emailed SageTV support's current email about the problem; but never got a response.

Below shows what goes on "under the hood". The cause... "SageTV MpegDeMux"; which can't be replaced in SageTV for BD playback.



Two years later... The creator of LAV filters, nevcairiel, came to the rescue! He identified what caused this issue, and provided a fix for this problem in his very popular Video decoder version 0.52 released today. I have to admit, it was tough to convince him to add code in his video decoder to compensate for a bug in SageTV. Anyway I can confirm that the problem is definitely addressed in LAV Video decoder.

nevcairiel, thank you so much for making this possible!

The sageTV client VC1 bug is fixed in the LAV Filters video decoder released today: 10/20/2012

LAV Filters Ver. 0.52: Installer (both x86/x64) -- Zips: 32-bit & 64-bit
Code:
LAV Video Fixes in this update:
- Support for DVD Video decoding
- Slight GPU memory usage reduction with DXVA2 Native
- Fixed video corruption after seeks with VP3/Theora
- Fixed decoding of "old" H.264 4:4:4 lossless files
- More strict handling of output pixel formats, only enabled formats are allowed for output
- QuickSync: Improved compatibility with new driver series
- Improved support for VC-1 with the SageTV MpegDemux
Details are in the LAV Filters support forum thread.

Below is the original post quote from nevcairiel explaining exactly what's wrong with the sageTV demux.
Quote:
Originally Posted by nevcairiel View Post
Looks like the SageTV demuxer is buggy with VC-1. It sends the timestamps of every frame one frame too early.

I played this file:
http://files.1f0.de/samples/vc1-interlaced-bframes.m2ts

At the beginning of the file, here is how it looks with the SageTV demuxer:
(All times in milliseconds for clarity)
Code:
Decode Order (in the file):
I-Frame #1, time: 120
I-Frame #2, time: 40
B-Frame #3, time: 80
B-Frame #4, time: 240
I-Frame #5, time: 160
B-Frame #6, time: 200
B-Frame #7, time: 360
I-Frame #8, time: 280

Reordered into Display Order:
I-Frame #1, time: 120
B-Frame #3, time: 80
B-Frame #4, time: 240
I-Frame #2, time: 40
B-Frame #6, time: 200
B-Frame #7, time: 360
I-Frame #5, time: 160
As you can see, it doesn't start at 0, as it should, and the re-ordered version just doesn't give a proper list of timestamps.

And here with any other working MPEG Demuxer:
Code:
Decode Order (in the file):
I-Frame #1, time: 0
I-Frame #2, time: 120
B-Frame #3, time: 40
B-Frame #4, time: 80
I-Frame #5, time: 240
B-Frame #6, time: 160
B-Frame #7, time: 200
I-Frame #8, time: 360

Reordered into Display Order:
I-Frame #1, time: 0
B-Frame #3, time: 40
B-Frame #4, time: 80
I-Frame #2, time: 120
B-Frame #6, time: 160
B-Frame #7, time: 200
I-Frame #5, time: 240
After re-ordering, the times line up perfectly.

Before the question comes up, re-ordering in VC-1 is quite simple.
If you find a I or P frame, delay it until the next I or P frame. B-Frames are output immediately.
So IIBBIBB turns into IBBIBBI. First I frame is delayed until the second I-Frame (which comes immediately after), the two B-Frames are then output immediately, the second I-Frame is output when the third is encountered, and so on.

So, @mkanet:
If there is the possibility to communicate this problem to the SageTV developers, please do so. Feel free to point them in my direction if they have any questions.

While i could try to somehow hack a fix into LAV, i feel rather uncomfortable doing so, because its a rather ugly and fragile work around, for a problem that is quite clearly in the source filter.
In general, i prefer to not employ very ugly hacks to fix bugs in other software. Bugs should be fixed where they happen, and not be worked around in other places. Sorry that this doesn't help you right now, but in the long run its just the better solution for everyone.
__________________
Upgraded to Comcast X1 + Netflix/Amazon Video streaming

***RIP SageTV***

Last edited by mkanet; 10-20-2012 at 10:11 PM.
Reply With Quote
  #2  
Old 10-20-2012, 09:22 PM
BobPhoenix BobPhoenix is offline
SageTVaholic
 
Join Date: Oct 2004
Posts: 3,152
Think it might depend on the Graphics processor. On my i7 3770S (HD4000 Intel graphics) server it works fine. On my i3 2330M (HD3000 Intel graphics) client it does not.

I use the Chuck pilot episode from BluRay disk 1 to test. If the pilot plays back correctly then it passes. I have the most current Intel drivers installed on both PCs. It gets rid of the micro studders that I see with the Microsoft decoders but it seems to lockup on individual frames on the i3.

When I disable the SageTVStreamDemux in the registry and use an MKV rip it plays back fine with what I am assuming is the LAV splitter since I uninstalled Haali.

So any pointers for weaker processors would be appreciated. I might just reinstall OS and everything else and see if that helps. The fact that the micro studders are gone makes me think it might just be in the client configuration somewhere.
Reply With Quote
  #3  
Old 10-20-2012, 09:58 PM
mkanet's Avatar
mkanet mkanet is offline
SageTVaholic
 
Join Date: Feb 2004
Posts: 3,359
Bob, there is a bug in the sagetv demux filter (VC1) pinout which delivers the video frames off one frame too early. This affects all machines the same way; resulting in constant stutter. Nev's latest video filter detects sagetv'w demuxer and anticipates the wrong timing; compensating for it by reordering the video frames.

As long as you have a relatively new display card; ideally, one with Nvida Cuda suppport, your system CPU doesnt get too involved. My $100 Nvidia GT640 works very well, system CPU consumption is trivial.... 4%-5% usage during playback on my 6 year old PC.

If you have high CPU usage or have stuttering, its because your display card (and respective drivers) can't successfully use hardware acceleration for VC1. Or, you have an older display card. My 6 year old PC certainly couldn't do it on it's own; causing without proper hardware acceleration.

MKV playback isn't related to the issue that LAV video fixes since sagetv demux can be avoided for MKV. Its only TS/M2TS/BD disc/BD ISO.

Edit: I editing the first post to include a quote from Nev; which explains exactly what's wrong with the sageTV demux when playing back VC1.
__________________
Upgraded to Comcast X1 + Netflix/Amazon Video streaming

***RIP SageTV***

Last edited by mkanet; 10-20-2012 at 10:14 PM.
Reply With Quote
  #4  
Old 10-21-2012, 12:01 AM
silkshadow's Avatar
silkshadow silkshadow is offline
Sage Expert
 
Join Date: Oct 2004
Location: Philippines
Posts: 550
This is amazing, love LAV. Kudos and thanks to you for pursuing this.

Do you check the box that says use DMO decoder at the bottom for this to work? Or should that be unchecked?

Last edited by silkshadow; 10-21-2012 at 12:06 AM.
Reply With Quote
  #5  
Old 10-21-2012, 11:26 AM
BobPhoenix BobPhoenix is offline
SageTVaholic
 
Join Date: Oct 2004
Posts: 3,152
Quote:
Originally Posted by mkanet View Post
Bob, there is a bug in the sagetv demux filter (VC1) pinout which delivers the video frames off one frame too early. This affects all machines the same way; resulting in constant stutter. Nev's latest video filter detects sagetv'w demuxer and anticipates the wrong timing; compensating for it by reordering the video frames.

As long as you have a relatively new display card; ideally, one with Nvida Cuda suppport, your system CPU doesnt get too involved. My $100 Nvidia GT640 works very well, system CPU consumption is trivial.... 4%-5% usage during playback on my 6 year old PC.

If you have high CPU usage or have stuttering, its because your display card (and respective drivers) can't successfully use hardware acceleration for VC1. Or, you have an older display card. My 6 year old PC certainly couldn't do it on it's own; causing without proper hardware acceleration.

MKV playback isn't related to the issue that LAV video fixes since sagetv demux can be avoided for MKV. Its only TS/M2TS/BD disc/BD ISO.

Edit: I editing the first post to include a quote from Nev; which explains exactly what's wrong with the sageTV demux when playing back VC1.
I understand. What you said above is what I was getting at. This will only help if you can get the GPU to do hardware decoding. My 4 year old G45 based board will playback VC-1 correctly if I'm not using the Sage splitter and the CPU helps with the decoding.
Reply With Quote
  #6  
Old 10-23-2012, 10:55 PM
Yalbik Yalbik is offline
Sage User
 
Join Date: Sep 2006
Location: Calgary, Canada
Posts: 63
Timely post!

I just set up my laptop (Core i5 GT520) as a Sage Client last week and was very pleased with how it was working....except on VC1 blu rays.

With VC1, I was seeing a consistent "micro-stutter", almost as if I was watching the video in a room with with a very fast strobe light. The LAV decoder completely fixed the issue.

Thanks very much for pursuing this! It's unfortunate that this is exactly the sort of thing that Google will almost certainly never fix.
Reply With Quote
  #7  
Old 10-27-2012, 06:01 PM
Gustovier Gustovier is offline
Sage Aficionado
 
Join Date: Nov 2010
Location: Chicago
Posts: 460
Please excuse my ignorance here,

But how do I go about setting up the sage client to use the LAV filters. I downloaded installer, but not quite sure where to go from there. Thanks!
Reply With Quote
  #8  
Old 10-27-2012, 07:04 PM
mkanet's Avatar
mkanet mkanet is offline
SageTVaholic
 
Join Date: Feb 2004
Posts: 3,359
You need to make sure that you've selected the 32bit video filter in the LAV filters installer. You'll only need that for SageTV BD playback. Then, you're need to restart sageTV client. After restarting sageTV client, you'll need to go under Setup ->Detailed Setup -> Video / Audio--> VC-1 Video Decoder Filter and select "LAV Video Decoder". LAV Video Decoder wont be in the default list, you'll have to select "List all decoder" to find it and select it that way.

You may want to also do the same thing for H.264 Video Decoder Filter and MPEG2 Video Decoder Filters since LAV Video decoder can handle all those video formats very well.

Lastly, if you have a newer Nvidia card, you can go under LAV Video configuration (under Window Start Menu) and select "Nvidia CUVID" as your Hardware Decoder to use. It may already default to that. You should also make sure the Codecs for HW decoding section has all the video formats checked that you'll be using. After you make these changes, youll have to restart sageTV client again.

If you did everything correctly (and have a compatible video card), all your BD ISO movies and BD discs will have smooth video without stutter; not only H.264 AVC discs.

Good luck

Quote:
Originally Posted by Gustovier View Post
Please excuse my ignorance here,

But how do I go about setting up the sage client to use the LAV filters. I downloaded installer, but not quite sure where to go from there. Thanks!
__________________
Upgraded to Comcast X1 + Netflix/Amazon Video streaming

***RIP SageTV***
Reply With Quote
  #9  
Old 02-12-2013, 11:35 PM
Striker:WG Striker:WG is offline
Sage Aficionado
 
Join Date: Oct 2008
Posts: 472
I have setup the LAV filters and gotten VC1 working nice and smooth. I too have been waiting for this type of fix as my VC1 rips were very stuttery.

The one issue I am having is that when I use VMR9 the VC1 playback is just a green screen, no actual video. This forces me to use EVR which has never played nice on my system. Sage crashes constantly and I don't know why. The error is referencing atiumdva.dll which is an ATI dll. As I have gone through several ATI cards and countless catalyst updates and the issue has not resolved i'm sure the issue is a combination of Sage, ATI, and something else on my system.

Do you know if there is a way to get the LAV filters to work with Sage and VMR9? I'm also open to suggestions on how to fix the EVR issue if that is a possibility.

Thanks,

-Striker-
Reply With Quote
  #10  
Old 04-22-2013, 05:20 PM
BobPhoenix BobPhoenix is offline
SageTVaholic
 
Join Date: Oct 2004
Posts: 3,152
Quote:
Originally Posted by BobPhoenix View Post
Think it might depend on the Graphics processor. On my i7 3770S (HD4000 Intel graphics) server it works fine. On my i3 2330M (HD3000 Intel graphics) client it does not.

I use the Chuck pilot episode from BluRay disk 1 to test. If the pilot plays back correctly then it passes. I have the most current Intel drivers installed on both PCs. It gets rid of the micro studders that I see with the Microsoft decoders but it seems to lockup on individual frames on the i3.

When I disable the SageTVStreamDemux in the registry and use an MKV rip it plays back fine with what I am assuming is the LAV splitter since I uninstalled Haali.

So any pointers for weaker processors would be appreciated. I might just reinstall OS and everything else and see if that helps. The fact that the micro studders are gone makes me think it might just be in the client configuration somewhere.
Well I finally got around to re-installing the OS and this now works on my i3 2330M (HD3000 Intel graphics) client so now I can say it is working everywhere. It was actually a setting in the LAV decoders I should have tried. When I turned on Intel QuickSync hardware decoder in the LAV video decoder it worked. So I would recommend this for anyone with Intel HD3000 or up. It didn't work for me until I turned on Quick Sync so if you have a Sandy Bridge CPU try using the 0.56.1 LAV version and turn on Quick Sync hardware decoding - works for me.
Reply With Quote
  #11  
Old 04-23-2013, 11:46 AM
MattHelm MattHelm is offline
Sage Icon
 
Join Date: Jun 2005
Location: Chicago, IL
Posts: 1,209
I read somewhere that LAV did not like AMD video cards. Is this still true, or has it been fixed. (I think the post I read was older)
__________________
Server #1= AMD A10-5800, 8G RAM, F2A85-M PRO, 12TB, HDHomerun Prime, HDHR, Colossus (Playback - HD-200)
Server #2= AMD X2 3800+, 2G RAM, M2NPV-VM, 2TB, 3x HDHR OTA (Playback - HD-200)
Reply With Quote
  #12  
Old 04-23-2013, 12:50 PM
mkanet's Avatar
mkanet mkanet is offline
SageTVaholic
 
Join Date: Feb 2004
Posts: 3,359
LAV has specific enhanced support for Nvidia CUVID and Intel QuickSynch. For ATI, all you need to do is set it for DXVA2 support; which will be perfectly fine for all Bluray playback.

BTW: No matter what card you have, you will still need to use a recent version of LAV filters if you plan on watching Bluray stutter-free on your sageTV PC client; at least Bluray movies with VC1 encoding. LAV Video is still the only video decoder that has builtin support for the SageTV VC1 stuttering bug on PC Clients.

All you have to do is set it to the DXVA2 for ATI, CuVID for Nvidia, and Intel QuickSynch for recent Intel CPUs.
__________________
Upgraded to Comcast X1 + Netflix/Amazon Video streaming

***RIP SageTV***
Reply With Quote
  #13  
Old 04-26-2013, 10:54 AM
dcardellini dcardellini is offline
Sage Advanced User
 
Join Date: Nov 2005
Location: Houston
Posts: 176
Quote:
Originally Posted by mkanet View Post

......BTW: No matter what card you have, you will still need to use a recent version of LAV filters if you plan on watching Bluray stutter-free on your sageTV PC client; at least Bluray movies with VC1 encoding. LAV Video is still the only video decoder that has builtin support for the SageTV VC1 stuttering bug on PC Clients...........
I am going to try this shortly. Love not having to use commercial codecs!!

However, for the past year I am currently able to get smooth VC-1 playback from BluRay Disks, BluRayFolder rips, and mkv/VC-1 files by the following:

LAV Splitter
Arcsoft codec
Disable Sagetv demux using regedit
Choose Video VC-1 Decoder Filter = Arcsoft in Sagetv setup-video/audio

(integrated iGPU on intel i3, and amd 780g, 785g systems)

Last edited by dcardellini; 04-26-2013 at 11:01 AM.
Reply With Quote
  #14  
Old 04-28-2013, 12:49 PM
BobPhoenix BobPhoenix is offline
SageTVaholic
 
Join Date: Oct 2004
Posts: 3,152
Quote:
Originally Posted by dcardellini View Post
I am going to try this shortly. Love not having to use commercial codecs!!

However, for the past year I am currently able to get smooth VC-1 playback from BluRay Disks, BluRayFolder rips, and mkv/VC-1 files by the following:

LAV Splitter
Arcsoft codec
Disable Sagetv demux using regedit
Choose Video VC-1 Decoder Filter = Arcsoft in Sagetv setup-video/audio

(integrated iGPU on intel i3, and amd 780g, 785g systems)
I had no problems with MKVs using almost any decoder and any other splitter but the SageTV splitter. But since the regedit doesn't disable the SageTV splitter for M2TS files the only way I've found for studder free playback in SageTV is to use the LAV decoder for VC1 playback that MKanet specified. My test case is the Season 1 pilot of Chuck and the starting seen that pans the night lights of LA.

Last edited by BobPhoenix; 04-28-2013 at 12:52 PM.
Reply With Quote
  #15  
Old 05-09-2013, 11:42 AM
dcardellini dcardellini is offline
Sage Advanced User
 
Join Date: Nov 2005
Location: Houston
Posts: 176
I will try to obtain that VC-1 disc shortly and try it.
Reply With Quote
Reply

Tags
sagetv vc1 bug


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

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

Similar Threads
Thread Thread Starter Forum Replies Last Post
How to get stutter-free VC1 bluray disc playback in Windows client? mkanet SageTV Software 39 08-24-2011 07:15 PM
My constant HD-PVR crashing finally fixed 2 years later autoboy Hardware Support 1 06-06-2011 04:52 PM
[FIXED] HD-200 Arrived Today: Not a good start.... Slack SageTV HD Theater - Media Player 42 09-18-2009 10:49 PM
Finally fixed my deinterlacing issues with the HD Extender... Slipshod SageTV Media Extender 7 02-15-2009 02:58 PM
CAT 4.2 finally fixed my Theater Mode Problem auggie SageTV Software 0 02-16-2004 02:30 PM


All times are GMT -6. The time now is 12:56 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.