--- trunk/xvidcore/src/image/image.c 2006/10/13 08:39:31 1734 +++ trunk/xvidcore/src/image/image.c 2006/11/11 05:07:25 1760 @@ -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.37 2006-10-13 08:39:31 Isibaar Exp $ + * $Id: image.c,v 1.40 2006-11-11 05:07:25 chl 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, 4); + return 0; + case XVID_CSP_RGBA: safe_packed_conv( dst[0], dst_stride[0], image->y, image->u, image->v, @@ -1058,11 +1074,13 @@ if (img->csp!=XVID_CSP_PLANAR && img->csp!=XVID_CSP_I420 && img->csp!=XVID_CSP_YV12) return 0; /* not yet supported */ if (deintl_core==0) { - const int cpu_flags = check_cpu_features(); deintl_core = deinterlace_c; #ifdef ARCH_IS_IA32 - if (cpu_flags & XVID_CPU_MMX) - deintl_core = xvid_deinterlace_sse; + { + int cpu_flags = check_cpu_features(); + if (cpu_flags & XVID_CPU_MMX) + deintl_core = xvid_deinterlace_sse; + } #endif } if (!bottom_first) {