8a10f8be18
* 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>
46 строки
2.0 KiB
ReStructuredText
46 строки
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.
|