rpza: move some variables to the blocks where they are used

This commit is contained in:
Anton Khirnov 2014-01-08 14:03:23 +01:00
parent c7769df178
commit a46dc49744
1 changed files with 4 additions and 7 deletions

View File

@ -74,11 +74,8 @@ static void rpza_decode_stream(RpzaContext *s)
int stride = s->frame->linesize[0] / 2;
int row_inc = stride - 4;
int chunk_size;
uint8_t opcode;
int n_blocks;
uint16_t colorA = 0, colorB;
uint16_t color4[4];
uint8_t index, idx;
uint16_t ta, tb;
uint16_t *pixels = (uint16_t *)s->frame->data[0];
@ -105,9 +102,9 @@ static void rpza_decode_stream(RpzaContext *s)
/* Process chunk data */
while (bytestream2_get_bytes_left(&s->gb)) {
opcode = bytestream2_get_byte(&s->gb); /* Get opcode */
uint8_t opcode = bytestream2_get_byte(&s->gb); /* Get opcode */
n_blocks = (opcode & 0x1f) + 1; /* Extract block counter from opcode */
int n_blocks = (opcode & 0x1f) + 1; /* Extract block counter from opcode */
/* If opcode MSbit is 0, we need more data to decide what to do */
if ((opcode & 0x80) == 0) {
@ -182,9 +179,9 @@ static void rpza_decode_stream(RpzaContext *s)
while (n_blocks--) {
block_ptr = row_ptr + pixel_ptr;
for (pixel_y = 0; pixel_y < 4; pixel_y++) {
index = bytestream2_get_byteu(&s->gb);
uint8_t index = bytestream2_get_byteu(&s->gb);
for (pixel_x = 0; pixel_x < 4; pixel_x++){
idx = (index >> (2 * (3 - pixel_x))) & 0x03;
uint8_t idx = (index >> (2 * (3 - pixel_x))) & 0x03;
pixels[block_ptr] = color4[idx];
block_ptr++;
}