--- trunk/xvidcore/src/image/image.c 2006/10/13 11:26:18 1736 +++ trunk/xvidcore/src/image/image.c 2008/11/26 01:04:34 1795 @@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: image.c,v 1.38 2006-10-13 11:26:18 Skal Exp $ + * $Id: image.c,v 1.42 2008-11-26 01:04:34 Isibaar Exp $ * ****************************************************************************/ @@ -473,6 +473,14 @@ interlacing?abgri_to_yv12_c:abgr_to_yv12_c, 4); break; + case XVID_CSP_RGB: + safe_packed_conv( + src[0], src_stride[0], image->y, image->u, image->v, + edged_width, edged_width2, width, height, (csp & XVID_CSP_VFLIP), + interlacing?rgbi_to_yv12 :rgb_to_yv12, + interlacing?rgbi_to_yv12_c:rgb_to_yv12_c, 3); + break; + case XVID_CSP_RGBA : safe_packed_conv( src[0], src_stride[0], image->y, image->u, image->v, @@ -649,6 +657,14 @@ interlacing?yv12_to_abgri_c:yv12_to_abgr_c, 4); return 0; + case XVID_CSP_RGB: + safe_packed_conv( + dst[0], dst_stride[0], image->y, image->u, image->v, + edged_width, edged_width2, width, height, (csp & XVID_CSP_VFLIP), + interlacing?yv12_to_rgbi :yv12_to_rgb, + interlacing?yv12_to_rgbi_c:yv12_to_rgb_c, 3); + return 0; + case XVID_CSP_RGBA: safe_packed_conv( dst[0], dst_stride[0], image->y, image->u, image->v, @@ -1059,7 +1075,7 @@ return 0; /* not yet supported */ if (deintl_core==0) { deintl_core = deinterlace_c; -#ifdef ARCH_IS_IA32 +#if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64) { int cpu_flags = check_cpu_features(); if (cpu_flags & XVID_CPU_MMX)