View Full Version : Premiere Pro CS4 solution
Thane Brooker February 23rd, 2009, 11:13 AM Requirements
1. Smooth real-time editing on a mid-range laptop.
2. Final output is as faithful to source as possible, no unnecessary conversions to/from RGB.
3. Final output is stored lossless, so can be re-used in future Premiere Pro projects without degradation.
4. Final output is 10-bit, to preserve fidelity of 32-bit processing in Premiere Pro.
5. Full dynamic colour range available within Premiere Pro. Using 32-bit filters like ProcAmp should bring the 0-15 superblacks and 236-255 superwhites into range.
6. Edit using correct colorspace (BT.709).
7. If using proxy files, color rendition should be good enough for reasonable accurate color matching, with final tweaking using original files just prior to final render if required.
8. Free.
9. Stable and reliable. Certainly no crashing expected during the editing part.
10. Any processes should be batched, so a project with 3 .mov files in the workflow should take as many clicks/button presses as a project with 100 .mov files.
Now, before I reveal the hideousness of my workflow, let me say that as far as I can tell, it meets ALL the above requirements including YUY2 editing end-to-end.
Theory
In brief, I'm using NTSC DV Widescreen files as proxy files for editing. Because they are YUY2 I can access the full dynamic range, even during proxy editing. And because they are native to Premiere Pro CS4, editing is fast, smooth and reliable. To avoid 30fps to 29.97fps conversion issues, I'm not throwing away any frames but instead I'm editing 5D files ~0.01% slower than real-time. I work on a NTSC DV Widescreen timeline sequence, and when I'm ready to render I simply copy everything to a Desktop 1920x1080 29.97fps timeline sequence. Then I switch the NTSC DV Widescreen proxy files with uncompressed YUY2 .avi files and render the final output. Because both files are .avi, it is easy to switch simply by renaming a single folder. I render my output in lossless 10-bit V210 format (for use in other Premiere Pro projects). Lastly, I do a target format conversion (at the same time bringing the fps back to 30, and if necessary converting to 24fps, etc).
Cons
1. A few additional steps (although it doesn't actually take too long once you get used to it).
2. Render time. Although it is largely automated, so you can click and leave.
3. DISK SPACE. For every 50Mb source file, you need approx 1.5Gb of uncompressed YUY2 and 50Mb of DV NTSC proxy. Also, for the final V210 render you need approx 2Gb for every 50Mb of DV equivalent output file (there is a reason why I'm using uncompressed avi instead of a lossless codec like Lagarith, see notes below). However, the majority of the disks don't need to be fast as these large files are not used in real-time.
The Solution
Tools needed
1. AVISynth
2. VirtualDub
3. FFDShow
4. AVISynth Batch Scripter
5. Premiere avisynth import filter
Organising the files
1. Create 4 folders: original, signpost, master, proxy.
2. Move or copy the 5D .mov files you want to edit into original.
3. Use AVISynth Batch Scripter to scan the original folder and create an .avs file in the signpost folder for each .mov file in the original folder. The script template window should look like this (there is a reason for the 709-601 conversion, see notes below):
DirectShowSource("%PATH%\%CLIP%.%EXT%", fps=30, convertfps=false).assumefps(29.97, false)
ColorMatrix(mode="Rec.709->Rec.601", clamp=0, inputFR=true, outputFR=true)
Converting the 5D files to a YUY2 format Premiere Pro can import properly
4. Ensure FFDShow is the decoder in use and is outputing ONLY YUY2.
5. Load VirtualDub and create a new job to process everything in the signpost folder. Output each .avs file using Direct Stream Copy to an .avi file in the master folder.
You can now delete the signpost folder.
Create the high-speed proxy files
6. Using Adobe Media Encoder, transcode all files in the master folder to NTSC Widescreen DV format. Output these files to the proxy folder. Ensure the source and target filenames are the same and just the output folder differs.
Edit
7. In Premiere Pro, create an NTSC Widescreen DV sequence and edit using the DV proxy files in the proxy folder. Ensure the "Render at maximum bit-depth" option is ticked to work with the superblacks and superwhites.
You only need the proxy folder at this stage, so can copy to a laptop if required.
Create 10-bit archive output
8. Create a new timeline sequence 1920x1080 square, 29.97fps. Select all and copy from the NTSC timeline to the new timeline.
9. Close Premiere Pro. Rename the proxy folder proxy_old. Reload your project. Premiere pro will ask for the location of the first .avi file, point it at the master folder. It will automatically re-link the remaining files.
10. Export as uncompressed AVI, V210 1920x1080, 29.97fps.
Make a note that the archive file is encoded incorrectly at 29.97 instead of 30.
Convert 10-bit archive output to required format
11. Use AVISynth and VirtualDUB (or your preferred encoder) to convert the V210 archive file back to 30fps and the the required format. You can use "Premiere avisynth import filter" along with Adobe Media Encoder, although be careful that an unnecessary YUY2>RGB>YUY2 conversion isn't introduced. Example AVISynth script:
DirectShowSource("v210_archive_file.avi", fps=29.97, convertfps=false).assumefps(30, false)
ConvertFPS(24) (if required)
Notes
1. In order to access superblacks and superwhites, PPro needs the input file to be in YUY2 format AND in one of the limited codecs it understands. The only lossless codec I could get to work was uncompressed avi. If you are happy to work in RGB (and work with the squashed 16-235 contrast resolution) you can use Lagarith Lossless, or even Premiere avisynth import filter to save a LOT of disk space.
2. Premiere Pro seems to assume YUY2 streams are ITU BT.601, regardless of whether they are actually 601 or 709. So assuming the file that comes out of the 5D is 709, I do an initial conversion to 601 to give Premiere Pro what it wants.
3. Uncompressed AVI is the only lossless format I can find that Premiere Pro outputs to in YUY2 format. I tried Lagareth, etc, but Premiere seems to do a conversion to RGB even though the target stream is YUY2 capable. If you're working in RGB format, you can output direct to Lagareth RGB format and save disk space here too.
4. I tried CoreAVC instead of FFDShow but I had some issues with the picture being shifted vertically by a few pixels.
5. Using Quicktime Pro to convert an original .mov file to .mp4 nearly worked, but a) there is no batch process option and b) Premiere interprets the pixel aspect ratio incorrectly. Even after manually correcting the pixel aspect ration to 1.0, there were some additional pixels visible on each side of the frame.
So why don't I just use Cineform?
Actually, I would like to, but at the moment:
1) The cheapest Neo Scene product has a built-in 5D decoder, and it (correctly) outputs full range in the cineform file. This is no good because...
2) They haven't finished the CS4 importer, so Premiere Pro (incorrectly) doesn't acknowledge the superblacks and superwhites exist.
3) The more expensive Cinefrom products with HDLink allow use of an external decoder to feed the cineform file, so I could work with squashed 16-235 RGB. But that defeats the object of paying a premium for the 10-bit Cineform format.
4) Prospect, which allows native Cineform editing within Premiere, isn't available for CS4 yet.
Also, Cineform is almost lossless, but not quite.
Tomaso Perrone February 23rd, 2009, 02:54 PM Great posting - someone should sticky
Marc Fairorth February 23rd, 2009, 07:22 PM Thank you Thane. Very helpful post.
Ramesh Singh February 24th, 2009, 01:05 AM Thank you for writing in detail.
I had a couple of questions,
CoreAVC doesn't output to 0-255 even if you have enabled the button, how do you determine what color level is in video? Histogram?
Do you do any color correction with 5DII files? HDRAGC?
Why use PPro when you already know how to use Avisynth :D
Thane Brooker February 24th, 2009, 05:38 AM CoreAVC doesn't output to 0-255 even if you have enabled the button
The output 0-255/16-235 option only affects non RGB outputs.
Bring a YUY2 0-255 file into PPro and the picture will initially look clipped, but you can bring the clipped areas into range using ProcAmp (provided Premiere understands the codec - try this with Lagarith or current Cineform and the <0 and >100 level data is missing).
Bring a YUY2 16-235 file into PPro and the entire contrast range will be within levels 0-100. The picture won't be clipped. However, you've got less contrast resolution to play with.
If you bring an RGB file into PPro, it doesn't matter whether you selected 0-255 or 16-235 output; conversions to RGB are always 16-235. Ditto for FFDShow - the Contrast Range option only affects input levels, output levels to RGB are always 16-235.
If you want to see the detail you lose going from 0-255 to 16-235, try this.
1. Get a copy of a video player that works with the Haali Video Renderer (included with Haali Video Splitter). I use Zoom Player, but Media Player Classic may work.
2. Ensure you're using CoreAVC with output YUY2 and levels 0-255. Set the Haali Video Renderer to levels 0-255.
3. View a frame and take a screen-capture. Bring into Photoshop.
4. Ensure you're using CoreAVC with output YUY2 and levels 16-235. Set the Haali Video Renderer to levels 16-235.
5. View the same frame and take a screen-capture. Bring into Photoshop as another layer.
6. Switch between the two; you'll see a subtle difference.
Of course, if you never do any color matching or level tweaking and you're simply cutting and joining clips for output to DVD, then it is probably easier to work in 16-235 from start to finish. Plus, your file sizes will be slightly smaller! Original: 63.7Mb, Lagarith YUY2 16-235: 285Mb, Lagarith YUY2 0-255: 300Mb, Uncompressed YUY2 0-255: 1.53Gb.
This also explains why Windows Media Player (v11 on Vista, don't know about XP or other versions) will clip unless you send it either a 16-235 level YUY2/YV12 stream or an RGB stream. It clips because the video renderer WMP uses, unlike Haali Video Renderer which is switchable, always assumes input to be 16-235. It is worth noting that Windows Media Player does not display 5D files in their full 0-255 glory!
how do you determine what color level is in video? Histogram?
I mainly use the RGB Parade.
Do you do any color correction with 5DII files? HDRAGC?
Not yet, I've been too busy figuring all this out to actually shoot anything! But I will, because it is an excuse to buy a new Plasma (just so I can check my levels on various devices, you understand).
Why use PPro when you already know how to use Avisynth :D
:D For the same reason I use InDesign even though I know how to use LaTeX :D
Thane Brooker February 24th, 2009, 10:05 AM If I'm working on a project where I'm not bothered about losing some contrast range, i.e. I'm happy to work within the 16-235 legal levels, then I use the following workflow instead and save an enormous amount of rendering time and disk space:
Tools needed
1. AVISynth
2. VirtualDub
3. FFDShow
4. AVISynth Batch Scripter
5. Premiere avisynth import filter
6. Lagarith Lossless Video Codec
Organising the files
1. Create 4 folders: original, signpost, master, proxy.
2. Move or copy the 5D .mov files you want to edit into original.
3. Use AVISynth Batch Scripter to scan the original folder and create an .avs file in the signpost folder for each .mov file in the original folder. The script template window should look like this:
DirectShowSource("%PATH%\%CLIP%.%EXT%", fps=30, convertfps=false).assumefps(29.97, false)
ColorMatrix(mode="Rec.709->Rec.601", clamp=0, inputFR=true, outputFR=true)
ColorYUV(levels="PC->TV")
Converting the 5D files to a lossless format Premiere Pro can import properly
4. Ensure FFDShow is the decoder in use and is outputing ONLY YV12.
5. Load VirtualDub and create a new job to process everything in the signpost folder. Configure the Lagarith encoder to store using YV12 format. Output each .avs file using Fast Recompress to a Lagarith .avi file in the master folder.
You can now delete the signpost folder.
Create the high-speed proxy files
6. Using Adobe Media Encoder, transcode all files in the master folder to NTSC Widescreen DV format. Output these files to the proxy folder. Ensure the source and target filenames are the same and just the output folder differs.
Edit
7. In Premiere Pro, create an NTSC Widescreen DV sequence and edit using the DV proxy files in the proxy folder.
You only need the proxy folder at this stage, so can copy to a laptop if required.
Create final output
8. Create a new timeline sequence 1920x1080 square, 29.97fps. Select all and copy from the NTSC timeline to the new timeline.
9. Close Premiere Pro. Rename the proxy folder proxy_old. Reload your project. Premiere Pro will ask for the location of the first .avi file, point it at the master folder. It will automatically re-link the remaining files.
10. If you want an archive copy for reimporting into future PPro projects: Export as Lagarith AVI (use RGB in the codec settings), 1920x1080, 29.97fps. Otherwise, just export directly to required format.
Notes
1. I initially use YV12 as the storage format because it takes less disk space. I'm not losing any quality because the file from the 5D is YV12 to begin with.
2. If I'm not bothered about the slight loss of contrast range the 16-235 conversion allows, then I'm generally also not bothered about the slowdown of ~0.01%. So I'll generally output to my target straight from 29.97fps without converting back to 30fps first.
3. If I have just a few source files then I use the Premiere avisynth import filter and use the .avs files in Premiere Pro directly instead of creating master .avi files. However, this requires a manual re-link of each file because the filenames have changed from .avi (proxy) to .avs (signpost), so it is a trade-off between disk space and manual re-linking effort.
Mike McCarthy February 24th, 2009, 12:57 PM I can't imagine any reason to online in uncompressed HD. Your source is 40Mb/s AVCHD in 4:2:0 so there isn't all that much to keep. Cineform or Matrox MPEG or ProRES or MJPEG should be more than sufficient for Compressed HD editing. The key thing is maintaining the 0-255 range, which can be challenging in the first step. I have been using both Cineform and Matrox with success. The Matrox conversion is based on QT7.6 and the Cineform conversion is based on CoreAVC Pro.
Ramesh Singh February 24th, 2009, 07:50 PM :D For the same reason I use InDesign even though I know how to use LaTeX :D
Latex, that reminds of college days ;-)
In all seriousness, what is it that you can do in PPro, that you can't do in Avisynth. You can easily do all kinds of conversions, include various kinds of clips, effects, slow motion, audio sync, slideshows with full pan & zoom, color grading, and much more. And the best part is transitioning from one source to another (VHS -> DV -> HDV -> 1080p -> ???), is minimal changes, and minimal effort.
People having been talking about spending six grand just to get a machine to 1080p files, where as my old laptop is able to handle the files from day one.
Also as you said if my destination is DVD I don't need to worry about 0-255, as TV is 16-235 (I suppose even the latest plasmas). Are there any format (Blu_ray) available out there that will give you full pristine 0-255 glory? You can use HDMI out boxes (media center), which can read directly from your external hard disk, and should be able to show 0-255 output to HDMI to your TV. Or, is 0-255 only good for PC?
Mark Hahn February 25th, 2009, 01:02 AM Latex, that reminds of college days ;-)
In all seriousness, what is it that you can do in PPro, that you can't do in Avisynth. You can easily do all kinds of conversions, include various kinds of clips, effects, slow motion, audio sync, slideshows with full pan & zoom, color grading, and much more. And the best part is transitioning from one source to another (VHS -> DV -> HDV -> 1080p -> ???), is minimal changes, and minimal effort.
People having been talking about spending six grand just to get a machine to 1080p files, where as my old laptop is able to handle the files from day one.
Also as you said if my destination is DVD I don't need to worry about 0-255, as TV is 16-235 (I suppose even the latest plasmas). Are there any format (Blu_ray) available out there that will give you full pristine 0-255 glory? You can use HDMI out boxes (media center), which can read directly from your external hard disk, and should be able to show 0-255 output to HDMI to your TV. Or, is 0-255 only good for PC?
Which is best for going to film?
Ramesh Singh February 25th, 2009, 06:04 AM Which is best for going to film?
If you want maximum flexibility and control, go with Avisynth. It works at fundamental level. There is a learning curve involved depending upon how deep you want to go. And since its actively being developed, there is excellent support available (doom9.org).
@ Thane
While playing around with CoverAVC & ffdshow and Avisynth, I discovered objective way to view color levels. Namely using histogram function along with Levels.
Using,
Levels(0, 1, 255, 0, 255, coring=False)
Histogram
you can visually see the levels below 16 & above 235. And in both CoveAVC & ffdshow I see color being in 0-16 & 235-255.
If you restrict the levels to CCIR-601 with
Levels(0, 1, 255, 0, 255, coring=true)
histogram
you will not see any colors in low or high ranges.
I will have to try out your method to see color difference in Photoshop.
Mark Hahn February 25th, 2009, 12:39 PM If you want maximum flexibility and control, go with Avisynth. It works at fundamental level. There is a learning curve involved depending upon how deep you want to go. And since its actively being developed, there is excellent support available (doom9.org).
@ Thane
While playing around with CoverAVC & ffdshow and Avisynth, I discovered objective way to view color levels. Namely using histogram function along with Levels.
Using,
Levels(0, 1, 255, 0, 255, coring=False)
Histogram
you can visually see the levels below 16 & above 235. And in both CoveAVC & ffdshow I see color being in 0-16 & 235-255.
If you restrict the levels to CCIR-601 with
Levels(0, 1, 255, 0, 255, coring=true)
histogram
you will not see any colors in low or high ranges.
I will have to try out your method to see color difference in Photoshop.
I'm sorry, I meant what resulting format was best for conversion later to film. Should it by 16-235 or 0-255?
Ramesh Singh February 25th, 2009, 02:04 PM I'm sorry, I meant what resulting format was best for conversion later to film. Should it by 16-235 or 0-255?
I would say 0-255, as you would always be able to trim out upper and lower ranges in your post process.
Tomaso Perrone February 25th, 2009, 03:33 PM I thought Premiere relied on quicktime to "parse" the video so will the new version of QT not mitigate the clipped black/whites issue?
Thane Brooker February 25th, 2009, 04:14 PM I thought Premiere relied on quicktime to "parse" the video so will the new version of QT not mitigate the clipped black/whites issue?
As far as I know, Premiere does indeed use QuickTime to "parse" the video. Or, at least, the result from both Premiere and Adobe Media Encoder is very very similar to the result in Quicktime player, which includes:
1. Change in gamma
2. Horrible missing bands of color seen in the RGB parade
3. The full 0-255 dynamic range is squashed into 16-235
4. Treats the file as BT.601 instead of BT.709
Due to point 3 above, you now won't see any clipping. But Quicktime/Premiere/Adobe Media Encoder still aren't producing the results on native 5D .mov files that I would expect.
To summarise, I expect:
1. No change in gamma
2. No lines of missing color, and a nice smooth histogram curve
3. Full dynamic range available for editing
4. Output treated as BT.709
Note point 3 above will actually result in the Premiere Pro composite video image looking clipped! But, I would have control to bring the clipped areas into the legal range as I saw appropriate, either by reducing contrast, raising or lowering brightness, altering shadow/highlight levels, etc.
Thane Brooker February 25th, 2009, 07:00 PM I'm sorry, I meant what resulting format was best for conversion later to film. Should it by 16-235 or 0-255?
The 5D source files are 8-bit PC-level YV12. Prior to bringing the file into Premiere Pro, you're working with 8-bit data so you certainly don't want to reduce to TV-level or do any other transformations as you'll end up throwing away precious detail.
Once the file is in Premiere Pro, you're now working with 10-bit precision. You can now reduce contrast without losing detail as you have more bits to work with.
Once your clip is inside Premiere Pro, you would normally work within levels 0-100. Actually, it is hard not to do so because Premiere Pro clips anything outside these levels on the histograms and composite displays. But if you do want to put stuff in the supers range, Premiere Pro allows this, just as the highlights and shadows were in the supers range when you first brought in your 5D files.
When you had finished editing, color grading, etc, you would output from Premiere Pro to your film output program typically in YUV 10-bit, 12-bit or 16-bit.
So, to answer your question "which resulting format, 0-255 or 16-235?", the answer is it only matters if you are converting back to 8-bit RGB at any point, which you are not. You are maintaining 10-bit YUV (or greater) all the way through. So, in reality, the question is irrelevant. But, if you did convert to 8-bit RGB for some weird reason, due to your working within levels 0-100, you would get a 16-235 RGB file. Anything <0 and >100 would be put into 0-15 and 236-255. But, I say again, you won't be going from Premiere Pro to 8-bit-RGB to film-output, it just doesn't make sense as you'd lose too much detail.
If anybody can confirm the above is correct, that would be appreciated.
Thane Brooker February 25th, 2009, 07:43 PM Latex, that reminds of college days ;-)
In all seriousness, what is it that you can do in PPro, that you can't do in Avisynth. You can easily do all kinds of conversions, include various kinds of clips, effects, slow motion, audio sync, slideshows with full pan & zoom, color grading, and much more. And the best part is transitioning from one source to another (VHS -> DV -> HDV -> 1080p -> ???), is minimal changes, and minimal effort.
People having been talking about spending six grand just to get a machine to 1080p files, where as my old laptop is able to handle the files from day one.
Ramesh,
My top 5 reasons for using PPro over Avisynth:
1. PPro lets me see changes in real-time. Real time is important, so I can get a feel for pace, flow, timing. That is why people spend money on hardware, use proxy files (like I described above), and/or purchase a real-time codec like Cineform. If I only had Avisynth, I would need to compile an output everytime I made an edit in order to check if it was correct or not. And, as I'd be guessing my edits blind, it would take an awful long time to complete even a short sequence. Lets say I had two clips, one wide-angle and one close-up. I want to cut from wide-angle to the close-up at exactly the right point. In PPro I can find that point very quickly, make the edit and then watch the result instantly. With Avisynth I'd have to guess, compile, watch, change, recompile, watch, etc. So, if I knew beforehand that I needed to cut at frame 150, increase saturation by 3% and reduce gamma by 2%, Avisynth is no problem. But, I don't know without seeing it first, and that is where PPro comes in.
2. I work in a team, and not everyone in the team would appreciate using a text-based editor.
3. Adobe software, like Microsoft Office, is widespread enough to be considered a standard, and standards are good for team working.
4. PPro works with 10-bit (or greater) precision, Avisynth is 8-bit only.
5. Adobe Media Encoder has a nice GUI. Sometimes it is more convenient to drag-and-drop than it is to type commands.
Avisynth is an excellent tool. As you say it is more stable than Premiere (at least on my system), and there is excellent community support and development. But it is not a replacement for Premiere, and it was never designed to be.
Mark Hahn February 25th, 2009, 08:13 PM The 5D source files are 8-bit PC-level YV12. Prior to bringing the file into Premiere Pro, you're working with 8-bit data so you certainly don't want to reduce to TV-level or do any other transformations as you'll end up throwing away precious detail.
Once the file is in Premiere Pro, you're now working with 10-bit precision. You can now reduce contrast without losing detail as you have more bits to work with.
Once your clip is inside Premiere Pro, you would normally work within levels 0-100. Actually, it is hard not to do so because Premiere Pro clips anything outside these levels on the histograms and composite displays. But if you do want to put stuff in the supers range, Premiere Pro allows this, just as the highlights and shadows were in the supers range when you first brought in your 5D files.
When you had finished editing, color grading, etc, you would output from Premiere Pro to your film output program typically in YUV 10-bit, 12-bit or 16-bit.
So, to answer your question "which resulting format, 0-255 or 16-235?", the answer is it only matters if you are converting back to 8-bit RGB at any point, which you are not. You are maintaining 10-bit YUV (or greater) all the way through. So, in reality, the question is irrelevant. But, if you did convert to 8-bit RGB for some weird reason, due to your working within levels 0-100, you would get a 16-235 RGB file. Anything <0 and >100 would be put into 0-15 and 236-255. But, I say again, you won't be going from Premiere Pro to 8-bit-RGB to film-output, it just doesn't make sense as you'd lose too much detail.
If anybody can confirm the above is correct, that would be appreciated.
I can't confirm what you are saying but it makes sense. I do know that cineform claims to go straight to 10-bit in the first conversion and stay there. I also know that my RGB parades look good when I convert 5D2 video immediately into Neo Scene Cineform files. I do see stuff right up against 100 and stuff down at 0 in the parades which scares me a bit. Is the stuff outside that range being kept around or is it clipping. I haven't researched that yet.
I do know (as I said before) the files from QT 7.6 going straight into Premieres shows parades that have banding (missing values) like crazy. The Cineform is as smooth at silk.
Thane Brooker February 25th, 2009, 08:27 PM NeoScene:... I do see stuff right up against 100 and stuff down at 0 in the parades which scares me a bit. Is the stuff outside that range being kept around or is it clipping.
If you're on CS4, then it's clipping. CS4 can't interpret the Cineform files (yet) so it doesn't know there is stuff <0 and >100. If you follow my steps above, you'll find exactly the same smooth histogram, but also the stuff <0 and >100 is available to bring into range. That aside, if I've done the maths right, there will only be 2 differences between Cineform and my method:
1) Method above has an 8-bit conversion from 709 to 601, which will most likely be slightly lossy. Cineform won't be lossy in this respect.
2) Method above is otherwise completely lossless, Cineform is slightly lossy (but should not be visible).
If you're on CS3, my understanding is Cineform have an importer that correctly interprets the files. So you should be able to use the Procamp to reduce contrast and increase brightness.
Mark Hahn February 25th, 2009, 08:29 PM If you're on CS4, then it's clipping. CS4 can't interpret the Cineform files (yet) so it doesn't know there is stuff <0 and >100. If you follow my steps above, you'll find exactly the same smooth histogram, but also the stuff <0 and >100 is available to bring into range. That aside, if I've done the maths right, there will only be 2 differences between Cineform and my method:
1) Method above has an 8-bit conversion from 709 to 601, which will most likely be slightly lossy. Cineform won't be lossy in this respect.
2) Method above is otherwise completely lossless, Cineform is slightly lossy (but should not be visible).
If you're on CS3, my understanding is Cineform have an importer that correctly interprets the files. So you should be able to use the Procamp to reduce contrast and increase brightness.
That is good news for me. I have no reason to upgrade from CS3 to CS4 yet. (Don't tell me why I should, I'm covering my ears. NANANANANANA).
Thane Brooker February 25th, 2009, 08:33 PM That is good news for me. I have no reason to upgrade from CS3 to CS4 yet. (Don't tell me why I should, I'm covering my ears. NANANANANANA).
Ha ha! I'm still on CS3 for the rest of the range (InDesign, Photoshop, etc), I seem to be out of sync on Premiere upgrades!
Can you bring up the RGB parade, drag a ProcAmp filter onto your clip, enable max bit depth rendering on the sequence, then increase/decrease brightness. Do you see more detail magically appear?
Mark Hahn February 25th, 2009, 10:03 PM Ha ha! I'm still on CS3 for the rest of the range (InDesign, Photoshop, etc), I seem to be out of sync on Premiere upgrades!
Can you bring up the RGB parade, drag a ProcAmp filter onto your clip, enable max bit depth rendering on the sequence, then increase/decrease brightness. Do you see more detail magically appear?
It works! My sequence was already 10-bit YUV 4:4:4. I imported the .avi file Neo Scene produced directly from my 5D2 .mov file. As I said before, things looked crushed, and they were (named "flat" pics below).
But the data was still there above 100 and below 0. I did what you said and used the procamp to adjust brightness and contrast to get all the data within 0 to 100. I had to reduce the contrast from 100 to 75 and push the brightness back up by 12.5 to get it to fit (named "fit" pics below).
Parade with default procamp: http://elleh.com/public/parade-flat.jpg
Parade with adjusted procamp: http://elleh.com/public/parade-fit.jpg
Notice that there is a blob in the upper right part of the red parade that went from totally missing to visible.
Photo with default procamp: http://elleh.com/public/pic-flat.jpg
Photo with adjusted procamp: http://elleh.com/public/pic-fit.jpg
Notice the highlight in the white fan and the dark books to the immediate right. I obviously wouldn't use a curve like this to make such a lousy image, but the crushed highlights and crushed blacks are definitely back in the photo.
Having 25% of the photo out of the 0-100 range seems high to me. 16-235 is only missing 7% of 0-255. It doesn't matter though if I can get to all of it.
I owe you one (or two or three).
Thane Brooker February 25th, 2009, 10:12 PM It works!
Ha!
If you want to see things as they came out of the camera, I think the Fast Color Corrector filter could be more 'faithful' as you can enter specific RGB numbers rather than trying to guesstimate the the correct level percentage by eye.
Drag the Fast Color Corrector onto your clip (instead of the Procamp), go down to the Input Levels/Output Levels section and enter the following:
Input Levels: 0.0, 1.0, 255.0
Output Levels: 16.0, 235.0
Mark Hahn February 25th, 2009, 10:44 PM Ha!
If you want to see things as they came out of the camera, I think the Fast Color Corrector filter could be more 'faithful' as you can enter specific RGB numbers rather than trying to guesstimate the the correct level percentage by eye.
Drag the Fast Color Corrector onto your clip (instead of the Procamp), go down to the Input Levels/Output Levels section and enter the following:
Input Levels: 0.0, 1.0, 255.0
Output Levels: 16.0, 235.0
You sure make me work hard. I did what you said. While I admit this particular image looks better, there is still stuff hidden outside the 0-100 range. i guess a little headroom never hurts. Here are the parade and photos with your new settings...
Parade with fast color corr: http://elleh.com/public/FCC-16-235.jpg
Photo with fast color corr: http://elleh.com/public/FCC-16-235-PHOTO.jpg
Thane Brooker February 26th, 2009, 05:28 AM there is still stuff hidden outside the 0-100 range.
We're now into analogue video and broadcast intricacies. Instead of using the RGB parade to set brightness and contrast, look at the YC waveform with chroma disabled. You'll see that using the 16-235 figures blacks are exactly 0 (nothing below) and whites are exactly 100 (nothing above). This is correct, as anything outside should be considered clipped.
Turn on chroma, or look at the RGB Parade, and you should see levels extending below 0 and above 100 for certain intense colors. Whether this is a problem or not will depend on what equipment further down the line can handle; for NTSC -16 to +121 is acceptable, possibly higher for certain colors. You can fix over-saturated colors by continuing to reduce brightness/contrast as you did with procAmp, but most likely this would result in an over-dark picture, as it is the intensity (saturation) of certain colors that is problematic and needs to be fixed, not the overall brightness level.
If you're not broadcasting, I wouldn't worry about Chroma just now, you can always fix that later as required. The important thing is to get the luma correctly between 0-100 to avoid clipping.
If your final output is to 8-bit RGB (YouTube/Vimeo??? haven't checked yet what they require), I would say it is best as a final step to expand back from 16-235 to 0-255 while you're still in 10-bit Premiere Pro. Otherwise, you'll be outputting reduced contrast, and the final video renderer will be expanding to 0-255 (hopefully), but with 8-bit precision.
Mike Hannon February 26th, 2009, 08:26 AM If your final output is to 8-bit RGB (YouTube/Vimeo??? haven't checked yet what they require), I would say it is best as a final step to expand back from 16-235 to 0-255 while you're still in 10-bit Premiere Pro. Otherwise, you'll be outputting reduced contrast, and the final video renderer will be expanding to 0-255 (hopefully), but with 8-bit precision.
Hi Thane. This is all great information and I really appreciate you putting in the time here. I have a question in relation to all this, none of which I'm familiar with. For what kind of files does 8 bit RGB come into play? If I want to export to, let's say Blu-Ray or DVD, would it be relevant?
Also, assuming the workflow of 5D .MOV > Cineform > Premiere CS3 max bit depth project with range recovered using ProcAmp or Fast Color Corrector,........when I'm exporting to some compressed file format (to be used for an upcoming screening of my work on a digital projector via computer) do I have to worry about this 8 bit RGB issue that you mention.
Ignorance was bliss for me for many years working with DV. It's only since I got into photography that the significane of of colour space issues have been brougth home to me.
Thane Brooker February 26th, 2009, 10:27 AM If I want to export to, let's say Blu-Ray or DVD, would it [16-235 or 0-255 RGB] be relevant?
'Typical' Blu-Ray discs use YV12, 8-bit. So you don't need to worry about RGB 0-255 or 16-235, but you do need to worry about luma (0-100) and chroma levels*. The Blu-Ray player sends the 8-bit YV12 signal to the TV, and the TV converts it to whatever it needs to display RGB on the screen. Or, if you have an expensive setup, the Blu-Ray player upscales the 8-bit YV12 signal to something like 12-bit HDMI Deep-Color format and sends that to your home projector, to make you feel better about spending £££ on your latest gold-plated HDMI interconnect.
*Does anybody know about what we need to consider regarding chroma levels for Blu-Ray?
when I'm exporting to some compressed file format (to be used for an upcoming screening of my work on a digital projector via computer) do I have to worry about this 8 bit RGB issue that you mention.
For internal company/home use, output in whatever format gives the best quality on your hardware. For a PC with a regular graphics card and regular monitor, that would be RGB with the full 0-255 range. For a PC with an expensive HD card and HDMI setup, that could be 12-bit - check the specs. For a cheap portable projector, or a really low-end TFT, it could well be 6-bit, although in this case I'd probably still output in 8-bit RGB and let the chip in the projector decide what bits it wanted to lose.
Mark Hahn February 26th, 2009, 01:42 PM We're now into analogue video and broadcast intricacies. Instead of using the RGB parade to set brightness and contrast, look at the YC waveform with chroma disabled. You'll see that using the 16-235 figures blacks are exactly 0 (nothing below) and whites are exactly 100 (nothing above). This is correct, as anything outside should be considered clipped.
Turn on chroma, or look at the RGB Parade, and you should see levels extending below 0 and above 100 for certain intense colors. Whether this is a problem or not will depend on what equipment further down the line can handle; for NTSC -16 to +121 is acceptable, possibly higher for certain colors. You can fix over-saturated colors by continuing to reduce brightness/contrast as you did with procAmp, but most likely this would result in an over-dark picture, as it is the intensity (saturation) of certain colors that is problematic and needs to be fixed, not the overall brightness level.
If you're not broadcasting, I wouldn't worry about Chroma just now, you can always fix that later as required. The important thing is to get the luma correctly between 0-100 to avoid clipping.
If your final output is to 8-bit RGB (YouTube/Vimeo??? haven't checked yet what they require), I would say it is best as a final step to expand back from 16-235 to 0-255 while you're still in 10-bit Premiere Pro. Otherwise, you'll be outputting reduced contrast, and the final video renderer will be expanding to 0-255 (hopefully), but with 8-bit precision.
Thanks. It didn't occur to me that I was looking at RGB when my sequence was YUV.
My final output will be film.
We're making an indie with a bunch of people who want to branch out on their resumes. The producer/director/writer is a writer who sold the script for the next Halloween saga. We know two actors on cable dramas and one from a major soap. We know about ten people who want to be grips, pullers, anything they can. They are all working for free (well, tiny bit of sales) including the DP (me). The director and I have never done this before, so it should be interesting. :-) We are going to practice on a music video for a friend to try to avoid making complete idiots of ourselves.
The writer is hooked up with a guy who sells indies, mainly overseas. Unlike Jon, we are not going to try a short first and it definitely won't be film festival material, but we are going to give it our best because you never know what can happen.
|
|