Revision fce2200d libavcodec/flicvideo.c

View differences:

libavcodec/flicvideo.c
246 246
            while (compressed_lines > 0) {
247 247
                line_packets = LE_16(&buf[stream_ptr]);
248 248
                stream_ptr += 2;
249
                if (line_packets < 0) {
249
                if ((line_packets & 0xC000) == 0xC000) {
250
                    // line skip opcode
250 251
                    line_packets = -line_packets;
251 252
                    y_ptr += line_packets * s->frame.linesize[0];
253
                } else if ((line_packets & 0xC000) == 0x4000) {
254
                    av_log(avctx, AV_LOG_ERROR, "Undefined opcode (%x) in DELTA_FLI\n", line_packets);
255
                } else if ((line_packets & 0xC000) == 0x8000) {
256
                    // "last byte" opcode
257
                    pixels[y_ptr + s->frame.linesize[0] - 1] = line_packets & 0xff;
252 258
                } else {
253 259
                    compressed_lines--;
254 260
                    pixel_ptr = y_ptr;

Also available in: Unified diff