kuikuitage

  博客园  ::  :: 新随笔  :: 联系 ::  :: 管理

近期在arm aarch64上集成libvmaf到ffmpeg上进行图像质量评估时,遇到部分问题,整理下。
涉及相关:
avx:AVX指令集,X86平台支持,其他平台好像不支持
vif:图像质量评价
vif_filter1d:主要调用convolution_f32_avx_s_1d*好像是1维卷积啥的,有宏VIF_OPT_FILTER_1D控制,默认打开犹豫依赖了avx相关函数导致在arm上编译不过
vif_filter2d:2d没有使用到卷积,应该可以正常编译

使用meson构建,需要注释掉中间依赖1d的部分

libvmaf = both_libraries(
    'vmaf',
    vmaf_sources,
    include_directories : vmaf_include,
    c_args : vmaf_cflags_common,
    cpp_args : vmaf_cflags_common,
    dependencies : [thread_lib, stdatomic_dependency],
    objects : [
        //convolution_and_psnr_avx_static_lib.extract_all_objects(),
        libptools.extract_all_objects(),
        libvmaf_feature_static_lib.extract_all_objects(),
    ],
    install: true,
    soversion: vmaf_soversion,
    version: vmaf_soname_version,
)

即使用2d从而保证依赖1d代码,编译配置不用再生成其中的convolution_and_psnr_avx_static_lib
大致方向是这样。

参考以下地址,具体算法无能为力。。。

计算常用参考图像质量评价指标 PSNR / SSIM / MSSSIM / IFC / VIF的相关matlab总结代码

filter 与 kernel ,卷积的理解

posted on 2020-06-11 00:02  kuikuitage  阅读(649)  评论(0编辑  收藏  举报