RetroArch
|
#include <stdint.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <retro_assert.h>
#include <retro_inline.h>
#include <boolean.h>
#include <formats/image.h>
#include <formats/rjpeg.h>
#include <features/features_cpu.h>
Classes | |
struct | rjpeg__resample |
struct | rjpeg |
struct | rjpeg__context |
struct | rjpeg__huffman |
struct | rjpeg__jpeg |
Macros | |
#define | rjpeg_lrot(x, y) (((x) << (y)) | ((x) >> (32 - (y)))) |
#define | RJPEG_SIMD_ALIGN(type, name) type name |
#define | RJPEG__AT_EOF(s) ((s)->img_buffer >= (s)->img_buffer_end) |
#define | RJPEG__GET16BE(s) ((rjpeg__get8((s)) << 8) + rjpeg__get8((s))) |
#define | RJPEG__BYTECAST(x) ((uint8_t) ((x) & 255)) /* truncate int to byte without warnings */ |
#define | FAST_BITS 9 /* larger handles more cases; smaller stomps less cache */ |
#define | rjpeg__f2f(x) ((int) (((x) * 4096 + 0.5))) |
#define | rjpeg__fsh(x) ((x) << 12) |
#define | RJPEG__MARKER_NONE 0xff |
#define | RJPEG__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) |
#define | JPEG_MARKER 0xFF |
#define | JPEG_MARKER_SOI 0xD8 |
#define | JPEG_MARKER_SOS 0xDA |
#define | JPEG_MARKER_EOI 0xD9 |
#define | JPEG_MARKER_APP1 0xE1 |
#define | JPEG_MARKER_APP2 0xE2 |
#define | rjpeg__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) |
#define | rjpeg__SOF_progressive(x) ((x) == 0xc2) |
#define | rjpeg__div4(x) ((uint8_t) ((x) >> 2)) |
#define | rjpeg__div16(x) ((uint8_t) ((x) >> 4)) |
#define | RJPEG__IDCT_1D(s0, s1, s2, s3, s4, s5, s6, s7) |
#define | float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) |
Typedefs | |
typedef uint8_t *(* | rjpeg_resample_row_func) (uint8_t *out, uint8_t *in0, uint8_t *in1, int w, int hs) |
Enumerations | |
enum | { RJPEG_DEFAULT = 0, RJPEG_GREY, RJPEG_GREY_ALPHA, RJPEG_RGB, RJPEG_RGB_ALPHA } |
enum | { RJPEG_SCAN_LOAD = 0, RJPEG_SCAN_TYPE, RJPEG_SCAN_HEADER } |
Variables | |
static uint32_t | rjpeg__bmask [17] ={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535} |
static int const | rjpeg__jbias [16] = {0,-1,-3,-7,-15,-31,-63,-127,-255,-511,-1023,-2047,-4095,-8191,-16383,-32767} |
static uint8_t | rjpeg__jpeg_dezigzag [64+15] |
#define FAST_BITS 9 /* larger handles more cases; smaller stomps less cache */ |
#define JPEG_MARKER 0xFF |
#define JPEG_MARKER_APP1 0xE1 |
#define JPEG_MARKER_APP2 0xE2 |
#define JPEG_MARKER_EOI 0xD9 |
#define JPEG_MARKER_SOI 0xD8 |
#define JPEG_MARKER_SOS 0xDA |
#define RJPEG__GET16BE | ( | s | ) | ((rjpeg__get8((s)) << 8) + rjpeg__get8((s))) |
#define RJPEG__IDCT_1D | ( | s0, | |
s1, | |||
s2, | |||
s3, | |||
s4, | |||
s5, | |||
s6, | |||
s7 | |||
) |
#define RJPEG__MARKER_NONE 0xff |
typedef uint8_t*(* rjpeg_resample_row_func) (uint8_t *out, uint8_t *in0, uint8_t *in1, int w, int hs) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
int rjpeg_process_image | ( | rjpeg_t * | rjpeg, |
void ** | buf_data, | ||
size_t | size, | ||
unsigned * | width, | ||
unsigned * | height | ||
) |
|
static |
|
static |
|
static |
|
static |