CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
78 lines
2.6 KiB
ReStructuredText
78 lines
2.6 KiB
ReStructuredText
.. meta::
|
|
:description: Build and install rocDecode with the source code
|
|
:keywords: install, building, rocDecode, AMD, ROCm, source code, developer
|
|
|
|
***************************************
|
|
Build and install rocDecode from source
|
|
***************************************
|
|
|
|
To build rocDecode as part of the ROCm Core SDK, see `TheRock build
|
|
instructions
|
|
<https://github.com/ROCm/TheRock/blob/main/docs/development/README.md>`__.
|
|
TheRock is the recommended way to build ROCm components from source.
|
|
|
|
Alternatively, you can build rocDecode standalone using the following
|
|
instructions.
|
|
|
|
Prerequisites
|
|
=============
|
|
|
|
rocDecode requires a supported AMD GPU. For more information, see :ref:`ROCm
|
|
Core SDK components <rocm:release-components>`.
|
|
|
|
* HIP runtime and development libraries
|
|
* AMD Clang++ compiler (C++17 required)
|
|
* Libva and VA-API drivers
|
|
* Libdrm (amdgpu)
|
|
* CMake and pkg-config
|
|
|
|
To build and run samples and extended tests, FFmpeg development libraries must be installed separately.
|
|
For example, on Ubuntu:
|
|
|
|
.. code-block:: shell
|
|
|
|
sudo apt install libavcodec-dev libavformat-dev libavutil-dev
|
|
|
|
Build and install
|
|
=================
|
|
|
|
rocDecode is delivered as part of `TheRock <https://github.com/ROCm/TheRock>`_. For TheRock installation details, refer to the `TheRock documentation <https://github.com/ROCm/TheRock#readme>`_.
|
|
|
|
1. The rocDecode source code is available from the `ROCm systems GitHub repository <https://github.com/ROCm/rocm-systems/tree/develop/projects/rocjpeg>`__. Use sparse checkout when cloning the rocJPEG project. Clone the repo using `sparse-checkout`.
|
|
|
|
.. code-block:: bash
|
|
|
|
git clone --no-checkout --filter=blob:none https://github.com/ROCm/rocm-systems.git
|
|
cd rocm-systems
|
|
git sparse-checkout init --cone
|
|
git sparse-checkout set projects/rocdecode
|
|
|
|
2. Then use ``git checkout`` to check out the branch you need.
|
|
|
|
.. code-block:: bash
|
|
|
|
git checkout develop
|
|
cd projects/rocdecode
|
|
|
|
3. Build and install rocDecode using the following commands:
|
|
|
|
.. code-block:: bash
|
|
|
|
mkdir build && cd build
|
|
cmake ../
|
|
make -j8
|
|
sudo make install
|
|
|
|
After installation, the rocDecode libraries will be copied to ``/opt/rocm/lib`` and the rocDecode header files will be copied to ``/opt/rocm/include/rocdecode``.
|
|
|
|
4. To run the installed CTest-based verification:
|
|
|
|
.. code-block:: bash
|
|
|
|
mkdir rocdecode-test && cd rocdecode-test
|
|
cmake /opt/rocm/share/rocdecode/test/
|
|
ctest -VV
|
|
|
|
Run ``make test`` to test your build. To run the test with the verbose option, run ``make test ARGS="-VV"``.
|
|
|