High-End HTPC Guide for HD Video Processing - AVS Forum
Forum Jump: 
 
Thread Tools
post #1 of 23 Old 11-14-2012, 03:21 PM - Thread Starter
Member
 
RetroElectro's Avatar
 
Join Date: Mar 2007
Posts: 140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Introduction
There are many good guides for building an HTPC that cover the majority of use cases. Conventional wisdom says that a powerful PC is not needed for a modern HTPC thanks to quality software like LAV and MadVR. High-end HTPC builds are usually built for other tasks like gaming. A recent development in the HT world is that projector users are experimenting with the Darbee Darblet for video processing. The PC has been a video post-processor since the DVD days. But if we want to use a PC for processing today’s videos, most of the software guides out there are old and based on issues inherent in SD formats. The other issue is since most modern HTPCs are now underpowered they may not be able to run a post-processing workflow with high IQ in realtime. This documents my HTPC build for realtime Avisynth HD post processing and can hopefully serve as a guide to others looking to push the envelope. Also, since I will discuss overclocking, I take no responsibility for degraded chips or any adverse reactions you may have (technical or social) based on any of the steps or settings I’ve listed.

Why process video—isn’t it better to play video “untouched”?
The idea of playing back content untouched can probably be traced back to the audio world. But even there you will find audiophiles adding vacuum tubes, equalizing subs, and performing active room correction to manipulate the sound. Here are a few reasons for performing video processing:
  1. Correct limitations in the display device. HTPCs can perform color correction, provide additional adjustments that may be missing in your display, etc.
  2. Correct or reduce artifacts in the encoded file. HD encoded videos using AVC/H.264 or VC1 have been around for a few years now. Based on the current standards and practices, we see that these videos can contain artifacts like
    • Banding. This is due to the 8-bit bit depth used and can be seen in animation and anywhere smooth gradients exist. MadVR’s dithered level expansion and RGB conversion does not address this.
    • Grain reduction/elimination. This can be caused by the encoder settings that were used. It can also happen with studio DNR.
    • Slower frame rate for cinema content (24 FPS encoded at 23.976 FPS). The last item may not be an issue to you, but the Universal Studios intro fanfare always sounds wrong to me at 23.976.
  3. Control the video processing workflow so that it runs in a logical sequence. For example, you usually want to sharpen an image after resizing it, not before.
  4. Work around limitations with the playback device (PC drivers). Due to the nature of the PC, this one is YMMV. An example is how outputting to RGB can bypass driver behavior for PC/TV levels, etc.
  5. Season to taste. You’re an adult—you’ve earned the right to have a preference on what you see. The video standards and calibration guys won’t round people up in the middle of the night.


HTPC requirements
  • Video processing of HD film content for a Planar 8150 DLP projector
  • Audio processing for 24Hz playback
  • Media center/player for video library
    • Must allow DirectShow processing
    • Shouldn’t launch external players
    • User friendly with configurable eye candy
    • Large plugin library
  • Fast video transcoding for offline viewing on portable devices, etc.
  • Fast video transcoding for realtime viewing on portable devices
  • File serving for network streamers and portable devices
  • Must support S3 sleep and Wake On LAN
  • No DVR/tuner requirements
RetroElectro is offline  
Sponsored Links
Advertisement
 
post #2 of 23 Old 11-14-2012, 03:21 PM - Thread Starter
Member
 
RetroElectro's Avatar
 
