* 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
* Fix a bug that prevented copying the decoded image into the output buffer when the output buffer is larger than the input image
* add check for a valid roi_width
* 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
* 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
* 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
* 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
* 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