0

I know that in some cases, it's harder to compress efficiently interlaced videos. I've made some tests - though I can't remember how empty lines where filled - where I realized that jpeg where way bigger when interlaced.

In a C# project I'm doing, it's possible from the C++ Runtime side to interlace videos by just skipping odd or even lines when capturing. That means that I can almost double the speed of the image processing algorithm, opening the possibility to get a decent frame rate on smaller devices.

But is this possible to do anything that would make benefit in compression step? Currently, with the H.263 method I'm using, a 20 seconds, 640x480, 15fps video take up to 3-4 minutes to encode on the average device I'm using.

So, the question is: Is there an approach to modify frames either by interlacing them or any linear lossy way so that it wouldn't be -more- hard to compress than before this modification?

Léon Pelletier
  • 2,701
  • 2
  • 40
  • 67
  • Would you be able to switch from H.263 to another compression that supports interlacing like H.264 or [MPEG-4 Part 2 ASP](http://en.wikipedia.org/wiki/MPEG-4_Part_2#Advanced_Simple_Profile_.28ASP.29)? – Scott Chamberlain Aug 10 '13 at 21:20
  • Nope. Well, I can't say "never", maybe you happen to have a managed C# encoder H.264 source somewhere. :) – Léon Pelletier Aug 10 '13 at 23:05
  • I've had no luck with C++ when searching for an H.264 encoder. It seems all code are in C-C99, Visual Studio digest C89, and preferably C++. Otherwise I would make a Runtime Component (I'm on WP). Also, I feel that if an H.263 encoder takes 4 minutes to encode a 640x480x15fps movie, then I will definitely reach the limit where you're better asking your users to pay an extra 1$, pitch a XOR-ed video on the server, and proceed from there. – Léon Pelletier Aug 10 '13 at 23:13
  • Interlace in time by dropping frames? – Mikhail Aug 11 '13 at 06:37
  • Well, dropping frames would lower the number of frames. What I want to do is raising the number of frames on slower devices. – Léon Pelletier Aug 11 '13 at 06:40
  • What are you trying to accomplish? If you want to properly interlace video, you need to downsample it with a proper low-pass filter, not just throw out every other line. But why do you want to interlace it in the first place? If you aren't capturing from an interlaced source, this makes little sense to do. – user1118321 Aug 11 '13 at 07:19
  • To cut by 2 the number of pixels to process. It actually makes the video processing faster. In some cases I'm applying by-pixel effects, so I cannot optimize code to use things like 64 bits op-code, etc, so skipping one line make it quicker. But if a real interlacing means more and more CPU usage, then interlacing is definitely not what I need. – Léon Pelletier Aug 11 '13 at 17:21
  • Maybe my quest doesn't make more sense than 'infinite energy' and other mystic matters. I'll cut in the resolution and quality for cheaper devices then. – Léon Pelletier Aug 11 '13 at 17:24

0 Answers0