[FFmpeg-devel] [PATCH] lavc/vc1dec: add multi-slice decoding support for hwaccel.

Hendrik Leppkes h.leppkes at gmail.com
Tue Nov 15 00:21:30 EET 2016


On Mon, Nov 14, 2016 at 11:15 PM, Hendrik Leppkes <h.leppkes at gmail.com> wrote:
> On Mon, Nov 14, 2016 at 10:31 PM, Mark Thompson <sw at jkqxz.net> wrote:
>> On 14/11/16 00:57, Jun Zhao wrote:
>>> On 2016/11/11 16:29, Hendrik Leppkes wrote:
>>>> On Fri, Nov 11, 2016 at 9:09 AM, Jun Zhao <mypopydev at gmail.com> wrote:
>>>>>
>>>>
>>>> Do you have a sample file for this case? AFAIK all vc1 files I ever
>>>> saw worked with the DXVA2 hwaccel before, just want to make sure they
>>>> are not getting broken.
>>>>
>>>> - Hendrik
>>>
>>> We used the file fate-suite/vc1/SA10091.vc1, you can get the files with
>>> the command:
>>> rsync -aL rsync://fate-suite.ffmpeg.org:/fate-suite/ fate-suite.
>>
>> Can you describe your test setup(s) a bit more?
>>
>> I had a go at testing this with VAAPI.
>>
>> With the i965 driver on Skylake GT2, fate-vc1_sa10091 fails cleanly without the patch, but gives a GPU hang with it.
>>
>> With the mesa driver on Polaris 11, fate-vc1_sa10091 passes without the patch, but fails with it.
>>
>> I haven't really looked at VC-1 decode much before, so I'm not sure which of these tests should pass.  Still, the GPU hang is certainly bad (and possibly the fault of the driver, but it would be helpful to be sure of that if we want to apply this sort of change).
>>
>> More detailed results below.
>
> For the record, this makes DXVA2 decoding break more as well. Decoding
> is not correct before this patch on that sample (only the first slice
> looks ok), but after its entirely broken, with error messages to boot.
>
> I have some experience with vc1 hwaccel, at least with dxva2, and if I
> find some time I might look into what might be needed to make it work,
> but this patch seems to have issues.
>

After a quick look - one key problem is that hwaccels typically want
raw/escaped buffers, but the buffers in the slice GetBitContext are
unescaped, so that won't work.

- Hendrik


More information about the ffmpeg-devel mailing list