CineForm

I'm not sure on the I-frame support blu-ray but the data rate is on the edge. There is nothing good or bad about the Canon AVC implementation, it is generic. The I-frames hold the noise signature better, yet the P and B frame blur that way into banding, somewhat intentionally as noise is hard to compress. If you have a static image, it bands less than an image in motion. So if you can shorten your GOP it can help, but adding noise will help make the B and P frames think there is signicant data that need to be preserved, vs blurred into bands. All the AVC encoders are base on the same few library sets, from consumers to the professional tools. The quality is all due to bit-rate allocation decisions that you have too little control over.
 
Thanks again. One more brief question. I have CoreAVC and it's great for speed, but I've noticed it isn't always good for image quality. With that lit underwater footage, CoreAVC plays back the original 5dmii file with horrendous banding, whereas Quicktime, Mainconcept and even ffdshow play the same original 5dmii file without any banding.

And yet, if I understand correctly, you recommend to use CoreAVC together with HD Link or Neo Scene. So is the banding problem I'm seeing something that occurs only during realtime playback with CoreAVC, and not a problem for Neo Scene or HD Link when they are working with CoreAVC to transcode AVC video?
 
I cover the CoreAVC issues on my blog (http://cineform.blogspot.com.) CoreAVC is just a stop gap as we have a new AVCHD deocder id Neo Scene that will be in v4 of Prospect.

Thanks for pointing me to your blog, David, that was very helpful. Anybody else out there who owns a 5dmii and hasn't read it yet, you really should.

So, as you wrote, my problem with CoreAVC introducing banding during playback was fixed when I re-configured its output colors to RGB/0-255. I had that setting on TV/16-235, and as I understand now, CoreAVC does a horrible job of converting 0-255 colors to 16-235. On the other hand, I see now that CoreAVC does an excellent job playing back raw 5dmii movie files in their native 0-255 colors, in terms of appearance and speed. I didn't throw away that $15 after all!

And now I understand that there are actually two aspects to my problem with similar, albeit not quite as horrendous, banding being introduced when I render for blu-ray with Premiere or Encore: 1) the encoder could be introducing banding in the process of converting to 16-235 colors, and/or 2) the encoder could be introducing banding in the process of AVC compression.

I have no idea if it's one, the other, or both, but I get the least banding by importing the 5dmii files directly into Premiere, exporting as elemental uncompressed AVI, importing that into Encore, and doing an export with all settings on maximum quality. Obviously it would be very time consuming and storage hogging to work that way. But for whatever reason, when I take a Cineform format version of that same footage, which I converted from the 5dmii file with Neo Scene, and try to render that to blu-ray, either with Premiere or Encore, I get worse banding.

Have you guys considered adding a professional AVC rendering engine to Prospect, to replace the consumer engine built into Premiere? If you did that, you'd have a complete package for editing blu-ray or other full HD AVC and I for one would be sold.

In the meantime I have found one other AVC encoder that might do a better job. It's a freeware called MeGUI, based on x264. It allows you to control all sorts of AVC parameters, most of which I don't yet understand but surely must matter somehow. And of course it's *achingly* slow. Like, better allot yourself a couple weeks for final rendering. But it might be a good educational exercise for me to try and figure those parameters out. Looks like I might have some test results in by around Thursday. :beer:

- and later -

While MeGUI was racing at the dangerous speed of about 8 hours per minute of footage, I gave this problem a think over and I believe I now understand what's going wrong. Please correct me if you think I'm off target.

The banding I'm seeing when rendering 5dmii files to blu-ray AVC, whether directly or via Cineform format or via what Premiere calls "uncompressed" AVI, is above all a color space conversion problem. AVC compression seems to be exacerbating the problem, but it's not the cause.

If I render from 5dmii to "uncompressed", I can see the banding is already there, before I recompress it to blu-ray AVC.

If I render from 5dmii directly to blu-ray AVC, the banding is somewhat worse.

If I convert from 5dmii to Cineform with Neo Scene, there is no banding (yet). If I edit that Cineform file in Prospect and export it in Cineform format, there is no banding (yet). This demonstrates the value of your conversion to 10-bit color.

