)]}' { "commit": "3121783fec60d0ce4551d472d1acbd1f1a8253be", "tree": "95a53f73adccf711003346860021ddf9ed1a2e0f", "parents": [ "dcb566e69f03eb046180dabf41c4118b249af96f" ], "author": { "name": "Konstantinos Margaritis", "email": "konstantinos@vectorcamp.gr", "time": "Wed Oct 26 21:37:31 2022" }, "committer": { "name": "Konstantinos Margaritis", "email": "konstantinos@vectorcamp.gr", "time": "Tue Nov 01 23:07:27 2022" }, "message": "[NEON] Optimize and homogenize Butterfly DCT functions\n\nProvide a set of commonly used Butterfly DCT functions for use in\nDCT 4x4, 8x8, 16x16, 32x32 functions. These are provided in various\nforms, using vqrdmulh_s16/vqrdmulh_s32 for _fast variants, which\nunfortunately are only usable in pass1 of most DCTs, as they do not\nprovide the necessary precision in pass2.\nThis gave a performance gain ranging from 5% to 15% in 16x16 case.\nAlso, for 32x32, the loads were rearranged, along with the butterfly\noptimizations, this gave 10% gain in 32x32_rd function.\nThis refactoring was necessary to allow easier porting of highbd\n32x32 functions -follows this patchset.\n\nChange-Id: I6282e640b95a95938faff76c3b2bace3dc298bc3\n", "tree_diff": [ { "type": "modify", "old_id": "a07a1608d7dc63e6216ea186dd2920c55ac78552", "old_mode": 33188, "old_path": "vp9/encoder/arm/neon/vp9_dct_neon.c", "new_id": "b8286a8dd52d814d0883917c3bc6fd1d49da0476", "new_mode": 33188, "new_path": "vp9/encoder/arm/neon/vp9_dct_neon.c" }, { "type": "modify", "old_id": "d0c07d429add1918f2675ea8d4c14cd1d27e22ba", "old_mode": 33188, "old_path": "vpx_dsp/arm/fdct16x16_neon.c", "new_id": "a458ecaa4116442e46011f98fc934f1c4cbdec21", "new_mode": 33188, "new_path": "vpx_dsp/arm/fdct16x16_neon.c" }, { "type": "modify", "old_id": "d99870903b62d811cad99f624876649abc6a3c25", "old_mode": 33188, "old_path": "vpx_dsp/arm/fdct16x16_neon.h", "new_id": "43d820b6bd32fe167aef7c809c1819c82d3d1467", "new_mode": 33188, "new_path": "vpx_dsp/arm/fdct16x16_neon.h" }, { "type": "modify", "old_id": "51d81bd085ec52a00b1ef7e5a7858f72e0b63194", "old_mode": 33188, "old_path": "vpx_dsp/arm/fdct32x32_neon.c", "new_id": "e2bf16760436c850981dfebb05250c33f1f71476", "new_mode": 33188, "new_path": "vpx_dsp/arm/fdct32x32_neon.c" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "dd647918b2922cf2659e3152cf3157939f425510", "new_mode": 33188, "new_path": "vpx_dsp/arm/fdct32x32_neon.h" }, { "type": "modify", "old_id": "11df7292d4a204f8b43eaf6d591bed5538588096", "old_mode": 33188, "old_path": "vpx_dsp/arm/fdct4x4_neon.c", "new_id": "3b9196fae98d56c15bbbdcdae6e007b1ebcb0c38", "new_mode": 33188, "new_path": "vpx_dsp/arm/fdct4x4_neon.c" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "de3db9774c66436f8c8e5475ac923b1822fd8b71", "new_mode": 33188, "new_path": "vpx_dsp/arm/fdct4x4_neon.h" }, { "type": "modify", "old_id": "3fb15cc17568695ac7554e161f28fd97712785c5", "old_mode": 33188, "old_path": "vpx_dsp/arm/fdct8x8_neon.c", "new_id": "75ee6f22306e5436e9d00df08b74b5ffa27951fe", "new_mode": 33188, "new_path": "vpx_dsp/arm/fdct8x8_neon.c" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "d8fa60044864c33b3216bea11913d5ade459c9f8", "new_mode": 33188, "new_path": "vpx_dsp/arm/fdct8x8_neon.h" }, { "type": "modify", "old_id": "ce669061d2ce79e8387bd6c9455933c68ce61b2c", "old_mode": 33188, "old_path": "vpx_dsp/arm/fdct_neon.h", "new_id": "1ea948b3f73eb03506f1908219b74cfa909cce30", "new_mode": 33188, "new_path": "vpx_dsp/arm/fdct_neon.h" }, { "type": "modify", "old_id": "bf06d6abe28585189a777a1179d947c47d10dc8b", "old_mode": 33188, "old_path": "vpx_dsp/arm/transpose_neon.h", "new_id": "41d44f2b1f01547a18ce3e09494cf70ac3052ed0", "new_mode": 33188, "new_path": "vpx_dsp/arm/transpose_neon.h" } ] }