wip: callback wiring
This commit is contained in:
+25
-1
@@ -175,7 +175,31 @@ target_compile_options(bench_flush_frame PRIVATE -O2)
|
||||
# so the standard ctest build doesn't pull in FFmpeg as a hard dep.
|
||||
option(DAEDALUS_BUILD_TOOLS "Build daedalus-decoder CLI tools (requires libavcodec)" OFF)
|
||||
if(DAEDALUS_BUILD_TOOLS)
|
||||
pkg_check_modules(FFMPEG REQUIRED libavcodec libavformat libavutil)
|
||||
# Optional path to a private FFmpeg install carrying the per-MB
|
||||
# inspection callback (marfrit-packages patch 0016). When set,
|
||||
# the CLI links against it instead of the system FFmpeg and the
|
||||
# inspection-callback code path is compiled in.
|
||||
set(DAEDALUS_FFMPEG_PREFIX "" CACHE PATH
|
||||
"Path to a patched FFmpeg install (with 0016 mb-inspect-callback) for daedalus_decode_h264. Empty = use system pkg-config FFmpeg.")
|
||||
|
||||
if(DAEDALUS_FFMPEG_PREFIX)
|
||||
message(STATUS "daedalus_decode_h264: patched FFmpeg at ${DAEDALUS_FFMPEG_PREFIX}")
|
||||
set(FFMPEG_INCLUDE_DIRS ${DAEDALUS_FFMPEG_PREFIX}/include)
|
||||
set(FFMPEG_LIBRARY_DIRS ${DAEDALUS_FFMPEG_PREFIX}/lib)
|
||||
# Patched libavcodec is built static (no shared libs in the private prefix).
|
||||
# System pull-ins are still needed for libav* dependencies.
|
||||
set(FFMPEG_LIBRARIES
|
||||
${DAEDALUS_FFMPEG_PREFIX}/lib/libavformat.a
|
||||
${DAEDALUS_FFMPEG_PREFIX}/lib/libavcodec.a
|
||||
${DAEDALUS_FFMPEG_PREFIX}/lib/libavutil.a
|
||||
${DAEDALUS_FFMPEG_PREFIX}/lib/libswresample.a
|
||||
m z pthread)
|
||||
set(FFMPEG_CFLAGS_OTHER "-DDAEDALUS_HAVE_H264_MB_INSPECT_CB=1")
|
||||
else()
|
||||
pkg_check_modules(FFMPEG REQUIRED libavcodec libavformat libavutil)
|
||||
message(STATUS "daedalus_decode_h264: system FFmpeg (no inspection callback)")
|
||||
endif()
|
||||
|
||||
add_executable(daedalus_decode_h264 tools/daedalus_decode_h264.c)
|
||||
target_link_libraries(daedalus_decode_h264
|
||||
PRIVATE daedalus_decoder ${FFMPEG_LIBRARIES})
|
||||
|
||||
Reference in New Issue
Block a user