Bug1997
BUG豆荚
采纳率0%
2021-03-01 09:50

安卓rebuild project asm报错

void OMITFP I422AlphaToARGBRow_SSSE3(const uint8* y_buf,
                                     const uint8* u_buf,
                                     const uint8* v_buf,
                                     const uint8* a_buf,
                                     uint8* dst_argb,
                                     const struct YuvConstants* yuvconstants,
                                     int width) {
  asm volatile (
    YUVTORGB_SETUP(yuvconstants)
    "sub       %[u_buf],%[v_buf]               \n"
    LABELALIGN
  "1:                                          \n"
    READYUVA422
    YUVTORGB(yuvconstants)
    STOREARGB
    "subl      $0x8,%[width]                   \n"
    "jg        1b                              \n"
  : [y_buf]"+r"(y_buf),    // %[y_buf]
    [u_buf]"+r"(u_buf),    // %[u_buf]
    [v_buf]"+r"(v_buf),    // %[v_buf]
    [a_buf]"+r"(a_buf),    // %[a_buf]
    [dst_argb]"+r"(dst_argb),  // %[dst_argb]
#if defined(__i386__) && defined(__pic__)
    [width]"+m"(width)     // %[width]
#else
    [width]"+rm"(width)    // %[width]
#endif
  : [yuvconstants]"r"(yuvconstants)  // %[yuvconstants]
  : "memory", "cc", NACL_R14 YUVTORGB_REGS
    "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
  );
}

'asm' operand has impossible constraints
   );
    ^

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • Bug1997 BUG豆荚 1月前

    Build command failed.
    Error while executing process D:\Chrome\android-ndk-r10e\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=D:\Chrome\yasea-non-gpuimage\library\src\main\cpp\Android.mk NDK_APPLICATION_MK=D:\Chrome\yasea-non-gpuimage\library\src\main\cpp\Application.mk APP_ABI=x86 NDK_ALL_ABIS=x86 NDK_DEBUG=1 APP_PLATFORM=android-21 NDK_OUT=D:/Chrome/yasea-non-gpuimage/library/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=D:\Chrome\yasea-non-gpuimage\library\build\intermediates\ndkBuild\debug\lib D:/Chrome/yasea-non-gpuimage/library/build/intermediates/ndkBuild/debug/obj/local/x86/libenc.so}
    [x86] Compile++      : enc <= libenc.cc
    [x86] Compile++      : yuv <= compare.cc
    [x86] Compile++      : yuv <= compare_common.cc
    [x86] Compile++      : yuv <= convert.cc
    [x86] Compile++      : yuv <= convert_argb.cc
    [x86] Compile++      : yuv <= convert_from.cc
    [x86] Compile++      : yuv <= convert_from_argb.cc
    [x86] Compile++      : yuv <= convert_to_argb.cc
    [x86] Compile++      : yuv <= convert_to_i420.cc
    [x86] Compile++      : yuv <= cpu_id.cc
    [x86] Compile++      : yuv <= planar_functions.cc
    [x86] Compile++      : yuv <= rotate.cc
    [x86] Compile++      : yuv <= rotate_any.cc
    [x86] Compile++      : yuv <= rotate_argb.cc
    [x86] Compile++      : yuv <= rotate_common.cc
    [x86] Compile++      : yuv <= row_any.cc
    [x86] Compile++      : yuv <= row_common.cc
    [x86] Compile++      : yuv <= scale.cc
    [x86] Compile++      : yuv <= scale_any.cc
    [x86] Compile++      : yuv <= scale_argb.cc
    [x86] Compile++      : yuv <= scale_common.cc
    [x86] Compile++      : yuv <= video_common.cc
    [x86] Compile++      : yuv <= compare_gcc.cc
    [x86] Compile++      : yuv <= rotate_gcc.cc
    [x86] Compile++      : yuv <= row_gcc.cc
    D:/Chrome/yasea-non-gpuimage/library/src/main/cpp/libyuv/source/row_gcc.cc: In function 'void libyuv::I422AlphaToARGBRow_SSSE3(const uint8*, const uint8*, const uint8*, const uint8*, uint8*, const libyuv::YuvConstants*, int)':
    D:/Chrome/yasea-non-gpuimage/library/src/main/cpp/libyuv/source/row_gcc.cc:1803:4: error: 'asm' operand has impossible constraints
       );
        ^
    make.exe: *** [D:/Chrome/yasea-non-gpuimage/library/build/intermediates/ndkBuild/debug/obj/local/x86/objs-debug/yuv/source/row_gcc.o] Error 1

    点赞 评论 复制链接分享