mirror of
https://github.com/ioquake/ioq3.git
synced 2024-11-10 07:11:46 +00:00
remove code duplicated from libjpeg and make internal functions static
This commit is contained in:
parent
7132b492dd
commit
84f32478b9
2 changed files with 9 additions and 96 deletions
1
Makefile
1
Makefile
|
@ -1132,6 +1132,7 @@ Q3OBJ = \
|
||||||
$(B)/client/l_struct.o \
|
$(B)/client/l_struct.o \
|
||||||
\
|
\
|
||||||
$(B)/client/jcapimin.o \
|
$(B)/client/jcapimin.o \
|
||||||
|
$(B)/client/jcapistd.o \
|
||||||
$(B)/client/jchuff.o \
|
$(B)/client/jchuff.o \
|
||||||
$(B)/client/jcinit.o \
|
$(B)/client/jcinit.o \
|
||||||
$(B)/client/jccoefct.o \
|
$(B)/client/jccoefct.o \
|
||||||
|
|
|
@ -230,7 +230,8 @@ typedef my_destination_mgr * my_dest_ptr;
|
||||||
* before any data is actually written.
|
* before any data is actually written.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void init_destination (j_compress_ptr cinfo)
|
static void
|
||||||
|
init_destination (j_compress_ptr cinfo)
|
||||||
{
|
{
|
||||||
my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
|
my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
|
||||||
|
|
||||||
|
@ -262,103 +263,12 @@ void init_destination (j_compress_ptr cinfo)
|
||||||
* write it out when emptying the buffer externally.
|
* write it out when emptying the buffer externally.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
boolean empty_output_buffer (j_compress_ptr cinfo)
|
static boolean
|
||||||
|
empty_output_buffer (j_compress_ptr cinfo)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Compression initialization.
|
|
||||||
* Before calling this, all parameters and a data destination must be set up.
|
|
||||||
*
|
|
||||||
* We require a write_all_tables parameter as a failsafe check when writing
|
|
||||||
* multiple datastreams from the same compression object. Since prior runs
|
|
||||||
* will have left all the tables marked sent_table=TRUE, a subsequent run
|
|
||||||
* would emit an abbreviated stream (no tables) by default. This may be what
|
|
||||||
* is wanted, but for safety's sake it should not be the default behavior:
|
|
||||||
* programmers should have to make a deliberate choice to emit abbreviated
|
|
||||||
* images. Therefore the documentation and examples should encourage people
|
|
||||||
* to pass write_all_tables=TRUE; then it will take active thought to do the
|
|
||||||
* wrong thing.
|
|
||||||
*/
|
|
||||||
|
|
||||||
GLOBAL void
|
|
||||||
jpeg_start_compress (j_compress_ptr cinfo, boolean write_all_tables)
|
|
||||||
{
|
|
||||||
if (cinfo->global_state != CSTATE_START)
|
|
||||||
ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
|
|
||||||
|
|
||||||
if (write_all_tables)
|
|
||||||
jpeg_suppress_tables(cinfo, FALSE); /* mark all tables to be written */
|
|
||||||
|
|
||||||
/* (Re)initialize error mgr and destination modules */
|
|
||||||
(*cinfo->err->reset_error_mgr) ((j_common_ptr) cinfo);
|
|
||||||
(*cinfo->dest->init_destination) (cinfo);
|
|
||||||
/* Perform master selection of active modules */
|
|
||||||
jinit_compress_master(cinfo);
|
|
||||||
/* Set up for the first pass */
|
|
||||||
(*cinfo->master->prepare_for_pass) (cinfo);
|
|
||||||
/* Ready for application to drive first pass through jpeg_write_scanlines
|
|
||||||
* or jpeg_write_raw_data.
|
|
||||||
*/
|
|
||||||
cinfo->next_scanline = 0;
|
|
||||||
cinfo->global_state = (cinfo->raw_data_in ? CSTATE_RAW_OK : CSTATE_SCANNING);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Write some scanlines of data to the JPEG compressor.
|
|
||||||
*
|
|
||||||
* The return value will be the number of lines actually written.
|
|
||||||
* This should be less than the supplied num_lines only in case that
|
|
||||||
* the data destination module has requested suspension of the compressor,
|
|
||||||
* or if more than image_height scanlines are passed in.
|
|
||||||
*
|
|
||||||
* Note: we warn about excess calls to jpeg_write_scanlines() since
|
|
||||||
* this likely signals an application programmer error. However,
|
|
||||||
* excess scanlines passed in the last valid call are *silently* ignored,
|
|
||||||
* so that the application need not adjust num_lines for end-of-image
|
|
||||||
* when using a multiple-scanline buffer.
|
|
||||||
*/
|
|
||||||
|
|
||||||
GLOBAL JDIMENSION
|
|
||||||
jpeg_write_scanlines (j_compress_ptr cinfo, JSAMPARRAY scanlines,
|
|
||||||
JDIMENSION num_lines)
|
|
||||||
{
|
|
||||||
JDIMENSION row_ctr, rows_left;
|
|
||||||
|
|
||||||
if (cinfo->global_state != CSTATE_SCANNING)
|
|
||||||
ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
|
|
||||||
if (cinfo->next_scanline >= cinfo->image_height)
|
|
||||||
WARNMS(cinfo, JWRN_TOO_MUCH_DATA);
|
|
||||||
|
|
||||||
/* Call progress monitor hook if present */
|
|
||||||
if (cinfo->progress != NULL) {
|
|
||||||
cinfo->progress->pass_counter = (long) cinfo->next_scanline;
|
|
||||||
cinfo->progress->pass_limit = (long) cinfo->image_height;
|
|
||||||
(*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Give master control module another chance if this is first call to
|
|
||||||
* jpeg_write_scanlines. This lets output of the frame/scan headers be
|
|
||||||
* delayed so that application can write COM, etc, markers between
|
|
||||||
* jpeg_start_compress and jpeg_write_scanlines.
|
|
||||||
*/
|
|
||||||
if (cinfo->master->call_pass_startup)
|
|
||||||
(*cinfo->master->pass_startup) (cinfo);
|
|
||||||
|
|
||||||
/* Ignore any extra scanlines at bottom of image. */
|
|
||||||
rows_left = cinfo->image_height - cinfo->next_scanline;
|
|
||||||
if (num_lines > rows_left)
|
|
||||||
num_lines = rows_left;
|
|
||||||
|
|
||||||
row_ctr = 0;
|
|
||||||
(*cinfo->main->process_data) (cinfo, scanlines, &row_ctr, num_lines);
|
|
||||||
cinfo->next_scanline += row_ctr;
|
|
||||||
return row_ctr;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Terminate destination --- called by jpeg_finish_compress
|
* Terminate destination --- called by jpeg_finish_compress
|
||||||
* after all data has been written. Usually needs to flush buffer.
|
* after all data has been written. Usually needs to flush buffer.
|
||||||
|
@ -370,7 +280,8 @@ jpeg_write_scanlines (j_compress_ptr cinfo, JSAMPARRAY scanlines,
|
||||||
|
|
||||||
static int hackSize;
|
static int hackSize;
|
||||||
|
|
||||||
void term_destination (j_compress_ptr cinfo)
|
static void
|
||||||
|
term_destination (j_compress_ptr cinfo)
|
||||||
{
|
{
|
||||||
my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
|
my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
|
||||||
size_t datacount = dest->size - dest->pub.free_in_buffer;
|
size_t datacount = dest->size - dest->pub.free_in_buffer;
|
||||||
|
@ -384,7 +295,8 @@ void term_destination (j_compress_ptr cinfo)
|
||||||
* for closing it after finishing compression.
|
* for closing it after finishing compression.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void jpegDest (j_compress_ptr cinfo, byte* outfile, int size)
|
static void
|
||||||
|
jpegDest (j_compress_ptr cinfo, byte* outfile, int size)
|
||||||
{
|
{
|
||||||
my_dest_ptr dest;
|
my_dest_ptr dest;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue