I've been using dscaler mpeg2 decoder (IVTC Mod) which does IVTC pretty good. However, it takes significant CPU processing. I would like to know why that would be more desirable than just using the "inverse telecine" option in my Nvidia control panel. If I were to use the software based method, do I disable the inverse telecine feature in my display driver? Currently, I have dscaler decoder with IVTC set for "flag based".
AVS › AVS Forum › Video Components › Home Theater Computers › What's the difference between display card harware "inverse telecine" & software IVTC
Featured Stories
What's the difference between display card harware "inverse telecine" & software IVTC
post #2 of 19
3/13/12 at 9:22pm
- renethx
- Trader Feedback: 0
-
- offline
- 15,050 Posts. Joined 1/2006
- Thumbs Up: 57
- Select All Posts By This User
The reason to use dscaler is that the GPU hardware/driver can detect pulldown, but can't actually do IVTC for HD movies in broadcast, right? Which pp you use depends on how you configure the video playback pipeline. You could stream video to the driver's algorithm, but once video is converted to the progressive format by dscaler, the driver will do nothing.
splitter -> dscaler -> renderer without GPU's post-processing, or
splitter -> dscaler -> GPU's post-processing -> renderer
splitter -> dscaler -> renderer without GPU's post-processing, or
splitter -> dscaler -> GPU's post-processing -> renderer
post #3 of 19
3/13/12 at 9:40pm
- mbordas
- Trader Feedback: 0
-
- offline
- 112 Posts. Joined 2/2007
- Location: Park City
- Thumbs Up: 10
- Select All Posts By This User
post #4 of 19
3/13/12 at 10:10pm
- renethx
- Trader Feedback: 0
-
- offline
- 15,050 Posts. Joined 1/2006
- Thumbs Up: 57
- Select All Posts By This User
post #5 of 19
3/14/12 at 12:07am
- Nevcairiel
- Trader Feedback: 0
-
- offline
- 738 Posts. Joined 3/2010
- Thumbs Up: 14
- Select All Posts By This User
The GPU can do IVTC just fine, you shouldn't see any weave artifacts if its active. However, it cannot perform the decimation step, which means you get a properly re-constructed image, but still 30 images, and not reduced to 24.
The advantage of letting the GPU do it is that it'll also work if you have mixed interlaced and telecined content, which in broadcast is quite common (ie. some interlaced ad banners slowly moving over the otherwise telecined image)
If you're from the US, you should be used to the whole 3:2 pulldown judder anyway and just watch it like that.
The advantage of letting the GPU do it is that it'll also work if you have mixed interlaced and telecined content, which in broadcast is quite common (ie. some interlaced ad banners slowly moving over the otherwise telecined image)
If you're from the US, you should be used to the whole 3:2 pulldown judder anyway and just watch it like that.

post #6 of 19
3/14/12 at 3:43am
- JohnAd
- Trader Feedback: 0
-
- offline
- 1,725 Posts. Joined 6/2000
- Location: London
- Thumbs Up: 13
- Select All Posts By This User
Quote:
He's talking about the mpeg decoder, you can use that with madVR just fine, 2 different issues.
The main reason you'd see better results with the IVTC mod is that you can get 24Hz output from 60Hz material which great if you're running at 24Hz or a multiple and don't like 3:2 judder.
The GPU IVTC can be OK but I find it slow to lock and quick to fall out and is also confused by high detail, i.e. just when you want it it switched to video mode, most of the imeplementations I've spent any tiem with also introduce a frame drop around the going in and out of video which can result in extra judder.
John
post #7 of 19
3/21/12 at 1:25am
- madshi
- Trader Feedback: 0
-
- offline
- 4,979 Posts. Joined 5/2005
- Thumbs Up: 18
- Select All Posts By This User
I think mbordas was talking about the IVTC algorithm built into madVR which should (at least in theory) be better than the one used by the DScaler IVTC Mod. The madVR IVTC algorithm can handle all kinds of cadences, not just 3:2. However, it consumes quite a bit more CPU power than the DScaler IVTC Mod.
post #8 of 19
3/21/12 at 6:07am
- JohnAd
- Trader Feedback: 0
-
- offline
- 1,725 Posts. Joined 6/2000
- Location: London
- Thumbs Up: 13
- Select All Posts By This User
Quote:
Originally Posted by madshi 
I think mbordas was talking about the IVTC algorithm built into madVR which should (at least in theory) be better than the one used by the DScaler IVTC Mod. The madVR IVTC algorithm can handle all kinds of cadences, not just 3:2. However, it consumes quite a bit more CPU power than the DScaler IVTC Mod.

I think mbordas was talking about the IVTC algorithm built into madVR which should (at least in theory) be better than the one used by the DScaler IVTC Mod. The madVR IVTC algorithm can handle all kinds of cadences, not just 3:2. However, it consumes quite a bit more CPU power than the DScaler IVTC Mod.
Thanks for the clarification, I didn't know it had one

Is that CPU rather than GPU? I would have thought doing it in GPU would be more efficient.
John
post #9 of 19
3/21/12 at 6:46am
- madshi
- Trader Feedback: 0
-
- offline
- 4,979 Posts. Joined 5/2005
- Thumbs Up: 18
- Select All Posts By This User
Well, it's a rather new feature. Was added just a couple of weeks ago...

Quote:
Currently it's CPU (hand written SSE2 assembler). The main reason for that is that the way Direct3D pixel shaders work is very limited. Basically pixel shaders are great for doing pixel-by-pixel work in parallel. But in order to do decimation, a cadence must be detected, and then based on the cadence, some frames must be thrown away. Throwing a frame away is not a decision that can be made inside of a pixel shader, because a pixel shader really only transforms some source pixels to one destination pixel. In order to do all that cadence related stuff, the CPU needs information about how different fields/frames compare to each other, and D3D pixel shaders are simply not able to return any such information.
In the long run I plan to move my IVTC algorithm to the GPU by using CUDA and/or OpenCL. I could do that with CUDA right now. But AMD doesn't support CUDA. AMD does support OpenCL, but current AMD drivers don't offer OpenCL <-> D3D9 interop. So basically there's no (pretty) way to do this on AMD GPUs right now. I hope that AMD will sooner or later fully support OpenCL 1.2, including the new OpenCL 1.2 <-> D3D9 interop extension. Then I can finally start using CUDA/OpenCL in madVR. Currently I'm not looking into this because only supporting NVidia and not AMD doesn't make much sense to me.
post #10 of 19
3/21/12 at 8:15am
- mbordas
- Trader Feedback: 0
-
- offline
- 112 Posts. Joined 2/2007
- Location: Park City
- Thumbs Up: 10
- Select All Posts By This User
Quote:
well, nevcairiel supported cuda with lav video decoders for quite a while before anything else, and nobody complained. You have to start somewhere

post #11 of 19
3/21/12 at 8:18am
- madshi
- Trader Feedback: 0
-
- offline
- 4,979 Posts. Joined 5/2005
- Thumbs Up: 18
- Select All Posts By This User
post #12 of 19
3/21/12 at 8:33am
- JohnAd
- Trader Feedback: 0
-
- offline
- 1,725 Posts. Joined 6/2000
- Location: London
- Thumbs Up: 13
- Select All Posts By This User
Quote:
Was thinking it's be possble using a diff then 3-4 pass reduce, mainly to avoid having to copy DXVA buffers back to the CPU for processing. But if the input is a software decode then sse2 is hard to beat for working out the diff, what do you use for 2:2 detection, I never found anything perfect and fast with DScaler, high vertical detail always seemed to cause issues.
John
post #13 of 19
3/21/12 at 9:29am
- madshi
- Trader Feedback: 0
-
- offline
- 4,979 Posts. Joined 5/2005
- Thumbs Up: 18
- Select All Posts By This User
Quote:
I think I'll wait until I can implement it on the GPU without copying back textures to the CPU. Should be easy enough with CUDA/OpenCL. If only AMD would finally support OpenCL <-> D3D9 interop...
Quote:
I'm using a totally different logic compared to the IVTC algorithm used in the DScaler IVTC mod. Basically for every top field I'm checking which bottom field (previous frame, current frame or next frame) matches best. And for every bottom field I'm checking which top field matches best. As long as I've not locked onto a specific cadence, I'm simply weaving the "best match" fields together. This "best match" weaving logic already produces quite good results. Then there's another algorithm which analyzes the "best match" results and tries to find a cadence pattern in them. The field matching algorithm itself is quite complex, using interpolation, simple noise reduction, weighted error counting etc.
post #14 of 19
3/26/12 at 2:38am
- JohnAd
- Trader Feedback: 0
-
- offline
- 1,725 Posts. Joined 6/2000
- Location: London
- Thumbs Up: 13
- Select All Posts By This User
Quote:
I was talking about the code in DScaler 4, the IVTC mod code is very basic and 3:2 specific.
Quote:
For current frame do you mean you check if the top field line below the current one is a better fit than either of the bottom fields?
Quote:
Does sound quite similar to the DScaler 4 method. The sort of thing that caught that out was slight camera movement in scenes with high vertical detail like grills, skyscraper windows in the distance. But for most content I'd expect it to work pretty well.
John
post #15 of 19
3/26/12 at 4:39am
- madshi
- Trader Feedback: 0
-
- offline
- 4,979 Posts. Joined 5/2005
- Thumbs Up: 18
- Select All Posts By This User
Quote:
No. I'm not looking at separate lines. Basically I scale up every top and every bottom field (kinda like BOB video deinterlacing, just not with line doubling, but with a very soft linear resampler). Then I compare the full upscaled top field of the current frame with the full upscaled bottom field of the previous frame, and of the current fame and of the next fame.
Quote:
From my tests, as soon as there's any sort of camera movement, my algorithm works very well. The biggest problems I have are scenes where there's only a low amount of movement, because I use mostly only relative error comparisons and not absolute error comparisons. Due to how video compression works, in such scenes sometimes the top/bottom field of the current frame matches best, even if they don't belong together, simply because they were encoded as one frame with low bitrate.
Do you have a smple where the DScaler 4 method has problems with "slight camera movement in scenes with high vertical detail"? Would love to test if my algorithm has problems with that, too. I don't think it has, but would be good to check, just to be safe.
post #16 of 19
3/27/12 at 8:01am
- JohnAd
- Trader Feedback: 0
-
- offline
- 1,725 Posts. Joined 6/2000
- Location: London
- Thumbs Up: 13
- Select All Posts By This User
Quote:
Originally Posted by madshi 
The biggest problems I have are scenes where there's only a low amount of movement, because I use mostly only relative error comparisons and not absolute error comparisons. Due to how video compression works, in such scenes sometimes the top/bottom field of the current frame matches best, even if they don't belong together, simply because they were encoded as one frame with low bitrate.

