Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

Linux Media SDK Downscaling Issue

MSaue
Beginner
256 Views

I have set up a transcode chain using the Intel Linux Media SDK, where 1080i content is decoded, deinterlaced, and resized to 720x480, and then saved to a yuv file for analysis. 

I notice that the scaling algorithm used by the media SDK seems to add a lot of aliasing artifacts in the transition from 1920x1080 -> 720x480 or from 1280x720 -> 720x480.  These are very clear on diagonals, or rounded edges, which show as stairstepping artifacts.

Using a software decode, deinterlace and scaling solution, like the one from ffmpeg (libswscale), I do not see any aliasing artifacts.

I suspect it is caused by the downsampling algorithm not oversampling the input, but just doing a sort of rounded "nearest-neighbour", type of scaling. 

I used to see this problem as well intel Performance Primative library, until you guys added an oversampled downsample algorithm, which helped a lot (although the quality was still never as good as libswscale, and other software based scalers). 

Is this something that can be fixed?  The quality of the downsampled images that I'm seeing are not acceptible for my clients.  Are there any options available to control the downscaling algorithm being used?

Or can this be addressed in an update?  I have not tried this code using the windows media SDK, so I don't know if it shows up there.

Thanks,

Mark

0 Kudos
1 Reply
Jeffrey_M_Intel1
Employee
256 Views

There may be other things contributing to the low quality than the resize algorithm.  While you don't get a range of possible algorithms to choose from, what you get from configuring VPP's inputs and outputs is intended to be usable.  It should be better than nearest neighbor.  

Is there any way you could either send a link to a test sequence where you see this low quality, or attach one here?  Code or the sample command line parameters you're using could also give some clues.

Thanks!

Jeff

0 Kudos
Reply