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

Reply via email to