The biggest problems I have are scenes where there's only a low amount of movement, because I use mostly only relative error comparisons and not absolute error comparisons. Due to how video compression works, in such scenes sometimes the top/bottom field of the current frame matches best, even if they don't belong together, simply because they were encoded as one frame with low bitrate.
I seem to remember a diffs of up to about 8 being likely as mpeg errors even at quite high bitrates. But you're right when the bit rate is starved the images get blockier and blockier and start to look film like even if they should be interlaced, in this case I think it's ok to go to film mode as long as you fall back quickly enough.
Quote:
Can't remember the exact time but there was a scene from a pal dvd of 2001 that had a grill in the bottom right that seemed to trigger the jaggie detection in DScaler 4. In this case in your algo the top frame would "belong" with itself and the bottom frames with itself too. Also have you tried the MS DVD Annex film zone plate torture tests?
John
post #17 of 19
3/27/12 at 10:08am
- madshi
- Trader Feedback: 0
-
- offline
- 4,979 Posts. Joined 5/2005
- Thumbs Up: 18
- Select All Posts By This User
Quote:
Originally Posted by JohnAd 
Can't remember the exact time but there was a scene from a pal dvd of 2001 that had a grill in the bottom right that seemed to trigger the jaggie detection in DScaler 4. In this case in your algo the top frame would "belong" with itself and the bottom frames with itself too.

Can't remember the exact time but there was a scene from a pal dvd of 2001 that had a grill in the bottom right that seemed to trigger the jaggie detection in DScaler 4. In this case in your algo the top frame would "belong" with itself and the bottom frames with itself too.
Oh, is that for video mode detection? I'm currently not even trying to detect video vs film mode yet. The user has to manually switch to IVTC mode and then I expect the content to be film. I don't have any jaggie detection in my algorithms at the moment at all.
I plan to add video vs. film detection in a future version.
Quote:
Nope, never heard of that. Does MS offer that for download somewhere?
post #18 of 19
3/27/12 at 1:47pm
- JohnAd
- Trader Feedback: 0
-
- offline
- 1,725 Posts. Joined 6/2000
- Location: London
- Thumbs Up: 13
- Select All Posts By This User
Quote:
Originally Posted by madshi 
Oh, is that for video mode detection? I'm currently not even trying to detect video vs film mode yet. The user has to manually switch to IVTC mode and then I expect the content to be film. I don't have any jaggie detection in my algorithms at the moment at all.
I plan to add video vs. film detection in a future version.

