Commit Graph

14 Commits

Author SHA1 Message Date
Aryan Salmanpour de14139d09 Update copyright year to 2025 (#103) 2025-01-02 17:25:30 -05:00
Aryan Salmanpour 0cff7dd26f Update jpegDecode sample (#51)
* Update jpegDecode sample

* Address review comments
2024-08-15 19:29:29 -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 45b7944064 Samples - updates & fixes (#47)
* Samples - updates & fixes

* use std::cerr
2024-07-25 14:04:20 -04:00
Pavel Tcherniaev 6ce373b2a1 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
2024-07-12 15:22:49 -04:00
Aryan Salmanpour 44f74c4958 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
2024-06-26 09:00:45 -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 d0b812bc26 Add support for YUV440 (#28)
* Add support for YUV440

* Add YUV440 to RGB kernels

* code clean up
2024-05-30 22:00:07 -04:00
Aryan Salmanpour e73ec1412c 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
2024-05-13 16:11:15 -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
Aryan Salmanpour 694a4bc07f 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
2024-04-22 14:37:45 -04:00
Aryan Salmanpour c591c342aa 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
2024-04-16 18:27:22 -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