# CoreMF real-footage demonstration

Produced and checked 2026-10-29. This is the homepage's real input/output example,
separate from the generated-pattern composition demos and the AI integration recipe.

## Footage and rights

- Title: **Bigora waterfall**.
- Creator: **Termininja**; recorded 2024-05-18.
- Source and creator's license declaration:
  [Wikimedia Commons file page](https://commons.wikimedia.org/wiki/File:Bigora_waterfall.webm).
- Footage license: [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/).
- Original download: <https://upload.wikimedia.org/wikipedia/commons/c/c1/Bigora_waterfall.webm>.
- Original SHA-256: `032d3f186ed758c09a62998cff39fd875bdcc98f594f25cb67156f20e86fee83`.

The downloaded original's SHA-1 matches the file page's published identity:
`482e7b2a98cf29615bf5c38286d9bc3e4dd648a0`. The reviewed page revision is 1026030884. [Media rights record](media-rights.json) maps the source, license,
modifications and hashes to the website videos/posters. Copies of the declaration
and CC0 terms are retained with the internal QA evidence.

The homepage uses the first 14 seconds, resized and converted for browser playback.
The circular detail lens samples the same recording, not a second camera or an
AI-generated image. Recorded audio is retained; no tone, narration or music was
added. Titles and graphics are original procedural GLSL, with no third-party
fonts or graphic assets. No footage from the owner's media collection was used. The credit does
not imply endorsement by the creator or Wikimedia.

## Actual processing

1. Stage the original VP9/Opus recording as a 1280×720, 25 fps H.264/AAC input.
2. Run the actual CoreMF API runner with the GPU production compositor. A
   keyframed scene layer adds a gentle zoom; its fragment shader adds a color
   reveal, grading, bloom, a stronger vignette, rising translucent rainbow bubbles with
   sparkling highlights, circular detail lens, animated rim, titles and progress accent.
3. Process recorded audio with CoreAudio gain, then encode/mux video and audio
   to MP4. The lens reuses the same video texture; there is no second input.

Staging uses an available FFmpeg executable; the website distributes media,
not that executable, libraries or an SDK runtime. Commands use POSIX quoting;
pass the same JSON as one argument with the appropriate Windows shell quoting.

```sh
ffmpeg -i source.webm -t 14 -map 0:v:0 -map 0:a:0 \
  -vf scale=1280:720,fps=25 -c:v libx264 -preset fast -crf 24 \
  -pix_fmt yuv420p -c:a aac -b:a 128k -ar 48000 -ac 2 \
  -movflags +faststart waterfall-input.mp4

runAPI -i waterfall-input.mp4 -f glproduction \
  -filter-config @waterfall-gpu.json \
  -af gain -audio-filter-config '{"gain_db":-6}' \
  -o waterfall-gpu.mp4 -p tc -s 1280x720 -r 25 -j waterfall-gpu.graph.json
```

Keep [waterfall-gpu.json](waterfall-gpu.json) and
[waterfall-gpu.frag](waterfall-gpu.frag) together. The configuration requires a
real GPU, disables software rendering and selects a fixed 25 fps timeline.
GPU effects are separate from native CPU H.264 encoding; this is not an
end-to-end GPU-resident or hardware-encoder claim.

The published output is copied directly from CoreMF's completed MP4. It was not
composited or re-encoded afterward with another application. Posters are actual
decoded frames: input at two seconds and output at four seconds. Extraction uses
`ffmpeg -i FILE -ss SECONDS -frames:v 1 POSTER.png`.

## Validation and test conditions

| Check                        | Result                                                                               |
| ---------------------------- | ------------------------------------------------------------------------------------ |
| Input video                  | 14.000 seconds, 1280×720, 25 fps, H.264; 350 decoded frames                          |
| Output video                 | 13.960 seconds, 1280×720, 25 fps, H.264; 349 decoded frames                          |
| Input/output audio           | Stereo AAC, 48 kHz; full error-checked decode passed                                 |
| Input audio duration         | 14.002 seconds                                                                       |
| Output audio duration        | 13.959 seconds                                                                       |
| Configured CoreAudio gain    | −6 dB                                                                                |
| Measured decoded mean levels | Input −18.6 dBFS; output −24.2 dBFS                                                  |
| Visual inspection            | Graded waterfall, circular detail lens, reveal/arc/progress animation and GPU titles |

The output has one fewer frame than the staged input; no frame-for-frame equivalence
is claimed. The measured whole-file audio difference is −5.6 dB; this is not a claim of
exact −6.0 dB decoded gain or sample-identical audio. Input/output AAC endpoints
differ as listed. Validation used `ffprobe -count_frames`, complete
`ffmpeg -v error -xerror -i FILE -f null -` decoding and `volumedetect`.

Runtime: existing Windows x86-64 MSVC Debug development build, Intel UHD Graphics
770, ANGLE D3D11/OpenGL ES, renderer software=0, allowSoftware=0, requireGpu=1.
Logs identify the CoreGL production compositor,
CoreAudio gain and native H.264/AAC encoding. No BYO encoder or AI model was used.

| Artifact            | SHA-256                                                            |
| ------------------- | ------------------------------------------------------------------ |
| CoreMF.dll          | `ca43814a2397d1434d2bf2879994a7c294eef0e76cd79a66eace6ce12e433531` |
| runAPI.exe          | `b46d4c0a3d76f4e896e35c2a6051b0f8b99648e470fcea00cc85d5b8cfa1f881` |
| waterfall-input.mp4 | `459a234618bc98994242db81cc8f1d03c35031f40597f01ee80939c8c456fe6a` |
| waterfall-gpu.mp4   | `0bfdc7d10f26ed78a3990c051cb98c8da39896ebf477201db047d13489114d1e` |

This functional example does not qualify a commercial Windows package, model,
RTC capacity or latency/throughput guarantee. The media's CC0 status does not
change the proprietary CoreMF SDK license or its audited runtime requirements.
