Skip to content

Commit 3a7ac73

Browse files
committed
Adding code for release v0.8.0 (commit 93bcb05)
1 parent 89500f3 commit 3a7ac73

170 files changed

Lines changed: 14052 additions & 2322 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/bug_report_form.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ body:
2828
attributes:
2929
label: Version
3030
description: What version of nvImageCodec are you running?
31-
placeholder: "example: 0.7.0"
31+
placeholder: "example: 0.8.0"
3232
validations:
3333
required: true
3434

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,5 @@ bin/*
1212
nvimgcodec_version.h
1313
*__pycache__*
1414
.venv/
15+
.nvimgcodec_test_venv/
16+
test/python/integration/dicom/.midi_b_data/

.gitmodules

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,3 @@
1515
[submodule "external/boost/preprocessor"]
1616
path = external/boost/preprocessor
1717
url = https://github.com/boostorg/preprocessor
18-
[submodule "external/libjpeg-turbo"]
19-
path = external/libjpeg-turbo
20-
url = https://github.com/libjpeg-turbo/libjpeg-turbo.git
21-
branch = main
22-
[submodule "external/openjpeg"]
23-
path = external/openjpeg
24-
url = https://github.com/uclouvain/openjpeg.git
25-
[submodule "external/opencv"]
26-
path = external/opencv
27-
url = https://github.com/opencv/opencv.git
28-
[submodule "external/libtiff"]
29-
path = external/libtiff
30-
url = https://gitlab.com/libtiff/libtiff.git
31-
[submodule "external/zstd"]
32-
path = external/zstd
33-
url = https://github.com/facebook/zstd.git
34-
[submodule "external/zlib"]
35-
path = external/zlib
36-
url = https://github.com/madler/zlib.git

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
1818
include(CMakeDependentOption)
1919

2020
set(NVIMGCODEC_PROJECT_NAME "nvimgcodec")
21-
set(NVIMGCODEC_VERSION "0.7.0")
21+
set(NVIMGCODEC_VERSION "0.8.0")
2222

2323
if (NVIMGCODEC_FLAVOR)
2424
set(NVIMGCODEC_FLAVOR "${NVIMGCODEC_FLAVOR}") # could be nightly, weekly, etc if necessary
@@ -302,7 +302,7 @@ set(CMAKE_CXX_STANDARD 20)
302302
set(CMAKE_CXX_STANDARD_REQUIRED ON)
303303
set(CMAKE_CXX_EXTENSIONS OFF)
304304

305-
set(CMAKE_CUDA_STANDARD 14)
305+
set(CMAKE_CUDA_STANDARD 17)
306306
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
307307
set(CMAKE_CUDA_EXTENSIONS OFF)
308308

README.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# nvImageCodec
22

3-
![Version](https://img.shields.io/badge/Version-v0.7.0--beta-blue)
3+
![Version](https://img.shields.io/badge/Version-v0.8.0--beta-blue)
44
[![License](https://img.shields.io/badge/License-Apache_2.0-yellogreen.svg)](https://opensource.org/licenses/Apache-2.0)
55

66
![Platform](https://img.shields.io/badge/Platform-linux--x86__64_%7C_linux--aarch64_%7C_windows--64_wsl2_%7C_windows--64-blue)
@@ -188,12 +188,12 @@ Please see also [nvCOMP installation documentation](https://docs.nvidia.com/cuda
188188
- Windows
189189
- [Microsoft Visual Studio 2022 Build Tools](https://aka.ms/vs/17/release/vs_buildtools.exe)
190190
- Dependencies for extensions. If you would not like to build particular extension you can skip it.
191-
- nvJPEG2000 >= 0.9.0
192-
- nvTIFF >= 0.5.1
193-
- nvCOMP >= 5.0.0
194-
- libjpeg-turbo >= 2.0.0
195-
- libtiff >= 4.5.0
196-
- opencv >= 4.9.0
191+
- nvJPEG2000 >= 0.9.1
192+
- nvTIFF >= 0.6.0
193+
- nvCOMP >= 5.1.0
194+
- libjpeg-turbo >= 3.0.3
195+
- libtiff >= 4.6.0
196+
- opencv >= 4.10.0
197197
- Python packages:
198198
- clang==14.0.1
199199
- wheel
@@ -261,17 +261,17 @@ This will generate in build directory *.zip or *tar.xz files
261261
#### Tar file installation
262262

263263
```
264-
tar -xvf nvimgcodec-0.7.0.0-cuda12-x86_64-linux-lib.tar.gz -C /opt/nvidia/
264+
tar -xvf nvimgcodec-0.8.0.0-cuda12-x86_64-linux-lib.tar.gz -C /opt/nvidia/
265265
```
266266

267267
#### DEB File Installation
268268
```
269-
sudo apt-get install -y ./nvimgcodec-0.7.0.0-cuda12-x86_64-linux-lib.deb
269+
sudo apt-get install -y ./nvimgcodec-0.8.0.0-cuda12-x86_64-linux-lib.deb
270270
```
271271
#### Python WHL File Installation
272272

273273
```
274-
pip install nvidia_nvimgcodec_cu12-0.7.0-py3-none-manylinux_2_28_x86_64.whl
274+
pip install nvidia_nvimgcodec_cu12-0.8.0-py3-none-manylinux_2_28_x86_64.whl
275275
```
276276

277277
### Installation from sources
@@ -331,15 +331,20 @@ Run Python API tests
331331
First install python wheel. You would also need to have installed all Python tests dependencies (see Dockerfiles).
332332

333333
```
334-
pip install nvidia_nvimgcodec_cu12-0.7.0.x-py3-none-manylinux_2_28_x86_64.whl
334+
pip install nvidia_nvimgcodec_cu12-0.8.0.x-py3-none-manylinux_2_28_x86_64.whl
335335
```
336336

337337
Run tests
338338
```
339-
cd tests
339+
cd test
340340
pytest -v ./python
341341
```
342342

343+
To run slow tests:
344+
```
345+
pytest -v ./python -m slow
346+
```
347+
343348
## CMake package integration
344349

345350
To use nvimagecodec as a dependency in your CMake project, use:

cmake/Dependencies.cmake

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ if (BUILD_NVJPEG2K_EXT)
5555
include(FetchContent)
5656
FetchContent_Declare(
5757
nvjpeg2k_headers
58-
URL https://developer.download.nvidia.com/compute/nvjpeg2000/redist/libnvjpeg_2k/linux-x86_64/libnvjpeg_2k-linux-x86_64-0.9.0.43-archive.tar.xz
59-
URL_HASH SHA512=22d14a20af67ba414956fd7c4223cf3fd519cec9ccbd0ae27603416ab143eae92457ab0434205fe66617bcc5a54805bfc6183f89205ea2d0068d497321a43783
58+
URL https://developer.download.nvidia.com/compute/nvjpeg2000/redist/libnvjpeg_2k/linux-x86_64/libnvjpeg_2k-linux-x86_64-0.10.0.49_cuda12-archive.tar.xz
59+
URL_HASH SHA512=29653927671913bbac8be5dc755c5ca16d63237f96c75a8beb3d05225c1a237f3848af9c3b9b6594970eb7f2f6d405df077aa741dafb4476f64996d7da8dd49d
6060
)
6161
FetchContent_Populate(nvjpeg2k_headers)
6262
set(NVJPEG2K_SEARCH_PATHS "${nvjpeg2k_headers_SOURCE_DIR}/include")
@@ -93,8 +93,8 @@ if (BUILD_NVTIFF_EXT)
9393
include(FetchContent)
9494
FetchContent_Declare(
9595
nvtiff_headers
96-
URL https://developer.download.nvidia.com/compute/nvtiff/redist/libnvtiff/linux-x86_64/libnvtiff-linux-x86_64-0.6.0.78_cuda12-archive.tar.xz
97-
URL_HASH SHA512=95250f9ee6040adbabf3493a288f4020ce92cb83b33b4163949276bd1fbffbac49e16d39ea38ec8048f792abd64056a76ba62ef4bc84c43487e4f50068df7d1c
96+
URL https://developer.download.nvidia.com/compute/nvtiff/redist/libnvtiff/linux-x86_64/libnvtiff-linux-x86_64-0.7.0.79_cuda12-archive.tar.xz
97+
URL_HASH SHA512=7949894d0f0bb5e317c74db7a193a55d7eea492cc629dde5898c83f4077481a225e06d12e5c64f9d566cfc9e2ff3b6ca973d1b80647d6c32223827b06e2b02f4
9898
)
9999
FetchContent_Populate(nvtiff_headers)
100100
set(NVTIFF_SEARCH_PATHS "${nvtiff_headers_SOURCE_DIR}/include")
@@ -122,6 +122,37 @@ endif()
122122
if (BUILD_NVTIFF_EXT)
123123
message(STATUS "Using NVTIFF_INCLUDE=${NVTIFF_INCLUDE}")
124124
include_directories(BEFORE SYSTEM ${NVTIFF_INCLUDE})
125+
126+
# When linking statically, detect at configure time which nvtiff "Ex" APIs are available (header + lib).
127+
if (NOT WITH_DYNAMIC_NVTIFF AND NVTIFF_LIB AND NVTIFF_INCLUDE)
128+
set(_nvtiff_check_src "${CMAKE_BINARY_DIR}/nvtiff_check_src")
129+
file(MAKE_DIRECTORY "${_nvtiff_check_src}")
130+
macro(_nvtiff_try_symbol _result_var _symbol _name)
131+
file(WRITE "${_nvtiff_check_src}/${_name}.cpp"
132+
"/* Compile+link check for ${_symbol} */\n"
133+
"#include <nvtiff.h>\n"
134+
"int main() { (void)(void *)${_symbol}; return 0; }\n")
135+
file(WRITE "${_nvtiff_check_src}/CMakeLists.txt"
136+
"cmake_minimum_required(VERSION 3.18)\n"
137+
"project(${_name} NONE CXX)\n"
138+
"include_directories(\${NVTIFF_INCLUDE})\n"
139+
"add_executable(${_name} ${_name}.cpp)\n"
140+
"target_link_libraries(${_name} PRIVATE \${NVTIFF_LIB})\n")
141+
try_compile(${_result_var}
142+
"${CMAKE_BINARY_DIR}/${_name}" "${_nvtiff_check_src}"
143+
${_name} ${_name}
144+
CMAKE_FLAGS "-DNVTIFF_INCLUDE=${NVTIFF_INCLUDE}" "-DNVTIFF_LIB=${NVTIFF_LIB}")
145+
if(${_result_var})
146+
message(STATUS "nvtiff (static): ${_symbol} available")
147+
else()
148+
message(STATUS "nvtiff (static): ${_symbol} not available")
149+
endif()
150+
endmacro()
151+
_nvtiff_try_symbol(NVTIFF_HAS_DECODE_IMAGE_EX nvtiffDecodeImageEx check_decode_ex)
152+
_nvtiff_try_symbol(NVTIFF_HAS_STREAM_PARSE_EX nvtiffStreamParseEx check_parse_ex)
153+
_nvtiff_try_symbol(NVTIFF_HAS_STREAM_GET_NUMBER_OF_TAGS nvtiffStreamGetNumberOfTags check_get_num_tags)
154+
_nvtiff_try_symbol(NVTIFF_HAS_STREAM_HAS_TAG nvtiffStreamHasTag check_has_tag)
155+
endif()
125156
else()
126157
message(STATUS "nvTIFF extension build disabled")
127158
endif()

0 commit comments

Comments
 (0)