GH1 and GF1 firmware hack for dummies

zcream

Well-known member
The Panasonic GH1/GF1 debuted in 2009 with a sensor in between 16mm and 35mm Academy size. It is approx a 2x crop sensor related to SLR terminology. The short focal distance allows the usage of any lens built for cameras – except the CS-mount lenses. On the dvxuser forums, a Russian hacker tester13 figured out a way to modify the firmware to give custom recording rates – among other goodies. At this point in time, the GH1 has the best recorded image out of ANY camera less than 10K. Here is my article about installing the firmware for noobs.

The previous version of this article appears here.
The article also appears here.


This is a very simple tutorial that will attempt to organize everything for first time users.

Video is essentially a sequence of still images taken 24,25,30,50 or 60 times a second. Also, during a video recording there is a spatial relationship between successive stills. The camera records in 2x formats - AVCHD and MJPEG.

MJPEG records video as a sequence of JPEG stills (also called an intraframe codec). Hence, it can be easily edited on any computer. On the flipside, it is less efficient than AVCHD for storage. Both the GH1/GF1 only record 30p videos in MJPEG.

AVCHD uses the spatial relationship to record each frame as a DIFFERENCE of stills (called an interframe codec). This encoding is called a Group of Pictures (GOP) encoding. So, the sensor takes its snapshots which it passes to the encoder. The encoder takes the first snapshot, saves it as a still, and calls it an I-frame. The next few frames are encoded as a difference frame, encoding only the regions that have changed. These are called P-frames. There are also D and B frames, that are variations on this theme. If there is lots of movement (i.e. foliage on a windy day, or ocean current), the encoder gets stressed trying to calculate P-frames. This causes errors while using your camera. AVCHD can record in 24P, 25P, 50P or 60P.

Finally, we need to understand colorspace. If you have ever painted, you know that all colors are composed of the primary RGB (Red-Blue-Green) spectrum. So, a basic representation of a color image involves at least 3 values for R, G and B. Depending on the color depth (8,16 or 32-bit), this can mean 24, 48 or 96-bits per pixel. That is a LOT of information. Hence, another colorspace is used for encoding stills and video - called YCrCb. The intensity of light on a pixel is called luma, and the color value (a composite of Red, Green, Blue) is called chroma. In practice we only need 3 values, Y (luma) Cr (Y - Red) and Cb (Y-Blue). The value of green can be derived from these 3 values. Now, the human eye is more sensitive to luma than chroma. So, a common scheme is to reduce the sampling for Cr and Cb. This is called 4:2:2 colorspace, where luma is sampled at twice the rate of chroma. A more efficient alternative is to sample Y at twice the rate of Cr and Cr at twice the rate of Cb. This is called 4:2:0 sampling. Obviously 4:2:2 sampling will stress the sensor circuitry and cause more errors.

MJPEG can offer 4:2:2 or 4:2:0 sampling, while AVCHD can only offer 4:2:0 sampling.

Finally we need to understand interlaced vs progressive footage. Consider standard NTSC rates of 60i or 30p. In progressive mode, a sequence of 30 still images are written to disk in 30p mode. In interlaced mode, the encoder reads the odd or even lines on each image. Thus even though the sensor is sending out 30 images each second, the encoder takes each image and encodes the odd lines on odd frames, and even lines on even frames. In interlaced mode, there are 60 calls to the encoder to write 1920x540 resolution images per second. In progressive mode, there are 30 calls to the encoder to write 1920x1080 resolution images per second. Obviously a progressive encoding for the progressive image generated by the sensor is more efficient but also more stressful for the encoder.

Having read this, lets start with the hack. First check this Serial FAQ to see if you can even hack your GH1.

1. Use a Windows PC for this. Things can work with Parallels or other emulators on a mac. Winebottler can cause a problem where the bottom part of the hack utility (with options for various hack settings) is not seen.

2. Download the LATEST version of ptool from here. http://www.gh1-hack.info/ptool3d.zip Unzip it into a GH1-hack directory

3. In the past, we had to modify each individual setting. It was a tedious task to setup a GH1 or GF1. Now we can have multiple settings files that can be used, as long as they are in the same directory as the ptool. Check out the Ptool FAQ and the various settings available.

4. Now I will offer what I do for my shoots. I use AVCHD as its the only choice for 24p/25p footage. 30p is pointless unless all you need is to post videos on Vimeo. There are 3 hacks, available for the GH1 which offer Reliable, Turbo and Extreme modes of the hack. I use 3 cheap SD cards, some 16MB cards I have lying around. Format them in the camera and load 1 setting per card as shown in the FAQ above. Use a sharpie to write down Reliable, Turbo and Extreme. The 3 settings are provided by lpowell.

They are :-
Reliable
Turbo
Extreme

