Skip to main content

mtkcam-raw

Analyze and patch libmtkcam_metastore.so to expose RAW capture capabilities and RAW16 stream configurations on MediaTek camera HALs.

Install

git clone https://github.com/ReCoreShift/mtkcam-raw.git
cd mtkcam-raw
pip install -e .

Quick start

# Place the stock library in bin/ (or project root)
cp /path/to/stock/libmtkcam_metastore.so bin/

# Patch it with main sensors + RAW16 stream entries
bash bin/patch.sh
# Output: bin/libmtkcam_metastore.patched.so

# Push to device and test
bash bin/test_live.sh

Subcommands

Command Description
inspect Show ELF structure, sections, and segment layout
analyze Find and describe all patch sites per sensor
patch Apply capabilities and/or stream config patches
verify Compare original and patched binary byte-for-byte
gen-config Generate a default patch.toml from a library

Patch configuration (bin/patch.toml)

main_sensors = ["S5KJN1", "S5K3L6"]

tier = ["RAW", "MANUAL_POST_PROCESSING", "PRIVATE_REPROCESSING",
        "READ_SENSOR_SETTINGS_2", "HIGH_SPEED_VIDEO"]

stream = true

[sensor_streams]
S5KJN1 = [{width = 4080, height = 3072}]
S5K3L6 = [{width = 4208, height = 3120}]
Field Description
main_sensors Sensor names that get first priority for cave space
tier Capabilities to append to each sensor's block
stream Whether to append RAW16 stream config entries
sensor_streams Per-sensor stream entries (width, height)

How it works

  1. Capability append — finds each sensor's ANDROID_REQUEST_AVAILABLE_CAPABILITIES init block, appends missing capabilities (RAW, MANUAL_POST_PROCESSING, etc.) via trampolines written into unused ELF gaps (PLT cave or LOAD1–LOAD2 gap).

  2. Stream config append — finds each sensor's ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS init site and appends RAW16 stream entries via trampolines, extending LOAD2 p_filesz/p_memsz as needed.

  3. Space allocation — uses a priority-sorted allocator across three cave types: PLT[0] gap, LOAD1–LOAD2 gap (extended backward), and LOAD2 trailing zero-padding (extended forward).

License

MPL-2.0

Metadata

Release files for mtkcam-raw 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mtkcam-raw 0.1.0
File Size Uploaded
mtkcam_raw-0.1.0.tar.gz 38.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mtkcam-raw 0.1.0
File Interpreter ABI Platform
mtkcam_raw-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 77.2 kB

Release files / mtkcam_raw-0.1.0.tar.gz

Download URL mtkcam_raw-0.1.0.tar.gz
Size 38.3 kB
Tags Source
SHA-256 checksum
How to use checksums
331793b1c07044363b5b3f61794384994ec7c1b8002ad1f679660bf30df9e6ad
BLAKE2b-256 checksum
How to use checksums
b1a7b017703e340a306a529bf0aabee29f51e100ffb23e4b5b1aebef26a21647
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / mtkcam_raw-0.1.0-py3-none-any.whl

Download URL mtkcam_raw-0.1.0-py3-none-any.whl
Size 38.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67aae33ac17ce36e4e44bcfb82c7ecb3e1822948d42bcde63dacc03873116760
BLAKE2b-256 checksum
How to use checksums
334620098fd4a4e492b6f91b66c7310cec72820d947a14e8ffb42dc02f3b85f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page