Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ffmpeg vp9 vaapi encoding fails on kaby lake nuc #362

Closed
vaapicon opened this issue Feb 18, 2018 · 1 comment
Closed

ffmpeg vp9 vaapi encoding fails on kaby lake nuc #362

vaapicon opened this issue Feb 18, 2018 · 1 comment

Comments

@vaapicon
Copy link

vaapicon commented Feb 18, 2018

I've been using the ffmpeg vp9_vaapi encoder on Arch Linux. Its been working fine until the latest release.
ffmpeg fails with:

[vp9_vaapi @ 0x55cd90c08f40] Failed to create encode pipeline configuration: 25 (an invalid/unsupported value was supplied).

I built intel-vaapi-driver from git and it works until "commit cccf2a3", dealing with packed headers.
Arch Linux's version of ffmpeg has vp9 packed headers disabled.

libavcodec/vaapi_encode_vp9.c
    259:  // Packed headers are not currently supported.
    260:     ctx->va_packed_headers = 0;

The latest release of intel-vaapi-driver works if I remove the following from i965_drv_video.c

case VAProfileVP9Profile0:
           enc_packed_attribs = VA_ENC_PACKED_HEADER_RAW_DATA;
           break;

ffmpeg-failed.log

fhvwy added a commit to fhvwy/intel-vaapi-driver that referenced this issue Feb 19, 2018
If packed headers are not supported then the only valid value for this
attribute is VA_ATTRIB_NOT_SUPPORTED.  If packed headers are supported,
then the provided value must be some (possibly empty) subset of the
supported headers.

This fixes config creation with an empty packed header set, which the
user may pass if they don't want to provide any packed headers.  This
pattern is used in at least libavcodec, where VP9 encoding is broken
prior to this change.

Fixes intel#362.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
@vaapicon
Copy link
Author

vaapicon commented Feb 19, 2018

@fhvwy Thanks, commit 1337345 works.
At least it works for me using ffmpeg.

fhvwy added a commit to fhvwy/intel-vaapi-driver that referenced this issue Mar 8, 2018
If packed headers are not supported then the only valid value for this
attribute is VA_ATTRIB_NOT_SUPPORTED.  If packed headers are supported,
then the provided value must be some (possibly empty) subset of the
supported headers.

This fixes config creation with an empty packed header set, which the
user may pass if they don't want to provide any packed headers.  This
pattern is used in at least libavcodec, where VP9 encoding is broken
prior to this change.

Since there is intent to deprecate this behaviour in future, also add
warnings to this case and the other possible failure modes here.

Fixes intel#362.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
fhvwy added a commit to fhvwy/intel-vaapi-driver that referenced this issue Mar 13, 2018
If packed headers are not supported then the only valid value for this
attribute is VA_ATTRIB_NOT_SUPPORTED.  If packed headers are supported,
then the provided value must be some (possibly empty) subset of the
supported headers.

This fixes config creation with an empty packed header set, which the
user may pass if they don't want to provide any packed headers.  This
pattern is used in at least libavcodec, where VP9 encoding is broken
prior to this change.

Since there is intent to deprecate this behaviour in future, also add
warnings to this case and the other possible failure modes here.

Fixes intel#362.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
fhvwy added a commit to fhvwy/intel-vaapi-driver that referenced this issue Mar 15, 2018
If packed headers are supported, then the provided value must be some
(possibly empty) subset of the supported headers.

This fixes config creation with an empty packed header set, which the
user may pass if they don't want to provide any packed headers.  This
pattern is used in at least libavcodec, where VP9 encoding is broken
prior to this change.

Since there is intent to deprecate this behaviour in future, also add
warnings to this case and the other possible failure modes here.

Fixes intel#362.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
carpalis pushed a commit to carpalis/intel-vaapi-driver that referenced this issue Mar 27, 2018
If packed headers are supported, then the provided value must be some
(possibly empty) subset of the supported headers.

This fixes config creation with an empty packed header set, which the
user may pass if they don't want to provide any packed headers.  This
pattern is used in at least libavcodec, where VP9 encoding is broken
prior to this change.

Since there is intent to deprecate this behaviour in future, also add
warnings to this case and the other possible failure modes here.

Fixes intel#362.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant