Lines Matching defs:frame
394 /* Set any remaining post-proc that should happen before frame is ready. */
433 static void do_swizzle(AVFrame *frame, int x, int y)
436 for (i = 0; i < frame->linesize[0] * frame->height; i += 4) {
437 uint8_t *src = frame->data[0] + i;
442 static void run_postproc(AVCodecContext *avctx, AVFrame *frame)
454 for (i = 0; i < frame->linesize[0] * frame->height; i += 4) {
455 uint8_t *src = frame->data[0] + i;
476 for (i = 0; i < frame->linesize[0] * frame->height; i += 4) {
477 uint8_t *src = frame->data[0] + i;
497 for (i = 0; i < frame->linesize[0] * frame->height; i += 4) {
498 uint8_t *src = frame->data[0] + i;
514 for (i = 0; i < frame->linesize[0] * frame->height; i += 2) {
515 uint8_t *src = frame->data[0] + i;
522 do_swizzle(frame, 0, 1);
527 do_swizzle(frame, 1, 3);
528 do_swizzle(frame, 2, 3);
533 do_swizzle(frame, 2, 3);
538 do_swizzle(frame, 1, 3);
543 do_swizzle(frame, 0, 3);
548 do_swizzle(frame, 2, 3);
549 do_swizzle(frame, 0, 3);
555 do_swizzle(frame, 1, 3);
556 do_swizzle(frame, 0, 3);
557 do_swizzle(frame, 0, 1);
562 do_swizzle(frame, 1, 3);
563 do_swizzle(frame, 0, 3);
568 static int dds_decode(AVCodecContext *avctx, AVFrame *frame,
619 ret = ff_get_buffer(avctx, frame, 0);
638 ctx->dec.frame_data.out = frame->data[0];
639 ctx->dec.stride = frame->linesize[0];
642 uint8_t *dst = frame->data[0];
646 bytestream2_get_buffer(gbc, frame->data[1], 16 * 4);
648 AV_WN32(frame->data[1] + i*4,
649 (frame->data[1][2+i*4]<<0)+
650 (frame->data[1][1+i*4]<<8)+
651 (frame->data[1][0+i*4]<<16)+
652 ((unsigned)frame->data[1][3+i*4]<<24)
655 frame->palette_has_changed = 1;
657 if (bytestream2_get_bytes_left(gbc) < frame->height * frame->width / 2) {
659 bytestream2_get_bytes_left(gbc), frame->height * frame->width / 2);
663 for (y = 0; y < frame->height; y++) {
664 for (x = 0; x < frame->width; x += 2) {
669 dst += frame->linesize[0];
672 int linesize = av_image_get_linesize(avctx->pix_fmt, frame->width, 0);
677 bytestream2_get_buffer(gbc, frame->data[1], 256 * 4);
679 AV_WN32(frame->data[1] + i*4,
680 (frame->data[1][2+i*4]<<0)+
681 (frame->data[1][1+i*4]<<8)+
682 (frame->data[1][0+i*4]<<16)+
683 ((unsigned)frame->data[1][3+i*4]<<24)
686 frame->palette_has_changed = 1;
689 if (bytestream2_get_bytes_left(gbc) < frame->height * linesize) {
691 bytestream2_get_bytes_left(gbc), frame->height * linesize);
695 av_image_copy_plane(frame->data[0], frame->linesize[0],
697 linesize, frame->height);
702 run_postproc(avctx, frame);
705 frame->pict_type = AV_PICTURE_TYPE_I;
706 frame->key_frame = 1;