Documentation - 6.1 Updates (Lisa edits) (#260)
* Update video-decoding-pipeline.md changed image alignment to left from center * Update Create-a-decoder-using-rocDecCreateDecoder().md language edits * Update Create-parser-object-using-rocDecCreateVideoParser().md Language edits * Update Create-parser-object-using-rocDecCreateVideoParser().md * Update Create-parser-object-using-rocDecCreateVideoParser().md * Update Create-parser-object-using-rocDecCreateVideoParser().md * Update Create-parser-object-using-rocDecCreateVideoParser().md * Update Create-parser-object-using-rocDecCreateVideoParser().md expanded SEI * Update Decode-the-frame-using-rocDecDecodeFrame().md language edits * Update Destroy-the-decoder.md * Update Decode-the-frame-using-rocDecDecodeFrame().md * Update Destroy-the-parser-using-rocDecDestroyVideoParser().md * Update Parse-video-data-using-rocDecParseVideoData().md language and spacing edits * Update Prepare-the-decoded-frame-for-further-processing.md language and spacing edits * Update Query-decode-capabilities-using-rocDecGetDecoderCaps().md Language and spacing edits. * Update Query-the-decoding-status.md language edits and spacing * Update Reconfigure-the-decorder.md language edits and spacing fixes * Update Use-rocDecode-API.md language and spacing edits * Update Use-rocDecode-API.md * Update Destroy-the-decoder.md updated to RocDecoder * Update Parse-video-data-using-rocDecParseVideoData().md Added link for callback * Update Reconfigure-the-decorder.md Corrected to RocDecoder * Delete docs/tutorial directory Tutorial not required for the user guide. * Add files via upload * Delete docs/data/VideoDecoderPipeline.PNG * Update video-decoding-pipeline.md * Update video-decoding-pipeline.md * Update video-decoding-pipeline.md * Update README.md * resolve conflicts * Update video-decoding-pipeline.md * Update video-decoding-pipeline.md * Update video-decoding-pipeline.md * Update install.md * Update install.md Minor language edits. * Update install.md * Update install.md * Update install.md * Update install.md * Update README.md Updated link to https://github.com/ROCm/rocDecode/blob/develop/rocDecode-setup.py * Update _toc.yml.in * Update index.md * Update index.md * Update index.md corrections to index.md * Update index.md * Update index.md * Create index.md * Update index.md Updated for installation and how to. Reference has header files. Need confirmation. * Update index.md * Update index.md Changed AMD's rocDecode SDK Library to rocDecode SDK * Update what-is-rocDecode.md * Update _toc.yml.in * Update _toc.yml.in * Update _toc.yml.in * Update _toc.yml.in * Update _toc.yml.in * Update _toc.yml.in * Update index.md * Update index.md * Update index.md * Update index.md * Docs - Update config * Docs - yml updates * Docs - Updates * Update _toc.yml.in * Update _toc.yml.in * Update _toc.yml.in * Update what-is-rocDecode.md * Update _toc.yml.in * Update what-is-rocDecode.md * Update what-is-rocDecode.md Added installation content * Update _toc.yml.in * Update install.md changed heading to Installation * Update index.md * Update what-is-rocDecode.md removed installation content * Update what-is-rocDecode.md Updated product name * Update install.md * Update _toc.yml.in * Update Create-a-decoder-using-rocDecCreateDecoder.md * Update Create-parser-object-using-rocDecCreateVideoParser.md * Update Decode-the-frame-using-rocDecDecodeFrame.md * Update Destroy-the-decoder.md * Update Destroy-the-parser-using-rocDecDestroyVideoParser.md * Update Parse-video-data-using-rocDecParseVideoData.md * Update Prepare-the-decoded-frame-for-further-processing.md * Update Query-decode-capabilities-using-rocDecGetDecoderCaps.md * Update Query-the-decoding-status.md * Update Reconfigure-the-decorder.md * Update Use-rocDecode-API.md * Update _toc.yml.in * Update _toc.yml.in * Update index.md * Update index.md * Index - Change to RST * Fix - index * Update conf.py copyright * Cleanup - Index * Update _toc.yml.in * Update _toc.yml.in * Update what-is-rocDecode.md Added concept * Add files via upload * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Rename VideoDecoderPipeline (1).png to VideoDecoderPipelinetest.png * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Rename VideoDecoderPipeline.png to VideoDecoderPipelinetest.png * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Update index.md Added a numbered list of actions. * Update index.md add links * Update index.md * Update index.md * Update index.md * Update index.md * Update index.md * Update index.md * Update index.md * Update index.md * Update index.md * Update index.md * Update index.md * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.md * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.md corrected the order of steps. * Update index.rst Corrected the order of tasks * Update _toc.yml.in Reorder the how to * Update install.md * Update what-is-rocDecode.md * Update what-is-rocDecode.md updated image path * Update index.rst Fixed Reconfigure the decoder <https://github.com/ROCm/rocDecode/blob/master/docs/how-to/Reconfigure-the-decorder.html>`_to Reconfigure the decoder <https://github.com/ROCm/rocDecode/blob/master/docs/how-to/Reconfigure-the-decoder.html>`_ * Rename Reconfigure-the-decorder.md to Reconfigure-the-decoder.md Corrected the page name to Reconfigure the decoder * Update index.rst Updated to relative links * Update index.rst Updated index.rst * Update index.rst * Update index.md * Update index.md * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst updated ref to doc * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Add files via upload * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.rst * Update index.md * Update index.md * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Update install.md * Update install.md * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Update what-is-rocDecode.md * Update index.md * Update index.md * Update _toc.yml.in * Update _toc.yml.in * Update what-is-rocDecode.md * Update install.md * Update install.md * Update what-is-rocDecode.md * Update index.md * restructure & edits * udpate readme * cleanup * verbiage * minor fixes * update changelog * update changelog * update title * add metadata * more metadata * convert to RST * intersphinx test * edits, install reorg, address comments * verbiage * update requirements * remove extraneous note * Update docs/sphinx/requirements.in * clean up install info * update readme * update readme * update requirements * formatting * revert requirements * Docs - Update Requirements * requirements * Update requirements * Fix typo in requirements pip-compile error --------- Co-authored-by: Roopa Malavally <56051583+Rmalavally@users.noreply.github.com> Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com> Co-authored-by: Pavel Tcherniaev <Pavel.Tcherniaev@amd.com> Co-authored-by: Sam Wu <sjwu@ualberta.ca> Co-authored-by: kiritigowda <kiriti.nageshgowda@amd.com> Co-authored-by: Sam Wu <sam.wu2@amd.com>
This commit is contained in:
@@ -1,9 +1,21 @@
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
|
||||
|
||||
<p align="center"><img width="70%" src="docs/data/AMD_rocDecode_Logo.png" /></p>
|
||||
|
||||
rocDecode is a high-performance video decode SDK for AMD GPUs. rocDecode API lets developers access the video decoding features available on the GPU.
|
||||
rocDecode is a high-performance video decode SDK for AMD GPUs. Using the rocDecode API, you can
|
||||
access the video decoding features available on your GPU.
|
||||
|
||||
## Tested configurations
|
||||
|
||||
* Linux
|
||||
* Ubuntu - `20.04` / `22.04`
|
||||
* RHEL - `8` / `9`
|
||||
* SLES - `15-SP4`
|
||||
* ROCm:
|
||||
* rocm-core - `6.1.0.60100-28`
|
||||
* amdgpu-core - `1:6.1.60100-1731559`
|
||||
* FFmpeg - `4.2.7` / `4.4.2-0`
|
||||
* rocDecode Setup Script - `V1.4`
|
||||
|
||||
## Supported codecs
|
||||
|
||||
@@ -12,92 +24,94 @@ rocDecode is a high-performance video decode SDK for AMD GPUs. rocDecode API let
|
||||
## Prerequisites
|
||||
|
||||
* Linux distribution
|
||||
* Ubuntu - `20.04` / `22.04`
|
||||
* RHEL - `8` / `9`
|
||||
* SLES - `15-SP4`
|
||||
* Ubuntu - `20.04` / `22.04`
|
||||
* RHEL - `8` / `9`
|
||||
* SLES - `15-SP4`
|
||||
|
||||
* [ROCm supported hardware](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html)
|
||||
* **NOTE:** `gfx908` or higher required
|
||||
* [ROCm-supported hardware](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) (`gfx908` or higher required)
|
||||
|
||||
* Install ROCm `6.1.0` or later with [amdgpu-install](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/amdgpu-install.html) with `--usecase=multimediasdk,rocm --no-32`
|
||||
* **NOTE:** To install rocdecode with minimum requirements follow instructions [here](https://github.com/ROCm/rocDecode/wiki#how-can-i-install-rocdecode-runtime-with-minimum-requirements)
|
||||
|
||||
### To build from source
|
||||
* Install ROCm `6.1.0` or later with
|
||||
[amdgpu-install](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/amdgpu-install.html)
|
||||
* Run: `--usecase=multimediasdk,rocm --no-32`
|
||||
* To install rocDecode with minimum requirements, follow the
|
||||
[quick-start](./docs/install/quick-start.rst) instructions
|
||||
|
||||
* CMake `3.5` or later
|
||||
|
||||
```shell
|
||||
sudo apt install cmake
|
||||
```
|
||||
```shell
|
||||
sudo apt install cmake
|
||||
```
|
||||
|
||||
* [pkg-config](https://en.wikipedia.org/wiki/Pkg-config)
|
||||
|
||||
```shell
|
||||
sudo apt install pkg-config
|
||||
```
|
||||
```shell
|
||||
sudo apt install pkg-config
|
||||
```
|
||||
|
||||
* [FFMPEG](https://ffmpeg.org/about.html) runtime and headers - for tests and samples
|
||||
* [FFmpeg](https://ffmpeg.org/about.html) runtime and headers - for tests and samples
|
||||
|
||||
```shell
|
||||
sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev
|
||||
```
|
||||
```shell
|
||||
sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev
|
||||
```
|
||||
|
||||
**NOTE:**
|
||||
* If using Ubuntu 22.04, you must install `libstdc++-12-dev`
|
||||
|
||||
* All package installs are shown with the `apt` package manager, use the appropriate package manager depending on the OS.
|
||||
```shell
|
||||
sudo apt install libstdc++-12-dev
|
||||
```
|
||||
|
||||
* Ubuntu 22.04 - Install `libstdc++-12-dev`
|
||||
>[!NOTE]
|
||||
> All package installs are shown with the `apt` package manager. Use the appropriate package
|
||||
> manager for your operating system.
|
||||
|
||||
```shell
|
||||
sudo apt install libstdc++-12-dev
|
||||
```
|
||||
### Prerequisites setup script
|
||||
|
||||
#### Prerequisites setup script for Linux
|
||||
|
||||
For the convenience of the developer, we provide the setup script [rocDecode-setup.py](rocDecode-setup.py) which will install all the dependencies required by this project.
|
||||
|
||||
**Usage:**
|
||||
For your convenience, we provide the setup script,
|
||||
[rocDecode-setup.py](https://github.com/ROCm/rocDecode/blob/develop/rocDecode-setup.py),
|
||||
which installs all required dependencies. Run this script only once.
|
||||
|
||||
```shell
|
||||
python rocDecode-setup.py --rocm_path [ ROCm Installation Path - optional (default:/opt/rocm)]
|
||||
--developer [ Setup Developer Options - optional (default:ON) [options:ON/OFF]]
|
||||
```
|
||||
|
||||
**NOTE:** This script only needs to be executed once.
|
||||
## Installation instructions
|
||||
|
||||
## Build and install instructions
|
||||
To install rocDecode, you can use [Package install](#package-install) or [Source install](#source-install).
|
||||
|
||||
### Package install
|
||||
|
||||
Install rocDecode runtime, development, and test packages.
|
||||
To install rocDecode runtime, development, and test packages, run the line of code for your operating
|
||||
system.
|
||||
|
||||
* Ubuntu
|
||||
|
||||
```shell
|
||||
sudo apt install rocdecode rocdecode-dev rocdecode-test
|
||||
```
|
||||
|
||||
* RHEL
|
||||
|
||||
```shell
|
||||
sudo yum install rocdecode rocdecode-devel rocdecode-test
|
||||
```
|
||||
|
||||
* SLES
|
||||
|
||||
```shell
|
||||
sudo zypper install rocdecode rocdecode-devel rocdecode-test
|
||||
```
|
||||
|
||||
>[!NOTE]
|
||||
> Package install auto installs all dependencies.
|
||||
|
||||
* Runtime package - `rocdecode` only provides the rocdecode library `librocdecode.so`
|
||||
* Development package - `rocdecode-dev`/`rocdecode-devel` provides the library, header files, and samples
|
||||
* Test package - `rocdecode-test` provides ctest to verify installation
|
||||
* Test package - `rocdecode-test` provides CTest to verify installation
|
||||
|
||||
**NOTE:** Package install will auto install all dependencies.
|
||||
### Source install
|
||||
|
||||
#### Ubuntu
|
||||
|
||||
```shell
|
||||
sudo apt install rocdecode rocdecode-dev rocdecode-test
|
||||
```
|
||||
|
||||
#### RHEL
|
||||
|
||||
```shell
|
||||
sudo yum install rocdecode rocdecode-devel rocdecode-test
|
||||
```
|
||||
|
||||
#### SLES
|
||||
|
||||
```shell
|
||||
sudo zypper install rocdecode rocdecode-devel rocdecode-test
|
||||
```
|
||||
|
||||
**NOTE:** `RHEL`/`SLES` package install requires manual `FFMPEG V4.X` dev install
|
||||
|
||||
### Source build and install
|
||||
To build rocDecode from source, run:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/ROCm/rocDecode.git
|
||||
@@ -108,75 +122,75 @@ make -j8
|
||||
sudo make install
|
||||
```
|
||||
|
||||
* run tests - Requires `FFMPEG` dev install
|
||||
Run tests (this requires FFmpeg dev install):
|
||||
|
||||
```shell
|
||||
make test
|
||||
```
|
||||
|
||||
**NOTE:** run tests with verbose option `make test ARGS="-VV"`
|
||||
To run tests with verbose option, use `make test ARGS="-VV"`.
|
||||
|
||||
Make package:
|
||||
|
||||
* make package
|
||||
|
||||
```shell
|
||||
sudo make package
|
||||
```
|
||||
|
||||
## Verify installation
|
||||
|
||||
The installer will copy
|
||||
The installer copies:
|
||||
|
||||
* Libraries into `/opt/rocm/lib`
|
||||
* Header files into `/opt/rocm/include/rocdecode`
|
||||
* Samples folder into `/opt/rocm/share/rocdecode`
|
||||
* Documents folder into `/opt/rocm/share/doc/rocdecode`
|
||||
|
||||
**NOTE:** FFMPEG dev install required to run samples and tests
|
||||
* To verify your installation using a sample application, run:
|
||||
|
||||
### Verify with sample application
|
||||
```shell
|
||||
mkdir rocdecode-sample && cd rocdecode-sample
|
||||
cmake /opt/rocm/share/rocdecode/samples/videoDecode/
|
||||
make -j8
|
||||
./videodecode -i /opt/rocm/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4
|
||||
```
|
||||
|
||||
```shell
|
||||
mkdir rocdecode-sample && cd rocdecode-sample
|
||||
cmake /opt/rocm/share/rocdecode/samples/videoDecode/
|
||||
make -j8
|
||||
./videodecode -i /opt/rocm/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4
|
||||
```
|
||||
* To verify your installation using the `rocdecode-test` package, run:
|
||||
|
||||
### Verify with rocdecode-test package
|
||||
```shell
|
||||
mkdir rocdecode-test && cd rocdecode-test
|
||||
cmake /opt/rocm/share/rocdecode/test/
|
||||
ctest -VV
|
||||
```
|
||||
|
||||
The test package will install the ctest module to test the rocdecode. Follow the below steps to test the package install
|
||||
|
||||
```shell
|
||||
mkdir rocdecode-test && cd rocdecode-test
|
||||
cmake /opt/rocm/share/rocdecode/test/
|
||||
ctest -VV
|
||||
```
|
||||
This test package installs the CTest module.
|
||||
|
||||
## Samples
|
||||
|
||||
The tool provides a few samples to decode videos [here](samples/). Please refer to the individual folders to build and run the samples.
|
||||
You can access samples to decode your videos in our
|
||||
[GitHub repository](https://github.com/ROCm/rocDecode/tree/develop/samples). Refer to the
|
||||
individual folders to build and run the samples.
|
||||
|
||||
### Sample prerequisites
|
||||
[FFmpeg](https://ffmpeg.org/about.html) is required for sample applications and `make test`. To install
|
||||
FFmpeg, refer to the instructions listed for your operating system:
|
||||
|
||||
* [FFMPEG](https://ffmpeg.org/about.html) - required to run sample applications & make test
|
||||
|
||||
* On `Ubuntu`
|
||||
* Ubuntu:
|
||||
|
||||
```shell
|
||||
sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev
|
||||
```
|
||||
|
||||
* On `RHEL`/`SLES` - install ffmpeg development packages manually or use `rocDecode-setup.py` script
|
||||
|
||||
* RHEL/SLES:
|
||||
|
||||
Install ffmpeg development packages manually or use `rocDecode-setup.py` script
|
||||
|
||||
## Docker
|
||||
|
||||
Docker files to build rocDecode containers are available [here](docker/)
|
||||
You can find rocDecode Docker containers in our
|
||||
[GitHub repository](https://github.com/ROCm/rocDecode/tree/develop/docker).
|
||||
|
||||
## Documentation
|
||||
|
||||
Run the steps below to build documentation locally.
|
||||
|
||||
* Sphinx
|
||||
Run the following code to build our documentation locally.
|
||||
|
||||
```shell
|
||||
cd docs
|
||||
@@ -184,20 +198,6 @@ pip3 install -r sphinx/requirements.txt
|
||||
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
|
||||
```
|
||||
|
||||
* Doxygen
|
||||
|
||||
```shell
|
||||
doxygen .Doxyfile
|
||||
```
|
||||
|
||||
## Tested configurations
|
||||
|
||||
* Linux distribution
|
||||
* Ubuntu - `20.04` / `22.04`
|
||||
* RHEL - `8` / `9`
|
||||
* SLES - `15-SP4`
|
||||
* ROCm:
|
||||
* rocm-core - `6.1.0.60100-1137`
|
||||
* amdgpu-core - `1:6.1.60100-1709965`
|
||||
* FFMPEG - `4.2.7` / `4.4.2-0`
|
||||
* rocDecode Setup Script - `V1.4`
|
||||
For more information on documentation builds, refer to the
|
||||
[Building documentation](https://rocm.docs.amd.com/en/latest/contribute/building.html)
|
||||
page.
|
||||
|
||||
Reference in New Issue
Block a user