Join Date: Mar 2007
Posts: 140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Hardware (WIP)
CPU - Intel 2700K Sandy Bridge
A powerful multi-core CPU is needed to meet realtime Avisynth and transcoding requirements. Avisynth plugins and scripts are very CPU intensive—even more so with HD material. For transcoding performance, Intel QuickSync and other hardware based encoders are faster than CPU encoding, but does it at the expense of image quality.
I'm overclocking the 2700k to 4.8 GHz using offset voltage. With this chipset and CPU, you can overclock the CPU by defining a multiplier&CPU core voltage (vcore). The traditional overclocking method is to set a manual vcore value with a max multiplier and your overclocked CPU uses that voltage regardless of the load. OTOH, the offset method is an environmentally friendly way to overclock. It dynamically changes the vcore based on the LLC level you define and the CPU's load. This means at idle, your CPU can downclock to 1.6GHz and consume ~1V but is able to ramp up to your max frequency at 1.x V under load. Another benefit of this method is that it may extend the life of your CPU since it's not running at max vcore the entire time. Here are some general points about using this CPU.
  • A high overclock is usually easier to achieve with Sandy Bridge vs Ivy Bridge due to IB’s high temperatures
  • Intel CPUs with the "k" suffix don't have a locked multiplier
  • Hyperthreading should be enabled to give Avisynth 8 threads
  • The maximum overclock frequency you should use for your CPU should be within the Intel specs for max vcore AND is able to pass stability testing using Prime95, Intel Burn Test, etc. An overclock is usually considered stable if you can run a Blend test in Prime95 for 12 hours. In the past, overclockers only worried about high temperatures, but high voltages will also degrade a CPU. There’s a lot of discussion about what the max vcore is for a particular Intel processor. The max vcore I give my 2700K is ~1.4V based on my usage. This isn’t a 24/7 overclock for Folding and I only use the max frequency when specific apps run (DirectShow players, encoders, benchmarking tools). Using ~1.4V is no guarantee that the chip won’t degrade but I accept the risks and there’s also the Intel Performance Protection Plan if needed.
  • Speedstep/turbo is enabled. C1, C3,C6 are disabled so I can set the CPU frequency manually with OS power schemes & scripting. I would rather control the frequency vs the CPU doing it with the C states. When the CPU managed it I would get stuttering due to core parking and random frequency/voltage ramping depending on scene changes in the video. mad.gif You don't want that. I'll describe the wrapper scripts in the Software section.


RAM - 2x4GB Samsung Green DDR3 1600
Most people will say DDR3 RAM@1600MHz is the sweet spot for Sandy Bridge and that there is very little improvement from faster memory outside of benchmarking. As an anecdote, I will say that I started with 2x4GB Kingston HyperX Genesis DDR3 1600 at 1.65V before I knew about the SB requirements for DRAM voltage. After finding the spec, I switched to Corsair Vengenace DDR3 1600 ram that had the same timings as the Kingstons, but only needed 1.5V. After the switch, I got frame drops and stuttering using the same processing workflow that the Kingstons were able to handle. I reset and tightened up the DRAM timings multiple times on the Corsairs but couldn’t get rid of the stuttering. So I’m assuming running RAM outside of Intel’s 1.5V spec was in effect an overclock but I didn’t want to do this and risk degrading the CPU. Luckily for me, there was a lot of buzz around Samsung’s low voltage DDR3 ram. Once I replaced the Corsairs with the Samsungs overclocked to 2133MHz everything ran fine again.
  • Excellent bang per buck
  • Can run overclocked to 2133MHz with 10-10-10-28 1T timings at 1.5v to meet Sandy Bridge specs for DRAM voltage.


Motherboard - Asus Maximus Gene V
A Z77 Ivy Bridge motherboard with good overclocking flexibility. I chose Asus because their ROG motherboards have an active user community that I could glean info from. The motherboard also comes with a suite of utilities that's useful for overclocking. My favorite tool is FanXpert. It lets you define a profile to control the speed of PWM fans based on temperature.

Video Card - An old Nvidia GT430 video card
This was a leftover from my old build. It has shader support for CUDA decoding and MadVR, 3D Vision, and 24Hz output. I would upgrade the video card if I decide to get into PC gaming. I haven't tried the Intel iGPU solution yet. LAV video does support QuickSync decoding for H.264 which should be faster than the CUDA support on my old GT430. However, decoding performance isn't the bottleneck so I'm sticking with Nvidia for 3D Vision to feed an Acer H5360 and it's also the devil I know. Something I can play around with in the future I guess.

Cooling - Thermaltake Water Performer 2.0
For an all-in-one closed loop water cooler you need to pay attention to the radiator/fan size and noise levels as it impacts the case you can get and the environment you run it in. My HTPC is not in my theater area so I just got a cheap water cooler that could handle overclocked Sandy Bridge temperatures. There may be better options here but my requirements weren't that strict. My temps are around 65-70C at 60% load playing movies. 78C max @ 100% load running Prime95.

Case - Silverstone CW02
In case you didn't notice, this aint a mini-ITX build. smile.gif This HTPC case is an old school beast that's able to hold 6 hard drives and large 120mm case fans to support most cooling solutions.

Storage - Crucial M4 128 GB SSD, etc.
I went with reliability over speed for the SSD. My build is modeled after a hierarchical storage setup with the SSD storing only the OS and apps. Various Hitachi and Western Digital hard drives store the content.

Optical Drive - LG GGW-H20L Bluray HD-DVD Combo Drive
Another leftover from my old build. It was good for ripping those HD-DVDs I bought on clearance.

PSU - OCZ ModXStream 600W Modular Power Supply
RetroElectro is offline  
post #3 of 23 Old 11-14-2012, 03:22 PM - Thread Starter
Member
 
