Lines Matching defs:frame
50 uint8_t *frame, frame_base[SCREEN_WIDE * (SCREEN_HIGH + 1)];
57 static int decode_bmv_frame(const uint8_t *source, int src_len, uint8_t *frame, int frame_off)
62 uint8_t *frame_end = frame + SCREEN_WIDE * SCREEN_HIGH;
76 dst = frame;
81 dst_end = frame - 1;
149 if (dst - frame + SCREEN_WIDE < frame_off ||
150 dst - frame + SCREEN_WIDE + frame_off < 0 ||
159 if (dst - frame + SCREEN_WIDE < frame_off ||
160 dst - frame + SCREEN_WIDE + frame_off < 0 ||
199 static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
212 av_log(avctx, AV_LOG_ERROR, "Audio data doesn't fit in frame\n");
220 av_log(avctx, AV_LOG_ERROR, "Command data doesn't fit in frame\n");
227 av_log(avctx, AV_LOG_ERROR, "Palette data doesn't fit in frame\n");
235 av_log(avctx, AV_LOG_ERROR, "Screen offset data doesn't fit in frame\n");
245 if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
248 if (decode_bmv_frame(c->stream, pkt->size - (c->stream - pkt->data), c->frame, scr_off)) {
249 av_log(avctx, AV_LOG_ERROR, "Error decoding frame data\n");
253 memcpy(frame->data[1], c->pal, AVPALETTE_SIZE);
254 frame->palette_has_changed = type & BMV_PALETTE;
256 outptr = frame->data[0];
257 srcptr = c->frame;
262 outptr += frame->linesize[0];
283 c->frame = c->frame_base + 640;