Le blog de Plex

April 4, 2008

Experimenting with Bicubic scaling

So for lack of anything better to do, I played around with getting swscale (a component of ffmpeg) to attempt performing high quality software upscaling. By default we perform bilinear upscaling, and with SD content, it looks pretty crappy, with lots of jagged lines.

After getting it to work, I took a couple of screenshots to show you the difference. In terms of performance, my desktop had enough power to do bicubic upscaling of both SD and 720p content to 1080p. It has to be said that it is definitely an expensive operation.

The win was most obvious — to my eyes, at least — with SD content. Here’s a sample from the intro of a movie. The first is bilinear (notice the jagged circle), and the second is bicubic.

bilinear.png

bicubic.png

Pretty nice, right? Now let’s try 720p, with some good diagonal lines taken from Kevin Spacey’s jawline:

bilinear2.png
bicubic2.png
Again, the first is bilinear, the second is bicubic. The screenshot is unfortunately not taken from the same exact frame, and I think that’s why his face looks more “textured” in the second shot. But you’ll also notice that there doesn’t appear be a great deal of difference between the two. It’s possible that I didn’t pick a very good spot, but it’s also possible that the difference between the two algorithms doesn’t really kick in until you’re doing more than a 2x scaling. This kind of makes sense to me, but it’s late and I’ve been drinking.

Le meilleur de Plex

Le Plex Pass vous offre un accès exclusif à de nouvelles fonctionnalités et applications que vous allez adorer.

En savoir plus

Le meilleur de Plex

Experimenting with Bicubic scaling is a premium feature and requires a Plex Pass subscription.

En savoir plus