/******************************************************************** * * * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. * * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2010 * * by the Xiph.Org Foundation and contributors * * https://www.xiph.org/ * * * ******************************************************************** function: ********************************************************************/ #include "armenc.h" #if defined(OC_ARM_ASM) void oc_enc_accel_init_arm(oc_enc_ctx *_enc){ ogg_uint32_t cpu_flags; cpu_flags=_enc->state.cpu_flags; oc_enc_accel_init_c(_enc); # if defined(OC_ENC_USE_VTABLE) /*TODO: Add ARMv4 functions here.*/ # endif # if defined(OC_ARM_ASM_EDSP) if(cpu_flags&OC_CPU_ARM_EDSP){ # if defined(OC_STATE_USE_VTABLE) /*TODO: Add EDSP functions here.*/ # endif } # if defined(OC_ARM_ASM_MEDIA) if(cpu_flags&OC_CPU_ARM_MEDIA){ # if defined(OC_STATE_USE_VTABLE) /*TODO: Add Media functions here.*/ # endif } # if defined(OC_ARM_ASM_NEON) if(cpu_flags&OC_CPU_ARM_NEON){ # if defined(OC_STATE_USE_VTABLE) _enc->opt_vtable.frag_satd=oc_enc_frag_satd_neon; _enc->opt_vtable.frag_satd2=oc_enc_frag_satd2_neon; _enc->opt_vtable.frag_intra_satd=oc_enc_frag_intra_satd_neon; _enc->opt_vtable.enquant_table_init=oc_enc_enquant_table_init_neon; _enc->opt_vtable.enquant_table_fixup=oc_enc_enquant_table_fixup_neon; _enc->opt_vtable.quantize=oc_enc_quantize_neon; # endif _enc->opt_data.enquant_table_size=128*sizeof(ogg_uint16_t); _enc->opt_data.enquant_table_alignment=16; } # endif # endif # endif } #endif