Log in

View Full Version : Need a little help with eac3to


Roscoe62
9th January 2009, 12:40
The short story is this:

I have an HD-DVD movie I want to back up as an .m2ts file. The main movie is spread over 2 evo files. The video is VC-1 and the audio track I want is Dolby TrueHD. I'd like eac3to to demux the VC-1 video file and to convert the TrueHD audio to an LPCM audio track, but I'm not sure how to do this.

The LONG story is this: (please feel free to skip this)
I recently built a new HTPC based around the nVidia 8200 chipset which would give me a way of delivering both audio & video via the HDMI output. To date I've backed up all my HD-DVD and Blu-Ray titles using eac3to into mkv files and I keep them on my server. After building the new HTPC and playing back some movies I was horrified to see that, of the 8 movies I've watched so far, FOUR of them are exhibiting very obvious pixelation issues. I read and re-read the various forums over on AVS to make sure I'd set the PC up correctly and I have not found anything I've done wrong - additionally the CPU I use should be far more powerful than I need.

Anyway, I fast approached the point where I was so frustrated I considered ditching the whole HTPC thing and switching to a Popcorn Hour instead. While investigating the PCH I found a few posts about some problems the PCH had trying to play back mkv files where the video was VC-1. There was some comment made about mkv having problems with VC-1 and the advice was to back up VC-1 movies into either a .ts or .m2ts file instead using tsmuxer, where it was assured the PCH would playback VC-1 titles without any hitches. After checking the movie files I was having problems with, sure enough, all four had VC-1 video. Anything with AVC (h264) plays back without issues.

Now, my old HTPC, which was just based around a nVidia 8600 board had no problem playing back these files, but I wondered whether the 8200 chipset on the board was just "fussier" and was having difficulties in a similar way to the Popcorn Hour.

Just as an experiment I thought it might prove interesting to re-rip my original HD-DVD, and put it into an m2ts file to see whether that made any difference to the problem or not, hence my original question. If it does play back without any hitches, I guess I'll probably re-rip all my VC-1 titles to m2ts. If it doesn't make any difference I figure I'm VERY close to dumping my HTPC and going to a Popcorn Hour.

Just in case anyone's interested the four movies I've seen visible pixelation in are - Batman Begins, The Bourne Identity, The Bourne Supremacy and The Dark Knight. Batman Begins is definitely the worst offender with pixelation appearing within the first 30-40 seconds of playback, but getting MUCH worse - especially in the darker scenes, and the Dark Knight being the least affected where I only counted about 4 examples of pixelation in the whole movie.

Sorry for ranting on here, but this issue has had me pulling my hair out. Any help getting the audio & video out with eac3to is definitely appreciated!

madshi
9th January 2009, 13:16
I have never had any problems at all with VC-1. MKV supports VC-1 just fine. There have been some problems in the early days, but they've been caused by bad muxing. If you suspect that your NVidia chip makes problems, why don't you try the ffdshow VC-1 software decoder? Also I believe you can turn on/off hardware acceleration of VC-1 somewhere in the registry for the MS VC-1 decoder. A modern CPU should be fast enough to play VC-1 Blu-Rays without hardware acceleration, anyway.

BTW, you might want to upload some screenshots of those "pixelation" issues you have, because a picture tells more than 1000 words. Please don't attach them to the forum, upload them to some free image host.

Roscoe62
9th January 2009, 15:06
Up until using this 8200 chipset I hadn't had any problems with VC-1 either. I've always used the Microsoft WM DMO filter to playback VC-1 - I don't know whether HA is enabled or disabled by default, but I can't find any settings anywhere - in the registry or elsewhere.

I will try out the ffdshow VC-1 filter to see if it makes a difference. Also, I'll try to capture a screenshot of the problem - but the HTPC's connected to a projector, so it may not be easy to grab. Also, my description may not have been the best - it's like the picture deteriorates into bunches of square blocks in some areas of the screen - as you say - a screenshot would explain it much better.

madshi
9th January 2009, 16:14
Have you tried updating to the latest NVidia BIOS and drivers? If so, you can try using the Haali Renderer. When doing that, hardware acceleration is not possible. So if the corruption you're seeing is gone then, then it's a problem with hardware acceleration.

Roscoe62
9th January 2009, 23:20
Madshi,

you are a genius! :)

I already have the most up-to-date BIOS & drivers, but I NEVER would have thought changing over to use the Haali renderer would fix the problem...but it seems to have worked! I'll give it a more thorough test tonight but I'm very grateful for you to point me in the right direction.

