summaryrefslogtreecommitdiffstats
path: root/libavcodec/libvpxenc.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec: add metadata to identify wrappers and hardware decoderswm42017-12-141-0/+2
| | | | | | | | | | | | | | | | | | | | | Explicitly identify decoder/encoder wrappers with a common name. This saves API users from guessing by the name suffix. For example, they don't have to guess that "h264_qsv" is the h264 QSV implementation, and instead they can just check the AVCodec .codec and .wrapper_name fields. Explicitly mark AVCodec entries that are hardware decoders or most likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing API users listing hardware decoders in a more generic way. The proposed AVCodecHWConfig does not provide this information fully, because it's concerned with decoder configuration, not information about the fact whether the hardware is used or not. AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software implementations in case the hardware is not capable. Based on a patch by Philip Langdale <philipl@overt.org>. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* lavc: Drop deprecated options moved to private contextsVittorio Giovara2017-03-231-9/+0
| | | | Deprecated in 10/2014 and 07/2015.
* vpx: Support color rangeLuca Barbato2016-07-231-0/+10
| | | | The range field has been introduced in version 1.6.0
* lavc: Move noise_reduction to codec private optionsVittorio Giovara2016-01-211-1/+9
| | | | | | | This option is only used by mpegvideoenc, x264, xavs, and vpx. It is a very codec-specific option, so deprecate the global variant. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Move frame_skip_* to codec private optionsVittorio Giovara2016-01-211-1/+10
| | | | | | | | | | | | | | These options are only used by mpegvideoenc and vpx. They are very codec-specific options, so deprecate the global variants. Add an allowed value to the private options for frame_skip_cmp which seems to have been forgotten, but perfectly working. The libvpx frame dropping feature uses one of such option (frame_skip_threshold) without the other three. For this reason rename the option to something more consistent with the other libvpx variables. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* libvpxenc: export CPB props side dataAnton Khirnov2015-12-061-0/+13
|
* libvpxenc: remove some unused ctrl id mappingsJames Zern2015-11-231-12/+4
| | | | | | | | | VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE, VP8E_USE_REFERENCE were removed from libvpx and the remaining values were never used here Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Zern <jzern@google.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-271-2/+2
| | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: AV-prefix all codec flagsVittorio Giovara2015-07-271-4/+4
| | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Deprecate avctx.coded_frameVittorio Giovara2015-07-201-0/+12
| | | | | | | | | | | | | | | | | 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-201-7/+0
| | | | | | | | | | | | | | 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>
* libvpxenc: Do not entangle coded_frameVittorio Giovara2015-07-201-15/+15
| | | | Keep coded_frame.key_frame a write-only variable.
* libvpx: Support the vp9 extended profilesLuca Barbato2015-06-211-9/+27
| | | | | | | | | | Bump the minimum libvpx version to 1.3.0 and rework the configure logic to fail only if no decoders and encoders are found. Based on the original patch from Vittorio. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* libvpx: Do not set vp8 only parameters when encoding in vp9Luca Barbato2015-06-201-2/+5
|
* libvpx: Fix mixed use of av_malloc() and av_reallocp()Vittorio Giovara2015-03-091-4/+4
| | | | | | | | This buffer is resized when vpx_codec_get_cx_data() returns a VPX_CODEC_STATS_PKT packet. CC: libav-stable@libav.org Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* libvpxenc: clean memory on errorVittorio Giovara2014-11-181-0/+1
| | | | | CC: libav-stable@libav.org Bug-Id: CID 733795
* libvpxenc: add static-thresh private optionAnton Khirnov2014-10-181-1/+12
| | | | | | | | Currently, this option is accessed through AVCodecContext.mb_threshold, which originally controlled reusing MB data when transcoding mpeg to mpeg. Since the libvpx meaning is completely different from the original mpegvideo meaning, it is better to use a separate private option for this.
* cosmetics: Write NULL pointer inequality checks more compactlyGabriel Dume2014-08-151-1/+1
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* vp9 encoder: use a decent default speed settingRafaël Carré2014-06-171-1/+1
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avcodec: Use av_reallocp where suitableAlexandra Khirnova2013-12-091-4/+6
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0Guillaume Martres2013-12-081-1/+5
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace all instances of avcodec_alloc_frame() with av_frame_alloc().Anton Khirnov2013-11-161-1/+1
|
* cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-031-2/+2
|
* libvpx: make vp8 and vp9 selectableLuca Barbato2013-01-141-16/+18
| | | | Support older libvpx versions.
* libvpx: support vp9Luca Barbato2013-01-141-2/+36
| | | | This feature is experimental use at your risk
* libvpxenc: Support forcing keyframesMartin Storsjö2012-12-091-1/+4
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libvpxenc: Allow enabling constrained quality (CQ) modeJames Zern2012-11-081-2/+8
| | | | | | The CQ mode was introduced in libvpx 0.9.6. Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-081-1/+1
|
* avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö2012-09-041-7/+7
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union memberMartin Storsjö2012-09-041-1/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union memberMartin Storsjö2012-09-041-8/+8
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libvpxenc: use the default bitrate if not setLuca Barbato2012-08-171-2/+7
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Don't include common.h from avutil.hMartin Storsjö2012-08-151-0/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-071-1/+1
|
* cosmetics: Align codec declarationsMartin Storsjö2012-04-061-3/+3
| | | | | | | Also break some long lines, remove codec function placeholder comments and add spaces in sample/pixel format lists. Signed-off-by: Martin Storsjö <martin@martin.st>
* libvpxenc: switch to encode2().Anton Khirnov2012-02-231-26/+27
|
* Mark mutable static data const where appropriate.Alex Converse2012-02-211-1/+1
|
* threads: add CODEC_CAP_AUTO_THREADS for libvpx and xavsJanne Grunau2012-01-111-1/+1
|
* AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*Anton Khirnov2011-10-121-16/+16
|
* libvpx: fix build with older libvpx versions.Anton Khirnov2011-10-031-0/+2
| | | | | | VPX_ERROR_RESILIENT_DEFAULT and VPX_ERROR_RESILIENT_PARTITIONS weren't defined before 4cb0ebe5b27d35ccc2a78c1d16f2622ddef21f74 (CommitDate: Tue Jun 28 11:10:17 2011)
* libvpxenc: use libvpx's own defaults for some parametersLuca Barbato2011-10-011-5/+16
| | | | | | | | Specifically, qmin/qmax, gop_size and keyint_min. Fixes bug 47. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vpxenc: add private optionsLuca Barbato2011-10-011-3/+60
| | | | | | | Make libvpx support close to the libx264 one. Thanks to Jan Gerber <j@v2v.cc> for the support. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: use designated initialisers for all codecs.Anton Khirnov2011-07-291-9/+8
| | | | It's more readable and less prone to breakage.
* vorbis: vpxenc: Add missing include for av_rescale*Robert Swain2011-07-041-0/+1
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* vpxenc: add VP8E_SET_STATIC_THRESHOLD mappingJames Zern2011-05-281-0/+1
| | | | | | via the equivalent AVCodecContext::mb_threshold Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-021-2/+2
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.Diego Elio Pettenò2011-01-261-1/+1
| | | | | | | None of these symbols should be accessed directly, so declare them as hidden. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Avoid rollover in settings conversion.James Zern2010-12-121-4/+4
| | | | | | Patch by James Zern, jzern google Originally committed as revision 25941 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add new -slices option and use it for libvpx and libx264.James Zern2010-10-221-0/+1
| | | | | | Patch by James Zern, jzern google Originally committed as revision 25551 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud