Lines Matching defs:frame
106 static int decode_index_palmap(SGAVideoContext *s, AVFrame *frame)
113 uint8_t *dst = frame->data[0] + y * 8 * frame->linesize[0] + x * 8;
120 dst += frame->linesize[0];
128 static int decode_index_tilemap(SGAVideoContext *s, AVFrame *frame)
148 uint8_t *dst = frame->data[0] + y * 8 * frame->linesize[0] + x * 8;
173 dst += frame->linesize[0];
181 static int decode_index(SGAVideoContext *s, AVFrame *frame)
184 uint8_t *dst = frame->data[0];
186 for (int y = 0; y < frame->height; y += 8) {
187 for (int x = 0; x < frame->width; x += 8) {
190 dst[x + xx + yy * frame->linesize[0]] = src[xx];
195 dst += 8 * frame->linesize[0];
309 static int sga_decode_frame(AVCodecContext *avctx, AVFrame *frame,
342 if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
481 ret = decode_index_palmap(s, frame);
485 ret = decode_index_tilemap(s, frame);
489 ret = decode_index(s, frame);
499 memcpy(frame->data[1], s->pal, AVPALETTE_SIZE);
500 frame->palette_has_changed = 1;
501 frame->pict_type = AV_PICTURE_TYPE_I;
502 frame->key_frame = 1;