Here you can find my Z Camera E1 firmware reverse-engineering results.
E1 has Ambarella A9 SoC (from GoPro Hero 5 Black) and MN34230 sensor (from Panasonic GH4) on board.
At start E1 runs ThreadX RTOS. Then RTOS starts Linux (second OS for user interface). RTOS does all work with hardware: SD Card I/O, H.264 DSP (hardware-accelerated encoding and decoding video), sensor reading, LCD I/O, etc. Linux shows UI (UI is written on Qt), handles buttons and sends uplevel commands to RTOS through internal socket.
- Bitrates are fixed and all below or equal 60 Mbps. Even bitrate in 4K DCI 24p mode equals 60 Mbps.
- There's no MJPEG capture mode.
- Fixed H.264 GOP structure for each single capturing mode.
- Chroma subsampling is 4:2:0.
- Pixel bit depth for video is 24 bpp (R = 8, G = 8, B = 8), but sensor captures at 30 bpp (R = 10, G = 10, B = 10).
- Compressed AAC sound (128 kb/s).
- You can force MJPEG recording for all modes.
- You can force H.264 100 Mb/s bitrate.
- You can force H.264 GOP size = 1 (All-Intra mode).
- You can force H.264 100 Mb/s bitrate.
- You can force H.264 GOP size = 1 (All-Intra mode).
- You can force H.264 100 Mb/s bitrate.
- You can force H.264 GOP size = 1 (All-Intra mode).
- You can record uncompressed sound in all modes
Each patch is an "autoexec.asc" file. You just place it on the root of your micro-sd card and start E1 with this micro-sd card in it. Patch is applied automatically. If you want to disable patch - just remove "autoexec.asc" from your micro-sd card.
If you need 2 or more patches at the same time, just create you own "autoexec.asc" and copy to it all text from patches you want.