[FFmpeg-devel] Add ARM64 NEON optimization for HEVC decoder

Michael Niedermayer michael at niedermayer.cc
Wed Jan 27 21:28:42 CET 2016


On Thu, Jan 28, 2016 at 12:17:17AM +0800, 章军海 wrote:
> Add arm64 neon optimization for HEVC decoder, which have improved performance in large scale.

this patchset breaks make fate on aarch64 qemu

Test hevc-conformance-AMP_D_Hisilicon failed. Look at tests/data/fate/hevc-conformance-AMP_D_Hisilicon.err for details.
ffmpeg/tests/Makefile:210: recipe for target 'fate-hevc-conformance-AMP_D_Hisilicon' failed
make: *** [fate-hevc-conformance-AMP_D_Hisilicon] Error 1
--- ffmpeg/tests/ref/fate/hevc-conformance-AMP_A_Samsung_6 2015-07-09 17:13:42.769703035 +0200
+++ tests/data/fate/hevc-conformance-AMP_A_Samsung_6    2016-01-27 21:18:46.043656929 +0100
@@ -1,61 +1,61 @@
 #tb 0: 1/25
-0,          0,          0,        1,  6144000, 0x6f9dd380
-0,          1,          1,        1,  6144000, 0x3ad765f8
-0,          2,          2,        1,  6144000, 0xe301292d
-0,          3,          3,        1,  6144000, 0x4272c502
-0,          4,          4,        1,  6144000, 0xa07fb65d
-0,          5,          5,        1,  6144000, 0x8ba3bfd9
-0,          6,          6,        1,  6144000, 0x60d043be
-0,          7,          7,        1,  6144000, 0x2569fa6e
-0,          8,          8,        1,  6144000, 0xd645ca25
-0,          9,          9,        1,  6144000, 0xd65a4297
-0,         10,         10,        1,  6144000, 0x3ce13abe
-0,         11,         11,        1,  6144000, 0x2c06229b
-0,         12,         12,        1,  6144000, 0x6efe8de1
-0,         13,         13,        1,  6144000, 0x1500d848
-0,         14,         14,        1,  6144000, 0x453cd614
-0,         15,         15,        1,  6144000, 0x65182daf
-0,         16,         16,        1,  6144000, 0x4cef8519
-0,         17,         17,        1,  6144000, 0x47ff5125
-0,         18,         18,        1,  6144000, 0xa86327d3
-0,         19,         19,        1,  6144000, 0x3e3bd7bb
-0,         20,         20,        1,  6144000, 0x3e591d1a
-0,         21,         21,        1,  6144000, 0x1cb0a751
-0,         22,         22,        1,  6144000, 0x3532e0ae
-0,         23,         23,        1,  6144000, 0xe44fb0fe
-0,         24,         24,        1,  6144000, 0x9b075bc6
-0,         25,         25,        1,  6144000, 0x53352d7d
-0,         26,         26,        1,  6144000, 0x7ded6eac
-0,         27,         27,        1,  6144000, 0xd65b88e8
-0,         28,         28,        1,  6144000, 0xea53ae64
-0,         29,         29,        1,  6144000, 0xf0e21afa
-0,         30,         30,        1,  6144000, 0x43f11a01
-0,         31,         31,        1,  6144000, 0xb3005915
-0,         32,         32,        1,  6144000, 0x3eb450ed
-0,         33,         33,        1,  6144000, 0xdba020e8
-0,         34,         34,        1,  6144000, 0x8f2cbd30
-0,         35,         35,        1,  6144000, 0x9e12e7d6
-0,         36,         36,        1,  6144000, 0x27fd7092
-0,         37,         37,        1,  6144000, 0xf63056cd
-0,         38,         38,        1,  6144000, 0x44bfff47
-0,         39,         39,        1,  6144000, 0x9706c5a8
-0,         40,         40,        1,  6144000, 0xe5fe4658
-0,         41,         41,        1,  6144000, 0x20d5518b
-0,         42,         42,        1,  6144000, 0x25e56fe5
-0,         43,         43,        1,  6144000, 0x8cebd3d1
-0,         44,         44,        1,  6144000, 0x458d2302
-0,         45,         45,        1,  6144000, 0x6fc44942
-0,         46,         46,        1,  6144000, 0xdf8fa6da
-0,         47,         47,        1,  6144000, 0xafb34a56
-0,         48,         48,        1,  6144000, 0x4c5b177e
-0,         49,         49,        1,  6144000, 0x83934d62
-0,         50,         50,        1,  6144000, 0x59028fc3
-0,         51,         51,        1,  6144000, 0xfd9810cf
-0,         52,         52,        1,  6144000, 0x104abf79
-0,         53,         53,        1,  6144000, 0xb9a68e12
-0,         54,         54,        1,  6144000, 0x5ac4bbd8
-0,         55,         55,        1,  6144000, 0x44f4bb5e
-0,         56,         56,        1,  6144000, 0xc48a4f6b
-0,         57,         57,        1,  6144000, 0xecb27957
-0,         58,         58,        1,  6144000, 0xe2ec6e92
-0,         59,         59,        1,  6144000, 0x94697078
+0,          0,          0,        1,  6144000, 0x773df786
+0,          1,          1,        1,  6144000, 0x85f59bbf
+0,          2,          2,        1,  6144000, 0x519a62d3
+0,          3,          3,        1,  6144000, 0x09dffbaa
+0,          4,          4,        1,  6144000, 0xc5d7ed5c
+0,          5,          5,        1,  6144000, 0x74e5fcd2
+0,          6,          6,        1,  6144000, 0x8cc78622
+0,          7,          7,        1,  6144000, 0xe8643f0b
+0,          8,          8,        1,  6144000, 0x979a163b
+0,          9,          9,        1,  6144000, 0x7be58937
+0,         10,         10,        1,  6144000, 0x95327e28
+0,         11,         11,        1,  6144000, 0x0c8067b7
+0,         12,         12,        1,  6144000, 0x4ac2d7b1
+0,         13,         13,        1,  6144000, 0xf2ea1733
+0,         14,         14,        1,  6144000, 0xe3220a2f
+0,         15,         15,        1,  6144000, 0x03805fe6
+0,         16,         16,        1,  6144000, 0xa370ba72
+0,         17,         17,        1,  6144000, 0x7a1d7fc1
+0,         18,         18,        1,  6144000, 0x566f52fa
+0,         19,         19,        1,  6144000, 0xa3c901a0
+0,         20,         20,        1,  6144000, 0xb33c4447
+0,         21,         21,        1,  6144000, 0xa12ccd1e
+0,         22,         22,        1,  6144000, 0x209b0e22
+0,         23,         23,        1,  6144000, 0x608adc5f
+0,         24,         24,        1,  6144000, 0xdab77ba2
+0,         25,         25,        1,  6144000, 0xc32e129f
+0,         26,         26,        1,  6144000, 0x6f1a10bc
+0,         27,         27,        1,  6144000, 0x7225fc43
+0,         28,         28,        1,  6144000, 0xd023ffd0
+0,         29,         29,        1,  6144000, 0x2ee93e95
+0,         30,         30,        1,  6144000, 0xf0d10fb4
+0,         31,         31,        1,  6144000, 0xfa08f334
+0,         32,         32,        1,  6144000, 0x53658353
+0,         33,         33,        1,  6144000, 0x22b65071
+0,         34,         34,        1,  6144000, 0x250fecd2
+0,         35,         35,        1,  6144000, 0x4ed7117a
+0,         36,         36,        1,  6144000, 0xec0192ed
+0,         37,         37,        1,  6144000, 0x49b7745d
+0,         38,         38,        1,  6144000, 0x2d23189a
+0,         39,         39,        1,  6144000, 0x394cdbe0
+0,         40,         40,        1,  6144000, 0xaaa65aac
+0,         41,         41,        1,  6144000, 0xb0e463dd
+0,         42,         42,        1,  6144000, 0xf1b685bd
+0,         43,         43,        1,  6144000, 0x6d62e68d
+0,         44,         44,        1,  6144000, 0x86b53167
+0,         45,         45,        1,  6144000, 0x0d6e5836
+0,         46,         46,        1,  6144000, 0x2d6ab80a
+0,         47,         47,        1,  6144000, 0xd9f55d56
+0,         48,         48,        1,  6144000, 0x1ea02678
+0,         49,         49,        1,  6144000, 0xfdb45e3f
+0,         50,         50,        1,  6144000, 0x5965a0f3
+0,         51,         51,        1,  6144000, 0x8ef21e15
+0,         52,         52,        1,  6144000, 0x4aabcc49
+0,         53,         53,        1,  6144000, 0x650f9ef4
+0,         54,         54,        1,  6144000, 0x35ffcf40
+0,         55,         55,        1,  6144000, 0x3f30ce6f
+0,         56,         56,        1,  6144000, 0xf00b66fb
+0,         57,         57,        1,  6144000, 0x03ac90f7
+0,         58,         58,        1,  6144000, 0x5a7c8630
+0,         59,         59,        1,  6144000, 0x909f8bda
Test hevc-conformance-AMP_A_Samsung_6 failed. Look at tests/data/fate/hevc-conformance-AMP_A_Samsung_6.err for details.
ffmpeg/tests/Makefile:210: recipe for target 'fate-hevc-conformance-AMP_A_Samsung_6' failed
make: *** [fate-hevc-conformance-AMP_A_Samsung_6] Error 1
michael at hasbox:~/ffmpeg/ffmpeg/aarch64$ make fate-hevc-conformance-AMP_A_Samsung_6
TEST    hevc-conformance-AMP_A_Samsung_6
--- ffmpeg/tests/ref/fate/hevc-conformance-AMP_A_Samsung_6 2015-07-09 17:13:42.769703035 +0200
+++ tests/data/fate/hevc-conformance-AMP_A_Samsung_6    2016-01-27 21:25:18.597984220 +0100
@@ -1,61 +1,61 @@
 #tb 0: 1/25
