feat: add shared TTY progress bars for ZED offline tools

Extract the tqdm-like stderr progress bar into a shared helper and reuse it across zed_svo_to_mp4, zed_svo_grid_to_mp4, and zed_svo_to_mcap.

For zed_svo_to_mcap, single-source exports now report exact frame totals and bundled multi-camera exports report exact synced-group totals on TTY. When bundled mode runs without --end-frame, the tool performs a counting pass first so the progress total remains exact instead of estimated.

Also document the bundled MCAP progress behavior in the README and record the current third_party dependency state in third_party/README. That note now makes it explicit that CLI11 and proxy are the active submodules, while tomlplusplus and mcap are vendored source drops, and adds a TODO to revisit converting mcap into a submodule later.

Verified with the Debug build during implementation, including single-camera and bundled zed_svo_to_mcap runs that rendered clean progress output to a TTY.
This commit is contained in:
2026-03-20 10:19:19 +00:00
parent 039379f5fe
commit 1369f5235d
10 changed files with 307 additions and 135 deletions
+11
View File
@@ -356,6 +356,14 @@ set_target_properties(mcap_replay_tester PROPERTIES
set(CVMMAP_STREAMER_INSTALL_TARGETS cvmmap_streamer)
if (CVMMAP_HAS_ZED_SDK)
add_library(
cvmmap_streamer_zed_progress_support
STATIC
src/tools/zed_progress_bar.cpp)
target_include_directories(cvmmap_streamer_zed_progress_support
PUBLIC
"${CMAKE_CURRENT_LIST_DIR}/include"
"${CMAKE_CURRENT_BINARY_DIR}")
add_executable(
zed_svo_to_mcap
src/tools/zed_svo_to_mcap.cpp
@@ -372,6 +380,7 @@ if (CVMMAP_HAS_ZED_SDK)
${CUDA_LIBRARY_DIRS})
target_link_libraries(zed_svo_to_mcap
PRIVATE
cvmmap_streamer_zed_progress_support
cvmmap_streamer_record_support
CLI11::CLI11
tomlplusplus::tomlplusplus
@@ -421,6 +430,7 @@ if (CVMMAP_HAS_ZED_SDK)
target_link_libraries(zed_svo_to_mp4
PRIVATE
CLI11::CLI11
cvmmap_streamer_zed_progress_support
cvmmap_streamer_zed_svo_mp4_support
${ZED_LIBRARIES}
${CUDA_CUDA_LIBRARY}
@@ -453,6 +463,7 @@ if (CVMMAP_HAS_ZED_SDK)
target_link_libraries(zed_svo_grid_to_mp4
PRIVATE
CLI11::CLI11
cvmmap_streamer_zed_progress_support
cvmmap_streamer_zed_svo_mp4_support
${ZED_LIBRARIES}
${CUDA_CUDA_LIBRARY}