ChitraMaya v1.80.00 is out - whole-frame upscaling, custom models (with TensorRT engines on NVIDIA), one-click model setup, a User Guide, and a new home: get.chitramaya.org
Short version: a feature release for all three editions. Whole-frame
upscaling arrives as its own mode (Real-ESRGAN on every GPU, RTX
Super-Res on NVIDIA), any community super-resolution model drops into a
folder and shows up in the scaler dropdowns - and on NVIDIA compiles to
TensorRT engines - Manage Models fetches and compiles the standard model
set with one button, and a fresh install now starts on the settings we
have been recommending. On NVIDIA the 8 GB / 4K story is closed. On AMD,
Temporal Stability works for the first time. There is a User Guide behind
a Help button. Interface in Simplified and Traditional Chinese and Thai.
How to get it
- Download: https://get.chitramaya.org - one edition per GPU
vendor (NVIDIA / AMD Radeon / Intel Arc), every file with its SHA-256.
- NVIDIA is three files (ChitraMaya-install.exe + .7z.001 +
.7z.002) - download all three into one folder, then run the .exe. AMD and
Intel are one .exe each.
- Install into a new, empty folder; never extract over an old
version. Then Manage Models -> Get Models (and on NVIDIA, Compile Models).
- Fresh install for everyone this time - no patch zip (see Downloads at
the end). Copy your models\ folder and ChitraMaya-config.json across
from the old install.
- Source, release notes and the issue tracker:
https://gitlab.com/seatv/chitramaya. The GitHub repositories
are mirrors and may lag; if you linked the old release pages anywhere,
point the link at get.chitramaya.org - it always carries the current
release.
The defaults changed - a fresh install (or Reset Defaults) starts
with Secondary = RTX Super-Res 4x on NVIDIA / Real-ESRGAN 4x on AMD and
Intel, Detection Batch 8, Score 0.20, Temporal Stability 1, Max Clip
Length 180 with Overlap 8 + Crossfade, Feather auto. Your saved settings
still win. A built-in
VR 4K configuration (gear menu) sets Image
Size 800, Max Clip 180 and Split SBS in one click.
New: Upscale - whole-frame upscaling
- Output Upscale (Encoder panel) takes a factor (2x, 4x) or a target
(1080p, 1440p, 2160p) and scales the finished frame before encode -
inside a restoration run, or on its own in the new Upscale mode
(decode -> scale -> encode, no models) for SFW content you just want
bigger. Save Segment writes a marked segment as its own file so you can
judge a scaler on a minute before committing a title.
- What it costs, measured: a 1080p title restored AND upscaled
to 2160p with RTX Super-Res on an RTX 3060 Ti: 6h30m for 2h03m;
upscale-only on a 5060 Ti: 10h02m for 2h41m (61 ms per 4K frame).
Real-ESRGAN whole-frame on the 3060 Ti: 2.1 fps - about 29 hours for
the same title. A 720p title to 2160p with a custom SPAN model on an RX
9060 XT: 10h00m for 2h25m. On the Arc 140V laptop, 4K output runs at
about 1 fps.
- Put plainly: whole-frame upscaling is a clip feature, or an
overnight one. RTX Super-Res is the title-scale path on NVIDIA;
everything else is clips and segments, and on AMD/Intel it is
start-it-and-leave-it. The Scaling Guide (shipped next to the app) has
the full table and recipes.
New: custom super-resolution models - and their engines
- Drop any .pth / .safetensors super-resolution model into
models\upscalers\ - Real-ESRGAN, SPAN, PLKSR, DAT, HAT, OmniSR and some
forty other architectures, identified automatically - and it appears in
both scaler dropdowns. Manage Models has a Custom scalers section (Add /
Rescan / Open / Remove) and names what it could not identify, with a
reason.
- As a Secondary the built-ins remain the recommendation - none of the
community models we measured beat them clearly. The one worth trying is
Philip Hofmann's 4xNomos8k_span_otf_strong: to our eyes a touch
better on skin, and on AMD and Intel it is faster than the
built-in Real-ESRGAN (9% less restore time on a 9060 XT, 18% on an Arc
140V) - SPAN models now run at the speed they were designed for (their
layers are fused once at load; the reference code re-fused them every
frame).
- NVIDIA: compile it once. From the install folder,
ChitraMaya-cli.exe -compile-sr 4xNomos8k_span_otf_strong.pth
--secondary --bench builds TensorRT engines beside the weights and
the app uses them from then on. Measured 2.1x on the whole-frame
upscale: a 66-minute 1080p title restored and upscaled to 2160p on a
3060 Ti, 5h04m with the SPAN engines against 3h42m with RTX Super-Res -
and the SPAN run used 72% of the VRAM where Maxine sat at the ceiling.
Engines are per GPU model; built elsewhere, the model simply runs in
PyTorch.
New: Manage Models does the first setup
- The header button says what comes next: green Get Models on an
empty install (one click fetches lada's and zelefans' models - Hugging
Face or the mainland-China mirror), amber Compile Models on NVIDIA
when an engine is missing for your Image Size / Detection Batch, grey
when everything is in place. On AMD/Intel the compile section is greyed
with the reason.
New: a User Guide - installed next to the app, opens from the
Help button (also at get.chitramaya.org/userguide.html): installing,
models, the workflow, the dials that matter, Process Folder, VR/SBS,
upscaling, Add Mosaic, the output files, memory, what to expect from your
card, troubleshooting. The README is a front door now.
NVIDIA: the 8 GB / 4K story, closed
- Re-decode frame store: no frames are stored between detection
and paste-back; a second NVDEC pass produces each frame when it is due,
so Max Clip Length costs no VRAM or RAM.
- Right-sized detector engines: ~0.4 GB of VRAM instead of
1.6-3.1 GB. Recompile once to get it (Manage Models turns amber until
you do). Detection Batch above the engine's profile is clamped with a
console line, not a crash.
- Result: a 2h20m 4K60 title completes on an 8 GB RTX 3060 Ti over
an x4 link in 5h53m. The "8 GB at 4K" known issue is gone. Crop Cap
(off by default) is the remaining lever for 3,000-px close-ups on small
cards.
- Max Clip Length, measured (10-min 4K60 cut, RTX 3060 12 GB,
six runs): restore time per frame is flat from 90 to 240; a short clip
only costs the join re-work (23% at 90, 12% at 180, 10% at 240), and 300
hit the memory ceiling and slowed the whole run 18%. Same residuals in
every run. Rule: Max Clip = about 3x the frame rate - the new
default 180 at 60 fps, 90 at 30.
- A Process Folder batch of four 1080p titles overnight on an RTX 5060
Ti: 12.4 h, 40-46 fps, four done, no errors.
AMD (ROCm) edition
- Temporal Stability works now. Every previous AMD build ran the
stabilizer in half precision, which on ROCm returns garbage - black
rectangles and waviness in restored regions on some runs. It runs in
fp32 on ROCm now and checks every window it produces; measured clean at
strength 3 on the 9060 XT. On by default at strength 1 like every
edition.
- A guard against damaged frames from the hardware decoder. The
D3D11VA decode path on our 9060 XT (Adrenalin 26.9.1) occasionally
hands over a frame that was never finished - black from a row down, or
green/magenta - right after the decoder had been waiting on a full pipe.
Not our bug, but our picture: the app now checks every decoded frame,
completes an unfinished one from the frame before it, lists the frames
in the run report and ends the run "with warnings". The sure fix is the
new Hardware Decode = Off switch (CPU decode, ~9% slower on our
box). If your earlier AMD outputs had the odd black or green frame, this
was it.
- Restoration FP16 is clean and ~15% faster - your choice. Detection
stays FP32 on this edition by design. Real-ESRGAN is the default
Secondary; the SPAN model above is faster. Custom-scaler engines are
NVIDIA-only.
- Measured on the 9060 XT: the full quality stack on a 17 s 1080p cut,
42-51 s (11.8-14.3 fps); a dense 1080p60 clip of 7,883 frames,
13m34s. [[THE FULL TITLE ON 1.80.00 - or drop]]
Intel Arc edition
- The benchmark title on the Arc 140V laptop iGPU with the full stack
(Temporal Stability 3, Real-ESRGAN, AV1 via Quick Sync): 10h08m =
0.265x realtime, up from 14h14m in 1.70 - about 1.6x a desktop RTX
4060 in PyTorch. The pace held all night on a laptop. 4K output runs at
~1 fps there (the frames' trip to the encoder is the wall), so keep
titles at native resolution on the iGPU.
All editions
- Overlap + Crossfade at Max Clip cuts - a clip cut by Max Clip
continues in the next with its last frames re-restored as a lead-in and
the seam faded (Jasna's idea, on our tracker). Face Swap blend
feathers outward - every mosaic pixel fully replaced, soft edge into
clean skin; the edge-irregularity known issue is gone.
- The VRAM preflight asks before the run: if the estimate says
it will not fit, the dialog offers to set the levers that do (Crop Cap,
Async off, Detection Batch, Max Clip, Secondary) in plain view and start.
- Runs that need your attention say so: DONE WITH WARNINGS in
the console, "Complete - with N warnings" in the app, the reasons in the
run report. A clean run is unchanged. The output is read back and
verified before "Done"; the salvage files stay until it is.
- Run report <name>.run.json beside every output: what was asked
vs what actually ran (which decoder, encoder, scaler, precision),
timings, VRAM ledger, counts, the frames the guards touched, and a
residual scan - the detector looks at the output and reports any
mosaic still visible. Output suffix and a Run Files switch are yours.
- Fixed: a source with a picture glued in front of the stream lost
its audio. Some captures carry a tiny PNG header ahead of an intact
MPEG-TS; ffprobe calls the file an image, finds no audio, and every
earlier version wrote a silent output (and your player says "no audio"
on the source too). The container is now forced from the extension and
the audio is kept.
- Scaler Quality for RTX Super-Res; Region Margin under Detection;
watchdog GPU sampler with a paging detector; one-pass finalize (the
"large outputs lose the remux" issue is gone); timestamped console logs;
the 29.97-stamped-as-30 audio drift fixed.
- Interface in Simplified Chinese, Traditional Chinese (community
translations) and Thai (machine draft, marked). Model downloads via
hf-mirror.com for mainland China.
- Image Size rule of thumb from a 640-vs-800 benchmark: 800 for 4K
and VR/SBS, 640 for 1080p - at 1080p it changed nothing at 15% more
detection time.
Known issues: the AMD decode-guard item above (Off is the sure
fix); the RTX whole-frame scaler takes its Quality/Denoise from the
Secondary's controls (leave them at high/none for upscaling, own controls
planned); AMD/Intel 4K transport still slow; a thin mosaic sliver at the
frame edge can be missed (the residual scan reports it); a zero-frame
run self-grades complete; HEVC sources may show a black in-app player
(install the HEVC Video Extensions); three run-time button texts not yet
translated.
Downloads -
https://get.chitramaya.org, one edition per
GPU vendor, they are separate, SHA-256 beside every file:
- NVIDIA: three files (.exe + .7z.001 + .7z.002, all into one folder).
Fresh install for everyone this time - no patch zip (patches are
built against the previous release's download, which the GitHub outage
took with it; they return next release). Copy models\ and
ChitraMaya-config.json from the old folder; recompile the detection
model once afterwards.
- AMD: ChitraMaya-rocm-install.exe (single file, install into a new
folder; Adrenalin 26.2.2+).
- Intel Arc: ChitraMaya-xpu-install.exe (single file).
Full release notes on the GitLab Releases page (gitlab.com/seatv/chitramaya);
the User Guide and the Scaling Guide ship with every edition and are on
the download page. Bugs: the GitLab issue tracker - attach the run.json
and the console log, never frames. Custom models are in progress and will
be published with measurements - restoration, not generation. As always:
AGPL, no money, if it is useful to you give something to Save the
Children.