c1c9e06e7e
* 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>
[ROCm/rocdecode commit: 8a10f8be18]
46 baris
2.0 KiB
ReStructuredText
46 baris
2.0 KiB
ReStructuredText
.. meta::
|
|
:description: Video decoding pipeline
|
|
:keywords: video decoder, video decoding, rocDecode, AMD, ROCm
|
|
|
|
********************************************************************
|
|
Video decoding pipeline
|
|
********************************************************************
|
|
|
|
.. image:: ../data/VideoDecoderPipelinetest.png
|
|
:alt: Video decoder pipeline test
|
|
|
|
There are three main components in rocDecode:
|
|
|
|
* Demuxer: Our demuxer is based on FFmpeg, a leading multimedia framework. For more information,
|
|
refer to the `FFmpeg website <https://ffmpeg.org/about.html>`_.
|
|
* Video parser APIs
|
|
* Video decoder APIs
|
|
|
|
rocDecode follows this workflow:
|
|
|
|
1. The demuxer extracts a segment of video data and sends it to the video parser.
|
|
2. The video parser extracts crucial information, such as picture and slice parameters, and sends it to
|
|
the decoder APIs.
|
|
3. The hardware receives the picture and slice parameters, then decodes a frame using Video
|
|
Acceleration API (VA-API).
|
|
4. This process repeats in a loop until all frames have been decoded.
|
|
|
|
Steps in decoding video content for applications (available in the rocDecode Toolkit):
|
|
|
|
1. Demultiplex the content into elementary stream packets (FFmpeg)
|
|
2. Parse the demultiplexed packets into video frames for the decoder provided by rocDecode API.
|
|
3. Decode compressed video frames into YUV frames using rocDecode API.
|
|
4. Wait for the decoding to finish.
|
|
5. Get the decoded YUV frame from amd-gpu context to HIP (using VAAPI-HIP interoperability under
|
|
ROCm).
|
|
6. Run HIP kernels in the mapped YUV frame. For example, format conversion, scaling, object detection,
|
|
classification, and others.
|
|
7. Release the decoded frame.
|
|
|
|
.. note::
|
|
YUV is a color space that represents images using luminance (Y) for brightness and two chrominance
|
|
components (U and V) for color information.
|
|
|
|
The preceding steps are demonstrated in the sample applications located in our
|
|
`GitHub repository <https://github.com/ROCm/rocDecode/tree/develop/samples>`_ directory.
|