However, when I render that Cineform file to blu-ray AVC, I get banding, about as bad as if I had rendered directly from 5dmii to blu-ray AVC. Which leads me to believe that Premiere's and Encore's AVC encoders totally ignore the extra 2 bits of color information in Cineform files, and the end result of this two step conversion, from 5dmii's 0-255 to Cineform's 10-bit then cropped by Adobe during rendering to 8-bit 16-235, is just as crude as the direct conversion of 0-255 to 16-235.

If I'm right, is there a solution to this issue?

- and later still -

After further investigating this issue, I've made a couple discoveries.

I'll start with the one that is very much in Cineform's favor. Quicktime 7.6 for Windows did not really fix the problem with improper conversion of the 5dmii's peculiar color space. What it did was a kluge, which fixes the crushed blacks and lost highlights that we were getting when importing 5dmii files directly into Premiere and some other editors, but introduces a different problem, which is one of the causes of the banding I'm seeing. At least in the case of Premiere CS4 for Windows, the problem is built into the way it treats AVC files. Premiere apparently insists that AVC video restricts its colors to the 16-235 range: no matter which settings I use, or which wrapper I put the AVC data in, Premiere always clips off the color values outside the 16-235 range and stretches the rest out to the 0-255 range in the process of its internal conversion of the AVC's YUV color to the RGB colors that Premiere works in. What Quicktime 7.6 does is compress the Canon 5dmii's colors into the 16-235 range, so that when Premiere clips and stretches them back out again, nothing is clipped and colors are back in roughly the right place, but some are slightly off. You can see the result by importing a 5dmii file directly into Premiere, then switching the source monitor's display mode to RGB parade. You will see black horizontal bands, which represent values in Premiere's internal 0-255 range that are unused: after the QT squish and Premiere stretch, the resulting colors are only approximates of the originals; some of the detail that existed in the original has been eliminated by merging some of the originally different color values into identical values in the imported version of the data, while some of the available values in the 0-255 are skipped over in the imported version. This obviously is a major cause of banding. The only way to avoid this problem with Premiere is to front-end convert the 5dmii files into a different format that preserves the 5dmii's full range and that Premiere won't clip and stretch. So far I've only found two options: Cineform Neo Scene and an awkward combination of CoreAVC, Avisynth and Virtualdub, with which you can convert to uncompressed or lossless 24-bit RGB files for use in rendering and various downscaled formats for proxy editing. I haven't yet investigated whether other editors have the same problem, but I'm pretty sure it's the same story with Vegas for Windows, at least.

Secondly, I've hit a wall trying to solve the other cause of banding when editing Canon 5dmii for blu-ray, which is introduced in the process of re-compressing to blu-ray legal AVC. I've discovered that while MeGUI offers maximum control over AVC paramaters, it accepts only one color space in its input files, YV12. Probably for that reason, and maybe others that I'm not aware of, it produces more banding in full HD than commercial consumer AVC encoders. I also tried Sorenson Squeeze, no better. It appears that all consumer and freeware AVC encoders introduce banding, even if they are fed quality files with Canon's colors fully and correctly represented, such as Cineform's 10-bit codec or RGB 24 files.

I do appreciate your suggestion to add noise to trick the compressor, which might turn out to be the only practical workaround for me. But my aim for now is to find the best possible combination of software for editing for blu-ray, that will produce the best final product with the fewest weaknesses that require hand-kluging to work around.

I understand that the fault is in the way consumer AVC encoders deal with the Cineform format, and not with Cineform's format itself. Maybe I'm out of place telling you what kind of software you ought to work on, but I can't help feel that I could produce a much better final product with Cineform software if Cineform didn't rely on Adobe. But what is the solution to Adobe's (and others') AVC encoding weakness? I can't be the first to have this concern. What do others do? Render to Cineform, and send the footage to a studio that has a pro blu ray encoding system?

Cheers, and thanks in advance for any help you can give on this.
 
Last edited:
Back
Top