Sergey
Sergey

Reputation: 507

Which flag to use for better quality with sws_scale?

/* values for the flags, the stuff on the command line is different */
#define SWS_FAST_BILINEAR     1
#define SWS_BILINEAR          2
#define SWS_BICUBIC           4
#define SWS_X                 8
#define SWS_POINT          0x10
#define SWS_AREA           0x20
#define SWS_BICUBLIN       0x40
#define SWS_GAUSS          0x80
#define SWS_SINC          0x100
#define SWS_LANCZOS       0x200
#define SWS_SPLINE        0x400

Which one is better for image quality? What are differences? Are they all lossy? I'm trying to convert RGB24 into YUV420P.

Upvotes: 6

Views: 7609

Answers (1)

Mathias
Mathias

Reputation: 1500

The RGB24 to YUV420 conversation itself is lossy. The scaling algorithm is probably used in downscaling the color information. I'd say the quality is: point << bilinear < bicubic < lanczos/sinc/spline I don't really know the others. Under rare circumstances sinc is the ideal scaler and lossless, but those conditions are usually not met. Are you also scaling the video? Otherwise I'd go for bicubic.

Upvotes: 2

Related Questions