History

[UT] Test VAA routines with a wider variety of resolutions

Test even and odd multiples of 32 width because some AVX2 routines have conditional logic based on that.

Sindre Aamås committed 10 years ago

Commit 93db6511 parent 57fc3e91 file · +109 −99Browse files

Showing the changes to test/processing/ProcessUT_VaaCalc.cpp (1 of 1 file). Show all

Unified · Split

test/processing/ProcessUT_VaaCalc.cpp+109−99
@@ -590,20 +590,22 @@ TEST (VAACalcFuncTest, func) { \ · 589 unmodified lines
590 int32_t pic_height_a; \590 int32_t pic_height_a; \
591 int32_t pic_stride_a; \591 int32_t pic_stride_a; \
592 int32_t psadframe_a; \592 int32_t psadframe_a; \
593 pic_width_c = pic_width_a = 320-16; \593 for (int i=0; i<4; i++) { \
594 pic_height_c = pic_height_a = 320; \594 pic_width_c = pic_width_a = 320-16*i; \
595 pic_stride_c = pic_stride_a = 320; \595 pic_height_c = pic_height_a = 320; \
596 psadframe_c = psadframe_a = 0; \596 pic_stride_c = pic_stride_a = 320; \
597 for (int j=0; j<BUFFER_SIZE; j++) { \597 psadframe_c = psadframe_a = 0; \
598 cur_data_c[j] = cur_data_a[j] = (rand()%256); \598 for (int j=0; j<BUFFER_SIZE; j++) { \
599 ref_data_c[j] = ref_data_a[j] = (rand()%256); \599 cur_data_c[j] = cur_data_a[j] = (rand()%256); \
600 psad8x8_c[j%(BUFFER_SIZE/64)] = psad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \600 ref_data_c[j] = ref_data_a[j] = (rand()%256); \
601 psad8x8_c[j%(BUFFER_SIZE/64)] = psad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \
602 } \
603 VAACalcSad_ref (cur_data_c, ref_data_c, pic_width_c, pic_height_c, pic_stride_c, &psadframe_c, psad8x8_c); \
604 func (cur_data_a, ref_data_a, pic_width_a, pic_height_a, pic_stride_a, &psadframe_a, psad8x8_a); \
605 ASSERT_EQ (psadframe_a, psadframe_c); \
606 for (int j=0; j<(BUFFER_SIZE/64); j++) \
607 ASSERT_EQ (psad8x8_a[j], psad8x8_c[j]); \
601 } \608 } \
602 VAACalcSad_ref (cur_data_c, ref_data_c, pic_width_c, pic_height_c, pic_stride_c, &psadframe_c, psad8x8_c); \
603 func (cur_data_a, ref_data_a, pic_width_a, pic_height_a, pic_stride_a, &psadframe_a, psad8x8_a); \
604 ASSERT_EQ (psadframe_a, psadframe_c); \
605 for (int j=0; j<(BUFFER_SIZE/64); j++) \
606 ASSERT_EQ (psad8x8_a[j], psad8x8_c[j]); \
607}609}
608 610
609 611
@@ -633,24 +635,26 @@ TEST (VAACalcFuncTest, func) { \ · 23 unmodified lines
633 int32_t pic_height_a; \635 int32_t pic_height_a; \
634 int32_t pic_stride_a; \636 int32_t pic_stride_a; \
635 int32_t psadframe_a; \637 int32_t psadframe_a; \
636 pic_width_c = pic_width_a = 320-16; \638 for (int i=0; i<4; i++) { \
637 pic_height_c = pic_height_a = 320; \639 pic_width_c = pic_width_a = 320-16*i; \
638 pic_stride_c = pic_stride_a = 320; \640 pic_height_c = pic_height_a = 320; \
639 psadframe_c = psadframe_a = 0; \641 pic_stride_c = pic_stride_a = 320; \
640 for (int j=0; j<BUFFER_SIZE; j++) { \642 psadframe_c = psadframe_a = 0; \
641 cur_data_c[j] = cur_data_a[j] = (rand()%256); \643 for (int j=0; j<BUFFER_SIZE; j++) { \
642 ref_data_c[j] = ref_data_a[j] = (rand()%256); \644 cur_data_c[j] = cur_data_a[j] = (rand()%256); \
643 psad8x8_c[j%(BUFFER_SIZE/64)] = psad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \645 ref_data_c[j] = ref_data_a[j] = (rand()%256); \
644 psd8x8_c[j%(BUFFER_SIZE/64)] = psd8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \646 psad8x8_c[j%(BUFFER_SIZE/64)] = psad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \
645 pmad8x8_c[j%(BUFFER_SIZE/64)] = pmad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \647 psd8x8_c[j%(BUFFER_SIZE/64)] = psd8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \
646 } \648 pmad8x8_c[j%(BUFFER_SIZE/64)] = pmad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \
647 VAACalcSadBgd_ref (cur_data_c, ref_data_c, pic_width_c, pic_height_c, pic_stride_c, &psadframe_c, psad8x8_c, psd8x8_c, pmad8x8_c); \649 } \
648 func (cur_data_a, ref_data_a, pic_width_a, pic_height_a, pic_stride_a, &psadframe_a, psad8x8_a, psd8x8_a, pmad8x8_a); \650 VAACalcSadBgd_ref (cur_data_c, ref_data_c, pic_width_c, pic_height_c, pic_stride_c, &psadframe_c, psad8x8_c, psd8x8_c, pmad8x8_c); \
649 ASSERT_EQ (psadframe_a, psadframe_c); \651 func (cur_data_a, ref_data_a, pic_width_a, pic_height_a, pic_stride_a, &psadframe_a, psad8x8_a, psd8x8_a, pmad8x8_a); \
650 for (int j=0; j<(BUFFER_SIZE/64); j++) {\652 ASSERT_EQ (psadframe_a, psadframe_c); \
651 ASSERT_EQ (psad8x8_a[j], psad8x8_c[j]); \653 for (int j=0; j<(BUFFER_SIZE/64); j++) {\
652 ASSERT_EQ (psd8x8_a[j], psd8x8_c[j]); \654 ASSERT_EQ (psad8x8_a[j], psad8x8_c[j]); \
653 ASSERT_EQ (pmad8x8_a[j], pmad8x8_c[j]); \655 ASSERT_EQ (psd8x8_a[j], psd8x8_c[j]); \
656 ASSERT_EQ (pmad8x8_a[j], pmad8x8_c[j]); \
657 } \
654 } \658 } \
655}659}
656 660
@@ -682,28 +686,30 @@ TEST (VAACalcFuncTest, func) { \ · 25 unmodified lines
682 int32_t pic_height_a; \686 int32_t pic_height_a; \
683 int32_t pic_stride_a; \687 int32_t pic_stride_a; \
684 int32_t psadframe_a; \688 int32_t psadframe_a; \
685 pic_width_c = pic_width_a = 320-16; \689 for (int i=0; i<4; i++) { \
686 pic_height_c = pic_height_a = 320; \690 pic_width_c = pic_width_a = 320-16*i; \
687 pic_stride_c = pic_stride_a = 320; \691 pic_height_c = pic_height_a = 320; \
688 psadframe_c = psadframe_a = 0; \692 pic_stride_c = pic_stride_a = 320; \
689 for (int j=0; j<BUFFER_SIZE; j++) { \693 psadframe_c = psadframe_a = 0; \
690 cur_data_c[j] = cur_data_a[j] = (rand()%256); \694 for (int j=0; j<BUFFER_SIZE; j++) { \
691 ref_data_c[j] = ref_data_a[j] = (rand()%256); \695 cur_data_c[j] = cur_data_a[j] = (rand()%256); \
692 psad8x8_c[j%(BUFFER_SIZE/64)] = psad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \696 ref_data_c[j] = ref_data_a[j] = (rand()%256); \
693 psum16x16_c[j%(BUFFER_SIZE/256)] = psum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \697 psad8x8_c[j%(BUFFER_SIZE/64)] = psad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \
694 psqsum16x16_c[j%(BUFFER_SIZE/256)] = psqsum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \698 psum16x16_c[j%(BUFFER_SIZE/256)] = psum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \
695 psqdiff16x16_c[j%(BUFFER_SIZE/256)] = psqdiff16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \699 psqsum16x16_c[j%(BUFFER_SIZE/256)] = psqsum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \
696 } \700 psqdiff16x16_c[j%(BUFFER_SIZE/256)] = psqdiff16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \
697 VAACalcSadSsd_ref (cur_data_c, ref_data_c, pic_width_c, pic_height_c, pic_stride_c, &psadframe_c, psad8x8_c, psum16x16_c, psqsum16x16_c, psqdiff16x16_c); \701 } \
698 func (cur_data_a, ref_data_a, pic_width_a, pic_height_a, pic_stride_a, &psadframe_a, psad8x8_a, psum16x16_a, psqsum16x16_a, psqdiff16x16_a); \702 VAACalcSadSsd_ref (cur_data_c, ref_data_c, pic_width_c, pic_height_c, pic_stride_c, &psadframe_c, psad8x8_c, psum16x16_c, psqsum16x16_c, psqdiff16x16_c); \
699 ASSERT_EQ (psadframe_a, psadframe_c); \703 func (cur_data_a, ref_data_a, pic_width_a, pic_height_a, pic_stride_a, &psadframe_a, psad8x8_a, psum16x16_a, psqsum16x16_a, psqdiff16x16_a); \
700 for (int j=0; j<(BUFFER_SIZE/64); j++) {\704 ASSERT_EQ (psadframe_a, psadframe_c); \
701 ASSERT_EQ (psad8x8_a[j], psad8x8_c[j]); \705 for (int j=0; j<(BUFFER_SIZE/64); j++) {\
702 } \706 ASSERT_EQ (psad8x8_a[j], psad8x8_c[j]); \
703 for (int j=0; j<(BUFFER_SIZE/256); j++) {\707 } \
704 ASSERT_EQ (psum16x16_a[j], psum16x16_c[j]); \708 for (int j=0; j<(BUFFER_SIZE/256); j++) {\
705 ASSERT_EQ (psqsum16x16_a[j], psqsum16x16_c[j]); \709 ASSERT_EQ (psum16x16_a[j], psum16x16_c[j]); \
706 ASSERT_EQ (psqdiff16x16_a[j], psqdiff16x16_c[j]); \710 ASSERT_EQ (psqsum16x16_a[j], psqsum16x16_c[j]); \
711 ASSERT_EQ (psqdiff16x16_a[j], psqdiff16x16_c[j]); \
712 } \
707 } \713 } \
708}714}
709 715
@@ -733,26 +739,28 @@ TEST (VAACalcFuncTest, func) { \ · 23 unmodified lines
733 int32_t pic_height_a; \739 int32_t pic_height_a; \
734 int32_t pic_stride_a; \740 int32_t pic_stride_a; \
735 int32_t psadframe_a; \741 int32_t psadframe_a; \
736 pic_width_c = pic_width_a = 320-16; \742 for (int i=0; i<4; i++) { \
737 pic_height_c = pic_height_a = 320; \743 pic_width_c = pic_width_a = 320-16*i; \
738 pic_stride_c = pic_stride_a = 320; \744 pic_height_c = pic_height_a = 320; \
739 psadframe_c = psadframe_a = 0; \745 pic_stride_c = pic_stride_a = 320; \
740 for (int j=0; j<BUFFER_SIZE; j++) { \746 psadframe_c = psadframe_a = 0; \
741 cur_data_c[j] = cur_data_a[j] = (rand()%256); \747 for (int j=0; j<BUFFER_SIZE; j++) { \
742 ref_data_c[j] = ref_data_a[j] = (rand()%256); \748 cur_data_c[j] = cur_data_a[j] = (rand()%256); \
743 psad8x8_c[j%(BUFFER_SIZE/64)] = psad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \749 ref_data_c[j] = ref_data_a[j] = (rand()%256); \
744 psum16x16_c[j%(BUFFER_SIZE/256)] = psum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \750 psad8x8_c[j%(BUFFER_SIZE/64)] = psad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \
745 psqsum16x16_c[j%(BUFFER_SIZE/256)] = psqsum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \751 psum16x16_c[j%(BUFFER_SIZE/256)] = psum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \
746 } \752 psqsum16x16_c[j%(BUFFER_SIZE/256)] = psqsum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \
747 VAACalcSadVar_ref (cur_data_c, ref_data_c, pic_width_c, pic_height_c, pic_stride_c, &psadframe_c, psad8x8_c, psum16x16_c, psqsum16x16_c); \753 } \
748 func (cur_data_a, ref_data_a, pic_width_a, pic_height_a, pic_stride_a, &psadframe_a, psad8x8_a, psum16x16_a, psqsum16x16_a); \754 VAACalcSadVar_ref (cur_data_c, ref_data_c, pic_width_c, pic_height_c, pic_stride_c, &psadframe_c, psad8x8_c, psum16x16_c, psqsum16x16_c); \
749 ASSERT_EQ (psadframe_a, psadframe_c); \755 func (cur_data_a, ref_data_a, pic_width_a, pic_height_a, pic_stride_a, &psadframe_a, psad8x8_a, psum16x16_a, psqsum16x16_a); \
750 for (int j=0; j<(BUFFER_SIZE/64); j++) {\756 ASSERT_EQ (psadframe_a, psadframe_c); \
751 ASSERT_EQ (psad8x8_a[j], psad8x8_c[j]); \757 for (int j=0; j<(BUFFER_SIZE/64); j++) {\
752 } \758 ASSERT_EQ (psad8x8_a[j], psad8x8_c[j]); \
753 for (int j=0; j<(BUFFER_SIZE/256); j++) {\759 } \
754 ASSERT_EQ (psum16x16_a[j], psum16x16_c[j]); \760 for (int j=0; j<(BUFFER_SIZE/256); j++) {\
755 ASSERT_EQ (psqsum16x16_a[j], psqsum16x16_c[j]); \761 ASSERT_EQ (psum16x16_a[j], psum16x16_c[j]); \
762 ASSERT_EQ (psqsum16x16_a[j], psqsum16x16_c[j]); \
763 } \
756 } \764 } \
757}765}
758 766
@@ -788,32 +796,34 @@ TEST (VAACalcFuncTest, func) { \ · 29 unmodified lines
788 int32_t pic_height_a; \796 int32_t pic_height_a; \
789 int32_t pic_stride_a; \797 int32_t pic_stride_a; \
790 int32_t psadframe_a; \798 int32_t psadframe_a; \
791 pic_width_c = pic_width_a = 320-16; \799 for (int i=0; i<4; i++) { \
792 pic_height_c = pic_height_a = 320; \800 pic_width_c = pic_width_a = 320-16*i; \
793 pic_stride_c = pic_stride_a = 320; \801 pic_height_c = pic_height_a = 320; \
794 psadframe_c = psadframe_a = 0; \802 pic_stride_c = pic_stride_a = 320; \
795 for (int j=0; j<BUFFER_SIZE; j++) { \803 psadframe_c = psadframe_a = 0; \
796 cur_data_c[j] = cur_data_a[j] = (rand()%256); \804 for (int j=0; j<BUFFER_SIZE; j++) { \
797 ref_data_c[j] = ref_data_a[j] = (rand()%256); \805 cur_data_c[j] = cur_data_a[j] = (rand()%256); \
798 psad8x8_c[j%(BUFFER_SIZE/64)] = psad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \806 ref_data_c[j] = ref_data_a[j] = (rand()%256); \
799 psd8x8_c[j%(BUFFER_SIZE/64)] = psd8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \807 psad8x8_c[j%(BUFFER_SIZE/64)] = psad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \
800 pmad8x8_c[j%(BUFFER_SIZE/64)] = pmad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \808 psd8x8_c[j%(BUFFER_SIZE/64)] = psd8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \
801 psum16x16_c[j%(BUFFER_SIZE/256)] = psum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \809 pmad8x8_c[j%(BUFFER_SIZE/64)] = pmad8x8_a[j%(BUFFER_SIZE/64)] = (rand()%256); \
802 psqsum16x16_c[j%(BUFFER_SIZE/256)] = psqsum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \810 psum16x16_c[j%(BUFFER_SIZE/256)] = psum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \
803 psqdiff16x16_c[j%(BUFFER_SIZE/256)] = psqdiff16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \811 psqsum16x16_c[j%(BUFFER_SIZE/256)] = psqsum16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \
804 } \812 psqdiff16x16_c[j%(BUFFER_SIZE/256)] = psqdiff16x16_a[j%(BUFFER_SIZE/256)] = (rand()%256); \
805 VAACalcSadSsdBgd_ref (cur_data_c, ref_data_c, pic_width_c, pic_height_c, pic_stride_c, &psadframe_c, psad8x8_c, psum16x16_c, psqsum16x16_c, psqdiff16x16_c, psd8x8_c, pmad8x8_c); \813 } \
806 func (cur_data_a, ref_data_a, pic_width_a, pic_height_a, pic_stride_a, &psadframe_a, psad8x8_a, psum16x16_a, psqsum16x16_a, psqdiff16x16_a, psd8x8_a, pmad8x8_a); \814 VAACalcSadSsdBgd_ref (cur_data_c, ref_data_c, pic_width_c, pic_height_c, pic_stride_c, &psadframe_c, psad8x8_c, psum16x16_c, psqsum16x16_c, psqdiff16x16_c, psd8x8_c, pmad8x8_c); \
807 ASSERT_EQ (psadframe_a, psadframe_c); \815 func (cur_data_a, ref_data_a, pic_width_a, pic_height_a, pic_stride_a, &psadframe_a, psad8x8_a, psum16x16_a, psqsum16x16_a, psqdiff16x16_a, psd8x8_a, pmad8x8_a); \
808 for (int j=0; j<(BUFFER_SIZE/64); j++) {\816 ASSERT_EQ (psadframe_a, psadframe_c); \
809 ASSERT_EQ (psad8x8_a[j], psad8x8_c[j]); \817 for (int j=0; j<(BUFFER_SIZE/64); j++) {\
810 ASSERT_EQ (psd8x8_a[j], psd8x8_c[j]); \818 ASSERT_EQ (psad8x8_a[j], psad8x8_c[j]); \
811 ASSERT_EQ (pmad8x8_a[j], pmad8x8_c[j]); \819 ASSERT_EQ (psd8x8_a[j], psd8x8_c[j]); \
812 } \820 ASSERT_EQ (pmad8x8_a[j], pmad8x8_c[j]); \
813 for (int j=0; j<(BUFFER_SIZE/256); j++) {\821 } \
814 ASSERT_EQ (psum16x16_a[j], psum16x16_c[j]); \822 for (int j=0; j<(BUFFER_SIZE/256); j++) {\
815 ASSERT_EQ (psqsum16x16_a[j], psqsum16x16_c[j]); \823 ASSERT_EQ (psum16x16_a[j], psum16x16_c[j]); \
816 ASSERT_EQ (psqdiff16x16_a[j], psqdiff16x16_c[j]); \824 ASSERT_EQ (psqsum16x16_a[j], psqsum16x16_c[j]); \
825 ASSERT_EQ (psqdiff16x16_a[j], psqdiff16x16_c[j]); \
826 } \
817 } \827 } \
818}828}
819 829

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t