From 83b076fa1d894bf8a90b06ae100af4efa8b89dc7 Mon Sep 17 00:00:00 2001 From: Kiriti Gowda Date: Fri, 12 Jan 2024 12:35:53 -0800 Subject: [PATCH] Readme - updates & Fixes (#172) * Readme - updates & fixes * Readme - Logo * Readme - prereqs updates --- README.md | 73 +++++++++++++++++++++---------- docs/data/AMD_rocDecode_Logo.png | Bin 0 -> 49843 bytes 2 files changed, 51 insertions(+), 22 deletions(-) create mode 100644 docs/data/AMD_rocDecode_Logo.png diff --git a/README.md b/README.md index 1e85e23ad8..1c88e127fd 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ -# rocDecode +[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) + +

rocDecode is a high performance video decode SDK for AMD GPUs. rocDecode API lets developers access the video decoding features available on the GPU. -## Supported Codecs +## Supported codecs * H.265 (HEVC) - 8 bit, and 10 bit @@ -13,27 +15,35 @@ rocDecode is a high performance video decode SDK for AMD GPUs. rocDecode API let + RHEL - `8` / `9` + SLES - `15-SP4` -* [ROCm supported hardware](https://rocm.docs.amd.com/en/latest/release/gpu_os_support.html) +* [ROCm supported hardware](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) -### To install package - -* [ROCm 6.1.0 or later](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/native-install/index.html) - Follow below steps from the installation via native package manager on ROCm installation documentation - * Registering repositories - * Register kernel-mode driver - * Register ROCm packages - * Install kernel driver +* 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](https://rocmdocs.amd.com/en/latest/deploy/linux/installer/install.html) with `--usecase=multimediasdk,rocm --no-32` - * CMake `3.5` or later +```shell +sudo apt install cmake +``` -**NOTE:** Ubuntu 22.04 - Install `libstdc++-12-dev` +* [pkg-config](https://en.wikipedia.org/wiki/Pkg-config) +```shell +sudo apt install pkg-config +``` + +* [FFMPEG](https://ffmpeg.org/about.html) runtime and headers - for tests and samples +```shell +sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev +``` + +**NOTE:** +* All package install shown with `apt` package manager, use appropriate package manager depending on the OS. + +* Ubuntu 22.04 - Install `libstdc++-12-dev` ```shell sudo apt install libstdc++-12-dev ``` - #### 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. @@ -44,20 +54,28 @@ For the convenience of the developer, we provide the setup script [rocDecode-set ``` **NOTE:** This script only needs to be executed once. -## Build and Install instructions +## Build and install instructions ### Package install -Install rocDecode runtime, development, and test packages. Runtime package - `rocdecode` only provides the rocdecode library `librocdecode.so`, development package `rocdecode-dev`/`rocdecode-devel` provides the library, header files, and samples. `rocdecode-test` package provides ctest to verify installation. Package install will auto install all dependencies. + +Install rocDecode runtime, development, and test packages. +* 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 +**NOTE:** Package install will auto install all dependencies. * Install packages on `Ubuntu` ```shell sudo apt install rocdecode rocdecode-dev rocdecode-test ``` - -* Install packages on `RHEL` / `SLES` +* Install packages on `RHEL` ```shell sudo yum install rocdecode rocdecode-devel rocdecode-test ``` +* Install packages on `SLES` +```shell +sudo zypper install rocdecode rocdecode-devel rocdecode-test +``` ### Source build and install @@ -83,7 +101,7 @@ sudo make install sudo make package ``` -## Verify Installation +## Verify installation The installer will copy @@ -92,7 +110,9 @@ The installer will copy * Samples folder into `/opt/rocm/share/rocdecode` * Documents folder into `/opt/rocm/share/doc/rocdecode` -Build and run sample +**NOTE:** FFMPEG dev install required to run samples and tests + +### Verify with sample application ```shell mkdir rocdecode-sample && cd rocdecode-sample @@ -100,13 +120,22 @@ cmake /opt/rocm/share/rocdecode/samples/videoDecode/ make -j8 ./videodecode -i /opt/rocm/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 ``` -**NOTE:** FFMPEG dev install required to run samples + +### Verify with rocdecode-test package + +Test package will install ctest module to test rocdecode. Follow below steps to test packge install + +```shell +mkdir rocdecode-test && cd rocdecode-test +cmake /opt/rocm/share/rocdecode/test/ +ctest -VV +``` ## Samples The tool provides a few samples to decode videos [here](samples/). Please refer to the individual folders to build and run the samples. -### Sample Prerequisites +### Sample prerequisites * [FFMPEG](https://ffmpeg.org/about.html) - required to run sample applications & make test diff --git a/docs/data/AMD_rocDecode_Logo.png b/docs/data/AMD_rocDecode_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a5f6ece4964de28c0559604d8c6c2fcf1d4b35e1 GIT binary patch literal 49843 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

JQ@0(i~nN>Fm24Dq46dTS#%Ma9Z( z%+8t)%KvSx3Z0e<5QOkw14<|UM~nq92~kWnv=m|);WoiBetxSdg?c>g;W-^okc-J@ z@eL_M^fNS6k&&2{GaOSf3s~gv?XMu$JXb_=zA)ze_K=jyMWxM$YNJG?AZunT`ZT=w z@OWH%Ix}6tG&pk1{z_K_IaK=8tH?|Nz+5ly^maY6v%VdkL}bD7A<3&Lma5z+>F+WZ4U?Cn$77jl7H>hw z*@ZFgvu~x~lL}dNCOsQ+PTU7#X|^DY1$z`Qzu?v9JD`=ma2|d|H_EvS`U$|WfO&!O zW}t_{hS=wR_{VTMbLr%k8+b$aHXqJR(OV^ZqB0PjR4zseM~W!7qsD}>)Ql2qZO{3! z`(w6ZwNSY6`ON3UA83$s0cy zQ!&3aFRepZppS}l2f|`itXzZUGu&Mror|7}e-;w;nyDsNCnOs#{XUbvF7Q|O9*uS5 zR={OBE==yXGpT~lS!kAxBAjM1=;ECI!%mry0|Odc8fk6JW0YcGu-%#As)7e;o!?4D zl8_Gug)fdX2bn!-$o&cYIvHhyW~5A|VmKSkfByZy*84x_^xv=lIZ*%F;a@xaZ(RHz z7yZ|9{`HH0{o-H0_;1wluQUAX4F7+eA(E5gj5C`3yX!m`@7N{a1Ae5ZUZraH?7sl` CX)Is> literal 0 HcmV?d00001