AVCHD vs. MJPEG debate

Psynema

Well-known member
I know everyone's been clamoring for the MJPEG, but can anyone convince me it's the way to go for the future?

1080P with the 422 hack is a huge strain even on a fast card. It's nice to have better resolution but it still doesn't seem as sharp as AVCHD...yet.

So far I've shot a few clips, probably 30 mins worth of testing with the 1080 24p AVCHD hack and no problems yet - but heard many complain. This is was using a class 6 card too and so far I can play back the files just fine. The only freezing that occurred is when I was trying to play a clip WITHOUT the 24p recording, in the old 29.97 wrapper, so I'm guessing that's the root of most of the complaints, but let me know if there's other conditions - always leary of taking new hack settings on a job.

Right now I have the new GOP hack set at 12 for AVCHD, what's everyone elses?

I tried doing a search, but nothing specific, so I'll ask what's everyone's safe settings for getting the most out of a Class 10 card? Is 80MBit 24p and a GOP of 1 a stretch? How about MJPEG 1080p 24p 422 with the bit rate cranked to 70ish?

Still trying to justify a GH1 vs. a GH2...I think the GH2 so far is worth it just to be done with the FPN and AGC
 
I know everyone's been clamoring for the MJPEG, but can anyone convince me it's the way to go for the future?

1080P with the 422 hack is a huge strain even on a fast card. It's nice to have better resolution but it still doesn't seem as sharp as AVCHD...yet.

So far I've shot a few clips, probably 30 mins worth of testing with the 1080 24p AVCHD hack and no problems yet - but heard many complain. This is was using a class 6 card too and so far I can play back the files just fine. The only freezing that occurred is when I was trying to play a clip WITHOUT the 24p recording, in the old 29.97 wrapper, so I'm guessing that's the root of most of the complaints, but let me know if there's other conditions - always leary of taking new hack settings on a job.

Right now I have the new GOP hack set at 12 for AVCHD, what's everyone elses?

I tried doing a search, but nothing specific, so I'll ask what's everyone's safe settings for getting the most out of a Class 10 card? Is 80MBit 24p and a GOP of 1 a stretch? How about MJPEG 1080p 24p 422 with the bit rate cranked to 70ish?

Still trying to justify a GH1 vs. a GH2...I think the GH2 so far is worth it just to be done with the FPN and AGC
I believe the last consensus that was given was that AVCHD with the hacked bitrates is best over MJPEG for various reasons.
 
I know everyone's been clamoring for the MJPEG, but can anyone convince me it's the way to go for the future?
Horses for courses. :)

Intraframe (MJPEG) and interframe (AVCHD) codecs each have their place.

Personally I've settled on MJPEG for most of my GH1 video, because:

1) Frame-to-frame quality is much more consistent. With AVCHD (unhacked) you are guaranteed only 2 high quality frames per second. The quality of the remaining frames depends on subject matter and shooting style. With MJPEG, all 30 frames per second are compressed individually.

2) Playback and editing are infinitely easier. With AVCHD, you need a hefty CPU to attempt playback, and a lengthy transcoding process before you can edit. With MJPEG, you can whack your SD card in a teeny-tiny netbook and review or edit footage instantly.

With the right subject matter and shooting style, AVCHD can certainly beat MJPEG in quality. For example, still shots, AVCHD will always win, because those 2 frames per second get much more bandwidth than each MJPEG frame. That said, for still shots you would be better off just shooting JPEG or RAW. :)

Bottom line: Each codec has its uses. Use both as appropriate.

J
 
Last edited:
If I am not mistaken, in MJPEG mode, the video comes off the sensor as 1280 x 720 @ 30 fps progressive. Setting a higher resolution merely upscales the video. Setting a lower frame rate drops frames to make up the difference.

The only way to get 1080 on the GH1 is in AVCHD mode. The 1080 video is significantly shaper.
 
If I am not mistaken, in MJPEG mode, the video comes off the sensor as 1280 x 720 @ 30 fps progressive. Setting a higher resolution merely upscales the video.
While this is a common assumption, I'm not aware of any conclusive evidence that the MJPEG video mode uses a native resolution of 1280x720. Since Panasonic has not chosen to disclose the internal algorithms used to scale down the output of the 12 Megapixel sensor, it's still a matter of speculation as to exactly how video frames are produced by the camera. One clue I think is significant, however, is the fact that the MJPEG encoder is configured to handle not only 1280x720, but a variety of resolutions and aspect ratios:

1280x720 - 16:9 aspect ratio
848 x 480 - 16:9 aspect ratio
640 x 480 - 3:2 aspect ratio
320 x 240 - 3:2 aspect ratio

Given these diverse requirements, I'd think it unlikely that Panasonic engineers would select 1280x720 as their reference frame size, and scale down all other video modes from those dimensions. A single, multi-purpose scaling algorithm programmable for any target frame size would require less engineering work and produce higher quality results. The fact that PTool exposes patches that allow MJPEG frame width and height to be directly manipulated provides a strong indication that this is very likely how the firmware is programmed. In practice, the camera appears equally capable of producing any frame size that may be required.
 
The 1080 video is significantly shaper.
Again, it depends on what you are shooting, and how you shoot it.

This topic has been thoroughly confused by folks who take video of still scenes, or scene grabs of keyframes only, and use those to compare the codecs.

If you care, try this: Take some footage of a high-motion scene like crashing surf, or a bush blowing in the wind, or even just a fast pan on a static set, in both MJPEG and AVCHD.

Then take frame captures from the beginning, middle, and end of a GOP.

With AVCHD, the stock GOP is 12. Then they telecine it to 60i. If you hacked your GOP settings, go ahead and use those, it still won't matter. Capture a keyframe, a frame in the middle of the GOP, and a frame at the end.

With MJPEG, GOP is implicitly 1, so it doesn't really matter which frame you look at. Just pick the same times you captured from the AVCHD clip.

Now compare them, and you'll understand why MJPEG is better for variable content.

Like I said, horses for courses. If you can strictly control your set (for low motion) and your shooting style (for low motion), AVCHD has the potential to make some better footage.

But in the real world, for most of us who use a consumer camera like the GH1, it doesn't work out that way. ;)

YMMV.

J
 
With AVCHD, the stock GOP is 12. Then they telecine it to 60i. If you hacked your GOP settings, go ahead and use those, it still won't matter. Capture a keyframe, a frame in the middle of the GOP, and a frame at the end.

With MJPEG, GOP is implicitly 1, so it doesn't really matter which frame you look at.
The stock GOP-length for 1080p24 is actually 15, but I think your points are otherwise well-taken. (GOP-length for interlaced 24p video must be divisible by 5 in order to synchronize the first frame of each GOP with the start of a 3:2 pulldown sequence.)
 
The stock GOP-length for 1080p24 is actually 15, but I think your points are otherwise well-taken. (GOP-length for interlaced 24p video must be divisible by 5 in order to synchronize the first frame of each GOP with the start of a 3:2 pulldown sequence.)
Cool. Personally I haven't analyzed any 1080 files because I don't shoot it. That said...GOP 15 for 24p doesn't make sense to me, since 24 is not divisible by 15. OTOH, 12 is evenly divisible into both 24p and 60i, and represents 2 keyframes/second from the sensor (which according to the manual, shoots at 24p). But whatever. Like you said, my points about AVCHD vs MJPEG are the same, and GOP 15 is even worse than GOP 12 if your scene has any motion.

I have to say...I was SUPER excited about 720p60 AVCHD when I first got the GH1. Then I shot a couple of test scenes outdoors comparing 720p60 AVCHD and 720p30 MJPEG, and the AVCHD was awful. Tons of artifacts in the moving details, and tons of mud in dark areas. Those results make perfect sense if you do the math on speeds & feeds & ratios, but I hadn't done the math up front. Live and learn. Now I only shoot MJPEG 720p30.

I think a lot of folks don't realize that a) h264 was designed to achieve higher quality at very LOW bitrates (like, 1-3Mbps) and b) AVCHD is only a tiny subset of the h264 capabilities, and c) the GH1 does not have anywhere near enough silicon to compress decent subset-h264 in real time.

IMO. I also understand the corporate agendas behind AVCHD and h264. So, flame suit on. :)

J
 