So, I guess hardware acceleration is broken on my board. But that's OK - I never really trust HA, which is why I put a far more powerful CPU than I needed in this thing. I just didn't know that the MS VC-1 filter was trying to use HA. BTW...the ffdshow VC-1 filter didn't do so well - I saw a number of video pauses appearing which put it out of sync with the audio. Anyway, using the MS VC-1 filter with the Haali renderer seems to have done the trick!

BTW....I know there are many that recommend the Haali renderer, but is the general consensus that it's superior to VMR9? (I'm still using XP instead of Vista).

If so, I think I'll just stick to using Haali's renderer all the time.

madshi
10th January 2009, 08:01
BTW...the ffdshow VC-1 filter didn't do so well - I saw a number of video pauses appearing which put it out of sync with the audio.
Yeah, the ffdshow VC-1 decoder is not as fast as the MS VC-1 decoder. I only suggested testing it to see whether it would show corruption, too.

BTW....I know there are many that recommend the Haali renderer, but is the general consensus that it's superior to VMR9? (I'm still using XP instead of Vista).

If so, I think I'll just stick to using Haali's renderer all the time.
The Haali Renderer has some advantages and some disadvantages over VMR9:

+ it bypasses the graphics cards video manipulations
+ it's very smooth (no frame drops etc)
- it doesn't support hardware acceleration
- it doesn't have a fullscreen exclusive mode

Personally, I can't use the HR because of the missing fullscreen exclusive mode, because of which I get tearing with the HR. If you don't have this problem and if you don't need/want hardware acceleration then the HR is a good choice. Some people prefer VMR9/EVR because they seem to show a slightly sharpened image. But as far as I can say, that's probably artificial sharpening, I guess...

One suggestion: If you do use the HR, I'd suggest to use the ffdshow raw video processor to convert YCbCr -> RGB32 (high quality). This way you bypass the HR's RGB conversion (which is not optimal). But you can also use VMR9/EVR and try to disable DXVA for the MS VC-1 decoder. I think it should be possible somehow. Or you could just force YCbCr -> RGB32 (high quality) conversion in the ffdshow raw video processor, when using VMR9/EVR, too. Doing that will also disable hardware acceleration, because hardware acceleration doesn't work, if the renderer is fed with RGB data...

Roscoe62
11th January 2009, 04:04
Madshi,

Thanks again for your advice, however that leads me to a couple more questions. If you don't have time to answer please help me to know where I can go to find the answers.

Personally, I can't use the HR because of the missing fullscreen exclusive mode, because of which I get tearing with the HR.

So you see tearing because the renderer doesn't have a fullscreen exclusive mode? Is that the main reason people use fullscreen exclusive mode? Are there any other advantages to using a fullscreen exclusive mode?

One suggestion: If you do use the HR, I'd suggest to use the ffdshow raw video processor to convert YCbCr -> RGB32 (high quality).

That's just in the ffdshow "Output RGB Conversion" tab on the right-hand side? So I'd just enable that in the ffdshow filter settings? I see there's also a choice between BT601 & BT709 - any ideas which one is correct? Also, when inserting it into the graph, ffdshow would go just prior to the renderer?

This way you bypass the HR's RGB conversion (which is not optimal).

Do you know what the implications are from a "real-world" perspective of getting ffdshow to do the RGB conversion instead of Haali's renderer? (what advantages would there be in using ffdshow to do the RGB conversion, which I assume is more optimal)

Again, thank you for your advice and your time!

madshi
11th January 2009, 12:22
So you see tearing because the renderer doesn't have a fullscreen exclusive mode? Is that the main reason people use fullscreen exclusive mode? Are there any other advantages to using a fullscreen exclusive mode?
Main reason is getting rid of tearing. Maybe it also reduces jitter a bit, not sure...

That's just in the ffdshow "Output RGB Conversion" tab on the right-hand side? So I'd just enable that in the ffdshow filter settings? I see there's also a choice between BT601 & BT709 - any ideas which one is correct?
BT601 is for SD content, BT709 for HD content. Also you need to set the contrast settings right. Use "full range" for a TV/projector and "standard" for a computer monitor. There's discussion going on about how to change all these ffdshow RGB conversion options to make them more intuitive...

Also, when inserting it into the graph, ffdshow would go just prior to the renderer?
The ffdshow raw video process, yes.

Do you know what the implications are from a "real-world" perspective of getting ffdshow to do the RGB conversion instead of Haali's renderer?
Haali's YCbCr -> RGB conversion is fast, but not fully correct, AFAIK. ffdshow's conversion is correct.

Roscoe62
11th January 2009, 18:57
Very informative...Thank you very much! :)