Path: blob/master/thirdparty/libtheora/x86_vc/x86enc.c
9904 views
/********************************************************************1* *2* THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *3* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *4* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *5* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *6* *7* THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *8* by the Xiph.Org Foundation and contributors *9* https://www.xiph.org/ *10* *11********************************************************************1213function:1415********************************************************************/16#include "x86enc.h"1718#if defined(OC_X86_ASM)1920void oc_enc_accel_init_x86(oc_enc_ctx *_enc){21ogg_uint32_t cpu_flags;22cpu_flags=_enc->state.cpu_flags;23oc_enc_accel_init_c(_enc);24if(cpu_flags&OC_CPU_X86_MMX){25_enc->opt_vtable.frag_sub=oc_enc_frag_sub_mmx;26_enc->opt_vtable.frag_sub_128=oc_enc_frag_sub_128_mmx;27_enc->opt_vtable.frag_recon_intra=oc_frag_recon_intra_mmx;28_enc->opt_vtable.frag_recon_inter=oc_frag_recon_inter_mmx;29}30if(cpu_flags&OC_CPU_X86_MMXEXT){31_enc->opt_vtable.frag_sad=oc_enc_frag_sad_mmxext;32_enc->opt_vtable.frag_sad_thresh=oc_enc_frag_sad_thresh_mmxext;33_enc->opt_vtable.frag_sad2_thresh=oc_enc_frag_sad2_thresh_mmxext;34_enc->opt_vtable.frag_satd=oc_enc_frag_satd_mmxext;35_enc->opt_vtable.frag_satd2=oc_enc_frag_satd2_mmxext;36_enc->opt_vtable.frag_intra_satd=oc_enc_frag_intra_satd_mmxext;37_enc->opt_vtable.frag_copy2=oc_enc_frag_copy2_mmxext;38_enc->opt_vtable.fdct8x8=oc_enc_fdct8x8_mmxext;39}40if(cpu_flags&OC_CPU_X86_SSE2){41# if defined(OC_X86_64_ASM)42_enc->opt_vtable.fdct8x8=oc_enc_fdct8x8_x86_64sse2;43# endif44}45}46#endif474849