Log in

View Full Version : TV technology on software players?


Danti
27th June 2011, 15:36
A friend of mine own a Samsung lcd television with a thing called motionplus that makes all the images displayed very smooth, by adding and calculating extra frames i think, here is a link about it http://pages.samsung.com/us/hd/innov_120hz.html.
Do you guys know if there are software players for pc that can do this?

Mr Alpha
27th June 2011, 16:26
There is the Smooth Video Project (http://www.svp-team.com/wiki/Main_Page), which does motion compensate frame interpolation. It greatly smooths out motion. It does require a lot of processing power, though. I can do really good looking interpolation on SD content with my i5-2500K overclocked to 4.7GHz. HD content is more problematic. 720p is still doable, but with occasional artifact. 1080p is pretty ugly.

mikeggsm
27th June 2011, 21:58
There is the Smooth Video Project (http://www.svp-team.com/wiki/Main_Page), which does motion compensate frame interpolation. It greatly smooths out motion. It does require a lot of processing power, though. I can do really good looking interpolation on SD content with my i5-2500K overclocked to 4.7GHz. HD content is more problematic. 720p is still doable, but with occasional artifact. 1080p is pretty ugly.

Thanks, didn't know about SVP. Although with a GTX 590 and OpenCL enabled in SVP, there are still big artifacts in 720 videos, and SVP often says "too much CPU used, frames will be skipped". Even with GPU acceleration it still needs the CPU a lot.

Also, SVP can apparently only be used for one video at the same time, when I launch other MPC instances SVP won't be used in them, only the first one.

Anyway, when it works it does make the video much smoother, e.g. in scrollings.

Danti
27th June 2011, 22:17
It does require a lot of processing power, though.

And here i say what the... Why can a 500euro television do it and not a 300euro brand new processor? That's a thing i never understood about pcs, we spend a lot for new stuff that gets old the next day. That's why i stick with my Pentium4 2,26Ghz... ah by the way i guess i'm out of business for the smooth video project right?

fairchild
28th June 2011, 00:31
You can also get motion interpolation / frame doubling by using an Avisynth script. Give this a try:

http://forum.doom9.org/showthread.php?t=160226

Hypernova
28th June 2011, 08:24
And here i say what the... Why can a 500euro television do it and not a 300euro brand new processor? That's a thing i never understood about pcs, we spend a lot for new stuff that gets old the next day. That's why i stick with my Pentium4 2,26Ghz... ah by the way i guess i'm out of business for the smooth video project right?

Some experts will probably chim in later. I can give you an idea though. GPU, which is specialzed graphic processor, can do the graphic much faster than any cpu. I think even the fastest "generic" cpu we have right now (say, i7-990) can barely match the "slow" intel graphic part in doing what gpu usually does. However, generic CPU can do everything from calculating your income to simulating particles collision. Granted, there is GPGPU now, but I think you get my point: You can do a specificed task with a specialized hardware very cheaply, but your CPU have to be more flexible.

And I think 500euro TV get old the next day too. :cool:

JanWillem32
29th June 2011, 21:58
Frame interpolation has been around for a long time. It was first used to deinterlace video (when the top and bottom field are constantly from two separate frames). It will never be ideal. Even the most advanced methods that can detect movement in a fairly large pixel area, will make mistakes with interpolation the directions of objects. My attempt at frame interpolation used a non-motion method, like commonly found in many devices and software (bicubic interpolator on each fixed pixel over 4 frames). I don't really like the blurryness it creates, but it can probably be improved with optimizations and a proper detection method with some effort. Unfortunately, the motion adaptive methods require quite a bit of video memory and GPU power to use, judging from the code examples I've seen.
As this is a pretty low-priority item, I've mothballed it for implementation in the internal renderers of MPC-HC.
Hypernova is correct about GPU processing. A good frame interpolation (like most video filters) can only work on relatively clean images and a much better color format than the common 8-bit 4:2:0 Y'CbCr. I've been working to get proper internal rendering stages for a while. As far as I can see, frame interpolation would be optimal to place just before resizing frames to screen size, with 16- or 32-bit floating-point textures in a linear RGB or XYZ color format. That rendering stage currently has input and output of textures in video memory. It would kill performance to even unload a single task in rendering this item to the CPU, because of the massive swapping from and to video memory and the time-outs for synchronization (CPU and GPU simply never match up in timing rendering tasks).