Unverified Commit 5ecb880a authored by jopejoe1's avatar jopejoe1 Committed by GitHub
Browse files

lcevcdec: only enable avx2 when supported in hostPlatform: ffmpeg-full: renable lcevcdec (#379413)

parents fe79e24f 2959d751
Loading
Loading
Loading
Loading
+19 −6
Original line number Diff line number Diff line
@@ -42,16 +42,26 @@ stdenv.mkDerivation (finalAttrs: {
    })
  ];

  postPatch = ''
  postPatch =
    ''
      substituteInPlace cmake/tools/version_files.py \
        --replace-fail "args.git_version" '"${finalAttrs.version}"' \
        --replace-fail "args.git_hash" '"${finalAttrs.src.rev}"' \
        --replace-fail "args.git_date" '"1970-01-01"'

    ''
    + lib.optionalString (!stdenv.hostPlatform.avxSupport) ''
      substituteInPlace cmake/modules/Compiler/GNU.cmake \
        --replace-fail "-mavx" ""

       substituteInPlace src/core/decoder/src/common/simd.c \
        --replace-fail "((_xgetbv(kControlRegister) & kOSXSaveMask) == kOSXSaveMask)" "false"
    '';

  env = {
    includedir = "${placeholder "dev"}/include";
    libdir = "${placeholder "out"}/lib";
    NIX_CFLAGS_COMPILE = "-Wno-error=unused-variable";
  };

  pkgconfigItems = [
@@ -95,6 +105,9 @@ stdenv.mkDerivation (finalAttrs: {
    (lib.cmakeFeature "VN_SDK_FFMPEG_LIBS_PACKAGE" "")
    (lib.cmakeBool "VN_SDK_UNIT_TESTS" false)
    (lib.cmakeBool "VN_SDK_SAMPLE_SOURCE" false)
    (lib.cmakeBool "VN_CORE_AVX2" stdenv.hostPlatform.avx2Support)
    # Requires avx for checking on runtime
    (lib.cmakeBool "VN_CORE_SSE" stdenv.hostPlatform.avxSupport)
  ];

  passthru = {
+1 −1
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@
  withKvazaar ? withFullDeps, # HEVC encoding
  withLadspa ? withFullDeps, # LADSPA audio filtering
  withLc3 ? withFullDeps && lib.versionAtLeast version "7.1", # LC3 de/encoding
  withLcevcdec ? false && lib.versionAtLeast version "7.1", # LCEVC decoding # FIXME currently makes ffmpeg crash in any operation on non-AVX CPUs
  withLcevcdec ? withFullDeps && lib.versionAtLeast version "7.1", # LCEVC decoding
  withLcms2 ? withFullDeps, # ICC profile support via lcms2
  withLzma ? withHeadlessDeps, # xz-utils
  withMetal ? false, # Unfree and requires manual downloading of files