On Mon, 27 Mar 2017, Alexandra Hájková wrote:
Optimized by Martin Storsjö <[email protected]>.
---
libavcodec/arm/Makefile | 2 +
libavcodec/arm/hevc_idct.S | 228 ++++++++++++++++++++++++++++++++++++++
libavcodec/arm/hevcdsp_init_arm.c | 47 ++++++++
libavcodec/hevcdsp.c | 2 +
libavcodec/hevcdsp.h | 1 +
5 files changed, 280 insertions(+)
create mode 100644 libavcodec/arm/hevc_idct.S
create mode 100644 libavcodec/arm/hevcdsp_init_arm.c
+#include "libavutil/arm/asm.S"
+
+const trans
+ .short 64, 83, 64, 36
+ .short 89, 75, 50, 18
+ .short 90, 87, 80, 70
+ .short 57, 43, 25, 9
+endconst
If loading from this with :64 alignment, you need to add at least align=3
here, ideally align=4 in case you'd want to load with 8 coefficients at
once. Sorry for not noticing this earlier.
+ tr_8x4 20 - \bitdepth, d0, d2, d4, d6, d1, d3, d5, d7
+ vswp d0, d8
+ tr_8x4 20 - \bitdepth, d0, d10, d12, d14, d9, d11, d13, d15
+ vswp d0, d8
+
+ transpose_8x8 d0, d2, d4, d6, d8, d10, d12, d14, d1, d3, d5, d7, d9,
d11, d13, d15
Incorrect indentation/alignment here
Other than that, it seems ok. I've build tested it with
clang/gas-preprocesosr and msvc/armasm/gas-preprocessor as well, and
builds fine in both configs.
No need to repost for those small fixes, I can do that before pushing
unless there are other comments.
// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel