Граф коммитов

138 Коммитов

Автор SHA1 Сообщение Дата
Aryan Salmanpour bf4922060d Utils - Remove the call to rocDecGetDecodeStatus after rocDecGetVideoFrame (#600)
* Utils - Remove the call to rocDecGetDecodeStatus after rocDecGetVideoFrame

* Remove other occurrences of rocDecGetDecodeStatus that are not necessary

* Update the description of the rocDecGetDecodeStatus and rocDecGetVideoFrame APIs

* Add missing including thread in avcodec_videodecoder.h for fixing the Azure build issue
2025-06-11 11:44:20 -04:00
Rajy Rawther 3ddb12f075 FFMpeg decoder rocdecode integration (#583)
* initial commit

* initial implementation for host based decoder

* minor change

* cmake changes and added new sample

* rocdecDecode sample implementation

* rocdecode sample changes working

* working version of avcodec decoder and sample

* Add end of stream handling for repeated decoding with reconfigure

* reorg files and added changelog

* update readme

* revert file

* remove unused class members

* addressed reviw comment for changelog

* fix sample to work on more video files

* resolved review comments

* bumped version to 0.14.0

* fixed build warnings

* addressed review comments

* addressed review comments

* addressed review comments

* fixed readme to match .cpp file options for parameters

* updated review comments, readme, and added test data for the sample

* fixed bug for saving frame for 10 bit videos

* addressed review comments

* addressed all the new review comments
2025-06-07 13:12:57 -04:00
Lakshmi Kumar 94356320b1 update readme (#595) 2025-06-02 09:54:18 -04:00
Aryan Salmanpour fedcf37b2f VideoDecodeRGB sample - Fix CMake configuration warning (#586) 2025-05-13 16:09:19 -04:00
Aryan Salmanpour cf85e6c46c VideoDecodePerf sample: use a display delay of 1 by default (#578) 2025-05-01 16:03:38 -04:00
Kiriti Gowda 5eab03d198 CMakeLists - Set Std updates & Jenkins CodeCov (#546)
* CMakeLists - Set Std updates

* Jenkins - Code coverage

* Jenkins - Fix and cleanup

* Jenkins - Fix

* Jenkins - Fix

* Jenkins - Fix

* Jenkins - Fix

* Use amdclang compiler

* Remove slash in front of quote

* Jenkins - Fix

* Jenkins - Fix location

* Jenkins - Fix perf export

* Jenkins - .so fix

* Jenkins - lcov

* Install fix

* Use repo token for codecov

* Pass in sha to codecov

* Use clang19 for ubu24

* Use default clang

* CMakeLists - Set Std updates

* Jenkins - Code coverage

* Jenkins - Fix and cleanup

* Jenkins - Fix

* Jenkins - Fix

* Jenkins - Fix

* Jenkins - Fix

* Use amdclang compiler

* Remove slash in front of quote

* Jenkins - Fix

* Jenkins - Fix location

* Jenkins - Fix perf export

* Jenkins - .so fix

* Jenkins - lcov

* Install fix

* Use repo token for codecov

* Pass in sha to codecov

* Use clang19 for ubu24

* Use default clang

* Set proxy for codecov uploader

Needed for gfx90a

---------

Co-authored-by: Sam Wu <22262939+samjwu@users.noreply.github.com>
2025-03-31 21:31:23 -07:00
jeffqjiangNew 34cdd7f709 Picture file sample: Bug fix. (#533)
* * rocDecode/Picture file sample: Fixed a bug that can result in incorrect output frame count when reconfiguration occurs and with more than one iterations.

* * rocDecode: Updated change log.
2025-03-18 15:17:52 -04:00
Kiriti Gowda 6b026af151 CMake config - updates and fixes (#532)
* CMake Config - updates and fixes

* Version - Updates

* Changelog - updates

* Update CHANGELOG.md

Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>

---------

Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>
2025-03-17 12:38:01 -04:00
Aryan Salmanpour 9e0600a2d0 [Samples] - fix the issue of out-of-order processing in the videoDecodeRGB sample (#518)
* [Samples] - fix the issue of out-of-order processing in the videoDecodeRGB sample

* Add a comment

* Add hipStreamSyncronize
2025-02-27 08:25:01 -05:00
Lakshmi Kumar ad0bec2f14 Check ROCm targets (#513)
* rocm version check for targets

* check rocm targets for gfx
2025-02-25 14:52:17 -05:00
Lakshmi Kumar e9f9aa9f58 Bug fix - videoToSequence sample (#514)
* rocm version check for targets

* fix sample

* cmake merge with develop

* address reciew comments

* comment update
2025-02-19 17:19:49 -05:00
jeffqjiangNew 1f53dedd4a Optimization: Reduced decode session start latency for certain output surface memory types. (#512)
* *rocDecode/Optimization: Reduced decode session start latency for certain output surface memory types.

* * rocDecode/Optimization: Video decode RGB sample creates itsown HIP
  stream.

* * rocDecode/Optimization: Created separate HIP stream in each thread in
  video decode RGB sample.

* * rocDecode/Optimization: Addressed the lower FPS report in RGB sample:
  move HIP stream creation out of FPS calculation scope.

* * rocDecode/Optimize: Removed comments.
2025-02-18 13:09:16 -05:00
Rajy Rawther c4fe8f5258 rename some macros so it doesn't clash with others (#510)
* rename macros so not to clash with others

* modified macro in all samples
2025-02-18 08:40:58 -05:00
Lakshmi Kumar 5e806d5465 gfx update (#505)
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
2025-02-11 09:07:34 -05:00
jeffqjiangNew 3b7e566095 Sample: Added a new sample app: videodecodepicfiles. (#498)
* * rocDecode/sample: Added a new sample app, videodecodepicfiles, which reads individual picture data from a group of files with each file containing bitstream of a coded picture.

* * rocDecode/Pic files sample: Minor change in title.

* * rocDecode/Pic files sample: Minor changes in comments.

* * rocDecode/Pic files sample: Removed the commented code.

* * rocDecode/Pic files sample: Changes in change log based on review comments.

---------

Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
2025-02-04 12:57:01 -05:00
Aryan Salmanpour 99fa534eb9 Fix a seg fault for videoDecodeRGB app in multi-GPU systems (#494) 2025-01-21 17:07:40 -05:00
Aryan Salmanpour 760f7f7200 Update samples (#491) 2025-01-13 14:31:46 -05:00
Aryan Salmanpour 3624040ce7 Update Copyright year to 2025 (#486)
* Update Copyright year to 2025

* update year to 2025
2025-01-05 16:25:39 -05:00
Kiriti Gowda 913b6728f0 CMakeLists - Updates and cleanup (#483)
* CMakeLists - Updates and cleanup

* CTest - CXX Compiler Updates

* Package - Remove FFMPEG exe deps

* CMakeLists - Updates and cleanup

* CTest - CXX Compiler Updates

* Package - Remove FFMPEG exe deps

* FFMPEG - Updates
2025-01-02 09:42:31 -05:00
jeffqjiangNew 597b29a7c9 CTest updates. (#473)
* * rocDecode: Core test updates.
 - Added VP9 test.
 - Added tests for video decode raw sample.
 - Changed test video streams to raw elementary or IVF formats.

* * rocDecode/CTest: Added back mp4 files.

* * rocDecode/CTest: Minor changes based on review comments.

* * rocDecode/CTest: Added stream file installation.

* * rocDecode/CTest: Changed the file back to mp4.

* Add support for VP9 handling in the videoDecodeBatch sample

* add linking with threads for videodecode app

---------

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
2024-12-06 14:46:30 -05:00
Aryan Salmanpour 679d2fd1f2 Fix a CMakeLists bug for videoDecodeRaw test (#470) 2024-12-05 10:56:52 -05:00
jeffqjiangNew e62aa3e09b Added the bit stream reader feature. (#433)
* * rocDecode/ES parser: Added elementary stream file parser for HEVC and AVC.

* * rocDecode/ES parser: Added elementary stream file parser for AV1. Also cleaned up the bitstream ring buffer code.

* * rocDecode/ES parser: Added the IVF container file parser for AV1. Also fixed a bug in fill ring buffer function.

* * rocDecode/ES file parder: Added supported stream type detection.
 - The stream type detection checks the unique syntax patterns of the stream type and calculate the likeliheed score. Based on the score, the most likely type is determined.
 - The current supported stream types are: AVC/HEVC/AV1 elementary streams, IVF AV1 streams.

* * rocDecode/ES file parser: Fixed an AVC decode regression due to a copy and paste error.

* * rocDecode/ES file parser: Added bit depth parsing for codec support check; Added stronger AV1 detection for IVF AV1 stream type.

* * rocDecode/ES file parser: Removed debugging logs.

* * rocDecode/ES file parser: Added exmaple code to use the built-in file parser.

* * rocDecode/Bitstream reader: Renamed the elementary parser feature to bitstream reader and re-organized the code.
 - Moved the bitstream reader code to rocDecode core lib from utility.
 - Added bitstream reader interface in parallel with rocDecode parser and decoder interfaces.

* * rocDecode/Bitstream reader: Added sample to use bitstream reader, instead of FFMPEG demuxer, to get picture data. Also reverted the original sample app back to using FFMPEG demuxer only.

* * rocDecode/Bitstream reader: Renamed the new sample app.

* * rocDecode/Bitstream reader: FFMPEG dependency reduction.
 - Moved MD5 functions out of RocVideoDecoder utility class. This removed RocVideoDecoder's dependency on FFMPEG.
 - Added the new MD5 utility, which depends on FFMPEG lib. MD5 message digest generation is now performed in the MD5 utility.
 - Modified decode sampples that uses MD5 generation function.
 - Removed FFMPEG dependency from video decoder basic sample.

* * rocDecode/Bitstream reader: Added option to use bitstream reader to video decode sample and conformance test script. Added the missing destroy bitstream reader call in video decode basic sample.

* * rocDecode/Bitstream reader: Minor format change. No functional changes.

* * rocDecode/Bitstream reader: Added handling of unsupported stream file type by the bitstream reader to decode sample apps.

* * rocDecode/Bitstream reader: Fixed build errors of several samples.

* * rocDecode/Bitstream reader: Added changes based on review comments.

* * rocDecode/Bitstream reader: File name changes based on review comments.

* * rocDecode/Bitstream reader: Moved MD5 code into single header file. Added changes based on review comments.

* * rocDecode/Bitstream reader: Removed redundant path.

* * rocDecode/Bitstream reader: Changed rocDecode version to 0.10.0. Added minor changes based on review comments.

---------

Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
2024-12-05 09:46:24 -05:00
Rajy Rawther 52eb62fabf ffmpeg software decoder implementation (#461)
* WIP: ffmpeg based software decoder

* minor update

* WIP: FFMpeg SW decoder support

* FFMpeg decoder working version

* working version without threading

* multithreading working with FFMpeg decoder

* moved ffmpeg decoder to separate folder

* updated changelog

* minor change

* resolved review comments

* resolved review comments

---------

Co-authored-by: Lakshmi Kumar <lakshmi.kumar@amd.com>
2024-12-04 14:11:02 -05:00
Kiriti Gowda 924d19eb65 Samples & Test - Compiler Updates (#468)
* Compiler - set CXX Compiler if not set

* CXX Compiler - Set CXX compiler in CTest

* Test - Ctest cleanup

* Samples - Update CXX Compiler option
2024-12-03 16:03:26 -05:00
Kiriti Gowda 4f10c3893b Revert "Compiler - set CXX Compiler if not set (#466)" (#467)
This reverts commit 7a6073103a.
2024-12-02 13:47:49 -08:00
Kiriti Gowda 7a6073103a Compiler - set CXX Compiler if not set (#466) 2024-12-02 13:02:09 -08:00
Lakshmi Kumar 3da7e20b86 bug fix for batch sample (#456) 2024-11-18 15:45:56 -05:00
Kiriti Gowda 6339767b4c SLES - Updates (#454)
* SLES - Updates

* Updates

* Cleanup

* Update CHANGELOG.md

Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>

* CXX Compiler - Use AMD Clang++

* Docs - Updates

* ROCm Version - Upgraded to 6.3.0

* Readme - cleanup

* Readme - minor updates

* Readme - Fix note

---------

Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>
2024-11-15 15:35:53 -05:00
Kiriti Gowda 69eb625d2d GPU Arch Updates (#448) 2024-11-06 20:37:07 -05:00
Lakshmi Kumar cb7b2c7f2f set disp_delay to 1 for all samples (#446) 2024-11-06 14:45:34 -05:00
Aryan Salmanpour 81e341b786 VideoDecode samples - Set the default display_delay to 1 (#441) 2024-10-25 14:20:33 -04:00
Aryan Salmanpour b2149abcef Revert "Allow overriding CMAKE_CXX_COMPILER (#436)" (#440)
This reverts commit 07ecb5e7d6.
2024-10-24 13:28:50 -04:00
Jeremy Newton 07ecb5e7d6 Allow overriding CMAKE_CXX_COMPILER (#436)
Using set as-is doesn't allow the user to set their own rocm path.
This is useful for community packagers or debugging.

Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
2024-10-24 11:36:14 -04:00
Kiriti Gowda befc6f6562 Find rocDecode - Support added (#428)
* Find rocDecode - Support added

* Find rocDecode - Updates

* Find rocDecode - Version fix

* Find rocDecode - Version Var

* Minor cleanup

* Test - Find package updates

* CTest - Upgrades

* CTest - Enhancements

---------

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
2024-10-02 17:35:56 -04:00
Lakshmi Kumar 4e4a18d280 change clang++ path as suggested by packaging team (#427) 2024-10-01 08:35:45 -04:00
jeffqjiangNew 7ef4e29262 * rocDecode/Perf: Improved the accuracy of decode performance measurement for the performance sample. We need to wait for the decode completion of the last picture before sampling the end time. (#425) 2024-09-25 21:27:49 -04:00
Aryan Salmanpour 0ba9992247 Modify the videoDecodePerf app to take an argument for memory type (#424) 2024-09-24 19:06:50 -04:00
Kiriti Gowda eb5f2da4ae Support GFX12 (#423) 2024-09-17 10:47:17 -04:00
jeffqjiangNew 14f4c6973a Simplified MD5 string compare code and fixed potential incorrect conversion of MD5 string to integers. (#414)
* * rocDecode: Fixed potential incorrect conversion of MD5 string to integers.

* * rocDecode: Changed a string name.

* * rocDecode: Simplified the MD5 string compare code.

* * rocDecode: Added minor changed based on review comments.

* * rocDecode: Minor changes.

* * rocDecode/Sample script: Added units to Bit rate field in csv output.
2024-09-16 15:27:10 -04:00
jeffqjiangNew 6253248188 Added real decode speed report to set it apart from the current output speed report in sample apps (#409)
* * rocDecode: Added real decode speed report.
 - The current decode speed report is actually output/display speed report.
 - Due to AV1's extensive use of alternate reference frames that are not display, AV1 decoded frame count and output/displayed frame count can be quite different, making the current speed report not an accurate decode speed measurement.
 - We now added the actual decode speed report, besides the existing speed report, now called output/display FPS.

* * rocDecode: Added real decode speed report.
 - The current decode speed report is actually output/display speed report.
 - Due to AV1's extensive use of alternate reference frames that are not display, AV1 decoded frame count and output/displayed frame count can be quite different, making the current speed report not an accurate decode speed measurement.
 - We now added the actual decode speed report, besides the existing speed report, now called output/display FPS.

* * rocDecode/Sample script: Added missing changes for sample_mode 0 case.
2024-08-20 17:43:33 -04:00
Kiriti Gowda 1ac853e441 CTest Updates - Fix duplicates (#408)
* Test - Fix CTest

* CMakeLists - Clang Set

* Ctest - support

* Readme - Fix and updates

* Readme - minor fix

* Readme - MS template

* Install - Minor instructiion fix

* Clang - Added as default CXX compiler

* Update CHANGELOG.md

Remove unreleased
2024-08-14 17:28:52 -04:00
jeffqjiangNew c486a7f6b4 Perf sample: Added decoded frame number and display delay options to video decode performance sample. (#405)
* * rocDecode/Perf sample: Added decoded frame number and display delay options to video decode performance sample. Also changed default thread number from 4 to 1.

* * rocDecode: Added max number of decoded frames option to decode sample script. This is useful to do partial decoding test on long streams.

* * rocDecode: Updated README.md.

* * rocDecode: Minor correction.
2024-08-12 09:39:43 -04:00
Kiriti Gowda 27d3d74f1d Samples: Video batch decode - FFMPEG Multiversion support (#402) 2024-07-30 14:31:51 -07:00
Lakshmi Kumar e3b3fe9e8e Test Upgrades (#395)
* adds av1 to ctest

* add av1 support for batch sample

* add test to make test also

* path update for make test

* add function for codec support check

* add changes to batch sample

* addressign review comment

* modify all apps to check codec support
2024-07-26 17:09:58 -04:00
Rajy Rawther 84c1dc9d03 Rr/video dec mem sample update (#390)
* remove hardcoded buffer size requirement

* minor change
2024-07-22 08:48:29 -04:00
Rajy Rawther fe5f63428c VideoToSequence sample (#373)
* videoToSequence sample initial commit

* add frame_num calculation when seeking

* update README

* addressed review comments

* added FlushAndReconfigure() to flush out frames with seek
2024-07-22 08:42:58 -04:00
Kiriti Gowda 2014c55f11 CMakeLists - Use -D AMDGPU_TARGETS (#379)
* Sample - Updates

* CMakeList - Accept -D AMDGPU_TARGET
2024-07-09 11:03:24 -04:00
Pavel Tcherniaev 1b9dd60837 Fixed bug with videoDecodeBatch (#375)
* fixed bug with videoDecodeBatch

* changed if statement to check n_frame_returned
2024-07-09 10:59:41 -04:00
Lakshmi Kumar 48b56de77a Add session overhead functions & modify perf app (#366)
* add session overhead funcitons & modify perf app

* remove class:: for function calls

* add session overhead funcitons & modify perf app

* remove class:: for function calls

* review comments

* fix comments

* duration to double

* update perf sample for thread_id for overhead

* remove debug statements

* revoew comments

* return value chnage to double

* remove session ID functions

* check session id validity
2024-06-11 10:38:19 -04:00
jeffqjiangNew 61c8661b9c rocDecode: Added decode buffer pool implementation for AVC and HEVC. (#355)
* * rocDecode: Initial check in for decode buffer pool.

* * rocDecode: All 135 streams pass.

* * rocDecode: Fixed a build error in debug mode.

* * rocDecode/HEVC: Removed two workaround in HEVC DPB management, after decode buffer pool implementa
tion.
 - WR 1: Conditional bumping (when max_num_reorder_pics > 0) to avoid synchronous job submission in
C.5.2.3.
 - WR 2: Add two more buffers in DPB to avoid buffer over-writing.

* * rocDecode/HEVC: Added display delay feature.

* * rocDecode/HEVC: Fixed the -z option issue within the context of the new decode buffer pool implementation.

* * rocDecode/HEVC: Removed redundent code.

* * rocDecode/AVC: Added decode buffer pool implementation for AVC.

* * rocDecode: Added a few changes.
 - Added display delay feature to AVC.
 - Removed a workaround for AVC: AVC_MAX_DPB_FRAMES was increased to 18. Now it is back to 16.
 - Removed a workaround for AVC: increased DPB buffer size by 2. Now it is back to normal.
 - Code format changes for HEVC.

* * rocDecode/AVC: Fixed the -z option issue within the context of the new decode buffer pool implementation.

* * rocDecode: Merged OutputDecodedPictures() method to upper class RocVideoParser.

* * rocDecode: Code cleanup. No functional changes.

* * rocDecode: Made decode buffer pool size adaptive.
 - Removed the hard coded decode buffer pool size set in the decoder.
 - Exposed the display delay parameter from RocVideoDecoder class to the user.
 - Now the decoder buffer pool size is determined from the DPB buffer size and display delay parameter.

* * rocDecode: Several changes based on code review.
 - Merged decode and display use status into one parameter.
 - Removed the surface index from DecodeFrameBuffer, which is now implicitly referred by the array index.
 - Changed a function name for better clarity.

* * rocDecode: Added a comment.
2024-05-31 13:14:02 -04:00