// Do the colour space conversion
#ifdef SWSCALE
+ int flags = SWS_BILINEAR;
+#ifdef USE_MMX
+ flags |= SWS_CPU_CAPS_MMX;
+#endif
+#ifdef USE_SSE
+ flags |= SWS_CPU_CAPS_MMX2;
+#endif
struct SwsContext *context = sws_getContext( width, height, PIX_FMT_YUYV422,
- width, height, video_st->codec->pix_fmt, SWS_BILINEAR, NULL, NULL, NULL);
+ width, height, video_st->codec->pix_fmt, flags, NULL, NULL, NULL);
sws_scale( context, input->data, input->linesize, 0, height,
output->data, output->linesize);
sws_freeContext( context );
flags |= SWS_FULL_CHR_H_INP;
else
flags |= SWS_FULL_CHR_H_INT;
+#ifdef USE_MMX
+ flags |= SWS_CPU_CAPS_MMX;
+#endif
+#ifdef USE_SSE
+ flags |= SWS_CPU_CAPS_MMX2;
+#endif
avpicture_fill( &input, in, in_fmt, width, height );
avpicture_fill( &output, out, out_fmt, width, height );
// XXX: we only know how to rescale packed formats
return 1;
}
+#ifdef USE_MMX
+ interp |= SWS_CPU_CAPS_MMX;
+#endif
+#ifdef USE_SSE
+ interp |= SWS_CPU_CAPS_MMX2;
+#endif
// Convert the pixel formats
int avformat = convert_mlt_to_av_cs( *format );
{
#ifdef SWSCALE
int flags = SWS_BILINEAR | SWS_ACCURATE_RND;
+
+#ifdef USE_MMX
+ flags |= SWS_CPU_CAPS_MMX;
+#endif
+#ifdef USE_SSE
+ flags |= SWS_CPU_CAPS_MMX2;
+#endif
+
if ( pix_fmt == PIX_FMT_RGB32 )
{
*format = mlt_image_rgb24a;