Grafico dei commit

47 Commit

Autore SHA1 Messaggio Data
Aryan Salmanpour 5fea241f7d Packaging - Update rocJPEG package dependencies (#186) 2025-09-29 20:52:53 -07:00
jonatluu b59a6e60a2 Packaging - Lintian warning fix
* fix lintian warning

* fix spacing
2025-08-25 16:05:31 -07:00
Aryan Salmanpour 08003e0fd7 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
2025-07-24 22:05:31 -04:00
Kiriti Gowda bdb12b59fb 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>
2025-07-07 21:50:01 -04:00
Aryan Salmanpour 9d01934065 Fix a bug casued by the reuse of the surfaces (#162) 2025-06-30 13:43:02 -04:00
Aryan Salmanpour 6046873054 Improve the memory pool logic to enable the reuse of VA-API surfaces (#159)
* Improve the memory pool logic to enable the reuse of VA-API surfaces.

* Update the version
2025-06-13 11:51:26 -04:00
Aryan Salmanpour 78de581773 Perform the VA-API/HIP interop once for each surface in the memory pool and store it for reuse (#157)
* Perform the VA-API/HIP interop once for each surface in the memory pool and store it for reuse

* rename the compiler option to ENABLE_INTEROP_BUFFER_REUSE
2025-06-11 15:49:40 -04:00
Aryan Salmanpour 95d173ee88 CMake - Add support for explicitly linking libdrm_amdgpu with rocjpeg (#152)
* CMake - Add support for explicitly linking libdrm_amdgpu with rocjpeg

* clean up

* Add comment
2025-05-15 13:59:56 -04:00
Aryan Salmanpour 753de5905c CMake - Addressed CMake configuration warnings (#151)
* CMake - Addressed CMake configuration warnings

* Add the rocmcmakebuildtools cmake path
2025-05-13 13:08:10 -04:00
Aryan Salmanpour c63968c7ef CMaske - update the rocjpeg version (#150) 2025-05-13 10:59:43 -04:00
Afzal Patel ba900e8cae add amdgpu drm include directory (#148) 2025-05-07 22:22:54 -04:00
Kiriti Gowda 40ac43a457 CMakeLists - Fix CXX Std (#145) 2025-04-23 17:33:03 -04:00
Aryan Salmanpour 232a9c6906 CTest: Add a test to perform negative testing on all rocJPEG APIs (#143)
* CTest: Add a test to perform negative testing on all rocJPEG APIs

* clean up
2025-04-18 10:02:12 -07:00
Aryan Salmanpour 664d2808ac Enable and fix compiler warnings (#136) 2025-03-20 11:53:42 -04:00
Kiriti Gowda b539a5b698 Package - Dev install fix (#134)
* CMakeList - Fix lib duplicates

* Fix

* Export targets
2025-03-19 13:06:28 -04:00
Aryan Salmanpour c27f1daf39 Utilize the explicit constructor of the vector's type when resizing the vector for the memory pool (#132) 2025-03-19 11:59:35 -04:00
Kiriti Gowda f8f3f423fd 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
2025-03-13 20:23:22 -04:00
Kiriti Gowda 2020d2cf8f CMake Modules - Config Files and version (#128)
* Setup - remove pkg-config install

* CMake Modules

* Version - note

* Package - updates

* Version - file updates

* Version File - remove static version file

* GitIgnore - version file

* Version File - Updates

* CMake Config - Targets updates
2025-03-11 11:41:09 -04:00
Aryan Salmanpour 1aea857212 CTEST - add new tests (#127) 2025-03-07 19:52:26 -05:00
Aryan Salmanpour 692d4bb72c Add support for multiple regions of interest (ROI) for batch JPEG decoding (#126) 2025-03-05 17:06:04 -05:00
Kiriti Gowda 2a81cda0de Package - Updates (#124)
* Package - Updates

* CMakeLists - updates

* Docker - Remove UB20.04 support

* Readme - updates
2025-03-04 14:50:45 -05:00
Lakshmi Kumar b3d1edd1d0 CMakeLists - check rocm gfx targets (#123) 2025-02-25 14:31:53 -08:00
Lakshmi Kumar 0442180916 gfx update (#118) 2025-02-11 12:42:34 -05:00
Aryan Salmanpour 23a1d7e03c Eliminate the use of std::fs (#115) 2025-01-28 16:22:52 -05:00
raramakr cc601e551d SWDEV-507928 - Remove license file from dev and test package (#107)
License file is required in runtime package and not in test and dev package
2025-01-10 14:45:55 -05:00
Aryan Salmanpour 5488d5d63d 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>
2025-01-06 16:19:05 -05:00
Aryan Salmanpour de14139d09 Update copyright year to 2025 (#103) 2025-01-02 17:25:30 -05:00
Aryan Salmanpour 9ac798f50f Enable the CMake ROCJPEG_ROCPROFILER_REGISTER option by default (#97) 2024-12-10 14:41:51 -05:00
Aryan Salmanpour a17a7e9119 Add support for rocJPEG APIs dispatch table (#91)
* Add support for rocJPEG APIs dispatch table

* code clean-up
2024-12-04 13:34:34 -05:00
Aryan Salmanpour a4f3daef1e 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
2024-11-25 20:40:50 -05:00
Kiriti Gowda 4e78bca06a Updates - Compiler & GFX ID (#77)
* Compiler updates

* GFX - ID updates

* CMakeLists - Updates
2024-11-19 14:47:05 -05:00
Kiriti Gowda b414b5ed6c GPU Arch - Updates & Fixes (#72) 2024-11-07 15:13:48 -08:00
Aryan Salmanpour c7bc72c2e3 Find the minimum supported libva version 1.16 when building rocJPEG (#65) 2024-10-23 13:53:43 -04:00
Aryan Salmanpour 6b0f8dac8d Update the libva requirement (#64)
* Update the libva requirement

* clean up READNE file
2024-10-22 11:55:31 -04:00
Lakshmi Kumar f05d8862c8 update clang path per packaging (#59) 2024-10-01 13:20:21 -04:00
Pavel Tcherniaev b68b9ba8ea 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
2024-08-13 21:30:26 -04:00
Aryan Salmanpour 92d545f42b CMakeLists - updates and clean up (#46)
* CMakeLists - updates and clean up

* Update the vcn joeg spec table
2024-07-24 12:36:54 -04:00
Lakshmi Kumar 10c5ccf9d4 add version file (#45) 2024-07-22 17:31:45 -04:00
Aryan Salmanpour 7fafba6e70 CMakeLists/README/DOC - updates and fixes (#43)
* CMakeLists/README/DOC - updates and fixes

* Fix few typos in the sample code in doc

* Add a sample code snippet for decoding a batch of jpeg images
2024-07-22 12:12:35 -04:00
Aryan Salmanpour 3f0be8387e 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
2024-07-12 15:20:38 -04:00
Aryan Salmanpour c660aeab43 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
2024-06-13 14:04:53 -04:00
Aryan Salmanpour 7bdd495214 Add support for adding a new struct RocJpegDecodeParams for passing the decode parameters to rocJpegDecode API (#22) 2024-05-08 11:30:36 -04:00
Aryan Salmanpour bb085a9bf1 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
2024-05-03 12:16:43 -04:00
Kiriti Gowda 57246bc40b RHEL - Fix (#21) 2024-05-02 20:55:29 -04:00
Kiriti Gowda 6738bc3c56 Deps - Updates (#20) 2024-05-01 16:07:02 -04:00
Kiriti Gowda 6aaca70cd9 LibVA - Updates and fixes (#16)
* Setup - Updates

* Jenkins - Updates

* CMakeList - Updates for Libva public
2024-04-17 09:25:16 -04:00
Aryan Salmanpour 6ad4a76177 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
2024-03-25 17:05:31 -04:00