Cool. Personally I haven't analyzed any 1080 files because I don't shoot it. That said...GOP 15 for 24p doesn't make sense to me, since 24 is not divisible by 15...

I have to say...I was SUPER excited about 720p60 AVCHD when I first got the GH1. Then I shot a couple of test scenes outdoors comparing 720p60 AVCHD and 720p30 MJPEG, and the AVCHD was awful... Now I only shoot MJPEG 720p30.
The telecine process effectively converts the 24p video into 30p. It's that sequence that requires a GOP-length divisible by 5.

You may be interested to check out my recently released GH1 patch, with significant enhancements for MJPEG as well as AVCHD modes. The 720p60 encoder produces much better key frames when its peak bitrate is increased to 75Mbps.

75Mbps GH1 Peak Performance Patch
http://www.dvxuser.com/V6/showthread.php?235523-75Mbps-GH1-Peak-Performance-Patch
 
The telecine process effectively converts the 24p video into 30p.
Telecining converts 24p to 60i, not 30p, unless you're talking about some weird mode in the hack tool that I haven't explored?

You may be interested to check out my recently released GH1 patch, with significant enhancements for MJPEG as well as AVCHD modes. The 720p60 encoder produces much better key frames when its peak bitrate is increased to 75Mbps.
I am definitely going to check out your MJPEG settings in the course of some rigorous enhanced-quality MJPEG testing. I posted a long message about this today in the MJPEG Encoder Research thread. If you could take a look at that and add any comments/suggestions from your testing, I would super appreciate your help. Thanks.

Here's an example of mixed AVCHD and MJPEG: http://vimeo.com/12472000 It's easy to spot the MJPEG footage. You can see the pixels. If I wanted to, I could count them to verify that it's 1280 x 720.
I'm downloading the full 1.1GB file as we speak...but from a quick scan...this kind of video is exactly what I was talking about in my above posts.

It is basically a bunch of still scenes at a peaceful Taiwanese temple, shot from a tripod, with a tiny small amount of motion in the subject matter. 5-10% of the scene moves at most. Actually most of the motion is rain, which is going to be blurry no matter what codec you use, so it's irrelevant.

This video is an ideal candidate for AVCHD shooting. Makes you wonder why the shooter posted it as an example of MJPEG instead. :confused:

My first shoot with the GH1 was a bunch of interview taken from a tripod. That was also perfect AVCHD material. Background was static, most of the subject was static, mainly just the lips and eyes contributing motion to the scene.

I'll say this for the third and last time in this thread: horses for courses. AVCHD has an edge with mostly static scenes. MJPEG wallops AVCHD when you have a moving camera and/or moving subject matter. In my experience.

Like I said, I was very excited about 720p60 when I got the camera. Search for my earliest posts here last spring. But then I tested it for myself, and gave up on AVCHD for moving or mixed content.

Most of the tests in this forum appear to be based on static subjects or keyframe screengrabs, with the result that many people think AVCHD outperforms MJPEG. But in most real world cases, in my experience, it does not.

J
J
 
AVCHD. When hacked for 54mBS at GOP 2 or 3 you get stellar images. It will not record black, it stops due to codec error. It will lock up the camera when in deep focus daylight. Just keep iris to one stop less than maximum with an ND filter and add some light diffusion and you will hardly ever get a lock up, what you won't get are the fuzzy color fringing that makes green screens so impossible with mjpeg.
 
Telecining converts 24p to 60i, not 30p, unless you're talking about some weird mode in the hack tool that I haven't explored?
Yes, of course the end result is an interlaced 60i stream. If you de-interlace that stream without removing the 3:2 pulldown, you'll get the 30p stream I referred to. It's that internal stream that requires the GOP-length to be divisible by 5.
 
Yes, of course the end result is an interlaced 60i stream. If you de-interlace that stream without removing the 3:2 pulldown, you'll get the 30p stream I referred to. It's that internal stream that requires the GOP-length to be divisible by 5.
Ah. I get it. Thanks.

What a wonderfully bizarre process. The camera records 24p, then hacks it up into a 30p stream for compression with GOP 15, and tags it for 60i display? And ironically, the guys who just want the plain old nostalgic "filmic" 24p can't get it without inverse telecining, or buying the next camera model.

