Lines Matching defs:avctx

48     AVCodecContext *avctx;
199 static int decode_frame(AVCodecContext *avctx, AVFrame *p,
202 LOCOContext * const l = avctx->priv_data;
207 if ((ret = ff_get_buffer(avctx, p, 0)) < 0)
217 decoded = loco_decode_plane(l, p->data[0], avctx->width, avctx->height,
220 decoded = loco_decode_plane(l, p->data[1], avctx->width / 2, avctx->height,
223 decoded = loco_decode_plane(l, p->data[2], avctx->width / 2, avctx->height,
227 decoded = loco_decode_plane(l, p->data[0], avctx->width, avctx->height,
230 decoded = loco_decode_plane(l, p->data[2], avctx->width / 2, avctx->height / 2,
233 decoded = loco_decode_plane(l, p->data[1], avctx->width / 2, avctx->height / 2,
237 decoded = loco_decode_plane(l, p->data[1] + p->linesize[1]*(avctx->height-1), avctx->width, avctx->height,
240 decoded = loco_decode_plane(l, p->data[0] + p->linesize[0]*(avctx->height-1), avctx->width, avctx->height,
243 decoded = loco_decode_plane(l, p->data[2] + p->linesize[2]*(avctx->height-1), avctx->width, avctx->height,
245 if (avctx->width & 1) {
246 rotate_faulty_loco(p->data[0] + p->linesize[0]*(avctx->height-1), avctx->width, avctx->height, -p->linesize[0]);
247 rotate_faulty_loco(p->data[1] + p->linesize[1]*(avctx->height-1), avctx->width, avctx->height, -p->linesize[1]);
248 rotate_faulty_loco(p->data[2] + p->linesize[2]*(avctx->height-1), avctx->width, avctx->height, -p->linesize[2]);
253 decoded = loco_decode_plane(l, p->data[1] + p->linesize[1]*(avctx->height-1), avctx->width, avctx->height,
256 decoded = loco_decode_plane(l, p->data[0] + p->linesize[0]*(avctx->height-1), avctx->width, avctx->height,
259 decoded = loco_decode_plane(l, p->data[2] + p->linesize[2]*(avctx->height-1), avctx->width, avctx->height,
262 decoded = loco_decode_plane(l, p->data[3] + p->linesize[3]*(avctx->height-1), avctx->width, avctx->height,
277 av_log(avctx, AV_LOG_ERROR, "Input data too small.\n");
281 static av_cold int decode_init(AVCodecContext *avctx)
283 LOCOContext * const l = avctx->priv_data;
286 l->avctx = avctx;
287 if (avctx->extradata_size < 12) {
288 av_log(avctx, AV_LOG_ERROR, "Extradata size must be >= 12 instead of %i\n",
289 avctx->extradata_size);
292 version = AV_RL32(avctx->extradata);
298 l->lossy = AV_RL32(avctx->extradata + 8);
301 l->lossy = AV_RL32(avctx->extradata + 8);
302 avpriv_request_sample(avctx, "LOCO codec version %i", version);
306 av_log(avctx, AV_LOG_ERROR, "lossy %i is too large\n", l->lossy);
310 l->mode = AV_RL32(avctx->extradata + 4);
315 avctx->pix_fmt = AV_PIX_FMT_YUV422P;
319 avctx->pix_fmt = AV_PIX_FMT_GBRP;
323 avctx->pix_fmt = AV_PIX_FMT_YUV420P;
327 avctx->pix_fmt = AV_PIX_FMT_GBRAP;
330 av_log(avctx, AV_LOG_INFO, "Unknown colorspace, index = %i\n", l->mode);
333 if (avctx->debug & FF_DEBUG_PICT_INFO)
334 av_log(avctx, AV_LOG_INFO, "lossy:%i, version:%i, mode: %i\n", l->lossy, version, l->mode);