48 dst = dst + height *
stride;
50 while((size > 0) && (rows_to_go > 0)) {
60 run = ((code & 0x7) << 16) + (c0 << 8) + c1 + 2;
61 }
else if (code >= 0xF0) {
64 run = ((code & 0xF) << 8) + c0 + 2;
65 }
else if (code >= 0xE0) {
66 run = (code & 0x1F) + 2;
67 }
else if (code >= 0xC0) {
71 copy = ((code & 0x3F) << 16) + (c0 << 8) + c1 + 1;
72 }
else if (code >= 0x80) {
75 copy = ((code & 0x7F) << 8) + c0 + 1;
86 for(i = 0; i <
run; i++) {
88 if (filled >= width) {
98 for(i = 0; i <
copy; i++) {
99 dst[filled++] = *src++;
100 if (filled >= width) {
113 { 0x00, 0x20, 0x20, 0x20, 0x18, 0x10, 0x10, 0x20, 0x10, 0x08, 0x18, 0x08, 0x08, 0x18, 0x10, 0x04};
115 { 0x00, 0x20, 0x18, 0x08, 0x18, 0x10, 0x20, 0x10, 0x08, 0x10, 0x20, 0x20, 0x08, 0x10, 0x18, 0x04};
120 int delta,
const uint8_t *ctable, uint8_t *refdata)
128 for(i = 0; i <
height; i++)
129 memcpy(refdata + (i * width), dst + (i * stride), width);
133 dst = dst + height *
stride;
135 while((size > 0) && (height >= 0)) {
141 while((code & 0xF0) == 0xF0) {
144 int me_w, me_h, me_x, me_y;
168 if ((me_x + filled < 0) || (me_x + me_w + filled > width) ||
169 (height - me_y - me_h < 0) || (height - me_y > orig_height) ||
170 (filled + me_w > width) || (height - me_h < 0))
172 me_x, me_y, me_w, me_h, filled, height);
175 me_plane = refdata + (filled + me_x) + (height - me_y) *
width;
176 for(j = 0; j < me_h; j++) {
177 for(i = 0; i < me_w; i++)
178 dst[filled + i - (j * stride)] = me_plane[i - (j *
width)];
195 for(i = 0; i <= code; i++) {
197 if(filled >= width) {
205 }
else if(code >= 0xC0) {
208 for(i = 0; i <= code; i++) {
209 dst[filled++] = *src++;
210 if(filled >= width) {
219 }
else if(code >= 0x80) {
226 skip = (*src++) + 64;
228 skip = (*src++) + 320;
232 while( filled >= width) {
242 dst[filled++] = ctable[code & 0x7F];
245 if(filled >= width) {
255 void *
data,
int *data_size,
258 const uint8_t *buf = avpkt->
data;
259 int buf_size = avpkt->
size;
272 if(buf[0x85] == 0x10) {