Files
rocm-systems/projects/rocdecode/samples/videoDecodeMultiFiles/README.md
T
Lakshmi Kumar 47ff590d98 Multi Files Sample - Add reconfigure option (#118)
* Add support for rocDecReconfigureDecoder API

* adrress reviewer's comemnts

* add reconfigure to multifile

* update readme

* Update videodecodemultifiles.cpp

* Update README.md

---------

Co-authored-by: Aryan <aryan.salmanpour@amd.com>

[ROCm/rocdecode commit: 4de634cfd0]
2023-12-06 10:32:39 -05:00

54 lines
1.6 KiB
Markdown

# Video Decode Multi Files Sample
This sample illustrates the FFMPEG demuxer to get the individual frames which are then decoded on AMD hardware using rocDecode library.
This sample takes multiple files as a list and decodes each of them one after the other.
## Prerequisites:
* Linux distribution
+ Ubuntu - `20.04` / `22.04`
* [ROCm supported hardware](https://rocm.docs.amd.com/en/latest/release/gpu_os_support.html)
* Install [ROCm 5.5 or later](https://rocmdocs.amd.com/en/latest/deploy/linux/installer/install.html) with `--usecase=graphics,rocm --no-32`
* rocDecode
* CMake `3.5` or later
* [FFMPEG](https://ffmpeg.org/about.html)
```
sudo apt install ffmpeg
```
## Build
```
mkdir build
cd build
cmake ../
make -j
```
# Run
* Example input file list - example.txt
```
infile input1.[mp4/mov...] [required]
outfile output1.yuv [optional]
z 0 [optional]
sei 0 [optional]
crop l,t,r,b [optional]
m 0 [optional] [0 : OUT_SURFACE_MEM_DEV_INTERNAL/ 1 : OUT_SURFACE_MEM_DEV_COPIED/ 2 : OUT_SURFACE_MEM_HOST_COPIED]
infile input2.[mp4/mov...] [optional]
outfile output2.yuv [optional]
...
...
```
```
./videodecodemultifiles -i <input file list[required - example.txt]>
-d <GPU device ID - 0:device 0 / 1:device 1/ ... [optional - default:0]>
-use_reconfigure <flag (bool - 0/1) [optional - default: 1] set 0 to disable reconfigure api for decoding multiple files. Only resolution changes between files are supported when reconfigure is enabled.
The codec, bit_depth, and the chroma_format must be the same between files.>
```