It's the worst of all worlds for everyone except the product marketers, who can list a bigger number (60) in their specs. :P

Thank god I don't need 1080 for anything. :)

J
 
Here's a video with mixed 1080 and 720: http://www.vimeo.com/13311253 The 1080 has plenty of motion and camera movement, in at least some of the shots. I cannot detect any compression artifacts, softness or "mud". It all looks fabulous to me. If there is some problem with this video that MJPEG corrects, I'd like to know what it is.

The mix of 1080 and 720 in this video lets you easily see just how much sharper 1080 can be.

Keep in mind that though MJPEG can achieve higher bit rates on the GH1 than AVCHD can, AVC is a much more efficient codec than MJPEG, even with the less than optimal implementation in the GH1. I'd have to believe that this AVC is at least twice as efficient, and probably at least five times as efficient. I recognize that MJPEG can make the workflow easier, but I certainly wouldn't want to throw away half the resolution just for a little bit of convenience.
 
Here's a video with mixed 1080 and 720: http://www.vimeo.com/13311253 The 1080 has plenty of motion and camera movement, in at least some of the shots. I cannot detect any compression artifacts, softness or "mud". It all looks fabulous to me.
OK, you win. :kiss:

It is a very pretty video. Very few dads could shoot a video like this with a manual 50mm prime, no image stabilization. I think the girls will be OK with it when they are teenagers. :)

The soft focus and shallow DOF from that lens do help to keep the bitrate in check.

The only artifact that really jumped out at me was the macroblocking on the bottom of the red balls on the trampoline.

I'd love to know exactly what postprocessing he did on this project.


I'd have to believe that this AVC is at least twice as efficient, and probably at least five times as efficient. I recognize that MJPEG can make the workflow easier, but I certainly wouldn't want to throw away half the resolution just for a little bit of convenience.
Think quality, not quantity. 1080p24 has roughly twice as many pixels as 720p30. Forget about all the codec hype for a minute. All else being equal, 2x pixels means higher compression = lower quality at the same bitrate. No way around that. But 720 vs 1080 is really a separate topic. Totally depends on how/where you show your video. Me, 99% of the time I show it on sub-megapixel projectors (1024x768), or from DVDs (720x480), or on the web (even lower). So I could care less about 1080. But that's just me.

J
 
Last edited:
I can't seem to find a thread or even post on this question: while TECHNICALLY (as lpowel has demonstrated), the mjpeg 720p30 --> 720p24 conversion is not true 24p (since it drops frames), has any one done tests as to when, if at all, it is VISUALLY noticeable? Are there circumstances in which, to those that aren't looking hard for it, it will produce an unnatural or aesthetically unwanted result? Ptool simply says it drops every 4th frame. Is this really noticeable? Is the situation with mjpeg 24p akin to how 4:2:2 color space is superior to 4:2:0: technically and in certain conditions (like chroma keying) it is superior, but it works fine under normal conditions? Thanks for any thoughts!
 
Here's a video with mixed 1080 and 720: http://www.vimeo.com/13311253 The 1080 has plenty of motion and camera movement, in at least some of the shots. I cannot detect any compression artifacts, softness or "mud". It all looks fabulous to me. If there is some problem with this video that MJPEG corrects, I'd like to know what it is.

Do you really think this video looks all that great? I personally love the Longshan temple stuff that apparently looks crap, but it's probably on account of the lovely photography and stirring music, not the codec.

The more I compare GH1(3) and GH2 footage, I become more and more convinced to upgrade, and be done with this whole codec and hack setting tomfoolery. The GH2 is producing the nicest DSLR footage out there to my eyes, hack or no, AVCHD or MJPEG.
 
Do you really think this video looks all that great? I personally love the Longshan temple stuff that apparently looks crap, but it's probably on account of the lovely photography and stirring music, not the codec.

The more I compare GH1(3) and GH2 footage, I become more and more convinced to upgrade, and be done with this whole codec and hack setting tomfoolery. The GH2 is producing the nicest DSLR footage out there to my eyes, hack or no, AVCHD or MJPEG.
I agree. I have the GH13 and I love the hack, but the GH2 looks very very nice and at 1/2 the price of the Canon D5mk2 it's a winner.
 
Last edited:
Back
Top