cleanup
bring clang (and g++) back to O3 cleanup jpegenc error handling
This commit is contained in:
+3
-3
@@ -26,11 +26,11 @@ ifeq ($(ACDEBUG),yes)
|
||||
endif
|
||||
|
||||
ifneq (,$(findstring clang,$(CXX)))
|
||||
CXXFLAGS= -O2 -fomit-frame-pointer
|
||||
override CXXFLAGS+= -Wall -fsigned-char
|
||||
CXXFLAGS= -O3 -fomit-frame-pointer
|
||||
override CXXFLAGS+= -Wall -fsigned-char -fno-strict-aliasing
|
||||
else
|
||||
CXXFLAGS= -O3 -fomit-frame-pointer
|
||||
override CXXFLAGS+= -Wall -fsigned-char -ffast-math -rdynamic -Wno-format-zero-length
|
||||
override CXXFLAGS+= -Wall -fsigned-char -ffast-math -rdynamic -Wno-format-zero-length -fno-strict-aliasing
|
||||
endif
|
||||
|
||||
INCLUDES= -I. -Ibot -I../enet/include
|
||||
|
||||
+10
-12
@@ -210,8 +210,7 @@ class jpegenc
|
||||
void writebits(bitstring bs);
|
||||
void compute_Huffman_table(BYTE *nrcodes, BYTE *std_table, bitstring *HT);
|
||||
void init_Huffman_tables(void);
|
||||
void exitmessage(const char *error_message);
|
||||
void set_numbers_category_and_bitcode();
|
||||
int set_numbers_category_and_bitcode();
|
||||
void precalculate_YCbCr_tables();
|
||||
void prepare_quant_tables();
|
||||
void fdct_and_quantization(SBYTE *data, float *fdtbl, SWORD *outdata);
|
||||
@@ -567,22 +566,16 @@ void jpegenc::init_Huffman_tables()
|
||||
compute_Huffman_table(std_ac_chrominance_nrcodes, std_ac_chrominance_values, CbAC_HT);
|
||||
}
|
||||
|
||||
void jpegenc::exitmessage(const char *error_message)
|
||||
{
|
||||
printf("%s\n",error_message);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
void jpegenc::set_numbers_category_and_bitcode()
|
||||
int jpegenc::set_numbers_category_and_bitcode()
|
||||
{
|
||||
SDWORD nr;
|
||||
SDWORD nrlower, nrupper;
|
||||
BYTE cat;
|
||||
category_alloc = (BYTE *)malloc(65535*sizeof(BYTE));
|
||||
if (category_alloc == NULL) exitmessage("Not enough memory.");
|
||||
if (category_alloc == NULL) return -1;
|
||||
category = category_alloc + 32767;
|
||||
bitcode_alloc=(bitstring *)malloc(65535*sizeof(bitstring));
|
||||
if (bitcode_alloc==NULL) exitmessage("Not enough memory.");
|
||||
if (bitcode_alloc==NULL) { free(category_alloc); return -1; }
|
||||
bitcode = bitcode_alloc + 32767;
|
||||
nrlower = 1;
|
||||
nrupper = 2;
|
||||
@@ -603,6 +596,7 @@ void jpegenc::set_numbers_category_and_bitcode()
|
||||
nrlower <<= 1;
|
||||
nrupper <<= 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void jpegenc::precalculate_YCbCr_tables()
|
||||
@@ -836,7 +830,11 @@ int jpegenc::encode(const char *filename, SDL_Surface *image, int jpegquality)
|
||||
set_DQTinfo(jpegquality);
|
||||
set_DHTinfo();
|
||||
init_Huffman_tables();
|
||||
set_numbers_category_and_bitcode();
|
||||
if(set_numbers_category_and_bitcode() < 0)
|
||||
{
|
||||
delete fp_jpeg_stream;
|
||||
return -2;
|
||||
}
|
||||
precalculate_YCbCr_tables();
|
||||
prepare_quant_tables();
|
||||
|
||||
|
||||
@@ -179,10 +179,12 @@ struct vertmodel : model
|
||||
numdyndraws = draws.length();
|
||||
}
|
||||
|
||||
#ifdef LINUXBUGISBACK
|
||||
#if defined(__GNUC__) && defined(__OPTIMIZE__) && !defined(__clang__) && !defined(__ICL) && __GNUC__ >= 4 && __GNUC_MINOR__ > 4
|
||||
__attribute__((optimize(2)))
|
||||
#elif defined(__clang__) && __clang_major__ >= 4
|
||||
__attribute__((optnone))
|
||||
#endif
|
||||
#endif
|
||||
dyncacheentry *gendynverts(animstate &as, anpos &cur, anpos *prev, float ai_t)
|
||||
{
|
||||
@@ -295,10 +297,12 @@ struct vertmodel : model
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef LINUXBUGISBACK
|
||||
#if defined(__GNUC__) && defined(__OPTIMIZE__) && !defined(__clang__) && !defined(__ICL) && __GNUC__ >= 4 && __GNUC_MINOR__ > 4
|
||||
__attribute__((optimize(2)))
|
||||
#elif defined(__clang__) && __clang_major__ >= 4
|
||||
__attribute__((optnone))
|
||||
#endif
|
||||
#endif
|
||||
shadowcacheentry *genshadowvolume(animstate &as, anpos &cur, anpos *prev, float ai_t, vec *buf)
|
||||
{
|
||||
@@ -360,10 +364,12 @@ struct vertmodel : model
|
||||
return d;
|
||||
}
|
||||
|
||||
#ifdef LINUXBUGISBACK
|
||||
#if defined(__GNUC__) && defined(__OPTIMIZE__) && !defined(__clang__) && !defined(__ICL) && __GNUC__ >= 4 && __GNUC_MINOR__ > 4
|
||||
__attribute__((optimize(2)))
|
||||
#elif defined(__clang__) && __clang_major__ >= 4
|
||||
__attribute__((optnone))
|
||||
#endif
|
||||
#endif
|
||||
lightcacheentry *lightvertexes(animstate &as, anpos &cur, anpos *prev, float ai_t, vec *buf)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user