Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
cb9f8f2
update docker to install openexr library
michaeldsmith Oct 27, 2024
04aaa8e
add openexr to cmake
michaeldsmith Oct 27, 2024
17c4b4a
compiling/linking works using OpenEXR/Imath dependencies, initial wor…
michaeldsmith Oct 28, 2024
74ba55a
read pixels in exr_in::open(), copy to line buffers in exr_in::read()
michaeldsmith Nov 2, 2024
ab4f1fb
Merge branch 'aous72:master' into feature/add-openexr-support
michaeldsmith Nov 11, 2024
907d11b
work in progress before merging upstream 0.18.0 release
michaeldsmith Nov 11, 2024
c94f9a9
Merge branch 'feature/add-openexr-support' of https://github.com/mich…
michaeldsmith Nov 11, 2024
edd908a
cast half.bits() to si16 instead of si32, matches output of openexr-ht
michaeldsmith Nov 12, 2024
01ed975
add EXR output to ojph_expand
michaeldsmith Nov 16, 2024
2fd7871
add build directory with .gitignore
michaeldsmith Nov 22, 2024
aadf57e
update docker, simplify cmake for exr support
michaeldsmith Nov 22, 2024
593e74a
add findIlmbase.cmake for openexr v2 support
michaeldsmith Nov 22, 2024
f76edbd
remove exr requirement
michaeldsmith Nov 22, 2024
4ada9fd
clean up CMakeLists.txt and Dockerfile
michaeldsmith Nov 24, 2024
5149f18
cleanup dockerfile
michaeldsmith Nov 24, 2024
3f2c831
Merge branch 'aous72:master' into feature/add-openexr-support
michaeldsmith Dec 9, 2024
d88d5f1
Merge branch 'aous72:master' into feature/add-openexr-support
michaeldsmith Dec 9, 2024
4946caf
detect when to RGBA interface for EXR writing
michaeldsmith Dec 10, 2024
9e0b51c
Merge branch 'feature/add-openexr-support' of https://github.com/mich…
michaeldsmith Dec 10, 2024
634028a
for EXR->J2C encoding, read only 1 scanline at a time instead of the …
michaeldsmith Dec 13, 2024
4ce4d5e
for J2C->EXR decoding, write only 1 scanline at a time instead of the…
michaeldsmith Dec 13, 2024
47474b3
Merge branch 'aous72:master' into feature/add-openexr-support
michaeldsmith Jan 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ include(ojph_version.cmake)
project (openjph VERSION ${OPENJPH_VERSION} DESCRIPTION "Open source implementation of JPH" LANGUAGES CXX)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)

set(CMAKE_MODULE_PATH
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
${CMAKE_MODULE_PATH}
)

################################################################################################
# Building OpenJPH
################################################################################################
Expand All @@ -22,6 +27,7 @@ message(STATUS "CPU Architecture is ${OJPH_TARGET_ARCH}")
## options
option(BUILD_SHARED_LIBS "Shared Libraries" ON)
option(OJPH_ENABLE_TIFF_SUPPORT "Enables input and output support for TIFF files" ON)
option(OJPH_ENABLE_OPENEXR_SUPPORT "Enables input and output support for OpenEXR files" ON)
option(OJPH_BUILD_TESTS "Enables building test code" OFF)
option(OJPH_BUILD_EXECUTABLES "Enables building command line executables" ON)
option(OJPH_BUILD_STREAM_EXPAND "Enables building ojph_stream_expand executable" OFF)
Expand Down Expand Up @@ -66,6 +72,7 @@ endif()
if(EMSCRIPTEN)
set(BUILD_SHARED_LIBS OFF)
set(OJPH_ENABLE_TIFF_SUPPORT OFF)
set(OJPH_ENABLE_OPENEXR_SUPPORT OFF)
set(OJPH_BUILD_STREAM_EXPAND OFF)
set(OJPH_DISABLE_SIMD ON)
endif()
Expand Down
43 changes: 38 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
FROM ubuntu:focal
#in ubuntu:noble, apt-get installs OpenEXR v3
FROM ubuntu:noble
#in ubuntu:jammy, apt-get installs OpenEXR v2
#FROM ubuntu:jammy

RUN apt-get update

Expand All @@ -8,18 +11,48 @@ ENV DEBIAN_FRONTEND noninteractive
# install developement tools
RUN apt-get -y install cmake
RUN apt-get -y install g++
RUN apt-get -y install git
RUN apt-get -y install valgrind

# install optional openjph dependencies
RUN apt-get -y install libtiff-dev
#libilmbase-dev is needed for OpenEXR v2 but not for OpenEXR v3
#RUN apt-get -y install libilmbase-dev
RUN apt-get -y install libopenexr-dev

# install developement debugging tools
RUN apt-get -y install valgrind
######### build/install openexr from source
# WORKDIR /usr/src/
# RUN git clone https://github.com/madler/zlib.git
# WORKDIR /usr/src/zlib/build
# RUN cmake ..
# RUN make
# RUN make install

# WORKDIR /usr/src/
# RUN git clone https://github.com/AcademySoftwareFoundation/Imath.git
# WORKDIR /usr/src/Imath/build
# RUN cmake ..
# RUN make
# RUN make install

# WORKDIR /usr/src/
# RUN git clone https://github.com/AcademySoftwareFoundation/openexr.git
# WORKDIR /usr/src/openexr
# #RUN git checkout RB-3.1
# WORKDIR /usr/src/openexr/build
# RUN cmake .. -DBUILD_TESTING=OFF -DOPENEXR_BUILD_TOOLS=OFF -DOPENEXR_INSTALL_EXAMPLES=OFF
# RUN make
# RUN make install

# OpenJPH
WORKDIR /usr/src/openjph/
COPY . .
WORKDIR /usr/src/openjph/build
RUN cmake -DCMAKE_BUILD_TYPE=Release ../
RUN rm -R * || true
RUN cmake -DCMAKE_BUILD_TYPE=Release ../
RUN make
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/src/openjph/bin
RUN make install
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/src/openjph/bin;/usr/local/lib/
ENV PATH=$PATH:/usr/src/openjph/bin

# finalize docker environment
Expand Down
4 changes: 3 additions & 1 deletion build/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
.DS_Store
# Ignore everything in this directory
*
# Except this .gitignore file
!.gitignore
Loading
Loading