忍者ブログ
趣味+メモ用のブログです。 GNU/Linux関連、OSS関連情報、調査事項になるでしょうが、何を書くか分かりません。
[95] [94] [93] [92] [91] [90] [89] [88] [87] [86] [85]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

OpenCVのARM neon対応状況を調べてみました。

2.2.0 / 2.4.9 / 3.0-alpha(#3097)で、android / ios以外で"neon"の文字列を含む
ファイル数を調べたものです。

( grep neon **/* 2>/dev/null | grep -v android | grep -v ios | wc -l )

■ 結果
バージョン neonを含むファイル数
(android/iosを除く)
備考
2.2.0 1
2.4.9 35
3.0-alpha 53



■ 2.2.0の結果
OpenCV-2.2.0$  grep neon **/* 2>/dev/null | grep -v android | grep -v ios
modules/features2d/src/brief.cpp:#include <arm_neon.h>
■ 2.4.9の結果
OpenCV-2.4.9$ grep neon **/* 2>/dev/null | grep -v android | grep -v ios
バイナリファイル 3rdparty/ffmpeg/opencv_ffmpeg.dll に一致しました
バイナリファイル 3rdparty/ffmpeg/opencv_ffmpeg_64.dll に一致しました
バイナリファイル 3rdparty/lib/libavcodec.a に一致しました
バイナリファイル 3rdparty/lib/libavcodec64.a に一致しました
3rdparty/libpng/CMakeLists.txt:  list(APPEND lib_srcs arm/filter_neon.S)
3rdparty/libpng/arm/filter_neon.S:/* filter_neon.S - NEON optimised filter functions
3rdparty/libpng/arm/filter_neon.S:        .fpu  neon
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_sub4_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_sub3_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_up_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_avg4_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_avg3_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_paeth4_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_paeth3_neon, export=1
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_up_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_sub3_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_sub4_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_avg3_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_avg4_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_paeth3_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_paeth4_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngrutil.c:png_init_filter_functions_neon(png_structp pp, unsigned int bpp)
3rdparty/libpng/pngrutil.c:   pp->read_filter[PNG_FILTER_VALUE_UP-1] = png_read_filter_row_up_neon;
3rdparty/libpng/pngrutil.c:      pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub3_neon;
3rdparty/libpng/pngrutil.c:      pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg3_neon;
3rdparty/libpng/pngrutil.c:         png_read_filter_row_paeth3_neon;
3rdparty/libpng/pngrutil.c:      pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub4_neon;
3rdparty/libpng/pngrutil.c:      pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg4_neon;
3rdparty/libpng/pngrutil.c:          png_read_filter_row_paeth4_neon;
3rdparty/libpng/pngrutil.c:   png_init_filter_functions_neon(pp, bpp);
cmake/OpenCVCompilerOptions.cmake:    add_extra_compiler_option("-mfpu=neon")
modules/core/include/opencv2/core/internal.hpp:# include "arm_neon.h"
modules/core/include/opencv2/core/internal.hpp:#  include <arm_neon.h>
modules/flann/include/opencv2/flann/dist.h:# include "arm_neon.h"
modules/ts/src/ts_func.cpp:    cpu_features += " neon"; // NEON is currently not checked at runtime
■ 3.0-alpha
opencv$ grep neon **/* 2>/dev/null | grep -v android | grep -v ios
バイナリファイル 3rdparty/ffmpeg/opencv_ffmpeg.dll に一致しました
バイナリファイル 3rdparty/ffmpeg/opencv_ffmpeg_64.dll に一致しました
バイナリファイル 3rdparty/lib/libavcodec.a に一致しました
バイナリファイル 3rdparty/lib/libavcodec64.a に一致しました
3rdparty/libpng/CMakeLists.txt:  list(APPEND lib_srcs arm/filter_neon.S)
3rdparty/libpng/arm/filter_neon.S:/* filter_neon.S - NEON optimised filter functions
3rdparty/libpng/arm/filter_neon.S:        .fpu  neon
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_sub4_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_sub3_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_up_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_avg4_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_avg3_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_paeth4_neon, export=1
3rdparty/libpng/arm/filter_neon.S:func    png_read_filter_row_paeth3_neon, export=1
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_up_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_sub3_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_sub4_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_avg3_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_avg4_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_paeth3_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngpriv.h:PNG_EXTERN void png_read_filter_row_paeth4_neon PNGARG((png_row_infop row_info,
3rdparty/libpng/pngrutil.c:png_init_filter_functions_neon(png_structp pp, unsigned int bpp)
3rdparty/libpng/pngrutil.c:   pp->read_filter[PNG_FILTER_VALUE_UP-1] = png_read_filter_row_up_neon;
3rdparty/libpng/pngrutil.c:      pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub3_neon;
3rdparty/libpng/pngrutil.c:      pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg3_neon;
3rdparty/libpng/pngrutil.c:         png_read_filter_row_paeth3_neon;
3rdparty/libpng/pngrutil.c:      pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub4_neon;
3rdparty/libpng/pngrutil.c:      pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg4_neon;
3rdparty/libpng/pngrutil.c:          png_read_filter_row_paeth4_neon;
3rdparty/libpng/pngrutil.c:   png_init_filter_functions_neon(pp, bpp);
3rdparty/libwebp/CMakeLists.txt:    if("${file}" MATCHES "_neon.c")
3rdparty/libwebp/CMakeLists.txt:      set_source_files_properties("${file}" COMPILE_FLAGS "-mfpu=neon")
3rdparty/libwebp/cpu-features/cpu-features.c: *         Handle kernels that only report 'neon', and not 'vfpv3'
3rdparty/libwebp/cpu-features/cpu-features.c:        if (has_list_item(cpuFeatures, "neon"))
3rdparty/libwebp/cpu-features/cpu-features.c:            int has_neon = (hwcaps & HWCAP_NEON);
3rdparty/libwebp/cpu-features/cpu-features.c:            if (has_neon) {
3rdparty/libwebp/cpu-features/cpu-features.c: *   {"neon",              FPU_ARCH_VFP_V3_PLUS_NEON_V1},
3rdparty/libwebp/cpu-features/cpu-features.c: *   {"neon-fp16",         FPU_ARCH_NEON_FP16},
3rdparty/libwebp/cpu-features/cpu-features.c: *   {"neon-vfpv4",        FPU_ARCH_NEON_VFP_V4},
3rdparty/libwebp/cpu-features/cpu-features.h: *   -mfpu=neon
3rdparty/libwebp/cpu-features/cpu-features.h: *     also support NEON intrinsics (see <arm_neon.h>).
3rdparty/libwebp/cpu-features/cpu-features.h: *   -mfpu=neon-vfpv4
3rdparty/libwebp/cpu-features/cpu-features.h: *     This flag implies -mfpu=neon-vfpv4.
3rdparty/libwebp/dsp/dec_neon.c:  /* Adapted from libvpx: vp8/common/arm/neon/shortidct4x4llm_neon.asm */
3rdparty/libwebp/dsp/enc_neon.c:// Same code as dec_neon.c
3rdparty/libwebp/dsp/enc_neon.c:// adapted from vp8/encoder/arm/neon/shortfdct_neon.asm
3rdparty/libwebp/dsp/upsampling_neon.c:#include <arm_neon.h>
cmake/OpenCVCompilerOptions.cmake:    add_extra_compiler_option("-mfpu=neon")
cmake/OpenCVCompilerOptions.cmake:    add_extra_compiler_option(-mfpu=neon)
modules/core/include/opencv2/core/cvdef.h:# include "arm_neon.h"
modules/core/include/opencv2/core/cvdef.h:#  include <arm_neon.h>
modules/flann/include/opencv2/flann/dist.h:# include "arm_neon.h"
modules/ts/src/ts_func.cpp:    cpu_features += " neon"; // NEON is currently not checked at runtime
PR


忍者ブログ [PR]
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
最新コメント
最新トラックバック
プロフィール
HN:
一乗寺 又兵衛
性別:
男性
職業:
コンパイル
趣味:
コンパイル
バーコード
ブログ内検索