Excuse für mein EnglischQuicktime - AVID, ITU-R 601 (16-235) Option
Ich brauche die .mov-Datei mit dem AVID Codec zu importieren. In AVID Composer Programm in den Importeinstellungen ist es möglich, Farbniveaus durch Installation der Optionen RGB (0-255) oder 601 (16-235) anzupassen.
Wie ist es möglich, in einem Code diese Option (601) einzustellen?
Ich versuchte, sie zu setzen, wenn die Sitzungseinstellung:
long lwidth;
CHECK_FAILED(m_pMt->get_Pixels(&lwidth));
SInt32 width = lwidth;
number = CFNumberCreate(NULL, kCFNumberSInt32Type, &width);
CFDictionaryAddValue(pixelBufferAttributes, kCVPixelBufferWidthKey, number);
CFRelease(number);
long lheight;
CHECK_FAILED(m_pMt->get_Lines(&lheight));
SInt32 height = lheight;
number = CFNumberCreate(NULL, kCFNumberSInt32Type, &height);
CFDictionaryAddValue(pixelBufferAttributes, kCVPixelBufferHeightKey, number);
CFRelease(number);
double gamma = 2.199997;
// Always seems to equal 2.5 for RGB colorspaces and 2.199997 for YUV
number = CFNumberCreate(NULL, kCFNumberDoubleType, &gamma);
CFDictionaryAddValue(pixelBufferAttributes, kCVImageBufferGammaLevelKey, number);
CFRelease(number);
CFDictionaryAddValue(pixelBufferAttributes, kCVImageBufferYCbCrMatrixKey, kCVImageBufferYCbCrMatrix_ITU_R_601_4);
CHECK_OSSTATUS(ICMDecompressionSessionCreate(NULL, imageDesc, NULL, pixelBufferAttributes, &trackingCallbackRecord, &m_decompressionSession));
Aber es nicht funktioniert.
Wenn das Problem, das Sie lösen müssen, ist ‚601 (16-235)‘ Daten aus der Dekompression Sitzung erhalten könnten Sie in der Lage sein, um dies zu tun, indem YUV-Daten von der Dekompressionssitzung angefordert werden. Schauen Sie sich meine 'Edit' weiter unten an, wie man das macht ... – Bjoern