Updated warning options for GCC; fixed new warnings.

This commit is contained in:
Andrey Kamaev
2012-06-20 12:27:02 +00:00
parent 779f4e39de
commit d48d7b2b46
50 changed files with 2055 additions and 1808 deletions

View File

@@ -380,7 +380,6 @@ int my_jpeg_load_dht (struct jpeg_decompress_struct *info, unsigned char *dht,
bool JpegDecoder::readData( Mat& img )
{
bool result = false;
uchar* data = img.data;
int step = (int)img.step;
bool color = img.channels() > 1;
JpegState* state = (JpegState*)m_state;
@@ -439,6 +438,7 @@ bool JpegDecoder::readData( Mat& img )
buffer = (*cinfo->mem->alloc_sarray)((j_common_ptr)cinfo,
JPOOL_IMAGE, m_width*4, 1 );
uchar* data = img.data;
for( ; m_height--; data += step )
{
jpeg_read_scanlines( cinfo, buffer, 1 );
@@ -533,19 +533,15 @@ ImageEncoder JpegEncoder::newEncoder() const
bool JpegEncoder::write( const Mat& img, const vector<int>& params )
{
int quality = 95;
for( size_t i = 0; i < params.size(); i += 2 )
struct fileWrapper
{
if( params[i] == CV_IMWRITE_JPEG_QUALITY )
{
quality = params[i+1];
quality = MIN(MAX(quality, 0), 100);
}
}
FILE* f;
fileWrapper() : f(0) {}
~fileWrapper() { if(f) fclose(f); }
};
bool result = false;
FILE* f = 0;
fileWrapper fw;
int _channels = img.channels();
int channels = _channels > 1 ? 3 : 1;
int width = img.cols, height = img.rows;
@@ -564,10 +560,10 @@ bool JpegEncoder::write( const Mat& img, const vector<int>& params )
if( !m_buf )
{
f = fopen( m_filename.c_str(), "wb" );
if( !f )
fw.f = fopen( m_filename.c_str(), "wb" );
if( !fw.f )
goto _exit_;
jpeg_stdio_dest( &cinfo, f );
jpeg_stdio_dest( &cinfo, fw.f );
}
else
{
@@ -587,6 +583,17 @@ bool JpegEncoder::write( const Mat& img, const vector<int>& params )
cinfo.input_components = channels;
cinfo.in_color_space = channels > 1 ? JCS_RGB : JCS_GRAYSCALE;
int quality = 95;
for( size_t i = 0; i < params.size(); i += 2 )
{
if( params[i] == CV_IMWRITE_JPEG_QUALITY )
{
quality = params[i+1];
quality = MIN(MAX(quality, 0), 100);
}
}
jpeg_set_defaults( &cinfo );
jpeg_set_quality( &cinfo, quality,
TRUE /* limit to baseline-JPEG values */ );
@@ -619,7 +626,6 @@ bool JpegEncoder::write( const Mat& img, const vector<int>& params )
}
_exit_:
if(f) fclose(f);
jpeg_destroy_compress( &cinfo );
return result;

View File

@@ -317,23 +317,6 @@ void PngEncoder::flushBuf(void*)
bool PngEncoder::write( const Mat& img, const vector<int>& params )
{
int compression_level = 0;
int compression_strategy = Z_RLE;
for( size_t i = 0; i < params.size(); i += 2 )
{
if( params[i] == CV_IMWRITE_PNG_COMPRESSION )
{
compression_level = params[i+1];
compression_level = MIN(MAX(compression_level, 0), MAX_MEM_LEVEL);
}
if( params[i] == CV_IMWRITE_PNG_STRATEGY )
{
compression_strategy = params[i+1];
compression_strategy = MIN(MAX(compression_strategy, 0), Z_FIXED);
}
}
png_structp png_ptr = png_create_write_struct( PNG_LIBPNG_VER_STRING, 0, 0, 0 );
png_infop info_ptr = 0;
FILE* f = 0;
@@ -365,6 +348,23 @@ bool PngEncoder::write( const Mat& img, const vector<int>& params )
png_init_io( png_ptr, f );
}
int compression_level = 0;
int compression_strategy = Z_RLE;
for( size_t i = 0; i < params.size(); i += 2 )
{
if( params[i] == CV_IMWRITE_PNG_COMPRESSION )
{
compression_level = params[i+1];
compression_level = MIN(MAX(compression_level, 0), MAX_MEM_LEVEL);
}
if( params[i] == CV_IMWRITE_PNG_STRATEGY )
{
compression_strategy = params[i+1];
compression_strategy = MIN(MAX(compression_strategy, 0), Z_FIXED);
}
}
if( m_buf || f )
{
if( compression_level > 0 )

View File

@@ -635,9 +635,9 @@ cvCreateTrackbar( const char*, const char*,
}
CV_IMPL int
cvCreateTrackbar2( const char* trackbar_name, const char* window_name,
int* val, int count, CvTrackbarCallback2 on_notify2,
void* userdata )
cvCreateTrackbar2( const char* /*trackbar_name*/, const char* /*window_name*/,
int* /*val*/, int /*count*/, CvTrackbarCallback2 /*on_notify2*/,
void* /*userdata*/ )
{
CV_NO_GUI_ERROR( "cvCreateTrackbar2" );
return -1;
@@ -678,7 +678,7 @@ CV_IMPL int cvWaitKey( int )
return -1;
}
CV_IMPL int cvInitSystem( int argc, char** argv )
CV_IMPL int cvInitSystem( int , char** )
{
CV_NO_GUI_ERROR( "cvInitSystem" );
@@ -693,23 +693,24 @@ CV_IMPL int cvStartWindowThread()
}
//-------- Qt ---------
CV_IMPL void cvAddText( const CvArr*, const char*, CvPoint org, CvFont* font)
CV_IMPL void cvAddText( const CvArr*, const char*, CvPoint , CvFont* )
{
CV_NO_GUI_ERROR("cvAddText");
}
CV_IMPL void cvDisplayStatusBar(const char* name, const char* arg2, int arg3)
CV_IMPL void cvDisplayStatusBar(const char* , const char* , int )
{
CV_NO_GUI_ERROR("cvDisplayStatusBar");
}
CV_IMPL void cvDisplayOverlay(const char* name, const char* text, int delayms)
CV_IMPL void cvDisplayOverlay(const char* , const char* , int )
{
CV_NO_GUI_ERROR("cvNamedWindow");
}
CV_IMPL int cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[])
CV_IMPL int cvStartLoop(int (*)(int argc, char *argv[]), int , char* argv[])
{
(void)argv;
CV_NO_GUI_ERROR("cvStartLoop");
return -1;
}
@@ -719,7 +720,7 @@ CV_IMPL void cvStopLoop()
CV_NO_GUI_ERROR("cvStopLoop");
}
CV_IMPL void cvSaveWindowParameters(const char* name)
CV_IMPL void cvSaveWindowParameters(const char* )
{
CV_NO_GUI_ERROR("cvSaveWindowParameters");
}