Modify code style, remove trailing space.
This commit is contained in:
@@ -71,7 +71,7 @@
|
|||||||
4CE4474718BC61650017DF25 /* typedefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typedefs.h; sourceTree = "<group>"; };
|
4CE4474718BC61650017DF25 /* typedefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typedefs.h; sourceTree = "<group>"; };
|
||||||
4CE4474918BC61650017DF25 /* WelsThreadLib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WelsThreadLib.cpp; sourceTree = "<group>"; };
|
4CE4474918BC61650017DF25 /* WelsThreadLib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WelsThreadLib.cpp; sourceTree = "<group>"; };
|
||||||
4CE4474A18BC61650017DF25 /* WelsThreadLib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WelsThreadLib.h; sourceTree = "<group>"; };
|
4CE4474A18BC61650017DF25 /* WelsThreadLib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WelsThreadLib.h; sourceTree = "<group>"; };
|
||||||
4CE447BC18C085320017DF25 /* deblocking_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = deblocking_neon.S; sourceTree = "<group>"; };
|
4CE447BC18C085320017DF25 /* deblocking_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.asm; path = deblocking_neon.S; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
|
||||||
4CE447BE18C085900017DF25 /* arm_arch_common_macro.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = arm_arch_common_macro.S; sourceTree = "<group>"; };
|
4CE447BE18C085900017DF25 /* arm_arch_common_macro.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = arm_arch_common_macro.S; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
|||||||
@@ -84,9 +84,9 @@
|
|||||||
4CE4464E18BC5EAA0017DF25 /* decoder_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder_context.h; sourceTree = "<group>"; };
|
4CE4464E18BC5EAA0017DF25 /* decoder_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder_context.h; sourceTree = "<group>"; };
|
||||||
4CE4464F18BC5EAA0017DF25 /* decoder_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder_core.h; sourceTree = "<group>"; };
|
4CE4464F18BC5EAA0017DF25 /* decoder_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder_core.h; sourceTree = "<group>"; };
|
||||||
4CE4465018BC5EAA0017DF25 /* error_code.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error_code.h; sourceTree = "<group>"; };
|
4CE4465018BC5EAA0017DF25 /* error_code.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error_code.h; sourceTree = "<group>"; };
|
||||||
4CE4465118BC5EAA0017DF25 /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_pic.h; sourceTree = "<group>"; };
|
4CE4465118BC5EAA0017DF25 /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_pic.h; sourceTree = "<group>"; usesTabs = 1; };
|
||||||
4CE4465218BC5EAA0017DF25 /* fmo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fmo.h; sourceTree = "<group>"; };
|
4CE4465218BC5EAA0017DF25 /* fmo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fmo.h; sourceTree = "<group>"; usesTabs = 1; };
|
||||||
4CE4465318BC5EAA0017DF25 /* get_intra_predictor.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; path = get_intra_predictor.h; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
|
4CE4465318BC5EAA0017DF25 /* get_intra_predictor.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = get_intra_predictor.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
|
||||||
4CE4465418BC5EAA0017DF25 /* manage_dec_ref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = manage_dec_ref.h; sourceTree = "<group>"; };
|
4CE4465418BC5EAA0017DF25 /* manage_dec_ref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = manage_dec_ref.h; sourceTree = "<group>"; };
|
||||||
4CE4465518BC5EAA0017DF25 /* mb_cache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mb_cache.h; sourceTree = "<group>"; };
|
4CE4465518BC5EAA0017DF25 /* mb_cache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mb_cache.h; sourceTree = "<group>"; };
|
||||||
4CE4465618BC5EAA0017DF25 /* mc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mc.h; sourceTree = "<group>"; };
|
4CE4465618BC5EAA0017DF25 /* mc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mc.h; sourceTree = "<group>"; };
|
||||||
@@ -105,19 +105,19 @@
|
|||||||
4CE4466318BC5EAA0017DF25 /* vlc_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vlc_decoder.h; sourceTree = "<group>"; };
|
4CE4466318BC5EAA0017DF25 /* vlc_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vlc_decoder.h; sourceTree = "<group>"; };
|
||||||
4CE4466418BC5EAA0017DF25 /* wels_common_basis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_common_basis.h; sourceTree = "<group>"; };
|
4CE4466418BC5EAA0017DF25 /* wels_common_basis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_common_basis.h; sourceTree = "<group>"; };
|
||||||
4CE4466518BC5EAA0017DF25 /* wels_const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_const.h; sourceTree = "<group>"; };
|
4CE4466518BC5EAA0017DF25 /* wels_const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_const.h; sourceTree = "<group>"; };
|
||||||
4CE4466718BC5EAA0017DF25 /* au_parser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = au_parser.cpp; sourceTree = "<group>"; usesTabs = 1; };
|
4CE4466718BC5EAA0017DF25 /* au_parser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = au_parser.cpp; sourceTree = "<group>"; usesTabs = 0; };
|
||||||
4CE4466818BC5EAA0017DF25 /* bit_stream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_stream.cpp; sourceTree = "<group>"; usesTabs = 1; };
|
4CE4466818BC5EAA0017DF25 /* bit_stream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bit_stream.cpp; sourceTree = "<group>"; usesTabs = 0; };
|
||||||
4CE4466918BC5EAA0017DF25 /* deblocking.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = deblocking.cpp; sourceTree = "<group>"; };
|
4CE4466918BC5EAA0017DF25 /* deblocking.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = deblocking.cpp; sourceTree = "<group>"; tabWidth = 2; };
|
||||||
4CE4466A18BC5EAA0017DF25 /* decode_mb_aux.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decode_mb_aux.cpp; sourceTree = "<group>"; };
|
4CE4466A18BC5EAA0017DF25 /* decode_mb_aux.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decode_mb_aux.cpp; sourceTree = "<group>"; };
|
||||||
4CE4466B18BC5EAA0017DF25 /* decode_slice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decode_slice.cpp; sourceTree = "<group>"; usesTabs = 1; };
|
4CE4466B18BC5EAA0017DF25 /* decode_slice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decode_slice.cpp; sourceTree = "<group>"; usesTabs = 0; };
|
||||||
4CE4466C18BC5EAA0017DF25 /* decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder.cpp; sourceTree = "<group>"; tabWidth = 2; usesTabs = 1; };
|
4CE4466C18BC5EAA0017DF25 /* decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder.cpp; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
|
||||||
4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder_core.cpp; sourceTree = "<group>"; };
|
4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder_core.cpp; sourceTree = "<group>"; };
|
||||||
4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder_data_tables.cpp; sourceTree = "<group>"; };
|
4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder_data_tables.cpp; sourceTree = "<group>"; };
|
||||||
4CE4466F18BC5EAA0017DF25 /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = expand_pic.cpp; sourceTree = "<group>"; };
|
4CE4466F18BC5EAA0017DF25 /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = expand_pic.cpp; sourceTree = "<group>"; };
|
||||||
4CE4467018BC5EAA0017DF25 /* fmo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fmo.cpp; sourceTree = "<group>"; };
|
4CE4467018BC5EAA0017DF25 /* fmo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fmo.cpp; sourceTree = "<group>"; };
|
||||||
4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_intra_predictor.cpp; sourceTree = "<group>"; };
|
4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_intra_predictor.cpp; sourceTree = "<group>"; };
|
||||||
4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = manage_dec_ref.cpp; sourceTree = "<group>"; };
|
4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = manage_dec_ref.cpp; sourceTree = "<group>"; };
|
||||||
4CE4467318BC5EAA0017DF25 /* mc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mc.cpp; sourceTree = "<group>"; tabWidth = 1; usesTabs = 1; wrapsLines = 1; };
|
4CE4467318BC5EAA0017DF25 /* mc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mc.cpp; sourceTree = "<group>"; tabWidth = 1; usesTabs = 0; wrapsLines = 1; };
|
||||||
4CE4467418BC5EAA0017DF25 /* mem_align.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mem_align.cpp; sourceTree = "<group>"; };
|
4CE4467418BC5EAA0017DF25 /* mem_align.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mem_align.cpp; sourceTree = "<group>"; };
|
||||||
4CE4467518BC5EAA0017DF25 /* memmgr_nal_unit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memmgr_nal_unit.cpp; sourceTree = "<group>"; };
|
4CE4467518BC5EAA0017DF25 /* memmgr_nal_unit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memmgr_nal_unit.cpp; sourceTree = "<group>"; };
|
||||||
4CE4467618BC5EAA0017DF25 /* mv_pred.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mv_pred.cpp; sourceTree = "<group>"; };
|
4CE4467618BC5EAA0017DF25 /* mv_pred.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mv_pred.cpp; sourceTree = "<group>"; };
|
||||||
|
|||||||
@@ -221,10 +221,8 @@ uint32_t WelsCPUFeatureDetectAndroid()
|
|||||||
uint32_t uiCPU = 0;
|
uint32_t uiCPU = 0;
|
||||||
AndroidCpuFamily cpuFamily = ANDROID_CPU_FAMILY_UNKNOWN;
|
AndroidCpuFamily cpuFamily = ANDROID_CPU_FAMILY_UNKNOWN;
|
||||||
uint64_t uiFeatures = 0;
|
uint64_t uiFeatures = 0;
|
||||||
|
|
||||||
cpuFamily = android_getCpuFamily();
|
cpuFamily = android_getCpuFamily();
|
||||||
if (cpuFamily == ANDROID_CPU_FAMILY_ARM)
|
if (cpuFamily == ANDROID_CPU_FAMILY_ARM) {
|
||||||
{
|
|
||||||
uiFeatures = android_getCpuFeatures();
|
uiFeatures = android_getCpuFeatures();
|
||||||
if (uiFeatures & ANDROID_CPU_ARM_FEATURE_ARMv7){
|
if (uiFeatures & ANDROID_CPU_ARM_FEATURE_ARMv7){
|
||||||
uiCPU |= WELS_CPU_ARMv7;
|
uiCPU |= WELS_CPU_ARMv7;
|
||||||
@@ -246,7 +244,6 @@ uint32_t WelsCPUFeatureDetectIOS() //Need to be updated for the new device of AP
|
|||||||
{
|
{
|
||||||
uint32_t uiCPU = 0;
|
uint32_t uiCPU = 0;
|
||||||
struct utsname sSystemInfo;
|
struct utsname sSystemInfo;
|
||||||
|
|
||||||
uname (&sSystemInfo);
|
uname (&sSystemInfo);
|
||||||
|
|
||||||
if ((0 != strcmp(sSystemInfo.machine, "iPhone1,1")) && //iPhone 2G
|
if ((0 != strcmp(sSystemInfo.machine, "iPhone1,1")) && //iPhone 2G
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -40,34 +40,6 @@ extern "C" {
|
|||||||
#endif//__cplusplus
|
#endif//__cplusplus
|
||||||
|
|
||||||
#if defined(HAVE_NEON)
|
#if defined(HAVE_NEON)
|
||||||
/*
|
|
||||||
void McCopy_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride,
|
|
||||||
int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer20_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride,
|
|
||||||
int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer02_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride,
|
|
||||||
int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer22_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride,
|
|
||||||
int32_t iWidth, int32_t iHeight);
|
|
||||||
|
|
||||||
void McHorVer01_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer03_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer10_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer11_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer12_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer13_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer21_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer23_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer30_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer31_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer32_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
void McHorVer33_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight);
|
|
||||||
|
|
||||||
void McLuma_neon(uint8_t* pSrc, int32_t src_stride, uint8_t* dst, int32_t dst_stride,
|
|
||||||
int16_t iMvX, int16_t iMvY, int32_t width, int32_t height);
|
|
||||||
void McChroma_neon(uint8_t* pSrc, int32_t src_stride, uint8_t* dst, int32_t dst_stride,
|
|
||||||
int16_t iMvX, int16_t iMvY, int32_t width, int32_t height);
|
|
||||||
*/
|
|
||||||
void McCopyWidthEq4_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iHeight);
|
void McCopyWidthEq4_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iHeight);
|
||||||
|
|
||||||
void McCopyWidthEq8_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iHeight);
|
void McCopyWidthEq8_neon(const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iHeight);
|
||||||
|
|||||||
@@ -61,12 +61,6 @@
|
|||||||
.endm
|
.endm
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i16x16_luma_pred_v(uint8_t *pred, const int32_t stride)
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI16x16LumaPredV_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI16x16LumaPredV_neon
|
||||||
//Get the top line data to 'q0'
|
//Get the top line data to 'q0'
|
||||||
@@ -87,12 +81,6 @@ loop_0_get_i16x16_luma_pred_v:
|
|||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i16x16_luma_pred_h(uint8_t *pred, const int32_t stride)
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI16x16LumaPredH_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI16x16LumaPredH_neon
|
||||||
sub r2, r0, #1
|
sub r2, r0, #1
|
||||||
@@ -116,13 +104,6 @@ loop_0_get_i16x16_luma_pred_h:
|
|||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i16x16_luma_pred_dc_both(uint8_t *pred, const int32_t stride)
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI16x16LumaPredDc_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI16x16LumaPredDc_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
//Get the left vertical line data
|
//Get the left vertical line data
|
||||||
@@ -159,12 +140,6 @@ loop_0_get_i16x16_luma_pred_dc_both:
|
|||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i16x16_luma_pred_plane(uint8_t *pred, const int32_t stride)
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
//The table for SIMD instruction {(8,7,6,5,4,3,2,1) * 5}
|
//The table for SIMD instruction {(8,7,6,5,4,3,2,1) * 5}
|
||||||
CONST0_GET_I16X16_LUMA_PRED_PLANE: .long 0x191e2328, 0x050a0f14
|
CONST0_GET_I16X16_LUMA_PRED_PLANE: .long 0x191e2328, 0x050a0f14
|
||||||
@@ -263,14 +238,6 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
|
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i4x4_luma_pred_v(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredV_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredV_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
//Load the top row (4 bytes)
|
//Load the top row (4 bytes)
|
||||||
@@ -285,12 +252,7 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
|
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i4x4_luma_pred_h(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredH_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredH_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
@@ -309,12 +271,7 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
|
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i4x4_luma_pred_d_l(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredDDL_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredDDL_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
//Load the top row data(8 bytes)
|
//Load the top row data(8 bytes)
|
||||||
@@ -352,12 +309,6 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
|
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i4x4_luma_pred_d_r(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredDDR_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredDDR_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
@@ -399,12 +350,7 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i4x4_luma_pred_v_l(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredVL_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredVL_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
//Load the top row (8 bytes)
|
//Load the top row (8 bytes)
|
||||||
@@ -435,12 +381,6 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i4x4_luma_pred_v_r(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredVR_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredVR_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
@@ -479,13 +419,7 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* get_i4x4_luma_pred_h_u(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
//NO TEST
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredHU_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredHU_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
//Load the left column data
|
//Load the left column data
|
||||||
@@ -518,12 +452,7 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
|
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i4x4_luma_pred_h_d(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredHD_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderI4x4LumaPredHD_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
//Load the data
|
//Load the data
|
||||||
@@ -559,13 +488,6 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i_chroma_pred_v(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderIChromaPredV_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderIChromaPredV_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
//Get the top row (8 byte)
|
//Get the top row (8 byte)
|
||||||
@@ -585,13 +507,6 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i_chroma_pred_h(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderIChromaPredH_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderIChromaPredH_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
////Get the left column (8 byte)
|
////Get the left column (8 byte)
|
||||||
@@ -618,13 +533,6 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i_chroma_pred_dc_both(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN WelsDecoderIChromaPredDC_neon
|
WELS_ASM_FUNC_BEGIN WelsDecoderIChromaPredDC_neon
|
||||||
//stmdb sp!, { r2-r5, lr}
|
//stmdb sp!, { r2-r5, lr}
|
||||||
//Load the left column data (8 bytes)
|
//Load the left column data (8 bytes)
|
||||||
@@ -661,12 +569,7 @@ loop_0_get_i16x16_luma_pred_plane:
|
|||||||
|
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
/*
|
|
||||||
* void get_i_chroma_pred_plane(uint8_t *pred, const int32_t stride);
|
|
||||||
* r0 --- pred
|
|
||||||
* r1 --- stride
|
|
||||||
* return --- void
|
|
||||||
*/
|
|
||||||
//Table {{1,2,3,4,1,2,3,4}*17}
|
//Table {{1,2,3,4,1,2,3,4}*17}
|
||||||
CONST0_GET_I_CHROMA_PRED_PLANE: .long 0x44332211, 0x44332211//0x140f0a05, 0x28231e19
|
CONST0_GET_I_CHROMA_PRED_PLANE: .long 0x44332211, 0x44332211//0x140f0a05, 0x28231e19
|
||||||
//Table {-3,-2,-1,0,1,2,3,4}
|
//Table {-3,-2,-1,0,1,2,3,4}
|
||||||
|
|||||||
@@ -42,8 +42,6 @@
|
|||||||
// }
|
// }
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
//h_filter(src) = (src[-2] + src[3]) - 5*(src[-1] + src[2]) + 20*(src[ 0] + src[1]);//
|
|
||||||
//clip((h_filter(src)+16)>>5)
|
|
||||||
.macro FILTER_6TAG_8BITS
|
.macro FILTER_6TAG_8BITS
|
||||||
// { // input:src[-2], src[-1], src[0], src[1], src[2], src[3], dst_d, multiplier a/b; working: q12, q13
|
// { // input:src[-2], src[-1], src[0], src[1], src[2], src[3], dst_d, multiplier a/b; working: q12, q13
|
||||||
vaddl.u8 q12, $0, $5 //q12=src[-2]+src[3]
|
vaddl.u8 q12, $0, $5 //q12=src[-2]+src[3]
|
||||||
@@ -125,8 +123,6 @@
|
|||||||
// }
|
// }
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
//h_filter(src) = (src[-2] + src[3]) - 5*(src[-1] + src[2]) + 20*(src[ 0] + src[1]);//
|
|
||||||
//clip((h_filter(src)+16)>>5)
|
|
||||||
.macro FILTER_6TAG_8BITS arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8
|
.macro FILTER_6TAG_8BITS arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8
|
||||||
// { // input:src[-2], src[-1], src[0], src[1], src[2], src[3], dst_d, multiplier a/b; working: q12, q13
|
// { // input:src[-2], src[-1], src[0], src[1], src[2], src[3], dst_d, multiplier a/b; working: q12, q13
|
||||||
vaddl.u8 q12, \arg0, \arg5 //q12=src[-2]+src[3]
|
vaddl.u8 q12, \arg0, \arg5 //q12=src[-2]+src[3]
|
||||||
@@ -201,7 +197,7 @@
|
|||||||
// }
|
// }
|
||||||
.endm
|
.endm
|
||||||
#endif
|
#endif
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer20WidthEq16_neon
|
WELS_ASM_FUNC_BEGIN McHorVer20WidthEq16_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -233,7 +229,7 @@ w16_h_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer20WidthEq8_neon
|
WELS_ASM_FUNC_BEGIN McHorVer20WidthEq8_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -262,7 +258,7 @@ w8_h_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer20WidthEq4_neon
|
WELS_ASM_FUNC_BEGIN McHorVer20WidthEq4_neon
|
||||||
push {r4, r5, r6}
|
push {r4, r5, r6}
|
||||||
ldr r6, [sp, #12]
|
ldr r6, [sp, #12]
|
||||||
@@ -300,7 +296,7 @@ w4_h_mc_luma_loop:
|
|||||||
pop {r4, r5, r6}
|
pop {r4, r5, r6}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer10WidthEq16_neon
|
WELS_ASM_FUNC_BEGIN McHorVer10WidthEq16_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -332,7 +328,7 @@ w16_xy_10_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer10WidthEq8_neon
|
WELS_ASM_FUNC_BEGIN McHorVer10WidthEq8_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -361,7 +357,7 @@ w8_xy_10_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer10WidthEq4_neon
|
WELS_ASM_FUNC_BEGIN McHorVer10WidthEq4_neon
|
||||||
push {r4, r5, r6}
|
push {r4, r5, r6}
|
||||||
ldr r6, [sp, #12]
|
ldr r6, [sp, #12]
|
||||||
@@ -399,7 +395,7 @@ w4_xy_10_mc_luma_loop:
|
|||||||
pop {r4, r5, r6}
|
pop {r4, r5, r6}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer30WidthEq16_neon
|
WELS_ASM_FUNC_BEGIN McHorVer30WidthEq16_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -431,7 +427,7 @@ w16_xy_30_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer30WidthEq8_neon
|
WELS_ASM_FUNC_BEGIN McHorVer30WidthEq8_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -460,7 +456,7 @@ w8_xy_30_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer30WidthEq4_neon
|
WELS_ASM_FUNC_BEGIN McHorVer30WidthEq4_neon
|
||||||
push {r4, r5, r6}
|
push {r4, r5, r6}
|
||||||
ldr r6, [sp, #12]
|
ldr r6, [sp, #12]
|
||||||
@@ -498,7 +494,7 @@ w4_xy_30_mc_luma_loop:
|
|||||||
pop {r4, r5, r6}
|
pop {r4, r5, r6}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer01WidthEq16_neon
|
WELS_ASM_FUNC_BEGIN McHorVer01WidthEq16_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -580,6 +576,7 @@ w16_xy_01_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer01WidthEq8_neon
|
WELS_ASM_FUNC_BEGIN McHorVer01WidthEq8_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -633,6 +630,7 @@ w8_xy_01_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer01WidthEq4_neon
|
WELS_ASM_FUNC_BEGIN McHorVer01WidthEq4_neon
|
||||||
push {r4, r5, r6, r7}
|
push {r4, r5, r6, r7}
|
||||||
sub r0, r1, lsl #1 //src[-2*src_stride]
|
sub r0, r1, lsl #1 //src[-2*src_stride]
|
||||||
@@ -691,6 +689,7 @@ w4_xy_01_mc_luma_loop:
|
|||||||
pop {r4, r5, r6, r7}
|
pop {r4, r5, r6, r7}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer03WidthEq16_neon
|
WELS_ASM_FUNC_BEGIN McHorVer03WidthEq16_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -772,6 +771,7 @@ w16_xy_03_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer03WidthEq8_neon
|
WELS_ASM_FUNC_BEGIN McHorVer03WidthEq8_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -825,6 +825,7 @@ w8_xy_03_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer03WidthEq4_neon
|
WELS_ASM_FUNC_BEGIN McHorVer03WidthEq4_neon
|
||||||
push {r4, r5, r6, r7}
|
push {r4, r5, r6, r7}
|
||||||
sub r0, r1, lsl #1 //src[-2*src_stride]
|
sub r0, r1, lsl #1 //src[-2*src_stride]
|
||||||
@@ -883,7 +884,7 @@ w4_xy_03_mc_luma_loop:
|
|||||||
pop {r4, r5, r6, r7}
|
pop {r4, r5, r6, r7}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer02WidthEq16_neon
|
WELS_ASM_FUNC_BEGIN McHorVer02WidthEq16_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -965,7 +966,7 @@ w16_v_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer02WidthEq8_neon
|
WELS_ASM_FUNC_BEGIN McHorVer02WidthEq8_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -1019,7 +1020,7 @@ w8_v_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer02WidthEq4_neon
|
WELS_ASM_FUNC_BEGIN McHorVer02WidthEq4_neon
|
||||||
push {r4, r5, r6, r7}
|
push {r4, r5, r6, r7}
|
||||||
sub r0, r1, lsl #1 //src[-2*src_stride]
|
sub r0, r1, lsl #1 //src[-2*src_stride]
|
||||||
@@ -1078,7 +1079,7 @@ w4_v_mc_luma_loop:
|
|||||||
pop {r4, r5, r6, r7}
|
pop {r4, r5, r6, r7}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer22WidthEq16_neon
|
WELS_ASM_FUNC_BEGIN McHorVer22WidthEq16_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -1089,8 +1090,6 @@ w4_v_mc_luma_loop:
|
|||||||
pld [r0, r1]
|
pld [r0, r1]
|
||||||
|
|
||||||
vmov.u16 q14, #0x0014 // 20
|
vmov.u16 q14, #0x0014 // 20
|
||||||
// vmov.u32 d30, #0x00140000
|
|
||||||
// vorr.u32 d30, #0x0005 //0x0014 0005 0014 0005
|
|
||||||
vld1.u8 {d0-d2}, [r0], r1 //use 21(16+5), =src[-2]
|
vld1.u8 {d0-d2}, [r0], r1 //use 21(16+5), =src[-2]
|
||||||
vld1.u8 {d3-d5}, [r0], r1 //use 21(16+5), =src[-1]
|
vld1.u8 {d3-d5}, [r0], r1 //use 21(16+5), =src[-1]
|
||||||
|
|
||||||
@@ -1115,7 +1114,7 @@ w16_hv_mc_luma_loop:
|
|||||||
// horizon filtered
|
// horizon filtered
|
||||||
UNPACK_2_16BITS_TO_ABC q9, q10, q11, q12, q13
|
UNPACK_2_16BITS_TO_ABC q9, q10, q11, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d0 //output to q0[0]
|
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d0 //output to q0[0]
|
||||||
// vst1.u8 d18, [r2] //write 8Byte
|
|
||||||
// vertical filtered into q10/q11
|
// vertical filtered into q10/q11
|
||||||
FILTER_6TAG_8BITS_TO_16BITS d2, d5, d8,d11, d14, d17,q11, q14, q15 // only 5 avail
|
FILTER_6TAG_8BITS_TO_16BITS d2, d5, d8,d11, d14, d17,q11, q14, q15 // only 5 avail
|
||||||
// horizon filtered
|
// horizon filtered
|
||||||
@@ -1133,13 +1132,13 @@ w16_hv_mc_luma_loop:
|
|||||||
// horizon filtered
|
// horizon filtered
|
||||||
UNPACK_2_16BITS_TO_ABC q9, q10, q11, q12, q13
|
UNPACK_2_16BITS_TO_ABC q9, q10, q11, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d3 //output to d3
|
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d3 //output to d3
|
||||||
// vst1.u8 d18, [r2]! //write 8Byte
|
|
||||||
// vertical filtered into q10/q11
|
// vertical filtered into q10/q11
|
||||||
FILTER_6TAG_8BITS_TO_16BITS d5, d8,d11, d14, d17, d2,q11, q14, q15 // only 5 avail
|
FILTER_6TAG_8BITS_TO_16BITS d5, d8,d11, d14, d17, d2,q11, q14, q15 // only 5 avail
|
||||||
// horizon filtered
|
// horizon filtered
|
||||||
UNPACK_2_16BITS_TO_ABC q10, q11, q9, q12, q13
|
UNPACK_2_16BITS_TO_ABC q10, q11, q9, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q9, q12, q13, d4 //output to d4
|
FILTER_3_IN_16BITS_TO_8BITS q9, q12, q13, d4 //output to d4
|
||||||
// vst1.u8 d20, [r2]! //write 8Byte
|
|
||||||
vst1.u8 {d3, d4}, [r2], r3 //write 16Byte
|
vst1.u8 {d3, d4}, [r2], r3 //write 16Byte
|
||||||
|
|
||||||
vld1.u8 {d3-d5}, [r0], r1 //read 3rd row
|
vld1.u8 {d3-d5}, [r0], r1 //read 3rd row
|
||||||
@@ -1151,13 +1150,12 @@ w16_hv_mc_luma_loop:
|
|||||||
// horizon filtered
|
// horizon filtered
|
||||||
UNPACK_2_16BITS_TO_ABC q9, q10, q11, q12, q13
|
UNPACK_2_16BITS_TO_ABC q9, q10, q11, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d6 //output to d6
|
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d6 //output to d6
|
||||||
// vst1.u8 d18, [r2]! //write 8Byte
|
|
||||||
// vertical filtered into q10/q11
|
// vertical filtered into q10/q11
|
||||||
FILTER_6TAG_8BITS_TO_16BITS d8,d11, d14, d17, d2, d5,q11, q14, q15 // only 5 avail
|
FILTER_6TAG_8BITS_TO_16BITS d8,d11, d14, d17, d2, d5,q11, q14, q15 // only 5 avail
|
||||||
// horizon filtered
|
// horizon filtered
|
||||||
UNPACK_2_16BITS_TO_ABC q10, q11, q9, q12, q13
|
UNPACK_2_16BITS_TO_ABC q10, q11, q9, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q9, q12, q13, d7 //output to d7
|
FILTER_3_IN_16BITS_TO_8BITS q9, q12, q13, d7 //output to d7
|
||||||
// vst1.u8 d20, [r2]! //write 8Byte
|
|
||||||
vst1.u8 {d6, d7}, [r2], r3 //write 16Byte
|
vst1.u8 {d6, d7}, [r2], r3 //write 16Byte
|
||||||
|
|
||||||
vld1.u8 {d6-d8}, [r0], r1 //read 4th row
|
vld1.u8 {d6-d8}, [r0], r1 //read 4th row
|
||||||
@@ -1169,13 +1167,11 @@ w16_hv_mc_luma_loop:
|
|||||||
// horizon filtered
|
// horizon filtered
|
||||||
UNPACK_2_16BITS_TO_ABC q9, q10, q11, q12, q13
|
UNPACK_2_16BITS_TO_ABC q9, q10, q11, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d9 //output to d9
|
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d9 //output to d9
|
||||||
// vst1.u8 d18, [r2]! //write 8Byte
|
|
||||||
// vertical filtered into q10/q11
|
// vertical filtered into q10/q11
|
||||||
FILTER_6TAG_8BITS_TO_16BITS d11, d14, d17, d2, d5, d8,q11, q14, q15 // only 5 avail
|
FILTER_6TAG_8BITS_TO_16BITS d11, d14, d17, d2, d5, d8,q11, q14, q15 // only 5 avail
|
||||||
// horizon filtered
|
// horizon filtered
|
||||||
UNPACK_2_16BITS_TO_ABC q10, q11, q9, q12, q13
|
UNPACK_2_16BITS_TO_ABC q10, q11, q9, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q9, q12, q13, d10 //output to d10
|
FILTER_3_IN_16BITS_TO_8BITS q9, q12, q13, d10 //output to d10
|
||||||
// vst1.u8 d20, [r2]! //write 8Byte
|
|
||||||
vst1.u8 {d9, d10}, [r2], r3 //write 16Byte
|
vst1.u8 {d9, d10}, [r2], r3 //write 16Byte
|
||||||
|
|
||||||
//d12~d17(q6~q8), d0~d8(q0~q3+d8), --> d0~d14
|
//d12~d17(q6~q8), d0~d8(q0~q3+d8), --> d0~d14
|
||||||
@@ -1195,7 +1191,7 @@ w16_hv_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer22WidthEq8_neon
|
WELS_ASM_FUNC_BEGIN McHorVer22WidthEq8_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -1231,7 +1227,6 @@ w8_hv_mc_luma_loop:
|
|||||||
UNPACK_2_16BITS_TO_ABC q6, q7, q11, q12, q13
|
UNPACK_2_16BITS_TO_ABC q6, q7, q11, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d12 //output to q6[0]
|
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d12 //output to q6[0]
|
||||||
vst1.u8 d12, [r2], r3 //write 8Byte
|
vst1.u8 d12, [r2], r3 //write 8Byte
|
||||||
// add r2, #8
|
|
||||||
|
|
||||||
vld1.u8 {q0}, [r0], r1 //read 2nd row
|
vld1.u8 {q0}, [r0], r1 //read 2nd row
|
||||||
//the 2nd row
|
//the 2nd row
|
||||||
@@ -1243,7 +1238,6 @@ w8_hv_mc_luma_loop:
|
|||||||
UNPACK_2_16BITS_TO_ABC q6, q7, q11, q12, q13
|
UNPACK_2_16BITS_TO_ABC q6, q7, q11, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d12 //output to q6[0]
|
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d12 //output to q6[0]
|
||||||
vst1.u8 d12, [r2], r3 //write 8Byte
|
vst1.u8 d12, [r2], r3 //write 8Byte
|
||||||
// add r2, #8
|
|
||||||
|
|
||||||
vld1.u8 {q1}, [r0], r1 //read 3rd row
|
vld1.u8 {q1}, [r0], r1 //read 3rd row
|
||||||
//the 3rd row
|
//the 3rd row
|
||||||
@@ -1255,7 +1249,6 @@ w8_hv_mc_luma_loop:
|
|||||||
UNPACK_2_16BITS_TO_ABC q6, q7, q11, q12, q13
|
UNPACK_2_16BITS_TO_ABC q6, q7, q11, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d12 //output to q6[0]
|
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d12 //output to q6[0]
|
||||||
vst1.u8 d12, [r2], r3 //write 8Byte
|
vst1.u8 d12, [r2], r3 //write 8Byte
|
||||||
// add r2, #8
|
|
||||||
|
|
||||||
vld1.u8 {q2}, [r0], r1 //read 4th row
|
vld1.u8 {q2}, [r0], r1 //read 4th row
|
||||||
//the 4th row
|
//the 4th row
|
||||||
@@ -1267,7 +1260,6 @@ w8_hv_mc_luma_loop:
|
|||||||
UNPACK_2_16BITS_TO_ABC q6, q7, q11, q12, q13
|
UNPACK_2_16BITS_TO_ABC q6, q7, q11, q12, q13
|
||||||
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d12 //output to q6[0]
|
FILTER_3_IN_16BITS_TO_8BITS q11, q12, q13, d12 //output to q6[0]
|
||||||
vst1.u8 d12, [r2], r3 //write 8Byte
|
vst1.u8 d12, [r2], r3 //write 8Byte
|
||||||
// add r2, #8
|
|
||||||
|
|
||||||
//q4~q5, q0~q2, --> q0~q4
|
//q4~q5, q0~q2, --> q0~q4
|
||||||
vswp q0, q4
|
vswp q0, q4
|
||||||
@@ -1281,7 +1273,7 @@ w8_hv_mc_luma_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McHorVer22WidthEq4_neon
|
WELS_ASM_FUNC_BEGIN McHorVer22WidthEq4_neon
|
||||||
push {r4 ,r5, r6}
|
push {r4 ,r5, r6}
|
||||||
ldr r6, [sp, #12]
|
ldr r6, [sp, #12]
|
||||||
@@ -1331,7 +1323,6 @@ w4_hv_mc_luma_loop:
|
|||||||
vmov r4 ,r5, d22
|
vmov r4 ,r5, d22
|
||||||
str r4, [r2], r3 //write 4Byte
|
str r4, [r2], r3 //write 4Byte
|
||||||
str r5, [r2], r3 //write 4Byte
|
str r5, [r2], r3 //write 4Byte
|
||||||
// add r2, #32
|
|
||||||
|
|
||||||
//the 3rd&4th row
|
//the 3rd&4th row
|
||||||
vld1.u8 {q0}, [r0], r1 //use 9(4+5), =src[3]
|
vld1.u8 {q0}, [r0], r1 //use 9(4+5), =src[3]
|
||||||
@@ -1356,7 +1347,6 @@ w4_hv_mc_luma_loop:
|
|||||||
vmov r4 ,r5, d22
|
vmov r4 ,r5, d22
|
||||||
str r4, [r2], r3 //write 4Byte
|
str r4, [r2], r3 //write 4Byte
|
||||||
str r5, [r2], r3 //write 4Byte
|
str r5, [r2], r3 //write 4Byte
|
||||||
// add r2, #32
|
|
||||||
|
|
||||||
//q4~q6, q0~q1, --> q0~q4
|
//q4~q6, q0~q1, --> q0~q4
|
||||||
vswp q4, q0
|
vswp q4, q0
|
||||||
@@ -1372,7 +1362,7 @@ w4_hv_mc_luma_loop:
|
|||||||
pop {r4, r5, r6}
|
pop {r4, r5, r6}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McCopyWidthEq16_neon
|
WELS_ASM_FUNC_BEGIN McCopyWidthEq16_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -1388,7 +1378,7 @@ w16_copy_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McCopyWidthEq8_neon
|
WELS_ASM_FUNC_BEGIN McCopyWidthEq8_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -1404,7 +1394,7 @@ w8_copy_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McCopyWidthEq4_neon
|
WELS_ASM_FUNC_BEGIN McCopyWidthEq4_neon
|
||||||
push {r4, r5, r6}
|
push {r4, r5, r6}
|
||||||
ldr r4, [sp, #12]
|
ldr r4, [sp, #12]
|
||||||
@@ -1421,7 +1411,7 @@ w4_copy_loop:
|
|||||||
pop {r4, r5, r6}
|
pop {r4, r5, r6}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* dst, int32_t dst_stride, uint8_t* srcA, uint8_t* srcB, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN PixelAvgWidthEq16_neon
|
WELS_ASM_FUNC_BEGIN PixelAvgWidthEq16_neon
|
||||||
push {r4}
|
push {r4}
|
||||||
ldr r4, [sp, #4]
|
ldr r4, [sp, #4]
|
||||||
@@ -1459,6 +1449,7 @@ w16_pix_avg_loop:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
|
|
||||||
WELS_ASM_FUNC_BEGIN PixelAvgWidthEq8_neon
|
WELS_ASM_FUNC_BEGIN PixelAvgWidthEq8_neon
|
||||||
push {r4, r5}
|
push {r4, r5}
|
||||||
ldr r4, [sp, #8]
|
ldr r4, [sp, #8]
|
||||||
@@ -1469,8 +1460,6 @@ w8_pix_avg_loop:
|
|||||||
vld1.u8 {d2}, [r3], r5
|
vld1.u8 {d2}, [r3], r5
|
||||||
vld1.u8 {d1}, [r2], r5
|
vld1.u8 {d1}, [r2], r5
|
||||||
vld1.u8 {d3}, [r3], r5
|
vld1.u8 {d3}, [r3], r5
|
||||||
// add r2, #32
|
|
||||||
// add r3, #32
|
|
||||||
|
|
||||||
AVERAGE_TWO_8BITS d0, d0, d2
|
AVERAGE_TWO_8BITS d0, d0, d2
|
||||||
AVERAGE_TWO_8BITS d1, d1, d3
|
AVERAGE_TWO_8BITS d1, d1, d3
|
||||||
@@ -1481,8 +1470,6 @@ w8_pix_avg_loop:
|
|||||||
vld1.u8 {d6}, [r3], r5
|
vld1.u8 {d6}, [r3], r5
|
||||||
vld1.u8 {d5}, [r2], r5
|
vld1.u8 {d5}, [r2], r5
|
||||||
vld1.u8 {d7}, [r3], r5
|
vld1.u8 {d7}, [r3], r5
|
||||||
// add r2, #32
|
|
||||||
// add r3, #32
|
|
||||||
|
|
||||||
AVERAGE_TWO_8BITS d4, d4, d6
|
AVERAGE_TWO_8BITS d4, d4, d6
|
||||||
AVERAGE_TWO_8BITS d5, d5, d7
|
AVERAGE_TWO_8BITS d5, d5, d7
|
||||||
@@ -1496,7 +1483,7 @@ w8_pix_avg_loop:
|
|||||||
pop {r4, r5}
|
pop {r4, r5}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN PixelAvgWidthEq4_neon
|
WELS_ASM_FUNC_BEGIN PixelAvgWidthEq4_neon
|
||||||
push {r4-r8}
|
push {r4-r8}
|
||||||
ldr r4, [sp, #20]
|
ldr r4, [sp, #20]
|
||||||
@@ -1524,13 +1511,7 @@ w4_pix_avg_loop:
|
|||||||
pop {r4-r8}
|
pop {r4-r8}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t* weights, int32_t height
|
|
||||||
//cA = (8 - dx) * (8 - dy);
|
|
||||||
//cB = dx * (8 - dy);
|
|
||||||
//cC = (8 - dx) * dy;
|
|
||||||
//cD = dx * dy
|
|
||||||
WELS_ASM_FUNC_BEGIN McChromaWidthEq8_neon
|
WELS_ASM_FUNC_BEGIN McChromaWidthEq8_neon
|
||||||
|
|
||||||
push {r4, r5}
|
push {r4, r5}
|
||||||
ldr r4, [sp, #8]
|
ldr r4, [sp, #8]
|
||||||
ldr r5, [sp, #12]
|
ldr r5, [sp, #12]
|
||||||
@@ -1574,7 +1555,7 @@ w8_mc_chroma_loop: // each two pxl row
|
|||||||
pop {r4, r5}
|
pop {r4, r5}
|
||||||
WELS_ASM_FUNC_END
|
WELS_ASM_FUNC_END
|
||||||
|
|
||||||
//uint8_t* src, int32_t src_stride, uint8_t* dst, int32_t dst_stride, int32_t* weights, int32_t height
|
|
||||||
WELS_ASM_FUNC_BEGIN McChromaWidthEq4_neon
|
WELS_ASM_FUNC_BEGIN McChromaWidthEq4_neon
|
||||||
|
|
||||||
push {r4, r5, r6}
|
push {r4, r5, r6}
|
||||||
|
|||||||
Reference in New Issue
Block a user