Add a larger warning more clearly explaining the consequences of missing packed header support in the driver. Also only write the extradata if the user actually requests it via the GLOBAL_HEADER flag.
Showing the changes to libavcodec/vaapi_encode.h (1 of 8 files). Show all
Unified · Split
| @@ -116,9 +116,8 @@ typedef struct VAAPIEncodeContext { · 115 unmodified lines | |||
| 116 | // Use low power encoding mode. | 116 | // Use low power encoding mode. |
| 117 | int low_power; | 117 | int low_power; |
| 118 | 118 | ||
| 119 | // Supported packed headers (initially the desired set, modified | 119 | // Desired packed headers. |
| 120 | // later to what is actually supported). | 120 | unsigned int desired_packed_headers; |
| 121 | unsigned int va_packed_headers; | ||
| 122 | 121 | ||
| 123 | // The required size of surfaces. This is probably the input | 122 | // The required size of surfaces. This is probably the input |
| 124 | // size (AVCodecContext.width|height) aligned up to whatever | 123 | // size (AVCodecContext.width|height) aligned up to whatever |
| @@ -140,6 +139,8 @@ typedef struct VAAPIEncodeContext { · 15 unmodified lines | |||
| 140 | unsigned int va_rc_mode; | 139 | unsigned int va_rc_mode; |
| 141 | // Bitrate for codec-specific encoder parameters. | 140 | // Bitrate for codec-specific encoder parameters. |
| 142 | unsigned int va_bit_rate; | 141 | unsigned int va_bit_rate; |
| 142 | // Packed headers which will actually be sent. | ||
| 143 | unsigned int va_packed_headers; | ||
| 143 | 144 | ||
| 144 | // Configuration attributes to use when creating va_config. | 145 | // Configuration attributes to use when creating va_config. |
| 145 | VAConfigAttrib config_attributes[MAX_CONFIG_ATTRIBUTES]; | 146 | VAConfigAttrib config_attributes[MAX_CONFIG_ATTRIBUTES]; |