Lines Matching defs:frame
43 AVFrame *frame;
67 static int decode_avcf(AVCodecContext *avctx, AVFrame *frame)
71 const int l = frame->linesize[0];
73 uint8_t *dst = frame->data[0];
75 if (bytestream2_get_bytes_left(gb) < 1024 + (frame->width / 2) * (frame->height / 2))
79 for (int y = 0; y < frame->height; y += 2) {
80 for (int x = 0; x < frame->width; x += 2) {
90 dst += frame->linesize[0] * 2;
96 static int decode_alcd(AVCodecContext *avctx, AVFrame *frame)
101 const int l = frame->linesize[0];
103 uint8_t *dst = frame->data[0];
107 if (bytestream2_get_bytes_left(gb) < 1024 + (((frame->width / 2) * (frame->height / 2) + 7) >> 3))
112 bytestream2_skipu(gb, ((frame->width / 2) * (frame->height / 2) + 7) >> 3);
114 for (int y = 0; y < frame->height; y += 2) {
115 for (int x = 0; x < frame->width; x += 2) {
138 dst += frame->linesize[0] * 2;
144 static int decode_mad1(AVCodecContext *avctx, AVFrame *frame)
148 const int w = frame->width;
149 const int h = frame->height;
150 const int l = frame->linesize[0];
162 dst = frame->data[0];
214 dst = frame->data[0] + mvx + l * mvy;
215 src = frame->data[0] + mx + l * my;
241 dst = frame->data[0];
250 dst = frame->data[0];
282 dst = frame->data[0];
354 static int decode_mad1_24(AVCodecContext *avctx, AVFrame *frame)
358 const int w = frame->width;
359 const int h = frame->height;
360 const int l = frame->linesize[0] / 4;
373 dst = (uint32_t *)frame->data[0];
427 dst = (uint32_t *)frame->data[0] + mvx + l * mvy;
428 src = (uint32_t *)frame->data[0] + mx + l * my;
469 uint32_t *src = (uint32_t *)frame->data[0];
475 dst = (uint32_t *)frame->data[0] + pos + dy * l;
562 static int decode_rle(AVCodecContext *avctx, AVFrame *frame)
566 const int w = frame->width;
567 const int h = frame->height;
568 const int l = frame->linesize[0];
569 uint8_t *dst = frame->data[0];
607 AVFrame *frame = s->frame;
616 if ((ret = ff_reget_buffer(avctx, frame, 0)) < 0)
622 for (int y = 0; y < frame->height; y++)
623 memset(frame->data[0] + y * frame->linesize[0], 0, frame->width * s->bpp);
625 memset(frame->data[1], 0, AVPALETTE_SIZE);
629 ret = decode_mad1(avctx, frame);
631 ret = decode_mad1_24(avctx, frame);
636 ret = decode_avcf(avctx, frame);
642 ret = decode_alcd(avctx, frame);
648 ret = decode_rle(avctx, frame);
654 ret = decode_rle(avctx, frame);
666 memcpy(frame->data[1], s->pal, AVPALETTE_SIZE);
668 if ((ret = av_frame_ref(rframe, s->frame)) < 0)
671 frame->pict_type = s->key ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_P;
672 frame->key_frame = s->key;
696 s->frame = av_frame_alloc();
697 if (!s->frame)
724 av_frame_unref(s->frame);
731 av_frame_free(&s->frame);