Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Side by Side Diff: unit_test/convert_test.cc

Issue 1566303002: Remove use_sysroot=0 (Closed) Base URL: https://chromium.googlesource.com/libyuv/libyuv@master
Patch Set: align stride for fmtb in unittests Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « source/scale_win.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 1664 matching lines...) Expand 10 before | Expand all | Expand 10 after
1675 free_aligned_buffer_64(orig_v); \ 1675 free_aligned_buffer_64(orig_v); \
1676 free_aligned_buffer_64(dst_y_orig); \ 1676 free_aligned_buffer_64(dst_y_orig); \
1677 free_aligned_buffer_64(dst_uv_orig); \ 1677 free_aligned_buffer_64(dst_uv_orig); \
1678 free_aligned_buffer_64(dst_y); \ 1678 free_aligned_buffer_64(dst_y); \
1679 free_aligned_buffer_64(dst_uv); \ 1679 free_aligned_buffer_64(dst_uv); \
1680 } 1680 }
1681 1681
1682 TESTPTOB(TestYUY2ToNV12, YUY2ToI420, YUY2ToNV12) 1682 TESTPTOB(TestYUY2ToNV12, YUY2ToI420, YUY2ToNV12)
1683 TESTPTOB(TestUYVYToNV12, UYVYToI420, UYVYToNV12) 1683 TESTPTOB(TestUYVYToNV12, UYVYToI420, UYVYToNV12)
1684 1684
1685 #define TESTPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1685 #define TESTPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1686 W1280, N, NEG, OFF, FMT_C, BPP_C) \ 1686 W1280, N, NEG, OFF, FMT_C, BPP_C) \
1687 TEST_F(LibYUVConvertTest, FMT_PLANAR##To##FMT_B##_##FMT_C##N) { \ 1687 TEST_F(LibYUVConvertTest, FMT_PLANAR##To##FMT_B##_##FMT_C##N) { \
1688 const int kWidth = ((W1280) > 0) ? (W1280) : 1; \ 1688 const int kWidth = ((W1280) > 0) ? (W1280) : 1; \
1689 const int kHeight = benchmark_height_; \ 1689 const int kHeight = benchmark_height_; \
1690 const int kStrideB = kWidth * BPP_B; \ 1690 const int kStrideB = SUBSAMPLE(kWidth, SUB_B) * BPP_B; \
1691 const int kStrideUV = SUBSAMPLE(kWidth, SUBSAMP_X); \ 1691 const int kStrideUV = SUBSAMPLE(kWidth, SUBSAMP_X); \
1692 const int kSizeUV = kStrideUV * SUBSAMPLE(kHeight, SUBSAMP_Y); \ 1692 const int kSizeUV = kStrideUV * SUBSAMPLE(kHeight, SUBSAMP_Y); \
1693 align_buffer_64(src_y, kWidth * kHeight + OFF); \ 1693 align_buffer_64(src_y, kWidth * kHeight + OFF); \
1694 align_buffer_64(src_u, kSizeUV + OFF); \ 1694 align_buffer_64(src_u, kSizeUV + OFF); \
1695 align_buffer_64(src_v, kSizeUV + OFF); \ 1695 align_buffer_64(src_v, kSizeUV + OFF); \
1696 align_buffer_64(dst_argb_b, kStrideB * kHeight + OFF); \ 1696 align_buffer_64(dst_argb_b, kStrideB * kHeight + OFF); \
1697 for (int i = 0; i < kWidth * kHeight; ++i) { \ 1697 for (int i = 0; i < kWidth * kHeight; ++i) { \
1698 src_y[i + OFF] = (fastrand() & 0xff); \ 1698 src_y[i + OFF] = (fastrand() & 0xff); \
1699 } \ 1699 } \
1700 for (int i = 0; i < kSizeUV; ++i) { \ 1700 for (int i = 0; i < kSizeUV; ++i) { \
(...skipping 27 matching lines...) Expand all
1728 EXPECT_EQ(dst_argb_c[i + OFF], dst_argb_bc[i + OFF]); \ 1728 EXPECT_EQ(dst_argb_c[i + OFF], dst_argb_bc[i + OFF]); \
1729 } \ 1729 } \
1730 free_aligned_buffer_64(src_y); \ 1730 free_aligned_buffer_64(src_y); \
1731 free_aligned_buffer_64(src_u); \ 1731 free_aligned_buffer_64(src_u); \
1732 free_aligned_buffer_64(src_v); \ 1732 free_aligned_buffer_64(src_v); \
1733 free_aligned_buffer_64(dst_argb_b); \ 1733 free_aligned_buffer_64(dst_argb_b); \
1734 free_aligned_buffer_64(dst_argb_c); \ 1734 free_aligned_buffer_64(dst_argb_c); \
1735 free_aligned_buffer_64(dst_argb_bc); \ 1735 free_aligned_buffer_64(dst_argb_bc); \
1736 } 1736 }
1737 1737
1738 #define TESTPLANARTOE(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1738 #define TESTPLANARTOE(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1739 FMT_C, BPP_C) \ 1739 FMT_C, BPP_C) \
1740 TESTPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1740 TESTPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1741 benchmark_width_ - 4, _Any, +, 0, FMT_C, BPP_C) \ 1741 benchmark_width_ - 4, _Any, +, 0, FMT_C, BPP_C) \
1742 TESTPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1742 TESTPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1743 benchmark_width_, _Unaligned, +, 1, FMT_C, BPP_C) \ 1743 benchmark_width_, _Unaligned, +, 1, FMT_C, BPP_C) \
1744 TESTPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1744 TESTPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1745 benchmark_width_, _Invert, -, 0, FMT_C, BPP_C) \ 1745 benchmark_width_, _Invert, -, 0, FMT_C, BPP_C) \
1746 TESTPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1746 TESTPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1747 benchmark_width_, _Opt, +, 0, FMT_C, BPP_C) 1747 benchmark_width_, _Opt, +, 0, FMT_C, BPP_C)
1748 1748
1749 TESTPLANARTOE(I420, 2, 2, ARGB, 4, ABGR, 4) 1749 TESTPLANARTOE(I420, 2, 2, ARGB, 1, 4, ABGR, 4)
1750 TESTPLANARTOE(J420, 2, 2, ARGB, 4, ARGB, 4) 1750 TESTPLANARTOE(J420, 2, 2, ARGB, 1, 4, ARGB, 4)
1751 TESTPLANARTOE(J420, 2, 2, ABGR, 4, ARGB, 4) 1751 TESTPLANARTOE(J420, 2, 2, ABGR, 1, 4, ARGB, 4)
1752 TESTPLANARTOE(H420, 2, 2, ARGB, 4, ARGB, 4) 1752 TESTPLANARTOE(H420, 2, 2, ARGB, 1, 4, ARGB, 4)
1753 TESTPLANARTOE(H420, 2, 2, ABGR, 4, ARGB, 4) 1753 TESTPLANARTOE(H420, 2, 2, ABGR, 1, 4, ARGB, 4)
1754 TESTPLANARTOE(I420, 2, 2, BGRA, 4, ARGB, 4) 1754 TESTPLANARTOE(I420, 2, 2, BGRA, 1, 4, ARGB, 4)
1755 TESTPLANARTOE(I420, 2, 2, ABGR, 4, ARGB, 4) 1755 TESTPLANARTOE(I420, 2, 2, ABGR, 1, 4, ARGB, 4)
1756 TESTPLANARTOE(I420, 2, 2, RGBA, 4, ARGB, 4) 1756 TESTPLANARTOE(I420, 2, 2, RGBA, 1, 4, ARGB, 4)
1757 TESTPLANARTOE(I420, 2, 2, RGB24, 3, ARGB, 4) 1757 TESTPLANARTOE(I420, 2, 2, RGB24, 1, 3, ARGB, 4)
1758 TESTPLANARTOE(I420, 2, 2, RAW, 3, RGB24, 3) 1758 TESTPLANARTOE(I420, 2, 2, RAW, 1, 3, RGB24, 3)
1759 TESTPLANARTOE(I420, 2, 2, RGB24, 3, RAW, 3) 1759 TESTPLANARTOE(I420, 2, 2, RGB24, 1, 3, RAW, 3)
1760 TESTPLANARTOE(I420, 2, 2, ARGB, 4, RAW, 3) 1760 TESTPLANARTOE(I420, 2, 2, ARGB, 1, 4, RAW, 3)
1761 TESTPLANARTOE(I420, 2, 2, RAW, 3, ARGB, 4) 1761 TESTPLANARTOE(I420, 2, 2, RAW, 1, 3, ARGB, 4)
1762 TESTPLANARTOE(I420, 2, 2, ARGB, 4, RGB565, 2) 1762 TESTPLANARTOE(I420, 2, 2, ARGB, 1, 4, RGB565, 2)
1763 TESTPLANARTOE(I420, 2, 2, ARGB, 4, ARGB1555, 2) 1763 TESTPLANARTOE(I420, 2, 2, ARGB, 1, 4, ARGB1555, 2)
1764 TESTPLANARTOE(I420, 2, 2, ARGB, 4, ARGB4444, 2) 1764 TESTPLANARTOE(I420, 2, 2, ARGB, 1, 4, ARGB4444, 2)
1765 TESTPLANARTOE(I422, 2, 1, ARGB, 4, ARGB, 4) 1765 TESTPLANARTOE(I422, 2, 1, ARGB, 1, 4, ARGB, 4)
1766 TESTPLANARTOE(J422, 2, 1, ARGB, 4, ARGB, 4) 1766 TESTPLANARTOE(J422, 2, 1, ARGB, 1, 4, ARGB, 4)
1767 TESTPLANARTOE(J422, 2, 1, ABGR, 4, ARGB, 4) 1767 TESTPLANARTOE(J422, 2, 1, ABGR, 1, 4, ARGB, 4)
1768 TESTPLANARTOE(H422, 2, 1, ARGB, 4, ARGB, 4) 1768 TESTPLANARTOE(H422, 2, 1, ARGB, 1, 4, ARGB, 4)
1769 TESTPLANARTOE(H422, 2, 1, ABGR, 4, ARGB, 4) 1769 TESTPLANARTOE(H422, 2, 1, ABGR, 1, 4, ARGB, 4)
1770 TESTPLANARTOE(I422, 2, 1, BGRA, 4, ARGB, 4) 1770 TESTPLANARTOE(I422, 2, 1, BGRA, 1, 4, ARGB, 4)
1771 TESTPLANARTOE(I422, 2, 1, ABGR, 4, ARGB, 4) 1771 TESTPLANARTOE(I422, 2, 1, ABGR, 1, 4, ARGB, 4)
1772 TESTPLANARTOE(I422, 2, 1, RGBA, 4, ARGB, 4) 1772 TESTPLANARTOE(I422, 2, 1, RGBA, 1, 4, ARGB, 4)
1773 TESTPLANARTOE(I411, 4, 1, ARGB, 4, ARGB, 4) 1773 TESTPLANARTOE(I411, 4, 1, ARGB, 1, 4, ARGB, 4)
1774 TESTPLANARTOE(I444, 1, 1, ARGB, 4, ARGB, 4) 1774 TESTPLANARTOE(I444, 1, 1, ARGB, 1, 4, ARGB, 4)
1775 TESTPLANARTOE(J444, 1, 1, ARGB, 4, ARGB, 4) 1775 TESTPLANARTOE(J444, 1, 1, ARGB, 1, 4, ARGB, 4)
1776 TESTPLANARTOE(I444, 1, 1, ABGR, 4, ARGB, 4) 1776 TESTPLANARTOE(I444, 1, 1, ABGR, 1, 4, ARGB, 4)
1777 // TESTPLANARTOE(I420, 2, 2, YUY2, 2, ARGB, 4) 1777 TESTPLANARTOE(I420, 2, 2, YUY2, 2, 4, ARGB, 4)
1778 // TESTPLANARTOE(I420, 2, 2, UYVY, 2, ARGB, 4) 1778 TESTPLANARTOE(I420, 2, 2, UYVY, 2, 4, ARGB, 4)
1779 TESTPLANARTOE(I422, 2, 1, YUY2, 2, ARGB, 4) 1779 TESTPLANARTOE(I422, 2, 1, YUY2, 2, 4, ARGB, 4)
1780 TESTPLANARTOE(I422, 2, 1, UYVY, 2, ARGB, 4) 1780 TESTPLANARTOE(I422, 2, 1, UYVY, 2, 4, ARGB, 4)
1781 // TESTPLANARTOE(I420, 2, 2, ARGB, 4, I400, 1)
1782 // TESTPLANARTOE(J420, 2, 2, ARGB, 4, J400, 1)
1783 1781
1784 #define TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1782 #define TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1785 W1280, N, NEG, OFF, FMT_C, BPP_C, ATTEN) \ 1783 W1280, N, NEG, OFF, FMT_C, BPP_C, ATTEN) \
1786 TEST_F(LibYUVConvertTest, FMT_PLANAR##To##FMT_B##_##FMT_C##N) { \ 1784 TEST_F(LibYUVConvertTest, FMT_PLANAR##To##FMT_B##_##FMT_C##N) { \
1787 const int kWidth = ((W1280) > 0) ? (W1280) : 1; \ 1785 const int kWidth = ((W1280) > 0) ? (W1280) : 1; \
1788 const int kHeight = benchmark_height_; \ 1786 const int kHeight = benchmark_height_; \
1789 const int kStrideB = kWidth * BPP_B; \ 1787 const int kStrideB = SUBSAMPLE(kWidth, SUB_B) * BPP_B; \
1790 const int kSizeUV = \ 1788 const int kSizeUV = \
1791 SUBSAMPLE(kWidth, SUBSAMP_X) * SUBSAMPLE(kHeight, SUBSAMP_Y); \ 1789 SUBSAMPLE(kWidth, SUBSAMP_X) * SUBSAMPLE(kHeight, SUBSAMP_Y); \
1792 align_buffer_64(src_y, kWidth * kHeight + OFF); \ 1790 align_buffer_64(src_y, kWidth * kHeight + OFF); \
1793 align_buffer_64(src_u, kSizeUV + OFF); \ 1791 align_buffer_64(src_u, kSizeUV + OFF); \
1794 align_buffer_64(src_v, kSizeUV + OFF); \ 1792 align_buffer_64(src_v, kSizeUV + OFF); \
1795 align_buffer_64(src_a, kWidth * kHeight + OFF); \ 1793 align_buffer_64(src_a, kWidth * kHeight + OFF); \
1796 align_buffer_64(dst_argb_b, kStrideB * kHeight + OFF); \ 1794 align_buffer_64(dst_argb_b, kStrideB * kHeight + OFF); \
1797 for (int i = 0; i < kWidth * kHeight; ++i) { \ 1795 for (int i = 0; i < kWidth * kHeight; ++i) { \
1798 src_y[i + OFF] = (fastrand() & 0xff); \ 1796 src_y[i + OFF] = (fastrand() & 0xff); \
1799 src_a[i + OFF] = (fastrand() & 0xff); \ 1797 src_a[i + OFF] = (fastrand() & 0xff); \
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1833 } \ 1831 } \
1834 free_aligned_buffer_64(src_y); \ 1832 free_aligned_buffer_64(src_y); \
1835 free_aligned_buffer_64(src_u); \ 1833 free_aligned_buffer_64(src_u); \
1836 free_aligned_buffer_64(src_v); \ 1834 free_aligned_buffer_64(src_v); \
1837 free_aligned_buffer_64(src_a); \ 1835 free_aligned_buffer_64(src_a); \
1838 free_aligned_buffer_64(dst_argb_b); \ 1836 free_aligned_buffer_64(dst_argb_b); \
1839 free_aligned_buffer_64(dst_argb_c); \ 1837 free_aligned_buffer_64(dst_argb_c); \
1840 free_aligned_buffer_64(dst_argb_bc); \ 1838 free_aligned_buffer_64(dst_argb_bc); \
1841 } 1839 }
1842 1840
1843 #define TESTQPLANARTOE(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1841 #define TESTQPLANARTOE(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1844 FMT_C, BPP_C) \ 1842 FMT_C, BPP_C) \
1845 TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1843 TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1846 benchmark_width_ - 4, _Any, +, 0, FMT_C, BPP_C, 0) \ 1844 benchmark_width_ - 4, _Any, +, 0, FMT_C, BPP_C, 0) \
1847 TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1845 TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1848 benchmark_width_, _Unaligned, +, 1, FMT_C, BPP_C, 0) \ 1846 benchmark_width_, _Unaligned, +, 1, FMT_C, BPP_C, 0) \
1849 TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1847 TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1850 benchmark_width_, _Invert, -, 0, FMT_C, BPP_C, 0) \ 1848 benchmark_width_, _Invert, -, 0, FMT_C, BPP_C, 0) \
1851 TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1849 TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1852 benchmark_width_, _Opt, +, 0, FMT_C, BPP_C, 0) \ 1850 benchmark_width_, _Opt, +, 0, FMT_C, BPP_C, 0) \
1853 TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, \ 1851 TESTQPLANARTOEI(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, SUB_B, BPP_B, \
1854 benchmark_width_, _Premult, +, 0, FMT_C, BPP_C, 1) 1852 benchmark_width_, _Premult, +, 0, FMT_C, BPP_C, 1)
1855 1853
1856 TESTQPLANARTOE(I420Alpha, 2, 2, ARGB, 4, ABGR, 4) 1854 TESTQPLANARTOE(I420Alpha, 2, 2, ARGB, 1, 4, ABGR, 4)
1857 TESTQPLANARTOE(I420Alpha, 2, 2, ABGR, 4, ARGB, 4) 1855 TESTQPLANARTOE(I420Alpha, 2, 2, ABGR, 1, 4, ARGB, 4)
1858 1856
1859 } // namespace libyuv 1857 } // namespace libyuv
OLDNEW
« no previous file with comments | « source/scale_win.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698