24 #include <core/exception.h> 25 #include <fvutils/readers/fvraw.h> 26 #include <fvutils/writers/fvraw.h> 27 #include <fvutils/color/colorspaces.h> 47 FvRawReader::FvRawReader(
const char *filename)
52 infile = fopen(filename,
"r");
55 throw Exception(
"Could not open file for reading");
58 if ( fread((
char *)&header,
sizeof(header), 1, infile) != 1 ) {
61 if (header.file_id != FvRawWriter::FILE_IDENTIFIER) {
62 throw (
"Invalid file identifier");
65 buffer_size = colorspace_buffer_size( header.colorspace, header.width, header.height );
73 FvRawReader::~FvRawReader()
81 FvRawReader::set_buffer(
unsigned char *yuv422planar_buffer)
83 buffer = yuv422planar_buffer;
88 FvRawReader::colorspace()
91 return header.colorspace;
99 FvRawReader::pixel_width()
110 FvRawReader::pixel_height()
113 return header.height;
123 if ( buffer == NULL ) {
124 throw Exception(
"Read failed: buffer == NULL");
126 if ( buffer_size == 0 ) {
127 throw Exception(
"Read failed: buffer_size == 0");
130 if (fread(buffer, buffer_size, 1, infile) != 1) {
131 throw Exception(
"Failed to read data", errno);
141 FvRawReader::is_FvRaw(
const char *filename)
144 f = fopen(filename,
"r");
147 if ( fread((
char *)&header,
sizeof(header), 1, f) == 1 ) {
148 if (header.file_id == FvRawWriter::FILE_IDENTIFIER) {
Fawkes library namespace.
Base class for exceptions in Fawkes.