On Sat, Jun 10, 2017 at 3:58 PM, Diego Biurrun <[email protected]> wrote:
> On Fri, Jun 09, 2017 at 04:27:35PM +0200, wm4 wrote:
>> The cast in get_surface() is silly, but unless we change the av_log
>> function signature, or all callers of ff_dxva2_get_surface_index(), it's
>> needed to remove the const warning.
>
> Constifying av_log() seems like the correct solution.
>
>> --- a/libavcodec/dxva2.c
>> +++ b/libavcodec/dxva2.c
>> @@ -623,7 +622,6 @@ int ff_dxva2_decode_init(AVCodecContext *avctx)
>>      if (sctx->pix_fmt == AV_PIX_FMT_D3D11) {
>>          AVD3D11VADeviceContext *device_hwctx = 
>> frames_ctx->device_ctx->hwctx;
>>          AVD3D11VAContext *d3d11_ctx = &sctx->ctx.d3d11va;
>> -        HRESULT hr;
>>
>> @@ -759,7 +757,7 @@ int ff_dxva2_commit_buffer(AVCodecContext *avctx,
>>  #endif
>>      if (FAILED(hr)) {
>>          av_log(avctx, AV_LOG_ERROR, "Failed to get a buffer for %u: 0x%x\n",
>> -               type, hr);
>> +               type, (unsigned)hr);
>
> This looks shady. What is the right length modifier for HRESULT? l?
>

HRESULT is a signed long.
Microsoft CRTs actually have a special format specifier for HRESULTs,
%hr, which decode the number to its name, but I do not know how
widespread support for that is in mingw and the like.

- Hendrik
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to