Showing the changes to test/decoder/DecUT_IntraPrediction.cpp (1 of 1 file). Show all
Unified · Split
| @@ -1,15 +1,24 @@ | |||
| 1 | #include<gtest/gtest.h> | 1 | #include<gtest/gtest.h> |
| 2 | #include <time.h> | 2 | #include <time.h> |
| 3 | #include "cpu.h" | ||
| 4 | #include "cpu_core.h" | ||
| 3 | #include "get_intra_predictor.h" | 5 | #include "get_intra_predictor.h" |
| 4 | #include "typedefs.h" | 6 | #include "typedefs.h" |
| 5 | #include "ls_defines.h" | 7 | #include "ls_defines.h" |
| 6 | using namespace WelsDec; | 8 | using namespace WelsDec; |
| 7 | #define GENERATE_4x4_UT(pred, ref) \ | 9 | #define GENERATE_4x4_UT(pred, ref, ASM, CPUFLAGS) \ |
| 8 | TEST(DecoderIntraPredictionTest, pred) { \ | 10 | TEST(DecoderIntraPredictionTest, pred) { \ |
| 9 | const int32_t kiStride = 32; \ | 11 | const int32_t kiStride = 32; \ |
| 10 | int32_t iRunTimes = 1000; \ | 12 | int32_t iRunTimes = 1000; \ |
| 11 | uint8_t pPredBuffer[9 * kiStride]; \ | 13 | uint8_t pPredBuffer[9 * kiStride]; \ |
| 12 | uint8_t pRefBuffer[9 * kiStride]; \ | 14 | uint8_t pRefBuffer[9 * kiStride]; \ |
| 15 | if (ASM) {\ | ||
| 16 | int32_t iNumberofCPUCore = 1; \ | ||
| 17 | uint32_t uiCPUFlags = WelsCPUFeatureDetect( &iNumberofCPUCore); \ | ||
| 18 | if ((uiCPUFlags & CPUFLAGS) == 0) {\ | ||
| 19 | return; \ | ||
| 20 | } \ | ||
| 21 | }\ | ||
| 13 | srand((unsigned int)time(NULL)); \ | 22 | srand((unsigned int)time(NULL)); \ |
| 14 | while(iRunTimes--) {\ | 23 | while(iRunTimes--) {\ |
| 15 | for (int i = 0; i < 9; i++) {\ | 24 | for (int i = 0; i < 9; i++) {\ |
| @@ -342,38 +351,45 @@ void WelsI4x4LumaPredHD_ref (uint8_t* pPred, const int32_t kiStride) { · 326 unmodified lines | |||
| 342 | } | 351 | } |
| 343 | // Unit test for Luma 4x4 cases | 352 | // Unit test for Luma 4x4 cases |
| 344 | PREDV (4) | 353 | PREDV (4) |
| 345 | GENERATE_4x4_UT (WelsI4x4LumaPredV_c, LumaI4x4PredV) | 354 | GENERATE_4x4_UT (WelsI4x4LumaPredV_c, LumaI4x4PredV, 0, 0) |
| 346 | 355 | ||
| 347 | PREDH (4) | 356 | PREDH (4) |
| 348 | GENERATE_4x4_UT (WelsI4x4LumaPredH_c, LumaI4x4PredH) | 357 | GENERATE_4x4_UT (WelsI4x4LumaPredH_c, LumaI4x4PredH, 0, 0) |
| 349 | 358 | ||
| 350 | PREDDC (4, 2) | 359 | PREDDC (4, 2) |
| 351 | GENERATE_4x4_UT (WelsI4x4LumaPredDc_c, LumaI4x4PredDC) | 360 | GENERATE_4x4_UT (WelsI4x4LumaPredDc_c, LumaI4x4PredDC, 0, 0) |
| 352 | 361 | ||
| 353 | PREDDCLeft (4, 2) | 362 | PREDDCLeft (4, 2) |
| 354 | GENERATE_4x4_UT (WelsI4x4LumaPredDcLeft_c, LumaI4x4PredDCLeft) | 363 | GENERATE_4x4_UT (WelsI4x4LumaPredDcLeft_c, LumaI4x4PredDCLeft, 0, 0) |
| 355 | 364 | ||
| 356 | PREDDCTop (4, 2) | 365 | PREDDCTop (4, 2) |
| 357 | GENERATE_4x4_UT (WelsI4x4LumaPredDcTop_c, LumaI4x4PredDCTop) | 366 | GENERATE_4x4_UT (WelsI4x4LumaPredDcTop_c, LumaI4x4PredDCTop, 0, 0) |
| 358 | 367 | ||
| 359 | PREDDCNone (4, 2) | 368 | PREDDCNone (4, 2) |
| 360 | GENERATE_4x4_UT (WelsI4x4LumaPredDcNA_c, LumaI4x4PredDCNone) | 369 | GENERATE_4x4_UT (WelsI4x4LumaPredDcNA_c, LumaI4x4PredDCNone, 0, 0) |
| 361 | GENERATE_4x4_UT (WelsI4x4LumaPredDDL_c, WelsI4x4LumaPredDDL_ref) | 370 | GENERATE_4x4_UT (WelsI4x4LumaPredDDL_c, WelsI4x4LumaPredDDL_ref, 0, 0) |
| 362 | GENERATE_4x4_UT (WelsI4x4LumaPredDDLTop_c, WelsI4x4LumaPredDDLTop_ref) | 371 | GENERATE_4x4_UT (WelsI4x4LumaPredDDLTop_c, WelsI4x4LumaPredDDLTop_ref, 0, 0) |
| 363 | GENERATE_4x4_UT (WelsI4x4LumaPredDDR_c, WelsI4x4LumaPredDDR_ref) | 372 | GENERATE_4x4_UT (WelsI4x4LumaPredDDR_c, WelsI4x4LumaPredDDR_ref, 0, 0) |
| 364 | GENERATE_4x4_UT (WelsI4x4LumaPredVR_c, WelsI4x4LumaPredVR_ref) | 373 | GENERATE_4x4_UT (WelsI4x4LumaPredVR_c, WelsI4x4LumaPredVR_ref, 0, 0) |
| 365 | GENERATE_4x4_UT (WelsI4x4LumaPredVL_c, WelsI4x4LumaPredVL_ref) | 374 | GENERATE_4x4_UT (WelsI4x4LumaPredVL_c, WelsI4x4LumaPredVL_ref, 0, 0) |
| 366 | GENERATE_4x4_UT (WelsI4x4LumaPredVLTop_c, WelsI4x4LumaPredVLTop_ref) | 375 | GENERATE_4x4_UT (WelsI4x4LumaPredVLTop_c, WelsI4x4LumaPredVLTop_ref, 0, 0) |
| 367 | GENERATE_4x4_UT (WelsI4x4LumaPredHU_c, WelsI4x4LumaPredHU_ref) | 376 | GENERATE_4x4_UT (WelsI4x4LumaPredHU_c, WelsI4x4LumaPredHU_ref, 0, 0) |
| 368 | GENERATE_4x4_UT (WelsI4x4LumaPredHD_c, WelsI4x4LumaPredHD_ref) | 377 | GENERATE_4x4_UT (WelsI4x4LumaPredHD_c, WelsI4x4LumaPredHD_ref, 0, 0) |
| 369 | 378 | ||
| 370 | #define GENERATE_8x8_UT(pred, ref) \ | 379 | #define GENERATE_8x8_UT(pred, ref, ASM, CPUFLAGS) \ |
| 371 | TEST(DecoderIntraPredictionTest, pred) {\ | 380 | TEST(DecoderIntraPredictionTest, pred) {\ |
| 372 | const int32_t kiStride = 32; \ | 381 | const int32_t kiStride = 32; \ |
| 373 | int iRunTimes = 1000; \ | 382 | int iRunTimes = 1000; \ |
| 374 | uint8_t _pRefBuffer[18 * kiStride + 64]; \ | 383 | uint8_t _pRefBuffer[18 * kiStride + 64]; \ |
| 375 | uint8_t _pPredBuffer[18 * kiStride + 64]; \ | 384 | uint8_t _pPredBuffer[18 * kiStride + 64]; \ |
| 376 | uint8_t *pRefBuffer, *pPredBuffer; \ | 385 | uint8_t *pRefBuffer, *pPredBuffer; \ |
| 386 | if (ASM) { \ | ||
| 387 | int32_t iTmp = 1; \ | ||
| 388 | uint32_t uiCPUFlags = WelsCPUFeatureDetect(&iTmp); \ | ||
| 389 | if ((uiCPUFlags & CPUFLAGS) == 0) {\ | ||
| 390 | return; \ | ||
| 391 | } \ | ||
| 392 | } \ | ||
| 377 | pRefBuffer = (uint8_t*)((((intptr_t)(&_pRefBuffer[31])) >> 4) << 4); \ | 393 | pRefBuffer = (uint8_t*)((((intptr_t)(&_pRefBuffer[31])) >> 4) << 4); \ |
| 378 | pPredBuffer = (uint8_t*)((((intptr_t)(&_pPredBuffer[31])) >> 4) << 4); \ | 394 | pPredBuffer = (uint8_t*)((((intptr_t)(&_pPredBuffer[31])) >> 4) << 4); \ |
| 379 | srand((unsigned int)time(NULL)); \ | 395 | srand((unsigned int)time(NULL)); \ |
| @@ -494,20 +510,27 @@ void WelsIChromaPredDcTop_ref (uint8_t* pPred, const int32_t kiStride) { · 114 unmodified lines | |||
| 494 | PREDV (8) | 510 | PREDV (8) |
| 495 | PREDH (8) | 511 | PREDH (8) |
| 496 | PREDDCNone (8, 3) | 512 | PREDDCNone (8, 3) |
| 497 | GENERATE_8x8_UT (WelsIChromaPredDcNA_c, LumaI8x8PredDCNone) | 513 | GENERATE_8x8_UT (WelsIChromaPredDcNA_c, LumaI8x8PredDCNone, 0, 0) |
| 498 | GENERATE_8x8_UT (WelsIChromaPredPlane_c, WelsIChromaPredPlane_ref) | 514 | GENERATE_8x8_UT (WelsIChromaPredPlane_c, WelsIChromaPredPlane_ref, 0, 0) |
| 499 | GENERATE_8x8_UT (WelsIChromaPredDc_c, WelsIChromaPredDc_ref) | 515 | GENERATE_8x8_UT (WelsIChromaPredDc_c, WelsIChromaPredDc_ref, 0, 0) |
| 500 | GENERATE_8x8_UT (WelsIChromaPredDcTop_c, WelsIChromaPredDcTop_ref) | 516 | GENERATE_8x8_UT (WelsIChromaPredDcTop_c, WelsIChromaPredDcTop_ref, 0, 0) |
| 501 | GENERATE_8x8_UT (WelsIChromaPredDcLeft_c, WelsIChromaPredDcLeft_ref) | 517 | GENERATE_8x8_UT (WelsIChromaPredDcLeft_c, WelsIChromaPredDcLeft_ref, 0, 0) |
| 502 | GENERATE_8x8_UT (WelsIChromaPredH_c, LumaI8x8PredH) | 518 | GENERATE_8x8_UT (WelsIChromaPredH_c, LumaI8x8PredH, 0, 0) |
| 503 | GENERATE_8x8_UT (WelsIChromaPredV_c, LumaI8x8PredV) | 519 | GENERATE_8x8_UT (WelsIChromaPredV_c, LumaI8x8PredV, 0, 0) |
| 504 | #define GENERATE_16x16_UT(pred, ref) \ | 520 | #define GENERATE_16x16_UT(pred, ref, ASM, CPUFLAGS) \ |
| 505 | TEST(DecoderIntraPredictionTest, pred) {\ | 521 | TEST(DecoderIntraPredictionTest, pred) {\ |
| 506 | const int32_t kiStride = 32; \ | 522 | const int32_t kiStride = 32; \ |
| 507 | int32_t iRunTimes = 1000; \ | 523 | int32_t iRunTimes = 1000; \ |
| 508 | uint8_t _pRefBuffer[18 * kiStride + 64]; \ | 524 | uint8_t _pRefBuffer[18 * kiStride + 64]; \ |
| 509 | uint8_t _pPredBuffer[18 * kiStride + 64]; \ | 525 | uint8_t _pPredBuffer[18 * kiStride + 64]; \ |
| 510 | uint8_t *pRefBuffer, *pPredBuffer; \ | 526 | uint8_t *pRefBuffer, *pPredBuffer; \ |
| 527 | if (ASM) { \ | ||
| 528 | int32_t iTmp = 1; \ | ||
| 529 | uint32_t uiCPUFlags = WelsCPUFeatureDetect( &iTmp); \ | ||
| 530 | if ((uiCPUFlags & CPUFLAGS) == 0) {\ | ||
| 531 | return ; \ | ||
| 532 | } \ | ||
| 533 | }\ | ||
| 511 | pRefBuffer = (uint8_t*)((((intptr_t)(&_pRefBuffer[31])) >> 4) << 4); \ | 534 | pRefBuffer = (uint8_t*)((((intptr_t)(&_pRefBuffer[31])) >> 4) << 4); \ |
| 512 | pPredBuffer = (uint8_t*)((((intptr_t)(&_pPredBuffer[31])) >> 4) << 4); \ | 535 | pPredBuffer = (uint8_t*)((((intptr_t)(&_pPredBuffer[31])) >> 4) << 4); \ |
| 513 | srand((unsigned int)time(NULL)); \ | 536 | srand((unsigned int)time(NULL)); \ |
| @@ -559,53 +582,53 @@ PREDDCTop (16, 4) · 45 unmodified lines | |||
| 559 | PREDDCLeft (16, 4) | 582 | PREDDCLeft (16, 4) |
| 560 | PREDDCNone (16, 4) | 583 | PREDDCNone (16, 4) |
| 561 | 584 | ||
| 562 | GENERATE_16x16_UT (WelsI16x16LumaPredDcNA_c, LumaI16x16PredDCNone) | 585 | GENERATE_16x16_UT (WelsI16x16LumaPredDcNA_c, LumaI16x16PredDCNone, 0, 0) |
| 563 | GENERATE_16x16_UT (WelsI16x16LumaPredPlane_c, WelsI16x16LumaPredPlane_ref) | 586 | GENERATE_16x16_UT (WelsI16x16LumaPredPlane_c, WelsI16x16LumaPredPlane_ref, 0, 0) |
| 564 | GENERATE_16x16_UT (WelsI16x16LumaPredDcLeft_c, LumaI16x16PredDCLeft) | 587 | GENERATE_16x16_UT (WelsI16x16LumaPredDcLeft_c, LumaI16x16PredDCLeft, 0, 0) |
| 565 | GENERATE_16x16_UT (WelsI16x16LumaPredDcTop_c, LumaI16x16PredDCTop) | 588 | GENERATE_16x16_UT (WelsI16x16LumaPredDcTop_c, LumaI16x16PredDCTop, 0, 0) |
| 566 | GENERATE_16x16_UT (WelsI16x16LumaPredDc_c, LumaI16x16PredDC) | 589 | GENERATE_16x16_UT (WelsI16x16LumaPredDc_c, LumaI16x16PredDC, 0, 0) |
| 567 | GENERATE_16x16_UT (WelsI16x16LumaPredH_c, LumaI16x16PredH) | 590 | GENERATE_16x16_UT (WelsI16x16LumaPredH_c, LumaI16x16PredH, 0, 0) |
| 568 | GENERATE_16x16_UT (WelsI16x16LumaPredV_c, LumaI16x16PredV) | 591 | GENERATE_16x16_UT (WelsI16x16LumaPredV_c, LumaI16x16PredV, 0, 0) |
| 569 | #if defined(X86_ASM) | 592 | #if defined(X86_ASM) |
| 570 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredH_sse2, LumaI4x4PredH) | 593 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredH_sse2, LumaI4x4PredH, 1, WELS_CPU_SSE2) |
| 571 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredDDR_mmx, WelsI4x4LumaPredDDR_ref) | 594 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredDDR_mmx, WelsI4x4LumaPredDDR_ref, 1, WELS_CPU_MMX) |
| 572 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredHD_mmx, WelsI4x4LumaPredHD_ref) | 595 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredHD_mmx, WelsI4x4LumaPredHD_ref, 1, WELS_CPU_MMX) |
| 573 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredHU_mmx, WelsI4x4LumaPredHU_ref) | 596 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredHU_mmx, WelsI4x4LumaPredHU_ref, 1, WELS_CPU_MMX) |
| 574 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredVR_mmx, WelsI4x4LumaPredVR_ref) | 597 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredVR_mmx, WelsI4x4LumaPredVR_ref, 1, WELS_CPU_MMX) |
| 575 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredDDL_mmx, WelsI4x4LumaPredDDL_ref) | 598 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredDDL_mmx, WelsI4x4LumaPredDDL_ref, 1, WELS_CPU_MMX) |
| 576 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredVL_mmx, WelsI4x4LumaPredVL_ref) | 599 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredVL_mmx, WelsI4x4LumaPredVL_ref, 1, WELS_CPU_MMX) |
| 577 | GENERATE_8x8_UT (WelsDecoderIChromaPredDcTop_sse2, WelsIChromaPredDcTop_ref) | 600 | GENERATE_8x8_UT (WelsDecoderIChromaPredDcTop_sse2, WelsIChromaPredDcTop_ref, 1, WELS_CPU_SSE2) |
| 578 | GENERATE_8x8_UT (WelsDecoderIChromaPredDc_sse2, WelsIChromaPredDc_ref) | 601 | GENERATE_8x8_UT (WelsDecoderIChromaPredDc_sse2, WelsIChromaPredDc_ref, 1, WELS_CPU_SSE2) |
| 579 | GENERATE_8x8_UT (WelsDecoderIChromaPredPlane_sse2, WelsIChromaPredPlane_ref) | 602 | GENERATE_8x8_UT (WelsDecoderIChromaPredPlane_sse2, WelsIChromaPredPlane_ref, 1, WELS_CPU_SSE2) |
| 580 | GENERATE_8x8_UT (WelsDecoderIChromaPredH_mmx, LumaI8x8PredH) | 603 | GENERATE_8x8_UT (WelsDecoderIChromaPredH_mmx, LumaI8x8PredH, 1, WELS_CPU_MMX) |
| 581 | GENERATE_8x8_UT (WelsDecoderIChromaPredV_mmx, LumaI8x8PredV) | 604 | GENERATE_8x8_UT (WelsDecoderIChromaPredV_mmx, LumaI8x8PredV, 1, WELS_CPU_MMX) |
| 582 | GENERATE_8x8_UT (WelsDecoderIChromaPredDcLeft_mmx, WelsIChromaPredDcLeft_ref) | 605 | GENERATE_8x8_UT (WelsDecoderIChromaPredDcLeft_mmx, WelsIChromaPredDcLeft_ref, 1, WELS_CPU_MMX) |
| 583 | GENERATE_8x8_UT (WelsDecoderIChromaPredDcNA_mmx, LumaI8x8PredDCNone) | 606 | GENERATE_8x8_UT (WelsDecoderIChromaPredDcNA_mmx, LumaI8x8PredDCNone, 1, WELS_CPU_MMX) |
| 584 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredPlane_sse2, WelsI16x16LumaPredPlane_ref) | 607 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredPlane_sse2, WelsI16x16LumaPredPlane_ref, 1, WELS_CPU_SSE2) |
| 585 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredH_sse2, LumaI16x16PredH) | 608 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredH_sse2, LumaI16x16PredH, 1, WELS_CPU_SSE2) |
| 586 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredV_sse2, LumaI16x16PredV) | 609 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredV_sse2, LumaI16x16PredV, 1, WELS_CPU_SSE2) |
| 587 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredDc_sse2, LumaI16x16PredDC) | 610 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredDc_sse2, LumaI16x16PredDC, 1, WELS_CPU_SSE2) |
| 588 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredDcTop_sse2, LumaI16x16PredDCTop) | 611 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredDcTop_sse2, LumaI16x16PredDCTop, 1, WELS_CPU_SSE2) |
| 589 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredDcNA_sse2, LumaI16x16PredDCNone) | 612 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredDcNA_sse2, LumaI16x16PredDCNone, 1, WELS_CPU_SSE2) |
| 590 | #endif | 613 | #endif |
| 591 | 614 | ||
| 592 | #if defined(HAVE_NEON) | 615 | #if defined(HAVE_NEON) |
| 593 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredV_neon, LumaI16x16PredV) | 616 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredV_neon, LumaI16x16PredV, 1, WELS_CPU_NEON) |
| 594 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredH_neon, LumaI16x16PredH) | 617 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredH_neon, LumaI16x16PredH, 1, WELS_CPU_NEON) |
| 595 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredDc_neon, LumaI16x16PredDC) | 618 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredDc_neon, LumaI16x16PredDC, 1, WELS_CPU_NEON) |
| 596 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredPlane_neon, WelsI16x16LumaPredPlane_ref) | 619 | GENERATE_16x16_UT (WelsDecoderI16x16LumaPredPlane_neon, WelsI16x16LumaPredPlane_ref, 1, WELS_CPU_NEON) |
| 597 | 620 | ||
| 598 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredV_neon, LumaI4x4PredV) | 621 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredV_neon, LumaI4x4PredV, 1, WELS_CPU_NEON) |
| 599 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredH_neon, LumaI4x4PredH) | 622 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredH_neon, LumaI4x4PredH, 1, WELS_CPU_NEON) |
| 600 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredDDL_neon, WelsI4x4LumaPredDDL_ref) | 623 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredDDL_neon, WelsI4x4LumaPredDDL_ref, 1, WELS_CPU_NEON) |
| 601 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredDDR_neon, WelsI4x4LumaPredDDR_ref) | 624 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredDDR_neon, WelsI4x4LumaPredDDR_ref, 1, WELS_CPU_NEON) |
| 602 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredVL_neon, WelsI4x4LumaPredVL_ref) | 625 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredVL_neon, WelsI4x4LumaPredVL_ref, 1, WELS_CPU_NEON) |
| 603 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredVR_neon, WelsI4x4LumaPredVR_ref) | 626 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredVR_neon, WelsI4x4LumaPredVR_ref, 1, WELS_CPU_NEON) |
| 604 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredHU_neon, WelsI4x4LumaPredHU_ref) | 627 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredHU_neon, WelsI4x4LumaPredHU_ref, 1, WELS_CPU_NEON) |
| 605 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredHD_neon, WelsI4x4LumaPredHD_ref) | 628 | GENERATE_4x4_UT (WelsDecoderI4x4LumaPredHD_neon, WelsI4x4LumaPredHD_ref, 1, WELS_CPU_NEON) |
| 606 | 629 | ||
| 607 | GENERATE_8x8_UT (WelsDecoderIChromaPredV_neon, LumaI8x8PredV) | 630 | GENERATE_8x8_UT (WelsDecoderIChromaPredV_neon, LumaI8x8PredV, 1, WELS_CPU_NEON) |
| 608 | GENERATE_8x8_UT (WelsDecoderIChromaPredH_neon, LumaI8x8PredH) | 631 | GENERATE_8x8_UT (WelsDecoderIChromaPredH_neon, LumaI8x8PredH, 1, WELS_CPU_NEON) |
| 609 | GENERATE_8x8_UT (WelsDecoderIChromaPredDc_neon, WelsIChromaPredDc_ref) | 632 | GENERATE_8x8_UT (WelsDecoderIChromaPredDc_neon, WelsIChromaPredDc_ref, 1, WELS_CPU_NEON) |
| 610 | GENERATE_8x8_UT (WelsDecoderIChromaPredPlane_neon, WelsIChromaPredPlane_ref) | 633 | GENERATE_8x8_UT (WelsDecoderIChromaPredPlane_neon, WelsIChromaPredPlane_ref, 1, WELS_CPU_NEON) |
| 611 | #endif | 634 | #endif |