Example #1
0
static void
time_read_64_scanlines_at_a_time ()
{
    ImageInput *in = ImageInput::open (input_filename.c_str());
    ASSERT (in);
    const ImageSpec &spec (in->spec());
    size_t pixelsize = spec.nchannels * sizeof(float);
    imagesize_t scanlinesize = spec.width * pixelsize;
    for (int y = 0; y < spec.height;  y += 64) {
        in->read_scanlines (y+spec.y, std::min(y+spec.y+64, spec.y+spec.height),
                            0, TypeDesc::TypeFloat, &buffer[scanlinesize*y]);
    }
    in->close ();
    delete in;
}