Lyris
9th August 2013, 00:53
It doesn't seem like Quicktime is going away any time soon, so taming the myriad Quicktime problems is something I'll need to get on top of.
It seems like there is an almost infinite number of ways of decoding these files, the question is, which is actually correct? Let's say I want to funnel these into x264 or another AVC encoder using an AVISynth script - what's the best way? Has anyone mastered this yet? It seems ridiculous that there should be this many different results and that in 2013 we can't just define a pixel and have it come out of the other end of the system intact!
To give you an idea of what I mean:
Image 1: Copied out of the clipboard from the Apple Quicktime Player for Windows. This appears to either decode to video levels - or perhaps is doing something to the gamma - that makes the image look lighter. Banding in grayscale gradient.
http://img29.imageshack.us/img29/797/tpkn.png
---
Image 2: AVISynth script with QTInput(), loaded in VirtualDub, copied and pasted into Photoshop. The colour decoding is incorrect. (Virtualdub bug?) Also notice that there's somewhat messy dither in the magenta area. Banding in grayscale gradient.
http://img836.imageshack.us/img836/5071/51pj.png
---
Image 3: VLC Media Player. Same colour decoding problem as AviSynth QTinput -> VirtualDub but no dither. Banding in grayscale gradient.
http://img9.imageshack.us/img9/8525/6kyi.png
---
Image 4: Davinci Resolve, frames exported a TIFF sequence. Obviously that involves a conversion to RGB. This seems to be the best result - the colour bars line up with the software vectorscope graticules in the program. (FINALLY - some consistency!)
http://img826.imageshack.us/img826/4487/e99x.png
---
Image 5: Davinci Resolve TIFF output, loaded into AVISynth via ImageSource(), with a ConvertTOyv12 command, viewed in VirtualDub. Mostly correct but unsurprisingly given the RGB<->YV12 conversions, we have banding in the gradient now.
http://img9.imageshack.us/img9/2267/sb4w.png
---
So, is there some known-good way of dealing with these?
It seems like there is an almost infinite number of ways of decoding these files, the question is, which is actually correct? Let's say I want to funnel these into x264 or another AVC encoder using an AVISynth script - what's the best way? Has anyone mastered this yet? It seems ridiculous that there should be this many different results and that in 2013 we can't just define a pixel and have it come out of the other end of the system intact!
To give you an idea of what I mean:
Image 1: Copied out of the clipboard from the Apple Quicktime Player for Windows. This appears to either decode to video levels - or perhaps is doing something to the gamma - that makes the image look lighter. Banding in grayscale gradient.
http://img29.imageshack.us/img29/797/tpkn.png
---
Image 2: AVISynth script with QTInput(), loaded in VirtualDub, copied and pasted into Photoshop. The colour decoding is incorrect. (Virtualdub bug?) Also notice that there's somewhat messy dither in the magenta area. Banding in grayscale gradient.
http://img836.imageshack.us/img836/5071/51pj.png
---
Image 3: VLC Media Player. Same colour decoding problem as AviSynth QTinput -> VirtualDub but no dither. Banding in grayscale gradient.
http://img9.imageshack.us/img9/8525/6kyi.png
---
Image 4: Davinci Resolve, frames exported a TIFF sequence. Obviously that involves a conversion to RGB. This seems to be the best result - the colour bars line up with the software vectorscope graticules in the program. (FINALLY - some consistency!)
http://img826.imageshack.us/img826/4487/e99x.png
---
Image 5: Davinci Resolve TIFF output, loaded into AVISynth via ImageSource(), with a ConvertTOyv12 command, viewed in VirtualDub. Mostly correct but unsurprisingly given the RGB<->YV12 conversions, we have banding in the gradient now.
http://img9.imageshack.us/img9/2267/sb4w.png
---
So, is there some known-good way of dealing with these?