Updated warning options for GCC; fixed new warnings.
This commit is contained in:
@@ -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;
|
||||
|
@@ -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 )
|
||||
|
@@ -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");
|
||||
}
|
||||
|
Reference in New Issue
Block a user