#include "main.h"
#include "support.h"
{
public:
MyWriter(void) :
m_rowBytes(0),
m_rowBuffer(NULL)
{
}
~MyWriter()
{
}
{
}
{
const lt_uint32 bytesPerPixel = m_image->getPixelProps().getNumBytes();
m_rowBytes = numCols * bytesPerPixel;
}
{
for (
lt_uint32 row = 0; row < numRows; row++)
{
for(
lt_uint16 band = 0; band < numBands; band++)
{
lt_uint8 *dst = m_rowBuffer + band * bytesPerSample;
src += row * totalNumCols * bytesPerSample;
for(
lt_uint32 col = 0; col < numCols; col++, src += bytesPerSample, dst += bytesPerPixel)
memcpy(dst, src, bytesPerSample);
}
if(stream.
write(m_rowBuffer, m_rowBytes) != m_rowBytes)
}
}
{
delete [] m_rowBuffer;
m_rowBuffer = NULL;
}
private:
};
{
TEST_BOOL(reader != NULL);
MyWriter writer;
TEST_SUCCESS(writer.initialize(reader));
TEST_SUCCESS(writer.setOutputFileSpec(OUTPUT_PATH("meg.bip")));
const LTIScene scene(0, 0, 640, 480, 1.0);
TEST_SUCCESS(writer.write(scene));
TEST_BOOL(Compare(OUTPUT_PATH("meg.bip"), INPUT_PATH("meg.bip")));
Remove(OUTPUT_PATH("meg.bip"));
reader->release();
reader = NULL;
}