Commit Graph
12 Commits
Author SHA1 Message Date
JonRC 6d5e84e7a5 Export: H.264, HEVC and AV1 tag the frames' own colour (#2879)
Every MP4 export said BT.709 whatever the Output color space, in the
colr box and in the bitstream, so Rec. 2020, P3, PQ and HLG renders
were labelled as BT.709.

Move the ProRes colr mapping to output_codes and use it for every movie
path: the nclx colr box, FilmCraft's H.264 ColorConfig (VUI), and new
colour fields in effectcraft-hevcenc (VUI) and effectcraft-av1enc
(color_config), which wrote 1-1-1 as constants. The matrix stays BT.709,
the coefficients every path converts with. Default renders don't change.
2026-11-02 14:11:33 -03:00
Kaedo17 123095b6df export: tag BT.709 limited-range nclx; the ffmpeg oracles pick decoders by name and skip unbuildable fixtures
- Exported HEVC/AV1 nclx says BT.709 and limited range where the pipeline
  means it, matching what the players we tested assume; the round-trip
  tests pin the box values.
- The ffmpeg oracle helpers no longer read the flags column of
  `ffmpeg -decoders` for "is a decoder" — every row of that listing is a
  decoder, and the trailing D there is "supports direct rendering method
  1", which a build's hevc decoder may legitimately lack. Decoders are
  matched by the codec-name column alone.
- Fixtures a given ffmpeg build cannot actually encode (a listed encoder
  that fails at run time: hardware backends without their device, the
  noopenh264 stub) skip with a note instead of failing the run.
2026-10-30 01:30:53 +08:00
Dylan M. Taylor c8994a2cfe Refactor hevcenc for strict Clippy checks 2026-10-28 06:09:21 +00:00
EthanSuquetandClaude Opus 5.5 0f583853ad Untrack crates/hevcenc/target (36 MB of build output) and ignore nested target/
Commit c9d5e733 (M13.4, hevcenc deblocking) committed 207 files under
crates/hevcenc/target/agent-codec-hevc/: an agent's CARGO_TARGET_DIR with
rlibs, rmetas, build-script outputs and .rustc_info.json (~36 MB). They
were tracked because .gitignore only ignored the root `/target`.

- git rm --cached the directory; nothing references it.
- .gitignore: `/target` -> `target/`, so a per-crate or per-agent target
  dir is ignored anywhere in the tree. No tracked file lives under a
  directory named `target`, so nothing else becomes ignored.

The blobs stay in history; this keeps them out of every new checkout and
stops the next agent run from committing more.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 15:02:20 -04:00
Brandon ThomasandClaude Opus 5.5 da3c7a842d Never crash: HEVC encoder without expect()/unreachable!()
Replaces the encoder's 8 expect()/unwrap()/unreachable!() calls with handling that can't
panic: coding-unit decisions without a candidate report an infinite cost, inter helpers
without a reference picture return a neutral result, residual_coding of an all-zero block
writes nothing, the impossible Intra arms are no-ops, and the edge padding of an empty row uses
0 instead of unwrapping. Denies the panic lints in the crate.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 13:23:03 -04:00
Brandon ThomasandClaude Opus 5.5 646d3fa15f M13.4: hevcenc README measurements
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 05:21:39 -04:00
Brandon ThomasandClaude Opus 5.5 76f3f14262 M13.4: hevcenc faster intra mode search, ffprobe stream-info test, tiny sizes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 05:21:28 -04:00
Brandon ThomasandClaude Opus 5.5 31cb2077d4 M13.4: hevcenc clippy precedence fix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 05:19:36 -04:00
Brandon ThomasandClaude Opus 5.5 9e4942592c M13.4: hevcenc sign data hiding, noise / QP 0 tests, README
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 05:19:19 -04:00
Brandon ThomasandClaude Opus 5.5 c9d5e7335e M13.4: hevcenc deblocking filter (in-loop, bit-exact with ffmpeg), scratch buffers, POC-wrap / high-QP tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 05:15:09 -04:00
Brandon ThomasandClaude Opus 5.5 7f97c25c3e M13.4: hevcenc I/P encoder (CABAC, RD CU decisions, intra/merge/AMVP), filmcraft + ffmpeg bit-exact round trips
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 05:05:28 -04:00
Brandon ThomasandClaude Opus 5.5 3a8b401e81 M13.4: hevcenc / av1enc crate skeletons (API contract, layers)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 04:42:12 -04:00