Inside the Panasonic GH1

Progress continues on the new GH1 custom firmware by Vitaliy K or ‘tester13’ as he’s know in the community.

The developer has succeeded in enabling native 24p 1080p recording to the SD card. However the native 24p files cannot be played back on the camera yet. Previously the GH1 recorded 24p 1080p in a 60i stream, which needed pulldown and reverse telecline to get the native 24p stream back out before editing footage.

With his understanding of the GH1’s deepening, Vitaliy has also got some useful insights into how the camera works and why it is designed the way it is – including how the GH1’s sensor is scanned, more on that later in the article.

Good news has arrived for owners of both PAL and Japanese NTSC cameras – a patch to enable English language menus on the Japanese model is part of the firmware update, and the 30min clip length limit has been removed for the PAL model.

24p patches for 720p AVCHD and MJPEG modes have been made, although the developer believes the camera is still recording in 30p and just dropping frames.

All this has been achieved without the developer having any access to a GH1 camera body. He adjusts the firmware code and sends the patches out directly into the community for testing, although a GH1 is on it’s way to him as we speak. This should speed up development even further, and possibly even make the harder stuff like live HDMI out (if possible) and a solution to ‘mud’ more within reach.

The developer currently believes that AVCHD ‘mud’ on fast camera movement or scenes with high detail (like grass, foliage & trees – any highly textured scenes shot with a deep depth of field) is due to a firmware bug. Analysis shows a spike in ‘P’ frames every so often. In a Long GOP codec like AVCHD, P frames are frames which predict movement and change in a video clip, and help to save space on the card. The GH1 has a ‘quality estimation routine’ which seems to get it wrong every now and again, causing a spike in P frames and a lot of wasted space / resources at that moment.

Vitaliy believes upping the AVCHD bit rate to 28Mbit would help, as the quality estimator would reach it’s limits later rather than earlier. He believes at least 24Mbit is possible with the GH1’s hardware. It is confusing to me why Panasonic haven’t themselves addressed this bug and even more so let it onto the market in the first place. Maybe there isn’t a conspiracy and as Vitaliy reverses the firmware further, he may hit the same wall as the Panasonic software engineers did.

The custom firmware also makes the GH1 multi-region, with adjustable PAL / NTSC frame rates like on the Canon 7D. In doing this Vitaliy got an insight quite deep into the hardware, relating to how the sensor itself is read…

Apparently the read speed of the sensor is made ‘just so’, so that X_Resolution*Y_Resolution*FPS = constant

The scanning window of the sensor changes between 1280x720p60 (NTSC) and 1280x720p50 (PAL) to achieve the different frame rates. That means, to achieve 1280×720 at 50fps instead of 60p on the NTSC model, X resolution is actually reduced and you get a slightly narrower field of view.

This may explain why the GH1 has an unusual aspect ratio sensor – extra width over 4:3 aspect ratio sensors (more like a 16:9 and 4:3 hybrid).

Also, the sensor scanning data rate of full HD is actually very similar on the sensor to 720p 60p.

1280x720x60 = 55,296,000
1920x1080x24 = 49,766,400

The ‘real’ horizontal resolutions are therefore nothing like 1280 and 1920 – to achieve the constant data rate and scanning speed – more likely a bit less than 1280 to achieve 60p.

This also suggests that any combination of resolution and frame rate can be achieved within any window of the sensor as long as it equals the sensor data rate. Unfortunately any resolution higher than 1920x1080p would reduce the frame rate below 24p and any frame rate higher than 60p would reduce resolution. 1920x1080p 60p for example, would be impossible until the sensor readout / scanning speed is increased. Ditto for 720p at 120fps.

What may be useful is a new setting for c-mount lenses that vignette on the full sensor which scans a smaller proportion of the sensor window. Currently such a feature already exists within the GH1’s menus – the 2x and 4x crop mode, but this seems to dramatically reduce image quality, introducing a lot of jaggies.