mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-23 04:24:35 +02:00
const
Originally committed as revision 11796 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
31d889ec0a
commit
c67102f902
@ -41,7 +41,7 @@ typedef struct XanContext {
|
|||||||
AVFrame last_frame;
|
AVFrame last_frame;
|
||||||
AVFrame current_frame;
|
AVFrame current_frame;
|
||||||
|
|
||||||
unsigned char *buf;
|
const unsigned char *buf;
|
||||||
int size;
|
int size;
|
||||||
|
|
||||||
/* scratch space */
|
/* scratch space */
|
||||||
@ -87,7 +87,7 @@ static int xan_decode_init(AVCodecContext *avctx)
|
|||||||
* memcpy doesn't like that; it's not uncommon, for example, for
|
* memcpy doesn't like that; it's not uncommon, for example, for
|
||||||
* dest = src+1, to turn byte A into pattern AAAAAAAA.
|
* dest = src+1, to turn byte A into pattern AAAAAAAA.
|
||||||
* This was originally repz movsb in Intel x86 ASM. */
|
* This was originally repz movsb in Intel x86 ASM. */
|
||||||
static inline void bytecopy(unsigned char *dest, unsigned char *src, int count)
|
static inline void bytecopy(unsigned char *dest, const unsigned char *src, int count)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -95,12 +95,12 @@ static inline void bytecopy(unsigned char *dest, unsigned char *src, int count)
|
|||||||
dest[i] = src[i];
|
dest[i] = src[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
static int xan_huffman_decode(unsigned char *dest, unsigned char *src,
|
static int xan_huffman_decode(unsigned char *dest, const unsigned char *src,
|
||||||
int dest_len)
|
int dest_len)
|
||||||
{
|
{
|
||||||
unsigned char byte = *src++;
|
unsigned char byte = *src++;
|
||||||
unsigned char ival = byte + 0x16;
|
unsigned char ival = byte + 0x16;
|
||||||
unsigned char * ptr = src + byte*2;
|
const unsigned char * ptr = src + byte*2;
|
||||||
unsigned char val = ival;
|
unsigned char val = ival;
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
unsigned char *dest_end = dest + dest_len;
|
unsigned char *dest_end = dest + dest_len;
|
||||||
@ -129,7 +129,7 @@ static int xan_huffman_decode(unsigned char *dest, unsigned char *src,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xan_unpack(unsigned char *dest, unsigned char *src, int dest_len)
|
static void xan_unpack(unsigned char *dest, const unsigned char *src, int dest_len)
|
||||||
{
|
{
|
||||||
unsigned char opcode;
|
unsigned char opcode;
|
||||||
int size;
|
int size;
|
||||||
@ -288,10 +288,10 @@ static void xan_wc3_decode_frame(XanContext *s) {
|
|||||||
int imagedata_buffer_size = s->buffer2_size;
|
int imagedata_buffer_size = s->buffer2_size;
|
||||||
|
|
||||||
/* pointers to segments inside the compressed chunk */
|
/* pointers to segments inside the compressed chunk */
|
||||||
unsigned char *huffman_segment;
|
const unsigned char *huffman_segment;
|
||||||
unsigned char *size_segment;
|
const unsigned char *size_segment;
|
||||||
unsigned char *vector_segment;
|
const unsigned char *vector_segment;
|
||||||
unsigned char *imagedata_segment;
|
const unsigned char *imagedata_segment;
|
||||||
|
|
||||||
huffman_segment = s->buf + AV_RL16(&s->buf[0]);
|
huffman_segment = s->buf + AV_RL16(&s->buf[0]);
|
||||||
size_segment = s->buf + AV_RL16(&s->buf[2]);
|
size_segment = s->buf + AV_RL16(&s->buf[2]);
|
||||||
@ -406,7 +406,7 @@ static void xan_wc4_decode_frame(XanContext *s) {
|
|||||||
|
|
||||||
static int xan_decode_frame(AVCodecContext *avctx,
|
static int xan_decode_frame(AVCodecContext *avctx,
|
||||||
void *data, int *data_size,
|
void *data, int *data_size,
|
||||||
uint8_t *buf, int buf_size)
|
const uint8_t *buf, int buf_size)
|
||||||
{
|
{
|
||||||
XanContext *s = avctx->priv_data;
|
XanContext *s = avctx->priv_data;
|
||||||
AVPaletteControl *palette_control = avctx->palctrl;
|
AVPaletteControl *palette_control = avctx->palctrl;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user