44 Révisions

Auteur SHA1 Message Date
Aryan Salmanpour 7811969a02 Update Copyright year (#222)
[ROCm/rocjpeg commit: 06a08d3cb8]
2026-01-26 11:05:59 -08:00
Aryan Salmanpour f5d0c73bf4 TheRock compatibility - Support(#213)
* Add Support for TheRock compatibility

* code clean up

* clean up

* clean up

[ROCm/rocjpeg commit: fccf2d3d3d]
2025-12-08 14:46:04 -08:00
Kiriti Gowda f5cca75fbe CMakeLists - Use core compiler location (#194)
[ROCm/rocjpeg commit: 7cc791ea43]
2025-10-09 11:49:02 -07:00
Aryan Salmanpour 5fbc835b4d Resolve an issue for saving decoded jpeg images (#190)
* Resolve an issue for saving decoded jpeg images

* update version and changelog

* address review comment

* clean up

[ROCm/rocjpeg commit: 6ad29257da]
2025-10-03 14:02:27 -07:00
Aryan Salmanpour e0d651f73a Fix a memory leak in the jpegdecode app (#180)
[ROCm/rocjpeg commit: 6ad4ac6f4f]
2025-09-12 10:15:41 -07:00
Aryan Salmanpour d14a5f38f6 Resolve an issue with saving the decoded output image. (#171)
[ROCm/rocjpeg commit: f2604cb401]
2025-08-11 06:48:28 -04:00
Aryan Salmanpour 76d4fb44d9 Add an environment variable to control the VCN hardware color space conversion enablement (#167)
* Add an environment variable to control the VCN hardware color space conversion enablement

* Update version

* optimize the mem_alignment logic for hip memory allocation

[ROCm/rocjpeg commit: 08003e0fd7]
2025-07-24 22:05:31 -04:00
Kiriti Gowda 00821b325e rocjpeg - CMake Find updates (#164)
* rocjpeg - CMake Find updates

* Version file - fix

* Changelog - updates

* Cleanup

* Test - cmakelists updates

* header - minor fix

---------

Co-authored-by: Kiriti <kiriti@santiago.amd.com>

[ROCm/rocjpeg commit: bdb12b59fb]
2025-07-07 21:50:01 -04:00
Kiriti Gowda ede73e4f1d CMakeLists - Fix CXX Std (#145)
[ROCm/rocjpeg commit: 40ac43a457]
2025-04-23 17:33:03 -04:00
Kiriti Gowda df49cbfbbb Find rocJPEG - Updates (#129)
* CMake Config - updates

* Find rocjpeg - updates

* Build Fix

* CMake Prefix - Updates

* CMakeLists - Prefix updates

* CMakeLists - Remove cmake modules from package

* CMakeLists - Fix typo

* Include file - SRC Location updates

[ROCm/rocjpeg commit: f8f3f423fd]
2025-03-13 20:23:22 -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 65e206c531 Fix few typos - no functional changes (#114)
[ROCm/rocjpeg commit: 78c6b2cadb]
2025-01-27 11:20:31 -05:00
Aryan Salmanpour 5d1aa2bde6 Fix a seg fault for jpegDecodePerf app in multi-GPU systems (#110)
[ROCm/rocjpeg commit: da98728866]
2025-01-16 16:09:26 -05:00
Aryan Salmanpour 1d7c5caf5c Update samples (#108)
[ROCm/rocjpeg commit: 86d24a8bed]
2025-01-13 14:51:54 -05:00
Aryan Salmanpour 925fd3f28c CTEST updates - remove duplicate tests and use ctest for both make and package tests (#102)
* CTEST upodates - remove duplicate tests and use ctest for both make and package tests

* clean up

* merge upstream

* remove unused CMakeLists file

---------

Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>

[ROCm/rocjpeg commit: 5488d5d63d]
2025-01-06 16:19:05 -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 eac6fa0a03 Increase the output image sizes (#98)
[ROCm/rocjpeg commit: 0fc00881b0]
2024-12-10 14:22:40 -05:00
Aryan Salmanpour 9394c3cea9 Update samples (#82)
* Update samples

* Simplify the arguments of the DecodeImages function by grouping some of them into a struct.

* Modify the logic for selecting the valid images per batch

* Modify the logic for selecting the valid images per batch for jpegDecodeBatched sample too

[ROCm/rocjpeg commit: a4f3daef1e]
2024-11-25 20:40:50 -05:00
Kiriti Gowda 540fe35baf Updates - Compiler & GFX ID (#77)
* Compiler updates

* GFX - ID updates

* CMakeLists - Updates

[ROCm/rocjpeg commit: 4e78bca06a]
2024-11-19 14:47:05 -05:00
Aryan Salmanpour 89d0137d38 increase the mem_alignment size used for output image rgb memory allocation (#70)
[ROCm/rocjpeg commit: c92ba3d1c4]
2024-11-01 16:38:38 -04:00
Lakshmi Kumar 2d74210ae7 update clang path per packaging (#59)
[ROCm/rocjpeg commit: f05d8862c8]
2024-10-01 13:20:21 -04:00
Aryan Salmanpour dd860bbe26 rename yuv to yuv_planar for the output format (#55)
[ROCm/rocjpeg commit: 7ad5e10137]
2024-09-11 14:43:14 -04:00
Aryan Salmanpour 32cb561609 Increase the output image size for rgb and rgb_planar (#54)
* Increase the output image size for rgb and rgb_planar to avoi

* code clean up

[ROCm/rocjpeg commit: 459f12b6b3]
2024-09-10 16:39:38 -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 2d7c4f0040 Update Samples (#52)
[ROCm/rocjpeg commit: c9d773d89a]
2024-08-20 08:26:38 -04:00
Aryan Salmanpour b52918468c Update jpegDecode sample (#51)
* Update jpegDecode sample

* Address review comments

[ROCm/rocjpeg commit: 0cff7dd26f]
2024-08-15 19:29:29 -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 a885d6178e Samples - updates & fixes (#47)
* Samples - updates & fixes

* use std::cerr

[ROCm/rocjpeg commit: 45b7944064]
2024-07-25 14:04:20 -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 edc41923b4 Update the GetFilePaths function to recursively add only JPEG file paths (#42)
[ROCm/rocjpeg commit: a5b31eec78]
2024-07-15 12:46:07 -04:00
Pavel Tcherniaev 3e681d3cd3 Added first half of ROI support (#41)
* Finished first half of adding ROI functionality to rocJPEG

* took out unnecessary .h file

* addressed review comments from Aryan

* fixed typo

* fixed documentation in code for decode_params

* fixed the spaces

[ROCm/rocjpeg commit: 6ce373b2a1]
2024-07-12 15:22:49 -04:00
Aryan Salmanpour eece5aee73 Update documentation for using rocJPEG (#37)
* Update documentation for using rocjpeg

* clean up

* Update the jpeg table

* update the sample code in section 11

* Update Readme

[ROCm/rocjpeg commit: d9df1e04b5]
2024-07-08 13:29:01 -04:00
Aryan Salmanpour c2411920c0 Use the standard .yuv and .rgb file extensions when saving the decoded jpeg outputs (#34)
* Use the standard .yuv and .rgb file extensions when saving the decoded jpeg outputs

* modify the file description for saving

[ROCm/rocjpeg commit: 44f74c4958]
2024-06-26 09:00:45 -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 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 37d54ad333 Add a new sample (jpegDecodeMultiThreads) for jpeg decoding using multiple threads (#18)
* Add a new sample for jpeg decoding using multiple threads

* code clean up

* code clean up

* code cleanup

* remove extra line

* code clean up - change some variable names

* code clean up

* Move common functions to a new header for samples

* move additional functions to the common samples header

* move the common functions to a new header file and modify the readme

* modify the sample's README

* Add a CTEST for the jpegDecodeThreads sample

* Add a samples overview README

* modify the jpeg decode threads sample

* add finding the threads

* rename jpegDecodeThreads to jpegDecodeMultiThreads

* Make changes based on the reviewers comments

* use one instance of the rocjpeg_utils

* code cleanup

[ROCm/rocjpeg commit: bb085a9bf1]
2024-05-03 12:16:43 -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 de0714a4ac code cleanup - update the setup script (#3)
* code cleanup - update the setup script

* fix few typo erros

[ROCm/rocjpeg commit: 1ef7c21641]
2024-03-26 12:48: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