data[0] = new JSAMPLE[1920*1080];
while (cinfo.output_scanline < cinfo.output_height) {
num_scanlines = jpeg_read_scanlines(&cinfo, data, maxlines );
}
jpeg_read_scanlines 的第二個參數 JSAMPARRAY 是一個儲存 pointer to row 的陣列。
如果有一行 就得有一個元素,兩行就要有兩個元素。
也就是 & JSAMPROW 或 & data[n]
libjpeg.txt 的範例
JSAMPROW row_pointer[1]; /* pointer to a single row */
int row_stride; /* physical row width in buffer */
row_stride = image_width * 3; /* JSAMPLEs per row in image_buffer */
while (cinfo.next_scanline < cinfo.image_height) {
row_pointer[0] = & image_buffer[cinfo.next_scanline * row_stride];
jpeg_write_scanlines(&cinfo, row_pointer, 1);
}
ycc_rgb_convert() in jdcolor.c
沒有留言:
張貼留言