Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Macros | Functions | Variables
exoquant.c File Reference
#include "exoquant.h"
#include <malloc.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>

Macros

#define NULL   (0)
 
#define SCALE_R   1.0f
 
#define SCALE_G   1.2f
 
#define SCALE_B   0.8f
 
#define SCALE_A   1.0f
 

Functions

exq_dataexq_init ()
 
void exq_no_transparency (exq_data *pExq)
 
void exq_free (exq_data *pExq)
 
static unsigned int exq_make_hash (unsigned int rgba)
 
void exq_feed (exq_data *pExq, unsigned char *pData, int nPixels)
 
void exq_quantize (exq_data *pExq, int nColors)
 
void exq_quantize_hq (exq_data *pExq, int nColors)
 
void exq_quantize_ex (exq_data *pExq, int nColors, int hq)
 
exq_float exq_get_mean_error (exq_data *pExq)
 
void exq_get_palette (exq_data *pExq, unsigned char *pPal, int nColors)
 
void exq_set_palette (exq_data *pExq, unsigned char *pPal, int nColors)
 
void exq_sum_node (exq_node *pNode)
 
void exq_optimize_palette (exq_data *pExq, int iter)
 
void exq_map_image (exq_data *pExq, int nPixels, unsigned char *pIn, unsigned char *pOut)
 
void exq_map_image_ordered (exq_data *pExq, int width, int height, unsigned char *pIn, unsigned char *pOut)
 
void exq_map_image_random (exq_data *pExq, int nPixels, unsigned char *pIn, unsigned char *pOut)
 
void exq_map_image_dither (exq_data *pExq, int width, int height, unsigned char *pIn, unsigned char *pOut, int ordered)
 
exq_histogramexq_find_histogram (exq_data *pExq, unsigned char *pCol)
 
unsigned char exq_find_nearest_color (exq_data *pExq, exq_color *pColor)
 
void exq_sort (exq_histogram **ppHist, exq_float(*sortfunc)(const exq_histogram *pHist))
 
exq_float exq_sort_by_r (const exq_histogram *pHist)
 
exq_float exq_sort_by_g (const exq_histogram *pHist)
 
exq_float exq_sort_by_b (const exq_histogram *pHist)
 
exq_float exq_sort_by_a (const exq_histogram *pHist)
 
exq_float exq_sort_by_dir (const exq_histogram *pHist)
 

Variables

exq_color exq_sort_dir
 

Macro Definition Documentation

◆ NULL

#define NULL   (0)

◆ SCALE_A

#define SCALE_A   1.0f

◆ SCALE_B

#define SCALE_B   0.8f

◆ SCALE_G

#define SCALE_G   1.2f

◆ SCALE_R

#define SCALE_R   1.0f

Function Documentation

◆ exq_feed()

void exq_feed ( exq_data pExq,
unsigned char pData,
int  nPixels 
)

◆ exq_find_histogram()

exq_histogram* exq_find_histogram ( exq_data pExq,
unsigned char pCol 
)

◆ exq_find_nearest_color()

unsigned char exq_find_nearest_color ( exq_data pExq,
exq_color pColor 
)

◆ exq_free()

void exq_free ( exq_data pExq)

◆ exq_get_mean_error()

exq_float exq_get_mean_error ( exq_data pExq)

◆ exq_get_palette()

void exq_get_palette ( exq_data pExq,
unsigned char pPal,
int  nColors 
)

◆ exq_init()

exq_data* exq_init ( )

◆ exq_make_hash()

static unsigned int exq_make_hash ( unsigned int  rgba)
static

◆ exq_map_image()

void exq_map_image ( exq_data pExq,
int  nPixels,
unsigned char pIn,
unsigned char pOut 
)

◆ exq_map_image_dither()

void exq_map_image_dither ( exq_data pExq,
int  width,
int  height,
unsigned char pIn,
unsigned char pOut,
int  ordered 
)

◆ exq_map_image_ordered()

void exq_map_image_ordered ( exq_data pExq,
int  width,
int  height,
unsigned char pIn,
unsigned char pOut 
)

◆ exq_map_image_random()

void exq_map_image_random ( exq_data pExq,
int  nPixels,
unsigned char pIn,
unsigned char pOut 
)

◆ exq_no_transparency()

void exq_no_transparency ( exq_data pExq)

◆ exq_optimize_palette()

void exq_optimize_palette ( exq_data pExq,
int  iter 
)

◆ exq_quantize()

void exq_quantize ( exq_data pExq,
int  nColors 
)

◆ exq_quantize_ex()

void exq_quantize_ex ( exq_data pExq,
int  nColors,
int  hq 
)

◆ exq_quantize_hq()

void exq_quantize_hq ( exq_data pExq,
int  nColors 
)

◆ exq_set_palette()

void exq_set_palette ( exq_data pExq,
unsigned char pPal,
int  nColors 
)

◆ exq_sort()

void exq_sort ( exq_histogram **  ppHist,
exq_float(*)(const exq_histogram *pHist)  sortfunc 
)

◆ exq_sort_by_a()

exq_float exq_sort_by_a ( const exq_histogram pHist)

◆ exq_sort_by_b()

exq_float exq_sort_by_b ( const exq_histogram pHist)

◆ exq_sort_by_dir()

exq_float exq_sort_by_dir ( const exq_histogram pHist)

◆ exq_sort_by_g()

exq_float exq_sort_by_g ( const exq_histogram pHist)

◆ exq_sort_by_r()

exq_float exq_sort_by_r ( const exq_histogram pHist)

◆ exq_sum_node()

void exq_sum_node ( exq_node pNode)

Variable Documentation

◆ exq_sort_dir

exq_color exq_sort_dir