RetroElectro's Avatar
 
Join Date: Mar 2007
Posts: 140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Software (WIP)

OS
Windows 7 64-bit

Power Plans
Balanced
High Performance

Direct Show filter chain
LAV Filters by Nevcairiel
Before LAV, most PC H.264 decoding was done with software decoders like CoreAVC or ffdshow. Needing a decent multi-core CPU to decode HD videos was probably one of the reasons why people started abandoning the idea of post processing videos on a PC. That and the idea that these videos were nearly the same, ie. “perfect”, as the digital cinema files that are playing at your local digital cineplex. Anyways, LAV entered the scene and allowed hardware decoding of H.264 videos using Nvidia’s CUDA. Since then, LAV has become the standard for HD decoding and has evolved to support VC1, QuickSync, etc. Cost-effective hardware-based decoding paved the way to the small HTPC builds of today.

In addition to the Video decoder, LAV includes a Splitter and Audio decoder. A unique option for the 32-bit version of LAV Audio is that it’s able to use the Arcsoft DTS decoder for decoding HD DTS formats and arguably better decoding of legacy DTS.

I'm using the LAV filters for splitting, video decoding, and audio decoding. LAV video is set to use the Nvidia CUDA decoder and outputs to the YV12 colorspace with levels untouched.

FFDshow Raw Video Filter
FFDshow is used to post process the decoded YV12 video from LAV. FFDshow may not be in the spotlight anymore, but it is far from useless. AFAIK, it’s still the only filter with a GUI that allows you to define different processing profiles based on input conditions. More importantly, it allows you to define an Avisynth script for each profile. FFDshow has it's own collection of post-processing filters like deband and sharpen but the IQ is visibly lower than Avisynth versions.

Avisynth
Avisynth is another classic video processing tool that is still relevant today thanks to a robust suite of plugins and scripts. If you’ve used Avisynth before, you know the doom9 forums have the latest scripts and plugins for Avisynth.

Even with the latest and greatest hardware, you’ll discover that running Avisynth effectively is difficult because you need to find the right balance between your script and your hardware. Very few if any scripts make use of hardware-based acceleration so a fast CPU is needed.

....

Avisynth Plugins:
SmoothAdjust by LaTo
Contains 4 plugins – SmoothLevels, SmoothTweak, SmoothCurve, and SmoothCustom. I’m using SmoothLevels to perform TV to PC level expansion and gamma adjustment. My projector has limited gamma preset settings that include Film and CRT at 2.2 and 2.5. WIth SmoothLevels, I'm able to fine tune gamma so dark scenes aren’t washed out or too dark--without creating banding artifacts. The discussion for this plugin is at http://forum.doom9.org/showthread.php?t=154971. There are also user screenshots somewhere in the thread comparing the level expansion dithering used by SmoothAdjust and MadVR.

LimitedSharpenFaster by Didee

Soothe by Didee


Flash3kyuu_deband (fk3db) by SAPikachu

ResampleHQ by PhrostByte

GrainFactory3 by Didee

Reclock

Media Center Software

Reserved
RetroElectro is offline  
post #4 of 23 Old 11-14-2012, 03:22 PM - Thread Starter
Member
 
RetroElectro's Avatar
 
Join Date: Mar 2007
Posts: 140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Video Processing

1080p workflow:


720p workflow:


Audio Processing

Reserved
RetroElectro is offline  
post #5 of 23 Old 11-14-2012, 03:22 PM - Thread Starter
Member
 
RetroElectro's Avatar
 
Join Date: Mar 2007
Posts: 140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Screenshots (WIP)

Videos were played in MPC-HC full screen mode at 1920x1080. MadVR defaults were used except Luma Upscaling was set to Lanczos with 3 taps and TV to PC level expansion was enabled. Screen shots were created with Print Screen and saved using MS Paint.

Banding_720p.rec709 (Gray Ramp)
720p->1080p
Avisynth with EVR


MadVR

1080p Screencompare


Tron Legacy VFX Concept Test

1080p




Reserved
RetroElectro is offline  
post #6 of 23 Old 11-14-2012, 03:22 PM - Thread Starter
Member
 
RetroElectro's Avatar
 
Join Date: Mar 2007
Posts: 140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Wrap up and the Future

Reserved
RetroElectro is offline  
post #7 of 23 Old 11-14-2012, 08:29 PM
AVS Special Member
 
Puwaha's Avatar
 
Join Date: Jan 2003
Posts: 1,124
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 34
Now this is what I'm talking about!

