Hi, I wish to write the image data from VIC to shared memory. However, I would like this to be in RGB format beforehand.
At the moment, I copy the image data during the Decoder::render_frame() function (in ./codec/decoder.cpp). After the line: YuvFrame f(now_, (u_int8_t*)frm, rvts_, inw_, inh_), I write to the shared memory, say, like this: setMemory(f.bp_). Before I write to memory, I would like to convert f.bp_ which is either in YUV411 or YUV422 format (I am restricting myself to these at the moment), to RGB. I've noticed that ./render/rgb-converter.cpp might have some relevant conversion functions but have not been able to figure it out... I have considered converting the data directly myself, however, after some attempts, I haven't been successful. I have managed to display a black & white image (the Y component?) but when I try to get color (the UV parts), it all goes pear shaped. I was wondering if somebody knows the format of the YUV411 and YUV422 in VIC? I have tried to convert YUV411 from uYYvYY and YUV422 from uYvY to no avail. Are these the correct formats (and consequently, my conversion is all mucked up)? When I write the image data out to a RAW file, a YUV viewer program can open the file successfully. I appreciate any advice/suggestions. Regards, Sam -- Centre for Computational Prototyping Victorian Partnership for Advanced Computing www.vpac.org