Plex Blog

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.

The Best of Plex

Plex Pass gives you exclusive access to awesome new features and apps.

Learn More

The Best of Plex

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

Learn More

Level up your music library with 60 million high-quality songs.

TIDAL is seamlessly integrated with your existing music library — beautifully organized right in Plex.