Do you plan on implementing frame-interpolation to your AVISynth workflows? SVP is a good product that does a lot of the AVISynth scripting for you for this video enhancement.
Puwaha is offline  
post #8 of 23 Old 11-14-2012, 08:46 PM
AVS Addicted Member
 
Mfusick's Avatar
 
Join Date: Aug 2002
Location: Western MA
Posts: 24,126
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 193 Post(s)
Liked: 1003
<--- in.

Actually a real build that interests me.

-

"Too much is almost enough. Anything in life worth doing is worth overdoing. Moderation is for cowards."
Mfusick is online now  
post #9 of 23 Old 11-15-2012, 08:45 AM - Thread Starter
Member
 
RetroElectro's Avatar
 
Join Date: Mar 2007
Posts: 140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Quote:
Originally Posted by Puwaha View Post

Now this is what I'm talking about!
Do you plan on implementing frame-interpolation to your AVISynth workflows? SVP is a good product that does a lot of the AVISynth scripting for you for this video enhancement.
I haven't tried out SVP yet because I'm generally not a fan of frame interpolation. I did read some info on it and QTGMC to help me find a method for setting the threads and memory for my script. Maybe something to look at in the future.
RetroElectro is offline  
post #10 of 23 Old 11-15-2012, 09:27 AM
AVS Special Member
 
pittsoccer33's Avatar
 
Join Date: Jul 2011
Location: Pittsburgh (East Liberty)
Posts: 1,995
Mentioned: 1 Post(s)
Tagged: 0 Thread(s)
Quoted: 143 Post(s)
Liked: 210
what display device are you going to use to watch this?

My HTPC front end set up
Integration for whole home ATSC, CableCARD, FM radio, Blu-Ray, HD-DVD, DVD, VHS control & capture, video games, and archived & streaming media playback
Mironto's Panasonic plasma black level restoration guide
Restore the initial MLL on a 2009 Panasonic plasma
pittsoccer33 is online now  
post #11 of 23 Old 11-15-2012, 09:36 AM - Thread Starter
Member
 
RetroElectro's Avatar
 
Join Date: Mar 2007
Posts: 140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Quote:
Originally Posted by pittsoccer33 View Post

what display device are you going to use to watch this?

I'm using a Planar 8150 DLP projector with a 100" Firehawk screen. Also feeds an Acer H5360 for 3D but that's more of a secondary thing.
RetroElectro is offline  
post #12 of 23 Old 11-15-2012, 10:01 AM
AVS Special Member
 
petew's Avatar
 
Join Date: Oct 2000
Location: Albuquerque, NM USA
Posts: 2,064
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 10 Post(s)
Liked: 48
Interesting thread! I'll be watching.

Is anyone doing room correction in the HTPC with analog outputs?

High Desert Theater - work in progress
Building Bass - Subs

Surrounds - Easy as Pi

Storage - unRAID unDELL

petew is offline  
post #13 of 23 Old 11-15-2012, 12:01 PM
AVS Addicted Member
 
Mfusick's Avatar
 
Join Date: Aug 2002
Location: Western MA
Posts: 24,126
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 193 Post(s)
Liked: 1003
Quote:
Originally Posted by petew View Post

Interesting thread! I'll be watching.
Is anyone doing room correction in the HTPC with analog outputs?

I think your better off to let a high end receiver decode the full bitstream audio signal sent via HDMI then room correct post this conversion.

Most sound cards in PCs fall under the sound quality you'll get with a high end processor or AVR and those also allow room correction.

-

"Too much is almost enough. Anything in life worth doing is worth overdoing. Moderation is for cowards."
Mfusick is online now  
post #14 of 23 Old 11-15-2012, 11:54 PM
AVS Special Member
 
Tong Chia's Avatar
 
Join Date: Nov 2002
Posts: 1,140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 16
Quote:
Originally Posted by petew View Post

Interesting thread! I'll be watching.
Is anyone doing room correction in the HTPC with analog outputs?

I am experimenting with it, I use an external multichannel USB DAC. There are several options, DRC (opensource) and Audiolense (commercial) and DiracLive RCS (commercial)

All 3 generate generate the data for a frontend like JRiver Mediacenter 18 which does the actual room correction.

DiracLive costs as much as a midrange receiver, if you are cost sensitive an off the shelf receiver with Audyssey is a better way to go.
Tong Chia is offline  
post #15 of 23 Old 11-16-2012, 07:41 AM
AVS Special Member
 
petew's Avatar
 
