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

83 Коммитов

Автор SHA1 Сообщение Дата
Kiriti Gowda 7fdf00a682 Sample - Added missing header (#336)
[ROCm/rocdecode commit: e2b9e7197a]
2024-05-02 17:26:11 -04:00
Pavel Tcherniaev a9a75f088d added md5 checksum with changes that Aryan and Rajy requested (#333)
Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>

[ROCm/rocdecode commit: 12fa766973]
2024-05-02 08:49:46 -04:00
Lakshmi Kumar 97be0bb3ca Seek - Bug Fixes + Sample Update (#327)
* adds seek to videodecode and seek bug fixes

* fixes both frames & timestamp with prev_key_frame option

* switch to exact key frame and bug fix

* fix decoded_frame_number from seek

* fix out_frame_duration

* clean up + exact fram fix

[ROCm/rocdecode commit: 2d50d685f7]
2024-05-01 17:03:27 -04:00
Lakshmi Kumar 2fa48d1f1d move getEnvVar function to common (#299)
[ROCm/rocdecode commit: d5b5a31881]
2024-03-26 19:07:13 -04:00
Aryan Salmanpour 805ecd6ee8 Organizing the install location of the rocdecode utils headers (#296)
[ROCm/rocdecode commit: 592195b652]
2024-03-26 12:47:37 -04:00
Lakshmi Kumar 229f9c4616 Sample Bug Fix - Batch sync issue (#289)
* bug fix for new dec creation

* move bit depth change after creating new dec

* codec update for every new dec

* bug fix for new dec creation

* move bit depth change after creating new dec

* codec update for every new dec

* fixes sync issue on MI250X for batch sample

* remove unused variable

[ROCm/rocdecode commit: e4316f009c]
2024-03-20 08:25:00 -04:00
Rajy Rawther 5ac584fad5 rocDecode resize sample implementation (#285)
* WIP: resize kernels

* hipified kernels for scaling from cuda

* updated videodecodeRGB sample for scaling

* added stream parameter to kernels

* add scale kernels using tex2d and NN

* enable tex2D kernels

* add NN resize kernels

* fixed scaling kernels

* fixed tex2D scaling kernel for UV scaling

* minor formatting

* address review comments

---------

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

[ROCm/rocdecode commit: 39e274d02d]
2024-03-18 08:32:19 -04:00
Lakshmi Kumar 4978dac0c0 Bug Fix - Batch sample (#283)
* bug fix for new dec creation

* move bit depth change after creating new dec

* codec update for every new dec

[ROCm/rocdecode commit: cca5f22a9a]
2024-03-12 13:27:34 -04:00
jeffqjiangNew 9e64945bdf Fixed several issues with cropping. (#275)
* * rocDecode: Fixed several issues with cropping.
  - Fixed the pixel start offset error on streams with non-zero top/left cropping in MD5 calculation.
  - Fixed the pixel start offset error on streams with non-zero top/left cropping, and/or with user specified cropping in YUV frame output.
  - Sorted out code which deals with cropping area specifiied by the bitstream, and cropping area specified by the user.

* * rocDecode: Additional changes after discussion.
 - Set display rect for decoder create/reconfig to displayable area or user specified ROI area.
 - Do not set target rect for decoder create/reconfig. Leave it for future use.
 - Unified naming of display rect in decoder create/reconfig structs.

* * rocDecode: Put back the extra rounding to target width/height specifiied by the coded stream, for peace of mind, based on code review.

* * rocDecode: Added the missing stream specified cropping offset to the starting pixel pointer for none-internal memory modes.

---------

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

[ROCm/rocdecode commit: e4614de461]
2024-03-11 22:35:11 -04:00
Lakshmi Kumar 9fedefeb54 README Updates (#282)
* adding new sample for decoding mulitple files on multiple threads

* threads work ; no decoding yet

* working version

* code clean up

* review comments

* removing spaces

* review comments

* fps cal + name changes for files

* code clean up

* update readme

* update readme

* remove spaces

* change to lambda functions

* changes for using reconfig

* adding dumping of yuv frames + review comments

* review comments

* remove extra lines/spaces

* adding struct for decoder info

* make separate decoders for 8 & 10bit

* code clean up

* addign reset for Saving frames

* review comments

* fixes dump issue for new file

* cmake update for threads

* support for avc

* name change for sample

* cmake soource name change

* readme update

* fixing typo in readme

* update REAME

* update readme

---------

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

[ROCm/rocdecode commit: 264e847c5a]
2024-03-08 10:56:51 -05:00
Lakshmi Kumar 9b71383de8 Samples - Multi Threaded Multi FIles (#255)
* adding new sample for decoding mulitple files on multiple threads

* threads work ; no decoding yet

* working version

* code clean up

* review comments

* removing spaces

* review comments

* fps cal + name changes for files

* code clean up

* update readme

* update readme

* remove spaces

* change to lambda functions

* changes for using reconfig

* adding dumping of yuv frames + review comments

* review comments

* remove extra lines/spaces

* adding struct for decoder info

* make separate decoders for 8 & 10bit

* code clean up

* addign reset for Saving frames

* review comments

* fixes dump issue for new file

* cmake update for threads

* support for avc

* name change for sample

* cmake soource name change

* readme update

* fixing typo in readme

---------

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

[ROCm/rocdecode commit: ce3ebadaab]
2024-03-07 20:29:14 -05:00
Kiriti Gowda cabcb78825 FFMPEG - Multi-version support (#270)
* FFMPEG 5.X - Support

* FFMPEG 5.X - Support

* FFMPEG - Multiversion support

* FFMPEG - Support FFMPEG AVCODEC > 58.134.X

[ROCm/rocdecode commit: ca067ae6ec]
2024-03-05 08:34:05 -05:00
Aryan Salmanpour 6f80f7e81c Revert "FFMPEG 5.X - Support (#268)" (#269)
This reverts commit 11abd055ed.

[ROCm/rocdecode commit: 6317b9f22b]
2024-02-28 14:31:07 -05:00
Kiriti Gowda 11abd055ed FFMPEG 5.X - Support (#268)
[ROCm/rocdecode commit: 4f2bf945a9]
2024-02-28 12:37:33 -05:00
jeffqjiangNew c2c567b6f2 * rocDecode: Take care of the case where DecodeFrame() does not return 1 (decoded frame number) so the accumulated decoded frame number does not match the user targeted frame number and the decoding will not stop. (#257)
[ROCm/rocdecode commit: 320c0954a3]
2024-02-23 22:54:29 -05:00
jeffqjiangNew 3501eccf0c * rocDecode: Added a command option to limit the number of decoded frames to a user set value to the video decoder app. (#252)
[ROCm/rocdecode commit: ad31866ee0]
2024-02-16 08:44:03 -05:00
Kiriti Gowda 19697e79a8 VideoDecodeRGB - Failure Fix (#248)
* Sample - ROCM PATH Fix

* Sample - Add missing lib

[ROCm/rocdecode commit: e95129ece2]
2024-02-14 13:03:34 -05:00
Aryan Salmanpour 9467760627 Fix a bug in VideoDecodeRGB for syncing between main and worker threads (#245)
[ROCm/rocdecode commit: ee3829388d]
2024-02-14 12:30:03 -05:00
Aryan Salmanpour bc48060ff0 Fix a segmentation fault on some samples when the memory type is 3 (OUT_SURFACE_MEM_NOT_MAPPED) and attempting to save the output (which is not supported) (#239)
* Fix a segmentation fault on some samples when the memory type is 3 (OUT_SURFACE_MEM_NOT_MAPPED) and attempting to save the output (which is not supported)

* update the videoDecodeMultiFiles sample

* update the readme for videoDecodeMultiFiles

* add comments

* use OUT_SURFACE_MEM_NOT_MAPPED instead of integer number 3

[ROCm/rocdecode commit: 31c7c7c104]
2024-02-12 16:50:17 -05:00
Kiriti Gowda 9b14aee579 Sample - fix path & build types (#237)
[ROCm/rocdecode commit: 1881a5a61e]
2024-02-12 12:13:37 -05:00
Aryan Salmanpour cb9f6a48ae Enable gfx941/gfx942 by default for videoDecodeRGB sample (#236)
[ROCm/rocdecode commit: de5841d249]
2024-02-12 08:35:23 -05:00
Lakshmi Kumar 6443588c8d remove fork example (#232)
[ROCm/rocdecode commit: 072d6fe0e2]
2024-02-09 15:46:48 -05:00
Kiriti Gowda 1b4792c45c Doc - Updates (#231)
[ROCm/rocdecode commit: 5e5c92abb5]
2024-02-09 13:31:44 -05:00
Kiriti Gowda a7e06826ed rocDecode Docs - Updates (#225)
* rocDecode Docs - Updates

* Copy Fix

* Fix create dir

* Online - docs Updates

* Fix indents

* Fix indent

* Create symlink to overview

* Docs - Cleanup

---------

Co-authored-by: Sam Wu <sam.wu2@amd.com>

[ROCm/rocdecode commit: adaa5f76a4]
2024-02-07 18:37:58 -08:00
Pavel Tcherniaev 0ecf54230a fixed syntax error in videodecodefork.cpp, was missing a semicolon at the end of a line (#217)
Co-authored-by: kjayapra-amd <karthik.jayaprakash@amd.com>

[ROCm/rocdecode commit: fa3f21a7df]
2024-02-02 16:46:07 -05:00
Lakshmi Kumar 96b71ddd2c Samples - Clean up and bug fixes (#203)
* clean up samples

* fixes error seen in videoDecodeMem app with big files

[ROCm/rocdecode commit: 43481ce36b]
2024-01-29 12:58:00 -05:00
Kiriti Gowda 97a6f07780 Samples - Updates (#206)
* Samples - Updates

* Readme - samples

[ROCm/rocdecode commit: 6658070d1c]
2024-01-26 10:38:20 -08:00
Kiriti Gowda f517b2ab2d Samples - Docs Updated (#204)
[ROCm/rocdecode commit: 2298d93990]
2024-01-26 05:19:24 -08:00
Rajy Rawther 9afce4a03a fix for hipOutOfMem bug when decoding large videos (#189)
* fix for issue 441908

[ROCm/rocdecode commit: 51ecd8fccf]
2024-01-19 09:46:02 -08:00
Lakshmi Kumar a186a42593 Adding support for reading Environmental variable for samples (#186)
* check if env var set and choose device

* clean up for env var

* app modification

* move getEnvVar function to header

* fork example

* spacing adjust

* review comments

* use hipGetErrorName to throw errors

[ROCm/rocdecode commit: 8ec38d2d24]
2024-01-17 22:57:31 -05:00
Aryan Salmanpour a28ebcb3f2 Remove unsupported GPUs (#175)
[ROCm/rocdecode commit: 3d28911453]
2024-01-15 10:50:34 -08:00
Lakshmi Kumar c7b2172448 fixes bug with device id provided by user (#171)
* fixes bug when setting env variable

* fix for device id

[ROCm/rocdecode commit: e7be5f2bbf]
2024-01-12 14:54:44 -05:00
Lakshmi Kumar d8c4040967 fixes bug when setting env variable (#170)
[ROCm/rocdecode commit: 2a1f1d7dff]
2024-01-12 14:04:47 -05:00
Aryan Salmanpour 8512426f1b Add support for gfx1101 and gfx1102 (#165)
[ROCm/rocdecode commit: 28c00cb354]
2024-01-10 14:17:04 -05:00
jeffqjiangNew 4c9a35a6a8 * rocDecode: Updated Copyright message for 2024. (#160)
[ROCm/rocdecode commit: 04fe74f390]
2024-01-09 20:47:16 -05:00
Aryan Salmanpour 793047edb1 CMakeLists code cleanup - dont link to hip::device if there is nt any hip kernles for compilation (#156)
[ROCm/rocdecode commit: 2f2e66679b]
2024-01-09 11:51:52 -05:00
jeffqjiangNew 8c8904761d Decoder reconfigure fixes. (#157)
* * rocDecode/HEVC: Fixed a couple of issues with reconfiguration of decoder when video size is changed.
  - Picture width and height variables were interchangeably used to represent coded picture size and display size, resulting reconfiguration errors. Now we use different variables to represent coded and display sizes.
  - Fixed a file overwriting issue in video size change case, where the display size can remain the same when coded size changes with specific cropping offsets.

* * rocDecode/HEVC: Added some fixes to decoder reconfiguration.
  - Added support for MD5 calculation in reconfigure flush callback. This fixed MD5 check failure on conformance streams with size changes.
  - Fixed total decoded frame number report with reconfigure when file dump or MD5 is not enabled. We need to call flush with reconfigure unconditionally (but with different actions).
  - Added the missing reconfigure flush when coded size is not changed but display size is changed.

* * rocDecode/HEVC: Corrected an error in GetDecodedWidth() method. Should use coded_width_, instead of disp_width_.

[ROCm/rocdecode commit: ccd813a2da]
2024-01-09 10:51:30 -05:00
Aryan Salmanpour b0ffeffb8f Add multi-threaingd support for videodecodergb sample (#154)
[ROCm/rocdecode commit: c464236bdc]
2024-01-08 15:02:43 -05:00
Aryan Salmanpour af09e155f8 Use a dedicated hip stream for launching hip kernels for color space conversion (#152)
[ROCm/rocdecode commit: dd738aef48]
2024-01-05 12:55:46 -05:00
Rajy Rawther d55324bcf9 Add mechanism to flush last frames during reconfigure (#142)
* add mechanism to flush last frames during reconfigure

* reconfig mode updated support

* addressed review comments

* addressed review comments

* change condition according to review comment

[ROCm/rocdecode commit: a5211189f5]
2023-12-19 08:49:17 -05:00
jeffqjiangNew 7b2035c071 Fixed the random crash associated with undecodable RASL pictures. (#141)
* * rocDecode/HEVC: Fixed the random crash associated with undecodable RASL pictures.
  - When a CRA picutre occurs, all the pictures in the DPB are emptied. However, the following RASL (Random Access Skipped Leading) picture can still reference these emptied pictures, making them undecodeble.
  - We initialized the reference picture lists with (0xFF), representing invalid picture index. Normally these invalid indices are replaced by valid values during RPS decoding. However, on undecodable RASL pictures, we can not find an existing reference picture in DPB, leaving the invalid index untouched and resulting invalid indexing later on.
  - Now we initialize the reference picture lists with a valid value 0. Also we add index range check on reference buffer at VA-API layer to avoid invalid memory access.

* * rocDecode/HEVC: Fixed a typo in sampel app message.

[ROCm/rocdecode commit: 0fbd030b5d]
2023-12-15 15:54:43 -05:00
jeffqjiangNew dd6d01722c Added script to run static conformance test. (#139)
* * rocDecode/HEVC: Added script to run static conformance test.
  - The script runs videodecode app in MD5 check mode on the conformance streams.
  - The MD5 check results are stored in rocDecode_conformance.log and printed out.

* * rocDecode: Fixed formatting in README.md.

* * rocDecode/Conformance test: Added the missing exit when number of streams does not match number of reference MD5 digests.

* * rocDecode/Conformance test: Do case insensitive sorting.

* * rocDecode/Conformance test: Fixed a typo in the script.

* * rocDecode/Conformance test: Added info on the number of streams that fail to complete decode.

* * rocDecode/Conformance test: Added the missing message of the aborted streams to stdout.

[ROCm/rocdecode commit: 3598f4d96e]
2023-12-15 15:54:05 -05:00
Kiriti Gowda 0b161f9a10 Sample - Update CMakeLists.txt (#144)
Find rocDecode Fix

[ROCm/rocdecode commit: 07595d7937]
2023-12-15 15:44:58 -05:00
Pavel Tcherniaev 8107033846 added help for arguments in case user doesn't give any arguments (#138)
[ROCm/rocdecode commit: 5930f15c1a]
2023-12-13 13:55:40 -05:00
Lakshmi Kumar a3e509db61 Test Scripts Enhancement - readme correction & better error handling (#132)
* readme correction & better error handling

* review comments

[ROCm/rocdecode commit: 06cde7965b]
2023-12-12 10:34:31 -05:00
Lakshmi Kumar 6c3f0095da adding support for MI300A A1 - gfx942 (#124)
[ROCm/rocdecode commit: f221d78258]
2023-12-07 09:31:44 -05:00
jeffqjiangNew 99a97db048 * rocDecode/HEVC: Added formating of the MD5 digest output. (#122)
[ROCm/rocdecode commit: 4ca51e3314]
2023-12-06 10:54:41 -05:00
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
Aryan Salmanpour 24dc12e75e Fix a build error in videodecode sample (#119)
[ROCm/rocdecode commit: f008b52403]
2023-12-05 12:01:17 -05:00
jeffqjiangNew 409d6efa2a Added the command option "-md5_check" to compare the MD5 of the decoded YUV to the reference MD5. This facilitates decoder conformance test automation. (#117)
* * rocDecode: Added a command option "-md5_check" to compare the MD5 of the decoded YUV to the reference MD5. This ficilitates decoder conformance test automation.

* * rocDecode/HEVC: Changed file and string operation from C code to C++ code.

* * rocDecode/HEVC: Updated README.md for videoDecode sample.

[ROCm/rocdecode commit: 583e72720a]
2023-12-05 11:40:39 -05:00