- Post
- #1052460
- Topic
- Neverar's A New Hope Technicolor Recreation <strong>(Final Version Released!)</strong>
- Link
- https://originaltrilogy.com/post/id/1052460/action/topic#1052460
- Time
Love it.
Love it.
Sorry Guys, I lost it. I recorded the 1 am show Saturday night/Sunday Morning and was going to transfer it from the DVR this morning, but it’s gone. It was there when I went to bed last night but now it’s gone. I can see it in the list of deleted items but I can’t restore it. I think it’s because I made the mistake of watching 30 minutes of the Oscars last night while waiting for other shows to start and evidently my DVR decided to record the Oscars for me after I switched over, and it bumped OHMSS since it was the biggest file on there to make room. When the OSCARS ended and I hadn’t switched back, it just deleted that recording too. I called Verizon and spoke with their technicians but they tell me that it was essentially ‘taped over’ so it is gone and I can’t get it back.
MGM HD currently has no titles at all On Demand, and OHMSS is not scheduled to air again any time soon, so I’m pretty disappointed at the moment. If it comes on again I’ll try again and next time I’ll lock it to prevent deletion.
I should be able to capture it this weekend.
When you complete the collection, Please share!
Likewise, but I still wish there were screenshots or video samples to back it all up. I’d be more than happy to host them on The007Dossier.com. In fact, if you can capture some samples I’d love to make some comparison videos.
It should - there is hardly anything DaVinci Resolve doesn’t support, so long as you have the right codecs installed on your system.
Can Davinci import a sequence of images? I never managed to do so with my “project”
Yes, it can.
Davinci Resolve has a free version.
If I’m not mistaken, if the Bluray were GOUT synced, one could apply these colors easily, right?
No, it’s not a matter of being sync’d. The GOUT appears to have had a single color correction applied to it, which allows us to apply a single LUT to correct the whole film. For example, if the GOUT is 10 points too red, it is 10 points too red on every frame, therefore we can apply a universal correction to reduce the red by 10 points and the whole film will look better.
On the blu-ray, the colors are all over the place, so this sort of universal correction will only improve some of the shots, while making others look worse. While the whole blu-ray can be greatly improved with a single LUT (as JawsTDS proves here http://originaltrilogy.com/post/id/1042832, it would not be possible to match the colors of all the shots in a single pass).
Looks great! Can you share the LUT? I have my GOUT DVD inserted and open in After Effects. All I need is the LUT!
I realize this issue has largely been put to bed and I’m not trying to start any new arguments about it - I think we’ve all agreed that the shot is supposed to be at least a little green, but I was flicking through my UK souvenir program of Star Wars and spotted this, so I scanned it in:
Obviously not a reliable color reference for many reasons, but interesting because I’ve never seen the Leia and R2 shot look so green anywhere else.
Unfortunately, a single pass regrade of the SSE probably won’t be so easy: It uses several different sources and most scenes were graded independently, more than once, by more than one person… And then I applied a one size fits all LUT on top of that to get it to where it is now.
Edit: Never mind, I see that’s not what you were suggesting: Use the regraded GOUT as a guide to regrade the SSE.
Big Thank You to Depheros for putting the archive I assembled up on the Spleen!
Williarob said:
…all you need is the following levels adjustment in AVISynth…It’s unlikely to be as straight forward as that (or it would have been spotted long ago)…
I agree, but what else can it be? If the white data can be recovered it has to have a value 255 or less, because the blu-rays are 8-bit RGB color.
So the blu-rays were encoded RGB Full, rather than RGB limited?
As I understand it, TVs use a video range from 16-235. It considers levels below 16 to be black, and information above 235 is white. A calibrated TV will never display anything below 16 as anything other than black. Most will also treat everything over 235 as white since it should not exist in video content.
PCs are different and use a range from 0-255. There is no data below 0 or above 255 with an 8-bit video signal as there are only 256 possible values. In short, this is much simpler to understand as the TV concepts of Blacker-than-Black and Whiter-than-White do not exist.
Therefore to make the conversion between RGB Full (“PC Mode”) and RGB Limited (“TV Mode”) all you need is the following levels adjustment in AVISynth
// PC to TV ; scales a [0,255] clip to [16,235]:
Levels(0, 1, 255, 16, 235, coring=false)
On set video (from OCP Movie’s Deleted Magic) shows that there was a blue light in the escape pod:
Not a big deal but… those shots must be from a Dutch bootleg because the subtitles aren’t Swedish.
So I see! I never really looked at them. I was told they were Swedish so that’s what I went with. Sorry!
PM sent.
I’ve had most (but not all!) of the old covers being posted here, sitting on a hard disk for years. Since the photobucket links will probably eventually die and leave these pages looking rather bare, I have uploaded about 4 GB (so far) to my site. Many of them are the same as posted above, but at a higher resolution.
I’m still generating the pages to host them so not all of them are accessible yet but they will be soon.
http://thestarwarstrilogy.com/starwars/page/Star-Wars-Cover-Art-Archive
http://thestarwarstrilogy.com/starwars/page/The-Empire-Strikes-Back-Cover-Art-Archive
http://thestarwarstrilogy.com/starwars/page/Return-of-the-Jedi-Cover-Art-Archive
… more to come
(1978 Swedish bootleg)
I don’t doubt that it was a bit green in theaters. But the bootleg (as with any amateur video from that era) has a lot of color artifacts that look green even in the black bars. Balanced out it might look a bit more mild and really not too bad at all (I think some of the balances of people’s own colorations here can look nice too even when green).
I agree with you completely, but I thought I’d throw it out there because it definitely looks green.
I’m not 100% certain, but I believe this was an in theater recording (a telesync rather than a telecine). Not sure if they recorded the ambient audio or if it was done in the booth and connected directly to the sound equipment there, but I’m pretty sure I could hear an audience cheering and clapping at the end when they get their medals. Modern cameras of course have things like auto white balance and can color correct on the fly, but I doubt consumer grade cameras in the '70s could do that. I don’t have the original tape and I didn’t make the capture myself, but it certainly doesn’t look like any attempt has been made to color correct it. Of course it is a very old tape, and it had to be captured digitally so make of it what you will.
I’m not sure how useful it is for reference purposes but I checked and this particular bootleg does not appear to be on the spleen. (704x576, 25 fps, interlaced, MPEG 2, English Audio, Hardcoded Sweedish Dutch Subs, 3.77 GB). If you would like to upload a copy of this to the spleen, send me a PM.
Quality is about what you’d expect, which is to say absolutely awful by today’s standards!
It was green in '77, but revised when the telecines were created for home video. Then we watched it this way for the next 35 years so that’s how we expect it to look - interestingly, the 35mm 1997 SE print has the same revised color timing on this shot as the home video releases:
But it wasn’t like that in Theaters:
(1978 Swedish Dutch bootleg)
please register at http://forums.thestarwarstrilogy.com/index.php where this discussion continues. Please use the same username there as you use here. Any registrations for usernames that cannot be found on OT.com will be rejected.
Yep, I’ll take it.
I use After Effects for stabilization. I find the image registration is more useful to me for overlaying one source on top of another, for example when erasing CGI dinosaurs…
I was just reading above a little about the troubles adjusting 3P0 and wondered if you had tried out 3D LUT Creator? http://3dlutcreator.com/ It makes adjusting individual colors real simple.
Color Cone is another great tool for this: (http://www.picture-instruments.com/home/index.php)
Thanks to you Neverar and another question : when you recruit color from another source, does it mean you combine luminance information from the BR and chrominance from the source ?
That’s it exactly. I usually replace 50-90% of the chroma with the improved source, sometimes just a few gradients or a small part of the frame, but sometimes the entire frame gets the chroma replaced. In the first 4 reels, I’ve probably replaced the entire color of just 5 or 6 shots, but reel 6 in particular has such horrible color problems that during the dogfight it’s used on probably 1/3 of the shots. It’s surprisingly effective, but it’s essential to make sure everything is registered throughout the shot or you get worse problems like color fringing.
What tools do you use for image registration? Or do you do it manually? I’ve tried Elastix, some ImageJ plugins, and Photoshop’s Auto align layers usually works pretty well.
I’ve done it manually so far, the same process that I used for registering the lightsabers in the Obi/Vader battle. I’ve tried Auto Align Layers on some warped sources and it didn’t improve things, so I didn’t even consider it for this purpose. I suppose that would work though. It would need to be individual images run through as a batch process, right?
That’s right. The weird thing is though, I can only seem to batch it in Photoshop CS3. All newer versions just skip right over the image alignment. I’ve tried it in every version! And it doesn’t matter if I use a recorded action, or pure Javascript, either way, it just doesn’t do the alignment unless I run it in CS3. But here is the script:
/// Begin Script
// options
var folder1 = “Z:/Reel1/Working/{ShotNumber}/Source1”;
var folder2 = “Z:/Reel1/Working/{ShotNumber}/Source2”;
var OutputFolder = “Z:/Reel1/Working/{ShotNumber}/Registered”;
var startFrame = 1;
var endFrame = 150;
cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };
// Loop through the Print A frames
for(var x = startFrame; x <= endFrame; x++)
{
// convert number to 6 digit, 0 padded string Id
var frameId = x+"";
while (frameId.length < 6) frameId = “0” + frameId; // pad fileId with 0s
// open the print A file
var printADocRef = new File(folder1 + "/Print_A_" + frameId + ".tif");
var printADoc = open(printADocRef);
// open the matching print B file
var printBDocRef = new File(folder2 + "/Print_B_" + frameId + ".tif");
var printBDoc = open(printBDocRef);
// activate the Print A
app.activeDocument = app.documents.getByName( "Print_A_" + frameId + ".tif" );
// select all & copy (SelectAllAndCopy)
app.doAction("SelectAllAndCopy","Default Actions.atn");
// activate the print B doc
app.activeDocument = app.documents.getByName( "Print_B_" + frameId + ".tif" );
// perform the alignment
Align();
// Note: to run your own recorded action(s) use:
//app.doAction("MyActionName","Default Actions.atn");
// remove the print B layer to minimize file size.
app.activeDocument.layers["Layer 0"].remove();
/*
// optional: save the file as a psd
var psd_Opt = new PhotoshopSaveOptions();
psd_Opt.layers = true; // Preserve layers.
psd_Opt.embedColorProfile = true; // Preserve color profile.
psd_Opt.annotations = true; // Preserve annonations.
psd_Opt.alphaChannels = true; // Preserve alpha channels.
psd_Opt.spotColors = true; // Preserve spot colors.
// Save active document in the Auto Save folder
app.activeDocument.saveAs( File( OutputFolder + "/Debug_R1_" + frameId + ".psd" ), psd_Opt, true );
*/
// set the new filename and path
var myFilePath = OutputFolder + "/Print_A_" + frameId + ".tif";
// tiff file options
var tiffFile = new File(myFilePath);
tiffSaveOptions = new TiffSaveOptions();
tiffSaveOptions.byteOrder = ByteOrder.IBM;
tiffSaveOptions.layers = false;
tiffSaveOptions.transparency = false;
tiffSaveOptions.alphaChannels = false;
tiffSaveOptions.interleaveChannels = false;
tiffSaveOptions.embedColorProfile = false;
tiffSaveOptions.imageCompression = TIFFEncoding.TIFFLZW;
tiffSaveOptions.saveImagePyramid = false;
// finally save out the document
app.activeDocument.saveAs(tiffFile, tiffSaveOptions, true, Extension.LOWERCASE);
// close all open documents
while (documents.length > 0) {
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
} // loop to the next pair of files
// !!! No editing necessary below this line !!!
// Helper functions
function inArray(needle,haystack)
{
var count=haystack.length;
for(var i=0;i<count;i++)
{
if(haystack[i]===needle){return true;}
}
return false;
}
//
//==================== AlignAndFix ==============
//
function Align() {
// Set
function step1(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putProperty(cTID(‘Lyr ‘), cTID(‘Bckg’));
desc1.putReference(cTID(‘null’), ref1);
var desc2 = new ActionDescriptor();
desc2.putUnitDouble(cTID(‘Opct’), cTID(’#Prc’), 100);
desc2.putEnumerated(cTID('Md '), cTID(‘BlnM’), cTID(‘Nrml’));
desc1.putObject(cTID('T '), cTID('Lyr '), desc2);
executeAction(cTID(‘setd’), desc1, dialogMode);
};
// Set
function step2(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putProperty(cTID(‘Chnl’), sTID(“selection”));
desc1.putReference(cTID(‘null’), ref1);
desc1.putEnumerated(cTID('T '), cTID(‘Ordn’), cTID(‘None’));
executeAction(cTID(‘setd’), desc1, dialogMode);
};
// Paste
function step3(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
desc1.putEnumerated(cTID(‘AntA’), cTID(‘Annt’), cTID(‘Anno’));
executeAction(cTID(‘past’), desc1, dialogMode);
};
// Select
function step4(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putName(cTID('Lyr '), “Layer 0”);
desc1.putReference(cTID(‘null’), ref1);
desc1.putBoolean(cTID(‘MkVs’), false);
executeAction(cTID(‘slct’), desc1, dialogMode);
};
// Select
function step5(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putName(cTID('Lyr '), “Layer 1”);
desc1.putReference(cTID(‘null’), ref1);
desc1.putEnumerated(sTID(“selectionModifier”), sTID(“selectionModifierType”), sTID(“addToSelectionContinuous”));
desc1.putBoolean(cTID(‘MkVs’), false);
executeAction(cTID(‘slct’), desc1, dialogMode);
};
// Align
function step7(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putEnumerated(cTID('Lyr '), cTID(‘Ordn’), cTID(‘Trgt’));
desc1.putReference(cTID(‘null’), ref1);
desc1.putEnumerated(cTID(‘Usng’), cTID(‘ADSt’), sTID(“ADSContent”));
desc1.putEnumerated(cTID(‘Aply’), sTID(“projection”), cTID(‘Auto’));
executeAction(cTID(‘Algn’), desc1, dialogMode);
};
// Select
function step8(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putName(cTID('Lyr '), “Layer 0”);
desc1.putReference(cTID(‘null’), ref1);
desc1.putBoolean(cTID(‘MkVs’), false);
executeAction(cTID(‘slct’), desc1, dialogMode);
};
// Hide
function step9(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
var list1 = new ActionList();
var ref1 = new ActionReference();
ref1.putName(cTID('Lyr '), “Layer 1”);
list1.putReference(ref1);
desc1.putList(cTID(‘null’), list1);
executeAction(cTID('Hd '), desc1, dialogMode);
};
// Set
function step10(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putProperty(cTID(‘Chnl’), sTID(“selection”));
desc1.putReference(cTID(‘null’), ref1);
var ref2 = new ActionReference();
ref2.putEnumerated(cTID(‘Chnl’), cTID(‘Chnl’), cTID(‘Trsp’));
desc1.putReference(cTID('T '), ref2);
executeAction(cTID(‘setd’), desc1, dialogMode);
};
// Crop
function step11(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
executeAction(cTID(‘Crop’), desc1, dialogMode);
};
step1(); // Set
step2(); // Set
step3(); // Paste
step4(); // Select
step5(); // Select
step7(); // Align
step8(); // Select
//step9(); // Hide
step10(); // Set
step11(); // Crop
};
/// End Script
Most of the bottom part is just the recorded actions converted to Javascript. Just copy it and paste it into a text editor, edit the file paths and the filenames and your start and end numbers and then save it with a .jsx extension. It assumes the images are numbered as a tiff image sequence, e.g. “Print_A_000001.tif”.
To run it, just go to “File -> Scripts -> Browse…” But like I say, I can only get it to work in CS3. If you can make it work in other versions, do let me know!
It works well on most scenes in the film, though not on star fields, smoke filled corridors or especially high motion sequences where frames are just a blur and there are no edges to be found and lined up.