Lines Matching refs:frame

125                          const AVFrame *frame, AVFrame **alt_frame_ptr,
163 pic->argb = (uint32_t *)frame->data[0];
164 pic->argb_stride = frame->linesize[0] / 4;
166 if (frame->linesize[1] != frame->linesize[2] || s->cr_threshold) {
169 "Copying frame due to differing chroma linesizes.\n");
178 alt_frame->width = frame->width;
179 alt_frame->height = frame->height;
180 alt_frame->format = frame->format;
186 alt_frame->format = frame->format;
187 av_frame_copy(alt_frame, frame);
188 frame = alt_frame;
194 s->ref = av_frame_clone(frame);
202 for (y = 0; y < frame->height; y+= bs) {
203 for (x = 0; x < frame->width; x+= bs) {
208 int w = AV_CEIL_RSHIFT(frame->width , !!p);
209 int h = AV_CEIL_RSHIFT(frame->height, !!p);
214 int diff = frame->data[p][frame->linesize[p] * y2 + x2]
215 -s->ref->data[p][frame->linesize[p] * y2 + x2];
220 skip = sse < s->cr_threshold && frame->data[3] != s->ref->data[3];
224 int w = AV_CEIL_RSHIFT(frame->width , !!p);
225 int h = AV_CEIL_RSHIFT(frame->height, !!p);
229 memcpy(&s->ref->data[p][frame->linesize[p] * y2 + xs],
230 & frame->data[p][frame->linesize[p] * y2 + xs], FFMIN(bs2, w-xs));
233 for (y2 = y; y2 < FFMIN(y+bs, frame->height); y2++) {
234 memset(&frame->data[3][frame->linesize[3] * y2 + x],
236 FFMIN(bs, frame->width-x));
244 pic->y = frame->data[0];
245 pic->u = frame->data[1];
246 pic->v = frame->data[2];
247 pic->y_stride = frame->linesize[0];
248 pic->uv_stride = frame->linesize[1];
249 if (frame->format == AV_PIX_FMT_YUVA420P) {
251 pic->a = frame->data[3];
252 pic->a_stride = frame->linesize[3];