Ich möchte ein JPEG-Bild in Y'UV420p mit Turbo JPEG konvertieren. Ich denke, dass dies einige 2x2 Blöcke verwendet, wobei die doppelte Information im Y 'vorhanden ist, die es in jeder der U- und V-Komponenten gibt, aber ich konnte kein Beispiel finden, das dies tut.turbojpeg tjDecompressToYUV2 Datenformat
Wie extrahiere ich diese einzelnen Komponenten aus tjDecompressToYUV2 und wie ist das Format des Puffers, der für ein Bild reserviert ist, dessen Dimensionen ein Vielfaches einer Potenz von 2 sind?
Angenommen, ich habe ein Bild, das 1024 x 512 Pixel groß ist. Wie würde ich extrahiere jeden Wert ‚Y U und V aus dem folgenden Code:
constexpr auto height = 512u;
constexpr auto width = 1024u;
unsigned char buffer[height * width * 3/2];
...
tjDecompressToYUV2(jpegDecompressor, jpegImage, jpegSize, buffer, width, 2, height, TJFLAG_FASTDCT);
...
dh. Wie werden die Komponenten aus dem Puffer extrahiert?