foolab / libyuv

Automatically exported from code.google.com/p/libyuv
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

scale neon bad instructions #295

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
These scale down by 2 instructions in scale_neon.cc
    "vld1.8     {q0, q1}, [%0]!                \n"  // load row 1 and post inc
    "vld1.8     {q2, q3}, [%1]!                \n"  // load row 2 and post inc

should be vld2.8 { d0, d1}  ?

consider changing android neon build according to:

// 
http://stackoverflow.com/questions/7679363/android-build-system-neon-and-non-neo
n-builds

ifeq ($(TARGET_ARCH_VARIANT),armv7-a)
    LOCAL_CFLAGS += -DLIBYUV_NEON
    LOCAL_NEON_SRC_FILES := \
        source/compare_neon.cc    \
        source/rotate_neon.cc     \
        source/row_neon.cc        \
        source/scale_neon.cc
    LOCAL_SRC_FILES += $(LOCAL_NEON_SRC_FILES)
    LOCAL_NEON_CFLAGS := -mfloat-abi=softfp -mfpu=neon -march=armv7
    TARGET-process-src-files-tags += $(call add-src-files-target-cflags, $(LOCAL_NEON_SRC_FILES), $(LOCAL_NEON_CFLAGS))
endif

Original issue reported on code.google.com by fbarch...@google.com on 21 Dec 2013 at 10:18

GoogleCodeExporter commented 9 years ago
Fixed in r920 with a comment :-)   No bug...just misread the code.  It reads 32 
pixels, horizontally averages and writes 16.  All good.

Original comment by fbarch...@google.com on 26 Dec 2013 at 7:24