On Wed, Jun 7, 2017 at 12:13 PM, Hendrik Leppkes <[email protected]> wrote:
> On Wed, Jun 7, 2017 at 9:10 AM, Steve Lhomme <[email protected]> wrote:
>> On Tue, Jun 6, 2017 at 6:51 PM, wm4 <[email protected]> wrote:
>>> This also adds support to avconv (which is trivial due to the new
>>> hwaccel API being generic enough). For now, this keeps avconv_dxva2.c as
>>> "dxva2-old", although it doesn't work as avconv.c can't handle multiple
>>> hwaccels with the same pixfmt. It will be removed in a later commit.
>>>
>>> The new decoder setup code in dxva2.c is significantly based on work by
>>> Steve Lhomme <[email protected]>, but with heavy changes/rewrites.
>>> ---
>>> diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
>>> index 69d5908551..7a9182af9b 100644
>>> --- a/libavcodec/hevcdec.c
>>> +++ b/libavcodec/hevcdec.c
>>> @@ -383,7 +383,7 @@ static void export_stream_params(AVCodecContext *avctx, 
>>> const HEVCParamSets *ps,
>>>
>>>  static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps)
>>>  {
>>> -    #define HWACCEL_MAX (CONFIG_HEVC_DXVA2_HWACCEL + 
>>> CONFIG_HEVC_D3D11VA_HWACCEL + \
>>> +    #define HWACCEL_MAX (CONFIG_HEVC_DXVA2_HWACCEL + 
>>> CONFIG_HEVC_D3D11VA_HWACCEL * 2 + \
>>>                           CONFIG_HEVC_VAAPI_HWACCEL + 
>>> CONFIG_HEVC_VDPAU_HWACCEL)
>>>      enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmt = pix_fmts;
>>>
>>> @@ -391,6 +391,7 @@ static enum AVPixelFormat get_format(HEVCContext *s, 
>>> const HEVCSPS *sps)
>>>          sps->pix_fmt == AV_PIX_FMT_YUV420P10) {
>>>  #if CONFIG_HEVC_D3D11VA_HWACCEL
>>>          *fmt++ = AV_PIX_FMT_D3D11VA_VLD;
>>> +        *fmt++ = AV_PIX_FMT_D3D11;
>>
>> Can this be configured when building ? Since I will not support the
>> new format anytime soon I'd rather not try this for every file we
>> decode for nothing.
>>
>
> The old version is first in the format list, so your app gets called
> with that first. Additional ifdefs everywhere and a configure option
> would get seriously messy, just to avoid one if check in the app that
> you should be having anyway (and possibly even do already?). Please
> don't :)

Yes but in VLC if you select no HW acceleration we still try all
output formats until we find a matching configuration.

Also if the new format is better, shouldn't it come before the old one
? (I wouldn't mind having D3D11 above DXVA2 as well)

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

Reply via email to