Γράφημα Υποβολών

28 Υποβολές

Συγγραφέας SHA1 Μήνυμα Ημερομηνία
Kiriti Gowda 178508dcd1 GPU Arch - Updates & Fixes (#72)
[ROCm/rocjpeg commit: b414b5ed6c]
2024-11-07 15:13:48 -08:00
Aryan Salmanpour 75cdddf403 use a single context for decoding (#68)
[ROCm/rocjpeg commit: 6d31992746]
2024-10-30 11:48:47 -04:00
Aryan Salmanpour 2e2c330953 Exclude YUV 4:4:0 for RGB format conversion in VCN on MI300, as it is not supported. Instead, use HIP kernels. (#63)
[ROCm/rocjpeg commit: de144cd941]
2024-10-10 15:42:38 -04:00
Aryan Salmanpour 08a5ccfb0c Optimize the memory pool allocation bso that its size doesn't exceed the max_pool_size_ (#58)
[ROCm/rocjpeg commit: ad90eb4582]
2024-10-01 09:14:15 -04:00
Aryan Salmanpour e43acce286 Add support for ROI decode on MI300 (#53)
* Add support for ROI decode on MI300

* Add ROI decode support for batched decoding

* clean up

* clean up

* Fix a typo and update sample's readme

[ROCm/rocjpeg commit: 7b321a86ed]
2024-08-22 17:04:03 -04:00
Aryan Salmanpour 88741716d4 Modify the memory pool access for batch decode submission (#50)
[ROCm/rocjpeg commit: 7129a01f88]
2024-08-14 16:45:05 -04:00
Pavel Tcherniaev 7eeba4c27a Roi decode feature (#48)
* implemented ROI for NATIVE, YUV_PLANAR, Y, RGB and RGB_PLANAR

* added the changes requested by Aryan in the PR

* prelim check in of ROI

* finished RGB and RGB_PLANAR ROI implementation and testing in rocjpeg_decoder.cpp, updated the versions to 0.6.0, updated jpegdecode.cpp and jpegdecodedbatched.cpp. Still need to modify jpegmultithreads.cpp. Need to run tests on JPEG 444 and 440. And need to add test to ctests and make test. Will update this PR when I've added everything mentioned here.

* changed new_offset and new_uv_offset to roi_offset and roi_uv_offset in rocjpeg_decoder.cpp. Added ROI handling in jpegdecodemultithreads sample. Still need to run tests on jpegdecodemultithreads and jpegdecodebatched.

* addressed all changes Aryan mentioned for PR 48 on August 12

* added tests to ctests and make tests and fixed conflict in jpegdecodemultithreads.cpp

* addressed latest change requests

* removed spaces after case VA_FOURCC_444P

* updated ctests and make tests

* fixed copy/paste error for ctests

* fixed typo with extra $

* added print statement for cropped image dimensions

* addressed latest change requests from Aryan. Ran make tests and ctests, all passed

* added workaround for YUV440 to RGB conversion

[ROCm/rocjpeg commit: b68b9ba8ea]
2024-08-13 21:30:26 -04:00
Aryan Salmanpour 52403fcf28 CMakeLists - updates and clean up (#46)
* CMakeLists - updates and clean up

* Update the vcn joeg spec table

[ROCm/rocjpeg commit: 92d545f42b]
2024-07-24 12:36:54 -04:00
Aryan Salmanpour d1610bc687 Update the MemoryPool by defining the max pool size, and use it when adding a new entry to the pool (#44)
* Update the MemoryPool by defining the max pool size, and use it when adding a new entry to the pool

* Fix finding the gfx942_mi300x

[ROCm/rocjpeg commit: 6d7d72c6da]
2024-07-19 19:04:31 -04:00
Aryan Salmanpour 6354880116 Add support for rocJpegDecodeBatched API - part 2 of 2 (#39)
* Modify the batchDecode submission

* Add support for grouping the jpeg streams based on their chroma_subsampling, width, and height

* Modify the RocJpegVappiMemPoolEntry to use vectors for va_surface_ids and hip_interops

* Add a function to get the current vcn jpeg spec

* Add support to get hip interop mem for the batched submission

* switch to std::mutext

* Updatet the rocJPEG version

* use std::find to find the surface_id

* correct the vcn_jpeg_spec_ table for gfx942-mi300a/mi300x

* Fix typos

* pass the decode_params to the SubmitDecode function

[ROCm/rocjpeg commit: 3f0be8387e]
2024-07-12 15:20:38 -04:00
Aryan Salmanpour 2e0f1135b5 update the vcn_jpeg_spec_ table (#38)
[ROCm/rocjpeg commit: 03f8bd0fa1]
2024-07-08 09:32:01 -04:00
Aryan Salmanpour 236d0cae97 use supported VA_FOURCC_* instead of the VA_RT_FORMAT_* for the internel mem_pool_ key entries (#36)
[ROCm/rocjpeg commit: 6f5b8f35a5]
2024-07-04 15:15:50 -04:00
Aryan Salmanpour 3fb66d90e1 Fix a bug where the dcoded output is not updated (#35)
* Fix a bug where the dcoded output is not updated

* code clean up - remove redundant if check

[ROCm/rocjpeg commit: bd09811662]
2024-07-04 13:13:39 -04:00
Aryan Salmanpour 08f7236c94 Add support for rocJpegDecodeBatched API - part 1 of 2 (#31)
* Add initial support for batch decoding

* Add support for reading and parsing the images in batches and allocating the output buffers

* Add initial support for the rocJpegDecodeBatched API

* use recursive_mutex to allow DecodeBatched and Decode functions called concurrently

* code cleanup

* Add a CTEST for jpegdecodebatched

* modify the help message

* code clean up

[ROCm/rocjpeg commit: c660aeab43]
2024-06-13 14:04:53 -04:00
Aryan Salmanpour 048d2d8fca Add support for YUV440 (#28)
* Add support for YUV440

* Add YUV440 to RGB kernels

* code clean up

[ROCm/rocjpeg commit: d0b812bc26]
2024-05-30 22:00:07 -04:00
Aryan Salmanpour 4f5187a2ae Add support for handling exceptions while using the std::filesystem::recursive_directory_iterator (#27)
[ROCm/rocjpeg commit: b7edd5de5b]
2024-05-30 09:08:35 -04:00
Aryan Salmanpour ab073db426 Add/update comments to the code (#25)
* Add/update comments to the code

* update comments

* Update comments

[ROCm/rocjpeg commit: 73c0b10f6a]
2024-05-15 13:44:51 -04:00
Aryan Salmanpour 93d163fa33 Add support for new APIs for parsing jpeg streams independently from decoder APIs (#24)
* Add support for new APIs for parsing jpeg streams independently from decoder APIs

* Update document and code clean-up

* code clean-up

[ROCm/rocjpeg commit: e73ec1412c]
2024-05-13 16:11:15 -04:00
Aryan Salmanpour 1a61bd56f2 Fix compilation issues on systems without std::filesystem (#23)
[ROCm/rocjpeg commit: 764ae2a348]
2024-05-08 15:57:19 -04:00
Aryan Salmanpour f4bf8cfe17 Add support for adding a new struct RocJpegDecodeParams for passing the decode parameters to rocJpegDecode API (#22)
[ROCm/rocjpeg commit: 7bdd495214]
2024-05-08 11:30:36 -04:00
Aryan Salmanpour ebfb1bcb26 Add support for memory pool management for vaapi surfaces and vaapi-hip interops (#17)
* Add support for memory pool management for vaapi surfaces

* reuse memories for each channel if the sizes remain unchanged

* rename hip_interop to hip_interop_dev_mem

[ROCm/rocjpeg commit: 694a4bc07f]
2024-04-22 14:37:45 -04:00
Aryan Salmanpour bd5af8b66c Add support for ROCJPEG_OUTPUT_RGB_PLANAR output format (#15)
* Add support for ROCJPEG_OUTPUT_RGB_PLANAR output format

* update the jpegdecode sample based on the review comments

* use make_float3 when it's possible

[ROCm/rocjpeg commit: c591c342aa]
2024-04-16 18:27:22 -04:00
Aryan Salmanpour 61df754d42 Add support for HW-based RGB format conversion on MI300 (#13)
* Add support for HW-based RGB format conversion on MI300

* code clean up

* change variable names

[ROCm/rocjpeg commit: 63dc882415]
2024-04-11 13:37:08 -04:00
Aryan Salmanpour 62749bc95c Use the correct offset when creating render nodes on each partition mode on MI300 (#11)
* Use the correct offset when creating render nodes on each partition mode on MI300

* code clean up

[ROCm/rocjpeg commit: 214187ce11]
2024-04-09 20:28:57 -04:00
Aryan Salmanpour 74b4963c90 Add support for passing the correct device id when initializing the va-api decoder (#8)
[ROCm/rocjpeg commit: 363205c9a8]
2024-04-01 18:06:44 -04:00
Aryan Salmanpour 8f9b191453 Add support for various partition modes for MI300 (#7)
[ROCm/rocjpeg commit: 1844e3349c]
2024-04-01 14:51:56 -04:00
Aryan Salmanpour 39face871e Add support for detecting visible devices before initializing va-api (#4)
[ROCm/rocjpeg commit: e93199e3d8]
2024-03-27 14:14:27 -04:00
Aryan Salmanpour 929a892e8d Initial commit of the rocJPEG library (#1)
* rocJPEG initial commit

* Add gitignore file

* clean up

* code clean up

* CMakeLists update

* Update README

* Update readme and setup script

* add docs folder

* update rocjepg headers

* update the rocjepg header

* update the copyright year

* Add nullptr check for all APIs

* update the hip kernels execution

* follow google c++ style guide

* code clean up

* use google c++ style guide for hip kernels

* add support for rocJpegGetErrorName API

* Add ParseCommandLine function

* update the rocjpeg sample

* Update the readme, LIBVA instructions

* udate the rocJPEG script

* Update CMAKE and libdrm

* Add support for ROCJPEG_OUTPUT_UNCHANGED and SaveImage function

* code  clean up

* update the drm dependencies

* remove the unused hipstream

* code clean up

* add -fmt option for selection the output format

* update the GetImageInfo API

* update the sample

* update the save image function based onn the surface and putput format

* add new sample images

* Put hip interop mem into separate functions and some code clean up

* Add support for CopyLuma and CopyChroma

* Add support for the yuv output format for NV12 surface

* Update HIP kernels

* add support for rgbi format conversion for NV12 and YUv444

* Update the status

* Add support for converting YUYV to RGB

* Add support for unpacking YUYV format

* Fix unpacking Y fron YUYV hip kernel

* Add suppoort for extractign packed YUYV to YUV planar

* hip code clean up

* code clean up

* Update the headers

* code clean up

* change hip kernel names

* hip kernel clean up

* hip clean up

* code clean up

* code clean up

* code clean up

* code clean up

* code clean up

* code clean up for jpege decoder class

* code clean up

* code clean up

* code clean up

* code clean up

* update the dockers

* code clean up

* code clean up

* hip kernels clean up

* remove unused hip kernels

* add additional test cases

* update the APIs

* add new hip yuv400torgbi kernel

* update yuv400torgbi kernel

* restructure files

* code clean up

* code clean up

* add jenkins

* code clean up

* code clean up

* update readme

* update docker's README

* make changes based on the reviewers comments

* make changes based on the reviewers comments

* return ROCJPEG_STATUS_JPEG_NOT_SUPPORTED if the resolution of the jpeg is not supported for HW decoding

[ROCm/rocjpeg commit: 6ad4a76177]
2024-03-25 17:05:31 -04:00