Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
34be26e
refactor media_object is_audio flag into media type enum
Reithan Jul 23, 2026
04df7a2
add video fields to generation_inputs and load_model_inputs contract
Reithan Jul 23, 2026
60adf8b
marshal videos genparam into generation_inputs struct
Reithan Jul 23, 2026
3001653
populate video media_objects and skip video eval safely in gpttype_ad…
Reithan Jul 23, 2026
72b1b34
enable MTMD_VIDEO and probe video capability at load
Reithan Jul 23, 2026
c7deb62
accept video content parts in chat completions paths
Reithan Jul 23, 2026
4a5963d
add video input CLI flags and budget warning
Reithan Jul 23, 2026
da1673f
reword --videomaxframes help as a sampling budget, not a truncation cap
Reithan Jul 23, 2026
e987786
implement MTMD_VIDEO frame-streaming eval path in PrepareMediaEmbds
Reithan Jul 23, 2026
6b15f41
downsample video fps to fit frame budget instead of truncating
Reithan Jul 23, 2026
fb9d839
hash media items for cache signature instead of concatenating base64
Reithan Jul 23, 2026
757001a
cap attached videos before placeholder numbering and warn on drop
Reithan Jul 23, 2026
cb00e58
enforce videomintokens by upscaling undersized video frames
Reithan Jul 23, 2026
6d9520e
document why fnv1a64_hex is implemented locally
Reithan Jul 23, 2026
afc2b34
keep most recent videos when capping, drop oldest
Reithan Jul 23, 2026
12c84fb
set mtmd_input_text text_len on all media tokenize calls to fix lost …
Reithan Jul 23, 2026
a947ccf
note maxrequestsize limit on video attachments at model load
Reithan Jul 23, 2026
296b16d
decode video via temp file to avoid ffmpeg feeder-thread teardown dea…
Reithan Jul 23, 2026
d2e19a4
aim downsampled fps so the last frame lands inside the frame budget
Reithan Jul 23, 2026
e2cac91
probe container duration to downsample videos lacking stream metadata
Reithan Jul 23, 2026
7c9e5f7
respect quiet mode in video pipeline logging
Reithan Jul 23, 2026
d31c7ff
add TODO outlining future video audio-track embedding
Reithan Jul 23, 2026
0435a5d
reformat video timestamps to MM:SS and append duration note for model…
Reithan Jul 23, 2026
141e72f
filter llama core log spam during media generations per quiet/debug t…
Reithan Jul 23, 2026
88effd2
budget media context by real KV cell counts instead of position advance
Reithan Jul 24, 2026
ad39eb5
cap video frame resolution and frame count by context KV cell budget
Reithan Jul 24, 2026
88b0011
calibrate video frame resolution from measured first-frame cell cost
Reithan Jul 24, 2026
ec16b8d
iterate frame resolution calibration via interpolation search on meas…
Reithan Jul 24, 2026
6c91637
make frame resolution calibration bidirectional with bracketed probes
Reithan Jul 24, 2026
bd5fe4b
Merge branch 'concedo_experimental' into add-video-input-for-vlm-infe…
LostRuins Jul 24, 2026
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
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ add_compile_definitions(GGML_USE_CPU_REPACK)
add_compile_definitions(GGML_USE_RPC)
add_compile_definitions(NOMINMAX)
add_compile_definitions(_REGEX_MAX_STACK_COUNT=5000)
add_compile_definitions(MTMD_VIDEO)

if (GGML_HIP_FORCE_ROCWMMA_FATTN_GFX12)
add_compile_definitions(GGML_HIP_ROCWMMA_FATTN_GFX12)
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ CFLAGS += -fsanitize=undefined -fsanitize-undefined-trap-on-error
CXXFLAGS += -fsanitize=undefined -fsanitize-undefined-trap-on-error
endif
CFLAGS += -I. -Iggml/include -Iggml/src -Iggml/src/ggml-cpu -Iinclude -Isrc -I./common -I./vendor -I./vendor/stb -I./include -I./otherarch -I./otherarch/tools -I./otherarch/sdcpp -I./otherarch/ttscpp/include -I./otherarch/ttscpp/src -I./otherarch/qwen3tts -I./otherarch/sdcpp/thirdparty -I./include/vulkan -O3 -fno-finite-math-only -std=c11 -fPIC -DLOG_DISABLE_LOGS -D_GNU_SOURCE -DGGML_USE_CPU -DGGML_USE_CPU_REPACK -DGGML_USE_RPC
CXXFLAGS += -I. -Iggml/include -Iggml/src -Iggml/src/ggml-cpu -Iinclude -Isrc -I./common -I./vendor -I./vendor/stb -I./include -I./otherarch -I./otherarch/tools -I./otherarch/sdcpp -I./otherarch/ttscpp/include -I./otherarch/ttscpp/src -I./otherarch/qwen3tts -I./otherarch/sdcpp/thirdparty -I./include/vulkan -O3 -fno-finite-math-only -std=c++17 -fPIC -DLOG_DISABLE_LOGS -D_GNU_SOURCE -DGGML_USE_CPU -DGGML_USE_CPU_REPACK -DGGML_USE_RPC
CXXFLAGS += -I. -Iggml/include -Iggml/src -Iggml/src/ggml-cpu -Iinclude -Isrc -I./common -I./vendor -I./vendor/stb -I./include -I./otherarch -I./otherarch/tools -I./otherarch/sdcpp -I./otherarch/ttscpp/include -I./otherarch/ttscpp/src -I./otherarch/qwen3tts -I./otherarch/sdcpp/thirdparty -I./include/vulkan -O3 -fno-finite-math-only -std=c++17 -fPIC -DLOG_DISABLE_LOGS -D_GNU_SOURCE -DGGML_USE_CPU -DGGML_USE_CPU_REPACK -DGGML_USE_RPC -DMTMD_VIDEO

ifndef KCPP_DEBUG
CFLAGS += -DNDEBUG -s
Expand Down
7 changes: 7 additions & 0 deletions embd_res/kcpp_docs.embd
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,13 @@
"type": "string"
}
},
"videos": {
"description": "KoboldCpp ONLY. If set, takes an array of up to 2 base64 encoded strings, each one representing a video to be processed.",
"type": "array",
"items": {
"type": "string"
}
},
"trim_stop": {
"default": true,
"description": "KoboldCpp ONLY. If true, also removes detected stop_sequences from the output and truncates all text after them. If false, output will also include stop sequence and potentially a few additional characters.",
Expand Down
7 changes: 7 additions & 0 deletions expose.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ struct load_model_inputs
const int visionmaxres = 2048;
const int visionmintokens = -1;
const int visionmaxtokens = -1;
const int videomaxframes = 32;
const float videofps = 2.0f;
const int videomintokens = -1;
const int videomaxtokens = -1;
const char * ffmpegpath = "";
const bool use_mmap = false;
const bool use_mlock = false;
const bool use_mtp = false;
Expand Down Expand Up @@ -100,6 +105,8 @@ struct generation_inputs
const char ** images = nullptr;
const int audio_len = 0;
const char ** audio = nullptr;
const int videos_len = 0;
const char ** videos = nullptr;
const int max_context_length = 0;
const int max_length = 0;
const float temperature = 0.0f;
Expand Down
Loading