The failure rates are obviously greater for Extreme than Turbo than Reliable. At night, or for places indoors use the Extreme patch. If it does not work, use the Turbo patch. For dense foliage, or clip with running water use the Reliable patch.

5. After recording, you may decide to view the video files for errors or out of curiosity. Please download cbrandin's StreamParser for more fun.
 
Last edited:
Ah...shucks! You got me goooooood! I MUST be a "Dummy" because I got so excited when I saw this! :) (lol) Thanks alot for revealing my TRUE self!
 
The dummies part is not meant to be insulting. This is the procedure I used, and some of gotchas were stuff that I encountered. If someone follows these procedures, its easy to get started on your first hack.
 
Hi you wrote "GH1, 720P at 50p/60p" but in the instructions you sized it to 1440 x 1080
 
1440 resizing works for the 1080p. You can still record 720P. The GH1 allows you to record 720P/50P and 1080P/25P in PAL and 720p/60p and 1080p/24P in NTSC.
This is a simple getting started guide - and if you want to modify the settings for 720P I suggest you follow the links to the other thread with settings for near lossless 720P.
 
I feel smart now..

with C settings with this chart
my bitrate was around 44mbps to 46mbps

MJPEG Settings are the same here but i doing 720 and 422
that was bitrate around 76mbps yo 78mbps
 
Last edited:
Great thread. However, I wouldn't show the 1440x1080 settings to novice users. That is not a 16:9 aspect ratio and the results will make novice users think they broke something. I would just show them high bit rate 1280x720 settings for MJPEG. There are completely stable settings for 720p even with in camera playback.

Oh yea there is also a type-O on point number 1. It should be "go" instead of "do".

Great job!
 
Fixed typo and changed 1440 to 1920 as it does work without 24P/25P or 4:2:2 with Class 10 cards.
 
Last edited:
Good start.

Reading the first time through:

•*Third party battery should be optional. There's no reason anyone needs this if they don't have the third party batteries.

•*You assume that the user must change their firmware number. For those users that haven't already updated to the latest firmware then there's a slightly different set of guidelines.
 
Checking Third Party battery does not harm anyone and it indeed useful. So I would leave it checked. You never know when you may buy or even borrow a third party battery without time to load a new firmware.

In terms of changing the firmware increment num, I want the num entered to be a part of the file name. So, if I save my first GH1 file as *133.bin I am changing the firmware increment to 3. This will skip 2 increments - however, its very easy to make sure what the next increment will be.
Look at the last file you saved, and add 1 to it. So the next increment will be 4.
 
thanks so much for this thread I was JUST about to start my own because I finally got a class 10 card and am ready to do the hack but I'm held up by something, I got through everything but when I came to this part:

AVCHD Settings :-
Click on Video Bitrate Adjustment FHD/SH simplified. In the box at the bottom enter 50000000 (*NOTE* COUNT THE ZEROES. ITS 50 million)

Click on Video Bitrate Adjustment H. In the box at the bottom enter 50000000. (*NOTE* COUNT THE ZEROES. ITS 50 million)

Click on Video Bitrate Adjustment L. In the box at the bottom enter 32000000. (*NOTE* COUNT THE ZEROES. ITS 32 million)

Click on Overall Bitrate Adjustment. In the box at the bottom enter 56000000. (*NOTE* COUNT THE ZEROES. ITS 56 million)

Click on Limiting Bitrate Adjustment. In the box at the bottom enter 60000000. (*NOTE* COUNT THE ZEROES. ITS 60 million)


I don't see any options in my PTOOL v3.36 that says the above...am I just missing something. I see an option that says "Video Bitrate Adjustment Simplified" and underneath it are "Overall Bitrate Adjustment" and underneath that is "Limiting Bitrate Adjustment"

where are the video bitrate adjustment "L" and "H" that you speak of???


Thanks!
 
here's a quick screenshot of where I'm at so you can see that I don't see such settings in my PTOOL
ojecg1.jpg


p.s. one other question. are 24p native ACVHD videos able to be played back IN camera yet?? Or is this still impossible?
6
 
Viewing files in-camera is an off and on sort of a thing. I would recommend going through the sticky threads.
This is an ongoing issue.
 
Viewing files in-camera is an off and on sort of a thing. I would recommend going through the sticky threads.
This is an ongoing issue.
I did go through them though there's so much to read I'm not sure if I remember everything correctly. I was under the impression that high settings on MJPEG mode won't play back in cam but I wasn't sure about AVCHD. But thanks anyway for this thread I am now going to finally hack this puppy and will post results somewhere (8gb sandisk 30mb class 10 here)
 
When should we expect it and what changes is it bringing ?

We should expect it when Vitaly is done with it. The changes are extensive. There is a whole redesign to the interface and some new additional features. Pretty much all of the demonstrations on how to use Ptool will need to be redone for the new version.
 
Back
Top