Lines Matching defs:sctx
114 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
124 if (sctx->pix_fmt == AV_PIX_FMT_D3D11) {
131 if (sctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD) {
218 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
235 if (sctx->pix_fmt == AV_PIX_FMT_D3D11) {
246 if (sctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD) {
263 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
283 if (sctx->pix_fmt == AV_PIX_FMT_D3D11)
287 if (sctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD)
302 sctx->workaround |= FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO;
323 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
329 hr = IDirectXVideoDecoderService_GetDecoderConfigurations(sctx->dxva2_service, device_guid, desc, NULL, &cfg_count, &cfg_list);
344 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
368 (void **)&sctx->dxva2_service);
375 hr = IDirectXVideoDecoderService_GetDecoderDeviceGuids(sctx->dxva2_service, &guid_count, &guid_list);
381 ret = dxva_get_decoder_guid(avctx, sctx->dxva2_service, &surface_format,
397 hr = IDirectXVideoDecoderService_CreateVideoDecoder(sctx->dxva2_service, &device_guid,
399 frames_hwctx->nb_surfaces, &sctx->dxva2_decoder);
405 sctx->dxva2_config = config;
407 sctx->decoder_ref = bufref_wrap_interface((IUnknown *)sctx->dxva2_decoder);
408 if (!sctx->decoder_ref)
467 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
518 sctx->d3d11_views = av_calloc(texdesc.ArraySize, sizeof(sctx->d3d11_views[0]));
519 if (!sctx->d3d11_views)
521 sctx->nb_d3d11_views = texdesc.ArraySize;
523 for (i = 0; i < sctx->nb_d3d11_views; i++) {
534 (ID3D11VideoDecoderOutputView**) &sctx->d3d11_views[i]);
542 &config, &sctx->d3d11_decoder);
548 sctx->d3d11_config = config;
549 sctx->d3d11_texture = frames_hwctx->texture;
551 sctx->decoder_ref = bufref_wrap_interface((IUnknown *)sctx->d3d11_decoder);
552 if (!sctx->decoder_ref)
564 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
568 if (sctx->device_ctx) {
569 AVD3D11VADeviceContext *hwctx = sctx->device_ctx->hwctx;
580 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
584 if (sctx->device_ctx) {
585 AVD3D11VADeviceContext *hwctx = sctx->device_ctx->hwctx;
657 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
668 sctx->pix_fmt = avctx->hwaccel->pix_fmt;
675 sctx->device_ctx = frames_ctx->device_ctx;
677 if (frames_ctx->format != sctx->pix_fmt) {
684 if (sctx->pix_fmt == AV_PIX_FMT_D3D11) {
686 AVD3D11VAContext *d3d11_ctx = &sctx->ctx.d3d11va;
694 d3d11_ctx->decoder = sctx->d3d11_decoder;
696 d3d11_ctx->cfg = &sctx->d3d11_config;
697 d3d11_ctx->surface_count = sctx->nb_d3d11_views;
698 d3d11_ctx->surface = sctx->d3d11_views;
699 d3d11_ctx->workaround = sctx->workaround;
705 if (sctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD) {
707 struct dxva_context *dxva_ctx = &sctx->ctx.dxva2;
715 dxva_ctx->decoder = sctx->dxva2_decoder;
716 dxva_ctx->cfg = &sctx->dxva2_config;
719 dxva_ctx->workaround = sctx->workaround;
732 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
735 av_buffer_unref(&sctx->decoder_ref);
738 for (i = 0; i < sctx->nb_d3d11_views; i++) {
739 if (sctx->d3d11_views[i])
740 ID3D11VideoDecoderOutputView_Release(sctx->d3d11_views[i]);
742 av_freep(&sctx->d3d11_views);
746 if (sctx->dxva2_service)
747 IDirectXVideoDecoderService_Release(sctx->dxva2_service);
757 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
759 if (index < 0 || index >= sctx->nb_d3d11_views ||
760 sctx->d3d11_texture != (ID3D11Texture2D *)frame->data[0]) {
764 return sctx->d3d11_views[index];
905 FFDXVASharedContext *sctx = DXVA_SHARED_CONTEXT(avctx);
907 if (sctx->decoder_ref) {
908 result = frame_add_buf(frame, sctx->decoder_ref);