On Wed, 7 Jun 2017 09:01:07 +0200 Steve Lhomme <[email protected]> wrote:
> On Tue, Jun 6, 2017 at 6:51 PM, wm4 <[email protected]> wrote: > > do { > > + ff_dxva2_lock(avctx); > > #if CONFIG_D3D11VA > > - if (ff_dxva2_is_d3d11(avctx)) { > > - if (D3D11VA_CONTEXT(ctx)->context_mutex != > > INVALID_HANDLE_VALUE) > > - WaitForSingleObjectEx(D3D11VA_CONTEXT(ctx)->context_mutex, > > INFINITE, FALSE); > > + if (ff_dxva2_is_d3d11(avctx)) > > Did you mean ff_dxva2_lock() ? But that call is there? It's still D3D11-only, and does nothing with DXVA2. I thought it'd be cleaner to have it outside of the ifdefs. > > hr = > > ID3D11VideoContext_DecoderBeginFrame(D3D11VA_CONTEXT(ctx)->video_context, > > D3D11VA_CONTEXT(ctx)->decoder, > > get_surface(frame), > > 0, NULL); > > - } > > #endif > > #if CONFIG_DXVA2 > > if (avctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD) > > @@ -170,21 +190,13 @@ int ff_dxva2_common_end_frame(AVCodecContext *avctx, > > AVFrame *frame, > > #endif > > if (hr != E_PENDING || ++runs > 50) > > break; > > -#if CONFIG_D3D11VA > > - if (ff_dxva2_is_d3d11(avctx)) > > - if (D3D11VA_CONTEXT(ctx)->context_mutex != > > INVALID_HANDLE_VALUE) > > - ReleaseMutex(D3D11VA_CONTEXT(ctx)->context_mutex); > > -#endif > > + ff_dxva2_unlock(avctx); > > av_usleep(2000); > > } while(1); > > > > if (FAILED(hr)) { > > av_log(avctx, AV_LOG_ERROR, "Failed to begin frame: 0x%x\n", hr); > > -#if CONFIG_D3D11VA > > - if (ff_dxva2_is_d3d11(avctx)) > > - if (D3D11VA_CONTEXT(ctx)->context_mutex != > > INVALID_HANDLE_VALUE) > > - ReleaseMutex(D3D11VA_CONTEXT(ctx)->context_mutex); > > -#endif > > + ff_dxva2_unlock(avctx); > > return -1; > > } > > > > @@ -284,16 +296,14 @@ int ff_dxva2_common_end_frame(AVCodecContext *avctx, > > AVFrame *frame, > > > > end: > > #if CONFIG_D3D11VA > > - if (ff_dxva2_is_d3d11(avctx)) { > > + if (ff_dxva2_is_d3d11(avctx)) > > Same here Should be fine here too. _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
