Lines Matching defs:avctx

42 static void fill_picture_parameters(AVCodecContext *avctx,
60 pp->wDeblockedPictureIndex = ff_dxva2_get_surface_index(avctx, ctx, current_picture->f);
62 pp->wForwardRefPictureIndex = ff_dxva2_get_surface_index(avctx, ctx, s->last_picture.f);
66 pp->wBackwardRefPictureIndex = ff_dxva2_get_surface_index(avctx, ctx, s->next_picture.f);
71 pp->wPicWidthInMBminus1 = avctx->width - 1;
72 pp->wPicHeightInMBminus1= avctx->height - 1;
91 ((DXVA_CONTEXT_CFG_INTRARESID(avctx, ctx) != 0) << 6) |
92 ((DXVA_CONTEXT_CFG_RESIDACCEL(avctx, ctx) != 0) << 5) |
100 DXVA_CONTEXT_REPORT_ID(avctx, ctx)++;
101 if (DXVA_CONTEXT_REPORT_ID(avctx, ctx) >= (1 << 16))
102 DXVA_CONTEXT_REPORT_ID(avctx, ctx) = 1;
103 pp->bPicScanFixed = DXVA_CONTEXT_REPORT_ID(avctx, ctx) >> 8;
104 pp->bPicScanMethod = DXVA_CONTEXT_REPORT_ID(avctx, ctx) & 0xff;
165 static void fill_slice(AVCodecContext *avctx, DXVA_SliceInfo *slice,
168 const VC1Context *v = avctx->priv_data;
178 slice->wMBbitOffset = v->p_frame_skipped ? 0xffff : get_bits_count(&s->gb) + (avctx->codec_id == AV_CODEC_ID_VC1 ? 32 : 0);
185 static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx,
189 const VC1Context *v = avctx->priv_data;
190 AVDXVAContext *ctx = DXVA_CONTEXT(avctx);
195 const unsigned start_code_size = avctx->codec_id == AV_CODEC_ID_VC1 ? sizeof(start_code) : 0;
206 if (ff_dxva2_is_d3d11(avctx)) {
216 if (avctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD) {
235 av_log(avctx, AV_LOG_ERROR, "Failed to build bitstream");
270 if (ff_dxva2_is_d3d11(avctx))
275 if (avctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD)
283 if (ff_dxva2_is_d3d11(avctx)) {
294 if (avctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD) {
305 return ff_dxva2_commit_buffer(avctx, ctx, sc,
312 static int dxva2_vc1_start_frame(AVCodecContext *avctx,
316 const VC1Context *v = avctx->priv_data;
317 AVDXVAContext *ctx = DXVA_CONTEXT(avctx);
320 if (!DXVA_CONTEXT_VALID(avctx, ctx))
324 fill_picture_parameters(avctx, ctx, v, &ctx_pic->pp);
332 static int dxva2_vc1_decode_slice(AVCodecContext *avctx,
336 const VC1Context *v = avctx->priv_data;
342 avpriv_request_sample(avctx, "%d slices in dxva2",
347 if (avctx->codec_id == AV_CODEC_ID_VC1 &&
358 fill_slice(avctx, &ctx_pic->slice[ctx_pic->slice_count++], position, size);
362 static int dxva2_vc1_end_frame(AVCodecContext *avctx)
364 VC1Context *v = avctx->priv_data;
371 ret = ff_dxva2_common_end_frame(avctx, v->s.current_picture_ptr->f,
376 ff_mpeg_draw_horiz_band(&v->s, 0, avctx->height);