-0,          0,          0,        1,  6144000, 0x6f9dd380
-0,          1,          1,        1,  6144000, 0x3ad765f8
-0,          2,          2,        1,  6144000, 0xe301292d
-0,          3,          3,        1,  6144000, 0x4272c502
-0,          4,          4,        1,  6144000, 0xa07fb65d
-0,          5,          5,        1,  6144000, 0x8ba3bfd9
-0,          6,          6,        1,  6144000, 0x60d043be
-0,          7,          7,        1,  6144000, 0x2569fa6e
-0,          8,          8,        1,  6144000, 0xd645ca25
-0,          9,          9,        1,  6144000, 0xd65a4297
-0,         10,         10,        1,  6144000, 0x3ce13abe
-0,         11,         11,        1,  6144000, 0x2c06229b
-0,         12,         12,        1,  6144000, 0x6efe8de1
-0,         13,         13,        1,  6144000, 0x1500d848
-0,         14,         14,        1,  6144000, 0x453cd614
-0,         15,         15,        1,  6144000, 0x65182daf
-0,         16,         16,        1,  6144000, 0x4cef8519
-0,         17,         17,        1,  6144000, 0x47ff5125
-0,         18,         18,        1,  6144000, 0xa86327d3
-0,         19,         19,        1,  6144000, 0x3e3bd7bb
-0,         20,         20,        1,  6144000, 0x3e591d1a
-0,         21,         21,        1,  6144000, 0x1cb0a751
-0,         22,         22,        1,  6144000, 0x3532e0ae
-0,         23,         23,        1,  6144000, 0xe44fb0fe
-0,         24,         24,        1,  6144000, 0x9b075bc6
-0,         25,         25,        1,  6144000, 0x53352d7d
-0,         26,         26,        1,  6144000, 0x7ded6eac
-0,         27,         27,        1,  6144000, 0xd65b88e8
-0,         28,         28,        1,  6144000, 0xea53ae64
-0,         29,         29,        1,  6144000, 0xf0e21afa
-0,         30,         30,        1,  6144000, 0x43f11a01
-0,         31,         31,        1,  6144000, 0xb3005915
-0,         32,         32,        1,  6144000, 0x3eb450ed
-0,         33,         33,        1,  6144000, 0xdba020e8
-0,         34,         34,        1,  6144000, 0x8f2cbd30
-0,         35,         35,        1,  6144000, 0x9e12e7d6
-0,         36,         36,        1,  6144000, 0x27fd7092
-0,         37,         37,        1,  6144000, 0xf63056cd
-0,         38,         38,        1,  6144000, 0x44bfff47
-0,         39,         39,        1,  6144000, 0x9706c5a8
-0,         40,         40,        1,  6144000, 0xe5fe4658
-0,         41,         41,        1,  6144000, 0x20d5518b
-0,         42,         42,        1,  6144000, 0x25e56fe5
-0,         43,         43,        1,  6144000, 0x8cebd3d1
-0,         44,         44,        1,  6144000, 0x458d2302
-0,         45,         45,        1,  6144000, 0x6fc44942
-0,         46,         46,        1,  6144000, 0xdf8fa6da
-0,         47,         47,        1,  6144000, 0xafb34a56
-0,         48,         48,        1,  6144000, 0x4c5b177e
-0,         49,         49,        1,  6144000, 0x83934d62
-0,         50,         50,        1,  6144000, 0x59028fc3
-0,         51,         51,        1,  6144000, 0xfd9810cf
-0,         52,         52,        1,  6144000, 0x104abf79
-0,         53,         53,        1,  6144000, 0xb9a68e12
-0,         54,         54,        1,  6144000, 0x5ac4bbd8
-0,         55,         55,        1,  6144000, 0x44f4bb5e
-0,         56,         56,        1,  6144000, 0xc48a4f6b
-0,         57,         57,        1,  6144000, 0xecb27957
-0,         58,         58,        1,  6144000, 0xe2ec6e92
-0,         59,         59,        1,  6144000, 0x94697078
+0,          0,          0,        1,  6144000, 0x773df786
+0,          1,          1,        1,  6144000, 0x85f59bbf
+0,          2,          2,        1,  6144000, 0x519a62d3
+0,          3,          3,        1,  6144000, 0x09dffbaa
+0,          4,          4,        1,  6144000, 0xc5d7ed5c
+0,          5,          5,        1,  6144000, 0x74e5fcd2
+0,          6,          6,        1,  6144000, 0x8cc78622
+0,          7,          7,        1,  6144000, 0xe8643f0b
+0,          8,          8,        1,  6144000, 0x979a163b
+0,          9,          9,        1,  6144000, 0x7be58937
+0,         10,         10,        1,  6144000, 0x95327e28
+0,         11,         11,        1,  6144000, 0x0c8067b7
+0,         12,         12,        1,  6144000, 0x4ac2d7b1
+0,         13,         13,        1,  6144000, 0xf2ea1733
+0,         14,         14,        1,  6144000, 0xe3220a2f
+0,         15,         15,        1,  6144000, 0x03805fe6
+0,         16,         16,        1,  6144000, 0xa370ba72
+0,         17,         17,        1,  6144000, 0x7a1d7fc1
+0,         18,         18,        1,  6144000, 0x566f52fa
+0,         19,         19,        1,  6144000, 0xa3c901a0
+0,         20,         20,        1,  6144000, 0xb33c4447
+0,         21,         21,        1,  6144000, 0xa12ccd1e
+0,         22,         22,        1,  6144000, 0x209b0e22
+0,         23,         23,        1,  6144000, 0x608adc5f
+0,         24,         24,        1,  6144000, 0xdab77ba2
+0,         25,         25,        1,  6144000, 0xc32e129f
+0,         26,         26,        1,  6144000, 0x6f1a10bc
+0,         27,         27,        1,  6144000, 0x7225fc43
+0,         28,         28,        1,  6144000, 0xd023ffd0
+0,         29,         29,        1,  6144000, 0x2ee93e95
+0,         30,         30,        1,  6144000, 0xf0d10fb4
+0,         31,         31,        1,  6144000, 0xfa08f334
+0,         32,         32,        1,  6144000, 0x53658353
+0,         33,         33,        1,  6144000, 0x22b65071
+0,         34,         34,        1,  6144000, 0x250fecd2
+0,         35,         35,        1,  6144000, 0x4ed7117a
+0,         36,         36,        1,  6144000, 0xec0192ed
+0,         37,         37,        1,  6144000, 0x49b7745d
+0,         38,         38,        1,  6144000, 0x2d23189a
+0,         39,         39,        1,  6144000, 0x394cdbe0
+0,         40,         40,        1,  6144000, 0xaaa65aac
+0,         41,         41,        1,  6144000, 0xb0e463dd
+0,         42,         42,        1,  6144000, 0xf1b685bd
+0,         43,         43,        1,  6144000, 0x6d62e68d
+0,         44,         44,        1,  6144000, 0x86b53167
+0,         45,         45,        1,  6144000, 0x0d6e5836
+0,         46,         46,        1,  6144000, 0x2d6ab80a
+0,         47,         47,        1,  6144000, 0xd9f55d56
+0,         48,         48,        1,  6144000, 0x1ea02678
+0,         49,         49,        1,  6144000, 0xfdb45e3f
+0,         50,         50,        1,  6144000, 0x5965a0f3
+0,         51,         51,        1,  6144000, 0x8ef21e15
+0,         52,         52,        1,  6144000, 0x4aabcc49
+0,         53,         53,        1,  6144000, 0x650f9ef4
+0,         54,         54,        1,  6144000, 0x35ffcf40
+0,         55,         55,        1,  6144000, 0x3f30ce6f
+0,         56,         56,        1,  6144000, 0xf00b66fb
+0,         57,         57,        1,  6144000, 0x03ac90f7
+0,         58,         58,        1,  6144000, 0x5a7c8630
+0,         59,         59,        1,  6144000, 0x909f8bda
Test hevc-conformance-AMP_A_Samsung_6 failed. Look at tests/data/fate/hevc-conformance-AMP_A_Samsung_6.err for details.
ffmpeg/tests/Makefile:210: recipe for target 'fate-hevc-conformance-AMP_A_Samsung_6' failed
make: *** [fate-hevc-conformance-AMP_A_Samsung_6] Error 1

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

While the State exists there can be no freedom; when there is freedom there
will be no State. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160127/ebf95b48/attachment.sig>


More information about the ffmpeg-devel mailing list