Lines Matching defs:frame
542 y_stride = (s->frame->linesize[0] <<
547 y_ptr = s->frame->data[0] +
548 ((mb_y * s->frame->linesize[0] + mb_x) << log2_blocksize);
550 dv100_idct_put_last_row_field_luma(s, y_ptr, s->frame->linesize[0], block);
552 linesize = s->frame->linesize[0] << is_field_mode[mb_index];
566 c_offset = (((mb_y >> (s->sys->pix_fmt == AV_PIX_FMT_YUV420P)) * s->frame->linesize[1] +
569 uint8_t *c_ptr = s->frame->data[j] + c_offset;
576 for (y = 0; y < (1 << log2_blocksize); y++, c_ptr += s->frame->linesize[j], pixels += 8) {
578 c_ptr1 = c_ptr + (s->frame->linesize[j] << log2_blocksize);
588 s->frame->linesize[j] << ((!is_field_mode[mb_index]) * log2_blocksize);
590 dv100_idct_put_last_row_field_chroma(s, c_ptr, s->frame->linesize[j], block);
594 linesize = s->frame->linesize[j] << is_field_mode[mb_index];
608 /* NOTE: exactly one frame must be given (120000 bytes for NTSC,
610 static int dvvideo_decode_frame(AVCodecContext *avctx, AVFrame *frame,
622 av_log(avctx, AV_LOG_ERROR, "could not find dv frame profile\n");
636 s->frame = frame;
637 frame->key_frame = 1;
638 frame->pict_type = AV_PICTURE_TYPE_I;
655 if ((ret = ff_thread_get_buffer(avctx, frame, 0)) < 0)
661 frame->interlaced_frame = 0;
662 frame->top_field_first = 0;
664 frame->interlaced_frame = 1;
665 frame->top_field_first = (vsc_pack[3] & 0x40) == 0x40;
667 frame->interlaced_frame = (vsc_pack[3] & 0x10) == 0x10;
668 frame->top_field_first = !(vsc_pack[3] & 0x40);