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

39 Коммитов

Автор SHA1 Сообщение Дата
Aryan Salmanpour 35accd3d1d Code cleanup (#149)
[ROCm/rocjpeg commit: 0415c78cbf]
2025-05-12 16:15:33 -04:00
Aryan Salmanpour 9a8dba0b94 Enable and fix compiler warnings (#136)
[ROCm/rocjpeg commit: 664d2808ac]
2025-03-20 11:53:42 -04:00
Aryan Salmanpour 68920782ff Utilize the explicit constructor of the vector's type when resizing the vector for the memory pool (#132)
[ROCm/rocjpeg commit: c27f1daf39]
2025-03-19 11:59:35 -04:00
Aryan Salmanpour 63637ce8f6 Add support for multiple regions of interest (ROI) for batch JPEG decoding (#126)
[ROCm/rocjpeg commit: 692d4bb72c]
2025-03-05 17:06:04 -05:00
Aryan Salmanpour ab0452a7ad Eliminate the use of std::fs (#115)
[ROCm/rocjpeg commit: 23a1d7e03c]
2025-01-28 16:22:52 -05:00
Aryan Salmanpour 7ac621e853 query number of jpeg cores through amdgpu (#113)
[ROCm/rocjpeg commit: 758aefbb29]
2025-01-22 20:16:31 -05:00
Aryan Salmanpour 874c91cab8 Optimize finding the compute partition mode (#111)
[ROCm/rocjpeg commit: 6fb149d1eb]
2025-01-18 10:12:45 -05:00
Aryan Salmanpour 473c678a3d code cleanup - remove unnecessary check (#109)
[ROCm/rocjpeg commit: eb97d3517d]
2025-01-15 20:31:07 -05:00
Aryan Salmanpour a50863d456 code cleanup (#106)
[ROCm/rocjpeg commit: 9f41913587]
2025-01-09 10:38:29 -05:00
Aryan Salmanpour 7a9ed9f274 Update copyright year to 2025 (#103)
[ROCm/rocjpeg commit: de14139d09]
2025-01-02 17:25:30 -05:00
Aryan Salmanpour fde97f2094 Add support for mapping GPU UUIDs to render nodes (#101)
[ROCm/rocjpeg commit: 832cb88ccc]
2024-12-20 15:17:20 -05:00
Aryan Salmanpour 7b14b5e20d Fix a regression caused by PR#88 on MI300A (#99)
[ROCm/rocjpeg commit: 916f6ac806]
2024-12-11 15:03:56 -05:00
David Rosca 41da20ae17 Create surfaces with linear modifier (#88)
Mesa will be enabling tiling for all VA surfaces by default,
but HIP doesn't support modifiers for dmabuf import.

[ROCm/rocjpeg commit: d9b89264d5]
2024-12-09 16:27:40 -05:00
David Rosca c871bf74ad Use VA_FOURCC_YUY2 instead of YUYV (#92)
Mesa <= 24.3 incorrectly uses non-standard VA YUYV fourcc.

[ROCm/rocjpeg commit: c8cdda6be2]
2024-12-05 11:25:51 -05:00
David Rosca 452c6acd2d Don't use dummy surface for vaCreateContext (#87)
Mesa ignores this parameter.

[ROCm/rocjpeg commit: ed919ec7d4]
2024-12-03 08:49:57 -05:00
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
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 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 1a61bd56f2 Fix compilation issues on systems without std::filesystem (#23)
[ROCm/rocjpeg commit: 764ae2a348]
2024-05-08 15:57:19 -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