diff options
author | acxz | 2022-02-21 01:07:24 -0500 |
---|---|---|
committer | acxz | 2022-02-21 01:08:09 -0500 |
commit | 11afcb2b31881e14f16376e56ae0e29dc1c4da49 (patch) | |
tree | aa873db5b013441de4c467c344b14aeb8c2ab422 | |
parent | 3c0bae28dc5b9fbd96a3a0c00eada71b90fda6fa (diff) | |
download | aur-11afcb2b31881e14f16376e56ae0e29dc1c4da49.tar.gz |
upgpkg: python-pytorch-rocm 1.11.0rc2-1
-rw-r--r-- | .SRCINFO | 55 | ||||
-rw-r--r-- | PKGBUILD | 82 | ||||
-rw-r--r-- | ffmpeg4.4.patch | 51 |
3 files changed, 131 insertions, 57 deletions
@@ -1,7 +1,7 @@ pkgbase = python-pytorch-rocm pkgdesc = Tensors and Dynamic neural networks in Python with strong GPU acceleration - pkgver = 1.10.2 - pkgrel = 3 + pkgver = 1.11.0rc2 + pkgrel = 1 url = https://pytorch.org arch = x86_64 license = BSD @@ -28,50 +28,52 @@ pkgbase = python-pytorch-rocm depends = libuv depends = python-numpy depends = protobuf - depends = ffmpeg + depends = ffmpeg4.4 depends = python-future depends = qt5-base depends = onednn depends = intel-mkl depends = python-typing_extensions - source = pytorch-1.10.2::git+https://github.com/pytorch/pytorch.git#tag=v1.10.2 - source = python-pytorch-rocm-ios-cmake::git+https://github.com/Yangqing/ios-cmake.git + options = !lto + source = pytorch-1.11.0rc2::git+https://github.com/pytorch/pytorch.git#tag=v1.11.0-rc2 source = python-pytorch-rocm-pthreadpool::git+https://github.com/Maratyszcza/pthreadpool.git - source = python-pytorch-rocm-FP16::git+https://github.com/Maratyszcza/FP16.git source = python-pytorch-rocm-NNPACK::git+https://github.com/Maratyszcza/NNPACK.git + source = python-pytorch-rocm-ios-cmake::git+https://github.com/Yangqing/ios-cmake.git + source = python-pytorch-rocm-psimd::git+https://github.com/Maratyszcza/psimd.git source = python-pytorch-rocm-FXdiv::git+https://github.com/Maratyszcza/FXdiv.git - source = python-pytorch-rocm-PeachPy::git+https://github.com/Maratyszcza/PeachPy.git + source = python-pytorch-rocm-FP16::git+https://github.com/Maratyszcza/FP16.git source = python-pytorch-rocm-cub::git+https://github.com/NVlabs/cub.git - source = python-pytorch-rocm-psimd::git+https://github.com/Maratyszcza/psimd.git + source = python-pytorch-rocm-eigen-git-mirror::git+https://github.com/eigenteam/eigen-git-mirror.git source = python-pytorch-rocm-cpuinfo::git+https://github.com/pytorch/cpuinfo.git source = python-pytorch-rocm-enum34::git+https://github.com/PeachPy/enum34.git + source = python-pytorch-rocm-PeachPy::git+https://github.com/Maratyszcza/PeachPy.git + source = python-pytorch-rocm-gloo::git+https://github.com/facebookincubator/gloo + source = python-pytorch-rocm-foxi::git+https://github.com/houseroad/foxi.git source = python-pytorch-rocm-ideep::git+https://github.com/intel/ideep + source = python-pytorch-rocm-benchmark::git+https://github.com/google/benchmark.git source = python-pytorch-rocm-QNNPACK::git+https://github.com/pytorch/QNNPACK - source = python-pytorch-rocm-foxi::git+https://github.com/houseroad/foxi.git - source = python-pytorch-rocm-ARM_NEON_2_x86_SSE::git+https://github.com/intel/ARM_NEON_2_x86_SSE.git source = python-pytorch-rocm-six::git+https://github.com/benjaminp/six.git - source = python-pytorch-rocm-eigen-git-mirror::git+https://github.com/eigenteam/eigen-git-mirror.git - source = python-pytorch-rocm-gloo::git+https://github.com/facebookincubator/gloo - source = python-pytorch-rocm-nccl::git+https://github.com/NVIDIA/nccl - source = python-pytorch-rocm-gemmlowp::git+https://github.com/google/gemmlowp.git - source = python-pytorch-rocm-kineto::git+https://github.com/pytorch/kineto + source = python-pytorch-rocm-ARM_NEON_2_x86_SSE::git+https://github.com/intel/ARM_NEON_2_x86_SSE.git source = python-pytorch-rocm-sleef::git+https://github.com/shibatch/sleef + source = python-pytorch-rocm-fbjni::git+https://github.com/facebookincubator/fbjni.git + source = python-pytorch-rocm-gemmlowp::git+https://github.com/google/gemmlowp.git source = python-pytorch-rocm-onnx-tensorrt::git+https://github.com/onnx/onnx-tensorrt source = python-pytorch-rocm-pocketfft::git+https://github.com/mreineck/pocketfft source = python-pytorch-rocm-cudnn-frontend::git+https://github.com/NVIDIA/cudnn-frontend.git - source = python-pytorch-rocm-benchmark::git+https://github.com/google/benchmark.git - source = python-pytorch-rocm-tbb::git+https://github.com/01org/tbb - source = python-pytorch-rocm-XNNPACK::git+https://github.com/google/XNNPACK.git - source = python-pytorch-rocm-fbjni::git+https://github.com/facebookincubator/fbjni.git - source = python-pytorch-rocm-tensorpipe::git+https://github.com/pytorch/tensorpipe.git + source = python-pytorch-rocm-nccl::git+https://github.com/NVIDIA/nccl + source = python-pytorch-rocm-googletest::git+https://github.com/google/googletest.git source = python-pytorch-rocm-pybind11::git+https://github.com/pybind/pybind11.git source = python-pytorch-rocm-breakpad::git+https://github.com/driazati/breakpad.git - source = python-pytorch-rocm-fbgemm::git+https://github.com/pytorch/fbgemm - source = python-pytorch-rocm-googletest::git+https://github.com/google/googletest.git source = python-pytorch-rocm-zstd::git+https://github.com/facebook/zstd.git + source = python-pytorch-rocm-tbb::git+https://github.com/01org/tbb + source = python-pytorch-rocm-fbgemm::git+https://github.com/pytorch/fbgemm + source = python-pytorch-rocm-tensorpipe::git+https://github.com/pytorch/tensorpipe.git + source = python-pytorch-rocm-kineto::git+https://github.com/pytorch/kineto source = python-pytorch-rocm-onnx::git+https://github.com/onnx/onnx.git - source = python-pytorch-rocm-protobuf::git+https://github.com/protocolbuffers/protobuf.git source = python-pytorch-rocm-fmt::git+https://github.com/fmtlib/fmt.git + source = python-pytorch-rocm-protobuf::git+https://github.com/protocolbuffers/protobuf.git + source = python-pytorch-rocm-XNNPACK::git+https://github.com/google/XNNPACK.git + source = python-pytorch-rocm-flatbuffers::git+https://github.com/google/flatbuffers.git source = https://github.com/oneapi-src/oneDNN/commit/1fe0f2594a1bfc6386fd8f6537f971d5ae9c1214.patch source = fix_old_nnapi_lite_interpreter_config.patch source = fix-jit-frontend-nullptr-deref.patch @@ -79,8 +81,9 @@ pkgbase = python-pytorch-rocm source = use-system-libuv.patch source = fix-building-for-torchvision.patch source = fix_c10.patch + source = ffmpeg4.4.patch source = 66219.patch - source = https://github.com/pytorch/pytorch/commit/eb4e6ca30c2cd876007cd2dbbdea7f7803af0518.patch + sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP @@ -126,8 +129,8 @@ pkgbase = python-pytorch-rocm sha256sums = cd9ac4aaa9f946ac5eafc57cf66c5c16b3ea7ac8af32c2558fad0705411bb669 sha256sums = 600bd6a4bbcec9f99ab815d82cee1c2875530b2b75f4010da5ba72ce9bf31aff sha256sums = 4d0d7da4a3fb099ed75f3007559fad04ac96eed87c523b274fb3bb6020e6b9b8 + sha256sums = 75001b59e76831b0c93a547f851cb980e00b0d8cc7b66fb507eaeac217dc6ff9 sha256sums = d86efbe915386989d75d313fc76785e6d9c5638b983f17e98cca32174ac1fcee - sha256sums = SKIP pkgname = python-pytorch-rocm pkgdesc = Tensors and Dynamic neural networks in Python with strong GPU acceleration (with ROCM and AVX2 CPU optimizations) @@ -142,7 +145,7 @@ pkgname = python-pytorch-rocm depends = libuv depends = python-numpy depends = protobuf - depends = ffmpeg + depends = ffmpeg4.4 depends = python-future depends = qt5-base depends = onednn @@ -4,58 +4,60 @@ pkgname=python-pytorch-rocm _pkgname="pytorch" -pkgver=1.10.2 -_pkgver=1.10.2 -pkgrel=3 +pkgver=1.11.0rc2 +_pkgver=1.11.0-rc2 +pkgrel=1 _pkgdesc="Tensors and Dynamic neural networks in Python with strong GPU acceleration" pkgdesc="${_pkgdesc}" arch=('x86_64') url="https://pytorch.org" license=('BSD') depends=('google-glog' 'gflags' 'opencv' 'openmp' 'rccl' 'pybind11' 'python' 'python-yaml' 'libuv' - 'python-numpy' 'protobuf' 'ffmpeg' 'python-future' 'qt5-base' 'onednn' 'intel-mkl' + 'python-numpy' 'protobuf' 'ffmpeg4.4' 'python-future' 'qt5-base' 'onednn' 'intel-mkl' 'python-typing_extensions') makedepends=('python' 'python-setuptools' 'python-yaml' 'python-numpy' 'cmake' 'rocm-hip-sdk' 'roctracer' 'miopen' 'git' 'ninja' 'pkgconfig' 'doxygen') source=("${_pkgname}-${pkgver}::git+https://github.com/pytorch/pytorch.git#tag=v$_pkgver" # generated using parse-submodules - "${pkgname}-ios-cmake::git+https://github.com/Yangqing/ios-cmake.git" + # "${pkgname}::https://github.com/pytorch/pytorch#commit=7cc129e60c" "${pkgname}-pthreadpool::git+https://github.com/Maratyszcza/pthreadpool.git" - "${pkgname}-FP16::git+https://github.com/Maratyszcza/FP16.git" "${pkgname}-NNPACK::git+https://github.com/Maratyszcza/NNPACK.git" + "${pkgname}-ios-cmake::git+https://github.com/Yangqing/ios-cmake.git" + "${pkgname}-psimd::git+https://github.com/Maratyszcza/psimd.git" "${pkgname}-FXdiv::git+https://github.com/Maratyszcza/FXdiv.git" - "${pkgname}-PeachPy::git+https://github.com/Maratyszcza/PeachPy.git" + "${pkgname}-FP16::git+https://github.com/Maratyszcza/FP16.git" "${pkgname}-cub::git+https://github.com/NVlabs/cub.git" - "${pkgname}-psimd::git+https://github.com/Maratyszcza/psimd.git" + "${pkgname}-eigen-git-mirror::git+https://github.com/eigenteam/eigen-git-mirror.git" "${pkgname}-cpuinfo::git+https://github.com/pytorch/cpuinfo.git" "${pkgname}-enum34::git+https://github.com/PeachPy/enum34.git" + "${pkgname}-PeachPy::git+https://github.com/Maratyszcza/PeachPy.git" + "${pkgname}-gloo::git+https://github.com/facebookincubator/gloo" + "${pkgname}-foxi::git+https://github.com/houseroad/foxi.git" "${pkgname}-ideep::git+https://github.com/intel/ideep" + "${pkgname}-benchmark::git+https://github.com/google/benchmark.git" "${pkgname}-QNNPACK::git+https://github.com/pytorch/QNNPACK" - "${pkgname}-foxi::git+https://github.com/houseroad/foxi.git" - "${pkgname}-ARM_NEON_2_x86_SSE::git+https://github.com/intel/ARM_NEON_2_x86_SSE.git" "${pkgname}-six::git+https://github.com/benjaminp/six.git" - "${pkgname}-eigen-git-mirror::git+https://github.com/eigenteam/eigen-git-mirror.git" - "${pkgname}-gloo::git+https://github.com/facebookincubator/gloo" - "${pkgname}-nccl::git+https://github.com/NVIDIA/nccl" - "${pkgname}-gemmlowp::git+https://github.com/google/gemmlowp.git" - "${pkgname}-kineto::git+https://github.com/pytorch/kineto" + "${pkgname}-ARM_NEON_2_x86_SSE::git+https://github.com/intel/ARM_NEON_2_x86_SSE.git" "${pkgname}-sleef::git+https://github.com/shibatch/sleef" + "${pkgname}-fbjni::git+https://github.com/facebookincubator/fbjni.git" + "${pkgname}-gemmlowp::git+https://github.com/google/gemmlowp.git" "${pkgname}-onnx-tensorrt::git+https://github.com/onnx/onnx-tensorrt" "${pkgname}-pocketfft::git+https://github.com/mreineck/pocketfft" "${pkgname}-cudnn-frontend::git+https://github.com/NVIDIA/cudnn-frontend.git" - "${pkgname}-benchmark::git+https://github.com/google/benchmark.git" - "${pkgname}-tbb::git+https://github.com/01org/tbb" - "${pkgname}-XNNPACK::git+https://github.com/google/XNNPACK.git" - "${pkgname}-fbjni::git+https://github.com/facebookincubator/fbjni.git" - "${pkgname}-tensorpipe::git+https://github.com/pytorch/tensorpipe.git" + "${pkgname}-nccl::git+https://github.com/NVIDIA/nccl" + "${pkgname}-googletest::git+https://github.com/google/googletest.git" "${pkgname}-pybind11::git+https://github.com/pybind/pybind11.git" "${pkgname}-breakpad::git+https://github.com/driazati/breakpad.git" - "${pkgname}-fbgemm::git+https://github.com/pytorch/fbgemm" - "${pkgname}-googletest::git+https://github.com/google/googletest.git" "${pkgname}-zstd::git+https://github.com/facebook/zstd.git" + "${pkgname}-tbb::git+https://github.com/01org/tbb" + "${pkgname}-fbgemm::git+https://github.com/pytorch/fbgemm" + "${pkgname}-tensorpipe::git+https://github.com/pytorch/tensorpipe.git" + "${pkgname}-kineto::git+https://github.com/pytorch/kineto" "${pkgname}-onnx::git+https://github.com/onnx/onnx.git" - "${pkgname}-protobuf::git+https://github.com/protocolbuffers/protobuf.git" "${pkgname}-fmt::git+https://github.com/fmtlib/fmt.git" + "${pkgname}-protobuf::git+https://github.com/protocolbuffers/protobuf.git" + "${pkgname}-XNNPACK::git+https://github.com/google/XNNPACK.git" + "${pkgname}-flatbuffers::git+https://github.com/google/flatbuffers.git" https://github.com/oneapi-src/oneDNN/commit/1fe0f2594a1bfc6386fd8f6537f971d5ae9c1214.patch fix_old_nnapi_lite_interpreter_config.patch fix-jit-frontend-nullptr-deref.patch @@ -63,6 +65,7 @@ source=("${_pkgname}-${pkgver}::git+https://github.com/pytorch/pytorch.git#tag=v use-system-libuv.patch fix-building-for-torchvision.patch fix_c10.patch + ffmpeg4.4.patch 66219.patch https://github.com/pytorch/pytorch/commit/eb4e6ca30c2cd876007cd2dbbdea7f7803af0518.patch) sha256sums=('SKIP' @@ -103,6 +106,7 @@ sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' + 'SKIP' '7728e99500d8034c837bbbe2b48b780d8563de4e56fff38a96766caad08cce05' '21476edfa61573892a325cb8a91e13f601142e39b34e24e4575d2cdebb063b3f' 'c272684a4c747f034163fcfd9dbb7264d5fe821dd25a060f0b791760ad0083ae' @@ -110,8 +114,10 @@ sha256sums=('SKIP' 'cd9ac4aaa9f946ac5eafc57cf66c5c16b3ea7ac8af32c2558fad0705411bb669' '600bd6a4bbcec9f99ab815d82cee1c2875530b2b75f4010da5ba72ce9bf31aff' '4d0d7da4a3fb099ed75f3007559fad04ac96eed87c523b274fb3bb6020e6b9b8' + '75001b59e76831b0c93a547f851cb980e00b0d8cc7b66fb507eaeac217dc6ff9' 'd86efbe915386989d75d313fc76785e6d9c5638b983f17e98cca32174ac1fcee' 'SKIP') +options=('!lto') get_pyver () { python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))' @@ -160,6 +166,7 @@ prepare() { git config submodule."third_party/kineto".url "${srcdir}/${pkgname}"-kineto git config submodule."third_party/pocketfft".url "${srcdir}/${pkgname}"-pocketfft git config submodule."third_party/breakpad".url "${srcdir}/${pkgname}"-breakpad + git config submodule."third_party/flatbuffers".url "${srcdir}/${pkgname}"-flatbuffers git submodule update --init --recursive @@ -173,34 +180,40 @@ prepare() { patch -Np1 -i "${srcdir}/fix-building-for-torchvision.patch" # cuda 11.4.1 fix - patch -Np1 -i "${srcdir}/fix_c10.patch" + # patch -Np1 -i "${srcdir}/fix_c10.patch" # https://discuss.pytorch.org/t/about-build-android-sh-lite-and-nnapi/133581 - patch -Np1 -i "${srcdir}/fix_old_nnapi_lite_interpreter_config.patch" + # patch -Np1 -i "${srcdir}/fix_old_nnapi_lite_interpreter_config.patch" # fix nullptr dereference - patch -Np1 -i "${srcdir}/fix-jit-frontend-nullptr-deref.patch" + # patch -Np1 -i "${srcdir}/fix-jit-frontend-nullptr-deref.patch" # disable vec tests - sed -e '/set(ATen_VEC_TEST_SRCS ${ATen_VEC_TEST_SRCS} PARENT_SCOPE)/d' -i aten/CMakeLists.txt + # sed -e '/set(ATen_VEC_TEST_SRCS ${ATen_VEC_TEST_SRCS} PARENT_SCOPE)/d' -i aten/CMakeLists.txt # https://github.com/pytorch/pytorch/issues/67153, https://github.com/pytorch/pytorch/pull/66219 - patch -Np1 -i "${srcdir}/66219.patch" + # patch -Np1 -i "${srcdir}/66219.patch" # fix ideep/mkl-dnn - patch -Np1 -d third_party/ideep/mkl-dnn -i "${srcdir}/1fe0f2594a1bfc6386fd8f6537f971d5ae9c1214.patch" + # patch -Np1 -d third_party/ideep/mkl-dnn -i "${srcdir}/1fe0f2594a1bfc6386fd8f6537f971d5ae9c1214.patch" # fix rocm-version patch -Np1 -i "${srcdir}/eb4e6ca30c2cd876007cd2dbbdea7f7803af0518.patch" # remove local nccl - rm -rf third_party/nccl/nccl + # rm -rf third_party/nccl/nccl # also remove path from nccl module, so it's not checked - sed -e '/path = third_party\/nccl\/nccl/d' -i ./.gitmodules + # sed -e '/path = third_party\/nccl\/nccl/d' -i ./.gitmodules # fix build with google-glog 0.5 https://github.com/pytorch/pytorch/issues/58054 sed -e '/namespace glog_internal_namespace_/d' -e 's|::glog_internal_namespace_||' -i c10/util/Logging.cpp + # build against ffmpeg4.4 + patch -Np1 -i "${srcdir}/ffmpeg4.4.patch" + + # Backport https://github.com/driazati/breakpad/commit/605c51ed96ad44b34c457bbca320e74e194c317e for fixing build with glibc > 2.33 + git -C third_party/breakpad cherry-pick -n 605c51ed96ad44b34c457bbca320e74e194c317e + cd "${srcdir}" cp -r "${_pkgname}-${pkgver}" "${_pkgname}-${pkgver}-rocm" @@ -213,11 +226,14 @@ prepare() { export ATEN_NO_TEST=ON # do not build ATen tests export USE_MKLDNN=ON export BUILD_CUSTOM_PROTOBUF=OFF + export BUILD_CAFFE2=ON + export BUILD_CAFFE2_OPS=ON # export BUILD_SHARED_LIBS=OFF export USE_FFMPEG=ON export USE_GFLAGS=ON export USE_GLOG=ON export BUILD_BINARY=ON + export USE_OBSERVERS=ON export USE_OPENCV=ON # export USE_SYSTEM_LIBS=ON # experimental, not all libs present in repos export USE_SYSTEM_NCCL=ON @@ -236,6 +252,10 @@ prepare() { export TORCH_NVCC_FLAGS="-Xfatbin -compress-all" export TORCH_CUDA_ARCH_LIST="5.2;6.0;6.2;7.0;7.2;7.5;8.0;8.6;8.6+PTX" #include latest PTX for future compat export OVERRIDE_TORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST}" + # Uncomment this when you want to specify specific ROCM_ARCH(s) + # Otherwise pytorch will automatically detect your architecture + # See: https://github.com/pytorch/pytorch/commit/8dfdc3df82ee34a83c1a0a9c59de8db195591a6b + # export PYTORCH_ROCM_ARCH="gfx803;gfx900;gfx906;gfx908" } build() { diff --git a/ffmpeg4.4.patch b/ffmpeg4.4.patch new file mode 100644 index 000000000000..6a0a70e3d23e --- /dev/null +++ b/ffmpeg4.4.patch @@ -0,0 +1,51 @@ +diff --git a/cmake/Modules/FindFFmpeg.cmake b/cmake/Modules/FindFFmpeg.cmake +index 04437562ee..dc8fe4aa5c 100644 +--- a/cmake/Modules/FindFFmpeg.cmake ++++ b/cmake/Modules/FindFFmpeg.cmake +@@ -14,34 +14,40 @@ else (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR) + + find_path(FFMPEG_AVCODEC_INCLUDE_DIR + NAMES libavcodec/avcodec.h +- PATHS ${_FFMPEG_AVCODEC_INCLUDE_DIRS} /usr/include /usr/local/include /opt/local/include /sw/include ++ PATHS /usr/include/ffmpeg4.4 /usr/local/include /opt/local/include /sw/include + PATH_SUFFIXES ffmpeg libav ++ NO_DEFAULT_PATH + ) + + find_library(FFMPEG_LIBAVCODEC + NAMES avcodec +- PATHS ${_FFMPEG_AVCODEC_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib ++ PATHS /usr/lib/ffmpeg4.4 /usr/local/lib /opt/local/lib /sw/lib ++ NO_DEFAULT_PATH + ) + + find_library(FFMPEG_LIBAVFORMAT + NAMES avformat +- PATHS ${_FFMPEG_AVFORMAT_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib ++ PATHS /usr/lib/ffmpeg4.4 /usr/local/lib /opt/local/lib /sw/lib ++ NO_DEFAULT_PATH + ) + + find_library(FFMPEG_LIBAVUTIL + NAMES avutil +- PATHS ${_FFMPEG_AVUTIL_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib ++ PATHS /usr/lib/ffmpeg4.4 /usr/local/lib /opt/local/lib /sw/lib ++ NO_DEFAULT_PATH + ) + + + find_library(FFMPEG_LIBSWSCALE + NAMES swscale +- PATHS ${_FFMPEG_SWSCALE_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib ++ PATHS /usr/lib/ffmpeg4.4 /usr/local/lib /opt/local/lib /sw/lib ++ NO_DEFAULT_PATH + ) + + find_library(FFMPEG_LIBSWRESAMPLE + NAMES swresample +- PATHS ${_FFMPEG_SWSCALE_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib ++ PATHS /usr/lib/ffmpeg4.4 /usr/local/lib /opt/local/lib /sw/lib ++ NO_DEFAULT_PATH + ) + + if (FFMPEG_LIBAVCODEC AND FFMPEG_LIBAVFORMAT) |