Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
44 changes: 27 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ target_sources(OpenMedia PRIVATE
include/openmedia/result.hpp
include/openmedia/track.hpp
include/openmedia/video.hpp
src/image/icns.cpp
src/util/bit_reader.cpp
src/util/bit_reader.hpp
src/util/cpp.hpp
Expand Down Expand Up @@ -440,23 +441,6 @@ if (OPENMEDIA_PNG)
target_sources(OpenMedia PRIVATE src/image/png_decoder.cpp)
endif ()

if (OPENMEDIA_TIFF)
if (AUI_BOOT)
auib_import(TIFF https://github.com/libsdl-org/libtiff
VERSION f324415f50cb5c90f7712e9dfe69831f5d2ea88d
CMAKE_ARGS -Dtiff-tools=OFF -Dtiff-docs=OFF)
elseif (NOT TARGET TIFF::tiff)
set(tiff-tools OFF)
set(tiff-tests OFF)
set(tiff-contrib OFF)
set(tiff-docs OFF)
add_subdirectory(third_party/external/libtiff)
endif ()
target_link_libraries(OpenMedia PRIVATE TIFF::tiff)
target_sources(OpenMedia PRIVATE src/image/tiff_demuxer.cpp)
target_sources(OpenMedia PRIVATE src/image/tiff_decoder.cpp)
endif ()

if (OPENMEDIA_TGA)
if (AUI_BOOT)
auib_import(tga https://github.com/Nelonn/tga
Expand Down Expand Up @@ -494,6 +478,15 @@ if (OPENMEDIA_DAV1D)
target_compile_definitions(OpenMedia PRIVATE OPENMEDIA_DAV1D)
endif ()

#if (OPENMEDIA_AVIF)
# if (AUI_BOOT)
# auib_import(libavif https://github.com/aomediacodec/libavif
# VERSION 253f0d0f04e771dd94b37682a211b10a9cfe702e
# CMAKE_ARGS -DAVIF_LIBYUV=LOCAL -DAVIF_CODEC_DAV1D_ENABLED=ON)
# endif ()
# target_link_libraries(OpenMedia PRIVATE avif)
#endif ()

if (OPENMEDIA_VPX)
if (AUI_BOOT)
auib_import(vpx https://github.com/Nelonn/libvpx-cmake
Expand Down Expand Up @@ -552,6 +545,23 @@ if (OPENMEDIA_XEVE)
target_compile_definitions(OpenMedia PRIVATE OPENMEDIA_XEVE)
endif ()

if (OPENMEDIA_TIFF)
if (AUI_BOOT)
auib_import(TIFF https://github.com/libsdl-org/libtiff
VERSION f324415f50cb5c90f7712e9dfe69831f5d2ea88d
CMAKE_ARGS -Dtiff-tools=OFF -Dtiff-docs=OFF)
elseif (NOT TARGET TIFF::tiff)
set(tiff-tools OFF)
set(tiff-tests OFF)
set(tiff-contrib OFF)
set(tiff-docs OFF)
add_subdirectory(third_party/external/libtiff)
endif ()
target_link_libraries(OpenMedia PRIVATE TIFF::tiff)
target_sources(OpenMedia PRIVATE src/image/tiff_demuxer.cpp)
target_sources(OpenMedia PRIVATE src/image/tiff_decoder.cpp)
endif ()

if (OPENMEDIA_INSTALL)
include(GNUInstallDirs)

Expand Down
1 change: 1 addition & 0 deletions Options.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ option(OPENMEDIA_WEBP "WEBP" ON)
option(OPENMEDIA_EXR "EXR" OFF)
option(OPENMEDIA_JPEG "JPEG" ON)
option(OPENMEDIA_TGA "TGA" ON)
option(OPENMEDIA_AVIF "AVIF" ON)

# Software Video (royalty)
option(OPENMEDIA_DAV1D "dav1d (AV1 decoder)" ON) # royalty-free
Expand Down
11 changes: 11 additions & 0 deletions include/openmedia/codec_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ OM_ENUM(OMCodecId, uint32_t) {
OM_CODEC_NONE = 0,

// Video codecs
OM_CODEC_RAW_VIDEO = 1,
OM_CODEC_H261 = OM_MAGIC('H261'),
OM_CODEC_H262 = OM_MAGIC('H262'),
OM_CODEC_MPEG2 = OM_CODEC_H262,
Expand Down Expand Up @@ -54,11 +55,21 @@ OM_ENUM(OMCodecId, uint32_t) {
OM_CODEC_DTS = OM_MAGIC('DTS '),
OM_CODEC_AC3 = OM_MAGIC('ac-3'),
OM_CODEC_EAC3 = OM_MAGIC('ec-3'),
OM_CODEC_LC3 = OM_MAGIC('lc3 '),
OM_CODEC_SBC = OM_MAGIC('sbc '),
OM_CODEC_APTX = OM_MAGIC('aptX'),
OM_CODEC_APTX_HD = OM_MAGIC('apXh'),
OM_CODEC_APTX_LL = OM_MAGIC('apXl'),
OM_CODEC_APTX_AD = OM_MAGIC('apXa'),
OM_CODEC_LDAC = OM_MAGIC('ldac'),
OM_CODEC_LHDC = OM_MAGIC('lhdc'),
OM_CODEC_SSC = OM_MAGIC('ssc '),

// Image codecs
OM_CODEC_JPEG = OM_MAGIC('JPEG'),
OM_CODEC_JPEGXL = OM_MAGIC('jxl '),
OM_CODEC_JPEGXR = OM_MAGIC('jxr '),
OM_CODEC_JPEG2000 = OM_MAGIC('jP '),
OM_CODEC_PNG = OM_MAGIC_RAW(0x89, 'P', 'N', 'G'),
OM_CODEC_WEBP = OM_MAGIC('WEBP'),
OM_CODEC_BMP = OM_MAGIC_RAW('B', 'M', 0x00, 0x00),
Expand Down
19 changes: 19 additions & 0 deletions src/codec_defs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,30 @@ auto getCodecMeta(OMCodecId codec_id) -> CodecMeta {
case OM_CODEC_AC3: return {"AC-3", "Dolby Digital", OM_MEDIA_AUDIO};
case OM_CODEC_EAC3:
return {"E-AC-3", "Dolby Digital Plus", OM_MEDIA_AUDIO};
case OM_CODEC_LC3:
return {"LC3", "Low Complexity Communication Codec", OM_MEDIA_AUDIO};
case OM_CODEC_SBC:
return {"SBC", "Subband Coding", OM_MEDIA_AUDIO};
case OM_CODEC_APTX:
return {"aptX", "Qualcomm aptX Audio", OM_MEDIA_AUDIO};
case OM_CODEC_APTX_HD:
return {"aptX HD", "Qualcomm aptX HD High Definition Audio", OM_MEDIA_AUDIO};
case OM_CODEC_APTX_LL:
return {"aptX LL", "Qualcomm aptX Low Latency", OM_MEDIA_AUDIO};
case OM_CODEC_APTX_AD:
return {"aptX Adaptive", "Qualcomm aptX Adaptive", OM_MEDIA_AUDIO};
case OM_CODEC_LDAC:
return {"LDAC", "Sony LDAC Audio Coding", OM_MEDIA_AUDIO};
case OM_CODEC_LHDC:
return {"LHDC", "Low Latency High-Definition Audio Codec", OM_MEDIA_AUDIO};
case OM_CODEC_SSC:
return {"SSC", "Samsung Seamless Codec", OM_MEDIA_AUDIO};

// Image
case OM_CODEC_JPEG: return {"JPEG", "Joint Photographic Experts Group", OM_MEDIA_IMAGE};
case OM_CODEC_JPEGXL: return {"JPEG XL", "JPEG XL", OM_MEDIA_IMAGE};
case OM_CODEC_JPEGXR: return {"JPEG XR", "JPEG Extended Range", OM_MEDIA_IMAGE};
case OM_CODEC_JPEG2000: return {"JPEG 2000", "JPEG 2000", OM_MEDIA_IMAGE};
case static_cast<uint32_t>(OM_CODEC_PNG): return {"PNG", "Portable Network Graphics", OM_MEDIA_IMAGE};
case OM_CODEC_WEBP: return {"WebP", "WebP", OM_MEDIA_IMAGE};
case OM_CODEC_BMP: return {"BMP", "Bitmap", OM_MEDIA_IMAGE};
Expand Down
1 change: 1 addition & 0 deletions src/format_registry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ void registerBuiltInFormats(FormatRegistry* registry) noexcept {
registry->registerFormat(&FORMAT_TGA);
registry->registerFormat(&FORMAT_BMP);
registry->registerFormat(&FORMAT_TIFF);
registry->registerFormat(&FORMAT_ICNS);
}

} // namespace openmedia
1 change: 1 addition & 0 deletions src/formats.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@ extern const FormatDescriptor FORMAT_GIF;
extern const FormatDescriptor FORMAT_TGA;
extern const FormatDescriptor FORMAT_BMP;
extern const FormatDescriptor FORMAT_TIFF;
extern const FormatDescriptor FORMAT_ICNS;

}
Loading
Loading