FFMpeg decoder rocdecode integration (#583)

* initial commit

* initial implementation for host based decoder

* minor change

* cmake changes and added new sample

* rocdecDecode sample implementation

* rocdecode sample changes working

* working version of avcodec decoder and sample

* Add end of stream handling for repeated decoding with reconfigure

* reorg files and added changelog

* update readme

* revert file

* remove unused class members

* addressed reviw comment for changelog

* fix sample to work on more video files

* resolved review comments

* bumped version to 0.14.0

* fixed build warnings

* addressed review comments

* addressed review comments

* addressed review comments

* fixed readme to match .cpp file options for parameters

* updated review comments, readme, and added test data for the sample

* fixed bug for saving frame for 10 bit videos

* addressed review comments

* addressed all the new review comments
This commit is contained in:
Rajy Rawther
2025-06-07 10:12:57 -07:00
committad av GitHub
förälder 0f89c9c17c
incheckning 3ddb12f075
68 ändrade filer med 2194 tillägg och 5 borttagningar
+6 -2
Visa fil
@@ -40,7 +40,7 @@ if (NOT DEFINED CMAKE_CXX_COMPILER)
endif()
# rocDecode Version
set(VERSION "0.13.2")
set(VERSION "0.14.0")
# Set Project Version and Language
project(rocdecode VERSION ${VERSION} LANGUAGES CXX)
@@ -135,6 +135,7 @@ if(HIP_FOUND AND Libva_FOUND AND Libdrm_amdgpu_FOUND)
include_directories(api src/rocdecode src/parser src/rocdecode/vaapi)
# source files
file(GLOB_RECURSE SOURCES "./src/*.cpp")
list(FILTER SOURCES EXCLUDE REGEX "./src/rocdecode-host/*.*")
# rocdecode.so
add_library(${PROJECT_NAME} SHARED ${SOURCES})
@@ -168,7 +169,7 @@ if(HIP_FOUND AND Libva_FOUND AND Libdrm_amdgpu_FOUND)
# install rocDecode include files -- {ROCM_PATH}/include/rocdecode
install(FILES api/rocdecode/rocdecode.h api/rocdecode/rocparser.h api/rocdecode/roc_bitstream_reader.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} COMPONENT dev)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/rocdecode_version.h
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/rocdecode_version.h api/rocdecode/rocdecode_host.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} COMPONENT dev)
# install rocDecode api trace include file -- {ROCM_PATH}/include/rocdecode/amd_detail
install(FILES api/amd_detail/rocdecode_api_trace.h
@@ -253,6 +254,9 @@ if(HIP_FOUND AND Libva_FOUND AND Libdrm_amdgpu_FOUND)
include(CTest)
add_subdirectory(test)
#make rocdecode-host for decoding on HOST
add_subdirectory(src/rocdecode-host)
# set package information
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})