summaryrefslogtreecommitdiff
path: root/libavcodec/vaapi_encode.c
Commit message (Collapse)AuthorAge
* vaapi_encode: Write sequence header as extradataMark Thompson2016-12-05
| | | | | | | Only works if packed headers are supported, where we can know the output before generating the first frame. (cherry picked from commit 0cf86fabfa5820596cca2cfead63c6f8df76c3f2)
* vaapi_encode: Decide on GOP setup before initialising sequence parametersMark Thompson2016-11-21
| | | | | | | This was always too late; several fields related to it have been incorrectly zero since the encoder was added. (cherry picked from commit 314b421dd8910ebed7a8d419a0dbea239a00044e)
* vaapi_encode: Sync to input surface rather than outputMark Thompson2016-11-21
| | | | | | | | | | | While outwardly bizarre, this change makes the behaviour consistent with other VAAPI encoders which sync to the encode /input/ picture in order to wait for /output/ from the encoder. It is not harmful on i965 (because synchronisation already happens in vaRenderPicture(), so it has no effect there), and it allows the encoder to work on mesa/gallium which assumes this behaviour. (cherry picked from commit 086e4b58b59ea3993107aa24d92bb962ec69667c)
* vaapi_encode: Check packed header capabilitiesMark Thompson2016-11-21
| | | | | | | This improves behaviour with drivers which do not support packed headers, such as AMD VCE on mesa/gallium. (cherry picked from commit 892bbbcdc171ff0d08d69636a240ffb95f54243c)
* vaapi_encode: Refactor initialisationMark Thompson2016-11-21
| | | | | | | | | | This allows better checking of capabilities and will make it easier to add more functionality later. It also commonises some duplicated code around rate control setup and adds more comments explaining the internals. (cherry picked from commit 80a5d05108cb218e8cd2e25c6621a3bfef0a832e)
* vaapi_encode: Respect driver quirks around buffer destructionMark Thompson2016-11-13
| | | | | | | | No longer leaks memory when used with a driver with the "render does not destroy param buffers" quirk (i.e. Intel i965). (cherry picked from commit 221ffca6314ed3ba9d38464ea50cd85251c04e74) Fixes ticket #5871.
* Merge commit '8a62d2c28fbacd1ae20c35887a1eecba2be14371'Hendrik Leppkes2016-11-13
|\ | | | | | | | | | | | | * commit '8a62d2c28fbacd1ae20c35887a1eecba2be14371': vaapi_encode: Maintain a pool of bitstream output buffers Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * vaapi_encode: Maintain a pool of bitstream output buffersMark Thompson2016-06-26
| | | | | | | | | | | | | | | | | | Previously we would allocate a new one for every frame. This instead maintains an AVBufferPool of them to use as-needed. Also makes the maximum size of an output buffer adapt to the frame size - the fixed upper bound was a bit too easy to hit when encoding large pictures at high quality.
* | Merge commit '11b8030309ee93d79b3a6cd4b83bf00757db1598'Hendrik Leppkes2016-10-07
|\| | | | | | | | | | | | | * commit '11b8030309ee93d79b3a6cd4b83bf00757db1598': vaapi_encode: Fix fallback when input does not match any format Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * vaapi_encode: Fix fallback when input does not match any formatMark Thompson2016-06-21
| | | | | | | | Just a typo. Add a comment to make it clearer what it's doing.
* | cosmetics: fix some misspelled wordsJames Almer2016-07-17
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit '19d7667a81499d4357ec8e0851701e17c238e584'Clément Bœsch2016-06-29
|\| | | | | | | | | | | | | * commit '19d7667a81499d4357ec8e0851701e17c238e584': vaapi_encode: Add support for writing arbitrary additional packed headers Merged-by: Clément Bœsch <clement@stupeflix.com>
| * vaapi_encode: Add support for writing arbitrary additional packed headersMark Thompson2016-06-09
| |
* | Merge commit '2bfa067d0b636e7b2004fb0ad5a53d0d48c6de32'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '2bfa067d0b636e7b2004fb0ad5a53d0d48c6de32': vaapi_encode: Check config attributes before creating config Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * vaapi_encode: Check config attributes before creating configMark Thompson2016-05-27
| | | | | | | | | | | | This prevents attempts to use unsupported modes, such as low-power H.264 mode on non-Skylake targets. Also fixes a crash on invalid configuration, when trying to destroy an invalid VA config/context.
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\| | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '92fdea37477b5a2d1329e5ef0773e24473fa8f12'Derek Buitenhuis2016-05-11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are all trivial to merge. * commit '92fdea37477b5a2d1329e5ef0773e24473fa8f12': vaapi_h265: Add -qp option, use it to replace use of -global_quality vaapi_h265: Add constant-bitrate encode support vaapi_h264: Add encode quality option (for quality-speed tradeoff) vaapi_h264: Add -qp option, use it to replace use of -global_quality vaapi_encode: Add support for codec-local options vaapi_h264: Add constant-bitrate encode support vaapi_encode: Refactor slightly to allow easier setting of global options Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * vaapi_encode: Add support for codec-local optionsMark Thompson2016-04-15
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * vaapi_encode: Refactor slightly to allow easier setting of global optionsMark Thompson2016-04-15
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '104c804bcaac24b52eb51ed17df2fb311e6ae73e'Derek Buitenhuis2016-05-08
|/ | | | | | | * commit '104c804bcaac24b52eb51ed17df2fb311e6ae73e': lavc: VAAPI encode common infrastructure Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* lavc: VAAPI encode common infrastructureMark Thompson2016-03-30
Signed-off-by: Anton Khirnov <anton@khirnov.net>