Oh, is that for video mode detection? I'm currently not even trying to detect video vs film mode yet. The user has to manually switch to IVTC mode and then I expect the content to be film. I don't have any jaggie detection in my algorithms at the moment at all.
I plan to add video vs. film detection in a future version.
Even if you know it's film there are some odd things that happen, this is espcially true in 3:2 world where the TV stations sometimes play with the run-time they can have odd sequences like 3:2:2:2:3:2:2:2 and if you stay in film mode these can look horrible, this is on top of the bad edits that quite often occur in drama.
Quote:
From memory they are free but I think I had to pay postage for the discs, some other torture tests are these:
http://www.bigdish.info/other/pgscan.html
I can't seem to find where I got it from quickly though.
post #19 of 19
3/27/12 at 11:12pm
- madshi
- Trader Feedback: 0
-
- offline
- 4,979 Posts. Joined 5/2005
- Thumbs Up: 18
- Select All Posts By This User
Quote:
No problem, madVR detects "any" cadence, even something like 2:3:4:5:6:7:8 should be detected, if it were used.
Yeah, bad edits can be a problem. I have one DVD sample (silent film) which was encoded with a 4:3:3 cadence. madVR properly detects the cadence and locks onto it. But there are "bad edits" virtually every second. Basically, in random distances some of those 3 become 4. That's something I still have problems with.
Quote:
Originally Posted by JohnAd 
From memory they are free but I think I had to pay postage for the discs, some other torture tests are these:
http://www.bigdish.info/other/pgscan.html
I can't seem to find where I got it from quickly though.

From memory they are free but I think I had to pay postage for the discs, some other torture tests are these:
http://www.bigdish.info/other/pgscan.html
I can't seem to find where I got it from quickly though.
Thx, will investigate. FWIW, I have the HQV SD test disc, which contains a test with various different cadences. madVR detects those just fine.
Return Home
Back to Forum: Home Theater Computers
- What's the difference between display card harware "inverse telecine" & software IVTC
AVS Top Picks
AVS › AVS Forum › Video Components › Home Theater Computers › What's the difference between display card harware "inverse telecine" & software IVTC
Currently, there are 1088 Active Users
(155 Members and 933 Guests)
Recent Discussions
- › Lafayette, LA / Beaumont, TX / Lake Charles, LA - HDTV 26 seconds ago
- › Top Dowloadable Quality After HDTracks? 53 seconds ago
- › 2013 Formula 1 in HD 54 seconds ago
- › Need suggestions for false wall 3 minutes ago
- › Official 2013 Sony W802A series LED TVs (KDL-xxW802A) --- 47" and... 4 minutes ago
- › Sensor -> Plasma sync 5 minutes ago
- › Magnavox 537, 535, 533, 515, 513, 2160A, 2160, 2080 & Philips 3576,... 6 minutes ago
- › The Official Xbox One thread... 6 minutes ago
- › Wireless Subwoofer Connection..Help 6 minutes ago
- › Roomie Remote 8 minutes ago
View: New Posts | All Discussions
Recent Reviews
- › Sony BDP-S5100 3D Blu-ray Disc Player with Wi-Fi by imagic
- › Yamaha Aventage Blu-ray Player Black - BD-A1020 by foursticks
- › Panasonic DMP-MST60 Smart Network Media Streaming Player with... by amesdp
- › Sonax E-0062-BF Fiji 60-Inch TV Component Bench, Ravenwood Black by DDT0C
- › OPPO BDP-93 Blu-ray Player by KingLeerUK
- › Sony Blu-ray Disc Player - BDP-S790 by wisccheese
- › Samsung BD-C6500 1080p Blu-ray Disc Player by NeonSignedOff
- › Panasonic DMP-BDT220 Integrated Wi-Fi 3D Blu-ray DVD Player by bettzysdaddy
- › Panasonic DMP-BD65 Blu-Ray Disc Player (Black) by dasher123
- › Where's The Wires, LLC Streaming Media/Soundbar Power tool by wheresthewires
View: More Reviews
New Articles
- › Why is LED light known as long life by Davidsmith001
- › Blu Ray Player Review Contest by Mike Lang
- › Projector Review Contest by Nick Val
- › "List Your Gear to Win Some Gear"... by Nick Val
- › Most Economical Thin Client PC`s from RDP... by RDPThinClients
- › Media Browser 3 Announced by xzener
- › AVS Guide to Media Servers, Part 1 by Scott Wilkinson
- › Join the AVS Team! by Nick Val
- › 25 Top Blu-ray releases for 2012 by Ralph Potts
- › Sony Launches 4k Ultra HD Flat Panel - AVS... by Scott Wilkinson
View: New Articles | All Articles
Home | Reviews | Forums | Articles | My Profile
About AVS | Join the Community | Advertise | Contact Us
© 2013 AVS is powered by Huddler Tech | FAQ | Support | Privacy/TOS | Site Map
About AVS | Join the Community | Advertise | Contact Us
© 2013 AVS is powered by Huddler Tech | FAQ | Support | Privacy/TOS | Site Map







