summaryrefslogtreecommitdiff
path: root/libavcodec/qsvenc.c
Commit message (Collapse)AuthorAge
* qsvenc: store the sync point in heap memoryMaxym Dmytrychenko2016-02-24
| | | | | | | | The QSV runtime expects the sync point address passed to MFXVideoENCODE_EncodeFrameAsync() to be valid until MFXVideoCORE_SyncOperation(). Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qsvenc: Add private option to replace coder_typeVittorio Giovara2016-01-25
| | | | Missing from be00ec832c519427cd92218abac77dafdc1d5487.
* qsvenc: fix a typoAnton Khirnov2016-01-23
| | | | Introduced in 0e6c8532215790bbe560a9eea4f3cc82bb55cf92.
* lavc: Move b_frame_strategy and b_sensitivity to codec private optionsVittorio Giovara2016-01-21
| | | | | | | | | | The b_frame_strategy option is only used by mpegvideoenc, qsv, x264, and xavs, while b_sensitivity is only used by mpegvideoenc. These are very codec-specific options, so deprecate the global variants. Set proper limits to the maximum allowed values. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* qsvenc: split encoding frames and reading from the async FIFOAnton Khirnov2016-01-07
| | | | | | This makes sure all the frames are returned at the end. Found-By: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
* qsvenc: properly handle the warning from MFXVideoCORE_SyncOperationMaxym Dmytrychenko2016-01-07
| | | | | | Same as what is done in 3b6473b43eb69fc3faaf69f7fd0b83b51db7607f. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qsvenc: export CPB props side dataAnton Khirnov2015-12-06
|
* qsvenc: expose additional encoding optionsAnton Khirnov2015-11-20
|
* qsvenc: support more RC methodsAnton Khirnov2015-11-20
|
* qsvenc: fix setting maxrate for VBRAnton Khirnov2015-11-20
|
* qsvenc: print the actual video parameters used by MSDKAnton Khirnov2015-11-20
|
* qsvenc: add an API for allocating opaque surfacesAnton Khirnov2015-10-16
|
* qsvenc: cosmetics, reindentAnton Khirnov2015-10-16
|
* qsvenc: set the timestamp for PIX_FMT_QSV frames as wellAnton Khirnov2015-10-16
|
* qsvenc: support passing arbitrary external buffers to the encoderAnton Khirnov2015-10-16
|
* qsvenc: do not try to close the encoder if the session is NULLAnton Khirnov2015-09-28
|
* lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: AV-prefix all codec flagsVittorio Giovara2015-07-27
| | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Deprecate avctx.coded_frameVittorio Giovara2015-07-20
| | | | | | | | | | | | | | | | | The rationale is that coded_frame was only used to communicate key_frame, pict_type and quality to the caller, as well as a few other random fields, in a non predictable, let alone consistent way. There was agreement that there was no use case for coded_frame, as it is a full-sized AVFrame container used for just 2-3 int-sized properties, which shouldn't even belong into the AVCodecContext in the first place. The appropriate AVPacket flag can be used instead of key_frame, while quality is exported with the new AVPacketSideData quality factor. There is no replacement for the other fields as they were unreliable, mishandled or just not used at all. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Gather all coded_frame allocations and free functions to a single placeVittorio Giovara2015-07-20
| | | | | | | | | | | | | | Allocating coded_frame is what most encoders do anyway, so it makes sense to always allocate and free it in a single place. Moreover a lot of encoders freed the frame with av_freep() instead of the correct API av_frame_free(). This bring uniformity to encoder behaviour and prevents applications from erroneusly accessing this field when not allocated. Additionally this helps isolating encoders that export information with coded_frame, and heavily simplifies its deprecation. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* qsvenc: properly handle asynchronous encodingAnton Khirnov2015-07-19
| | | | Wait for async_depth frames before syncing.
* lavc: add Intel libmfx-based HEVC encoderAnton Khirnov2015-07-08
|
* lavc: add Intel libmfx-based MPEG2 encoderAnton Khirnov2015-07-08
|
* lavc: add Intel libmfx-based H.264 encoderAnton Khirnov2015-03-27