Join Date: Oct 2000
Location: Albuquerque, NM USA
Posts: 2,064
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 10 Post(s)
Liked: 48
Quote:
Originally Posted by Tong Chia View Post

......if you are cost sensitive an off the shelf receiver with Audyssey is a better way to go.

I'm more PITA sensitive than cost sensitive. I don't mind working on computers but it's not my favorite hobby. Sounds like I should limit the PC role to video. Sorry for the thread derail guys.

High Desert Theater - work in progress
Building Bass - Subs

Surrounds - Easy as Pi

Storage - unRAID unDELL

petew is offline  
post #16 of 23 Old 11-16-2012, 04:13 PM
AVS Special Member
 
pixelation's Avatar
 
Join Date: Feb 2007
Posts: 1,065
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 12
Does anyone have a sample video of frame-interpolation? I have a 60p panel and I am really interested in seeing how a native 24p is played back with or without frame-interpolation. Say, 2 video clips, one is 24p and the other is 24p converted to 60p via frame-interpolation?
pixelation is offline  
post #17 of 23 Old 11-16-2012, 05:07 PM
AVS Club Gold
 
renethx's Avatar
 
Join Date: Jan 2006
Posts: 16,243
Mentioned: 13 Post(s)
Tagged: 0 Thread(s)
Quoted: 241 Post(s)
Liked: 389
renethx is offline  
post #18 of 23 Old 11-25-2012, 11:42 PM
AVS Special Member
 
pixelation's Avatar
 
Join Date: Feb 2007
Posts: 1,065
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 12
Thanks! Very impressive. But I think I know why people say it no longer look "film like". The interpolated video looks like camcorder footage. I cannot say I prefer the interpolated video.
pixelation is offline  
post #19 of 23 Old 11-26-2012, 01:47 PM - Thread Starter
Member
 
RetroElectro's Avatar
 
Join Date: Mar 2007
Posts: 140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Post-Thanskgiving update.smile.gif
RetroElectro is offline  
post #20 of 23 Old 11-26-2012, 02:15 PM
Advanced Member
 
Tiddles88's Avatar
 
Join Date: May 2012
Posts: 583
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 24
Certainly interesting, but I've gotten past this phase. If I get a decent picture and sound, I'm set.

On the hardware side, a wallet breaking ROG could easily be substituted for an Asrock Z77 Extreme 4 and a 3770K would have been a better choice than the older 27's.
Tiddles88 is offline  
post #21 of 23 Old 11-26-2012, 02:24 PM
AVS Addicted Member
 
Mfusick's Avatar
 
Join Date: Aug 2002
Location: Western MA
Posts: 24,126
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 193 Post(s)
Liked: 1003
Quote:
Originally Posted by Tiddles88 View Post

Certainly interesting, but I've gotten past this phase. If I get a decent picture and sound, I'm set.
On the hardware side, a wallet breaking ROG could easily be substituted for an Asrock Z77 Extreme 4 and a 3770K would have been a better choice than the older 27's.

+1

I was thinking the same thing. Both on decent picture all set and also the Asrock Extreme4.

-

"Too much is almost enough. Anything in life worth doing is worth overdoing. Moderation is for cowards."
Mfusick is online now  
post #22 of 23 Old 11-26-2012, 07:14 PM - Thread Starter
Member
 
RetroElectro's Avatar
 
Join Date: Mar 2007
Posts: 140
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Hi guys,
I chose the 2700k vs the 3770k because I knew I wanted to go for an overclock past 4.5Ghz. To get those speeds with the 3770k, I'd have to look into de-lidding the cpu and would have to research and invest more into liquid cooling. THose are things I didn't want to get into. There's a pretty good thread about the 2700 vs 3770 over at overclockers.net.

For the motherboard, I wanted to stick with Asus and was willing to pay extra for what the ROG brand brings to overclockers. It was a splurge I guess vs getting an Asrock. The Asus came out to $150 with the Microcenter CPU combo deal so it didn't really break the bank.
RetroElectro is offline  
post #23 of 23 Old 11-30-2012, 02:49 PM
AVS Addicted Member
 
Mfusick's Avatar
 
Join Date: Aug 2002
Location: Western MA
Posts: 24,126
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 193 Post(s)
Liked: 1003
It is true Sandy > Ivy for power and heat. 2700k is a nice choice. I have 2600k and it can hang with a 3770k because it overclocks better.

-

"Too much is almost enough. Anything in life worth doing is worth overdoing. Moderation is for cowards."
Mfusick is online now  
Reply Home Theater Computers

Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

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
Trackbacks are Off
Pingbacks are Off
Refbacks are Off