summaryrefslogtreecommitdiff
path: root/libavcodec/libvpxenc.c
Commit message (Collapse)AuthorAge
* libvpxenc: report pict_type/error via side-dataJames Zern2015-07-29
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Zern <jzern@google.com>
* libvpxenc: quiet coded_frame deprecation warningsJames Zern2015-07-29
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Zern <jzern@google.com>
* Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-27
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | | | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615': lavc: AV-prefix all codec flags Conflicts: doc/examples/muxing.c ffmpeg.c ffmpeg_opt.c ffplay.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/ac3enc_float.c libavcodec/atrac1.c libavcodec/atrac3.c libavcodec/atrac3plusdec.c libavcodec/dcadec.c libavcodec/ffv1enc.c libavcodec/h264.c libavcodec/h264_loopfilter.c libavcodec/h264_mb.c libavcodec/imc.c libavcodec/libmp3lame.c libavcodec/libtheoraenc.c libavcodec/libtwolame.c libavcodec/libvpxenc.c libavcodec/libxavs.c libavcodec/libxvid.c libavcodec/mpeg12dec.c libavcodec/mpeg12enc.c libavcodec/mpegaudiodec_template.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/nellymoserdec.c libavcodec/nellymoserenc.c libavcodec/nvenc.c libavcodec/on2avc.c libavcodec/options_table.h libavcodec/opus_celt.c libavcodec/pngenc.c libavcodec/ra288.c libavcodec/ratecontrol.c libavcodec/twinvq.c libavcodec/vc1_block.c libavcodec/vc1_loopfilter.c libavcodec/vc1_mc.c libavcodec/vc1dec.c libavcodec/vorbisdec.c libavcodec/vp3.c libavcodec/wma.c libavcodec/wmaprodec.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/me_cmp_init.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * 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>
* | avcodec: Add a min size parameter to ff_alloc_packet2()Michael Niedermayer2015-07-27
| | | | | | | | | | | | | | | | This parameter can be used to inform the allocation code about how much downsizing might occur, and can be used to optimize how to allocate the packet Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370'Michael Niedermayer2015-07-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370': Deprecate avctx.coded_frame Conflicts: ffmpeg.c libavcodec/a64multienc.c libavcodec/asvenc.c libavcodec/cljrenc.c libavcodec/dpxenc.c libavcodec/gif.c libavcodec/mpegvideo_enc.c libavcodec/nvenc.c libavcodec/proresenc_kostya.c libavcodec/pthread_frame.c libavcodec/rawenc.c libavcodec/sunrastenc.c libavcodec/tiffenc.c libavcodec/version.h libavcodec/xbmenc.c libavcodec/xwdenc.c libavdevice/v4l2.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * 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>
* | Merge commit 'd6604b29ef544793479d7fb4e05ef6622bb3e534'Michael Niedermayer2015-07-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd6604b29ef544793479d7fb4e05ef6622bb3e534': Gather all coded_frame allocations and free functions to a single place Conflicts: libavcodec/a64multienc.c libavcodec/asvenc.c libavcodec/cljrenc.c libavcodec/dpxenc.c libavcodec/dvenc.c libavcodec/gif.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libopenjpegenc.c libavcodec/libtheoraenc.c libavcodec/libvpxenc.c libavcodec/mpegvideo_enc.c libavcodec/nvenc.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/sunrastenc.c libavcodec/tiffenc.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/v210enc.c libavcodec/v410enc.c libavcodec/xbmenc.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * 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>
* | Merge commit 'd6006dd9f0d4d01023359230212f1f9fa4800e5b'Michael Niedermayer2015-07-20
|\| | | | | | | | | | | | | | | | | | | * commit 'd6006dd9f0d4d01023359230212f1f9fa4800e5b': libvpxenc: Do not entangle coded_frame Conflicts: libavcodec/libvpxenc.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * libvpxenc: Do not entangle coded_frameVittorio Giovara2015-07-20
| | | | | | | | Keep coded_frame.key_frame a write-only variable.
* | Merge commit '8655c54160767de1a6b96f8bc310d6e4eaceff48'Michael Niedermayer2015-06-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '8655c54160767de1a6b96f8bc310d6e4eaceff48': libvpx: Support the vp9 extended profiles Conflicts: Changelog configure libavcodec/libvpx.c libavcodec/libvpx.h libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/version.h mostly not merged, as requested by jamrial See: 01e59d48ed1a41b88107ed1d4d56ae0cbcd1a60e See: 079b7f6eacc09bc2813fc1ddc230ab05022b69c2 and others Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libvpx: Support the vp9 extended profilesLuca Barbato2015-06-21
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit '05bf3f54e6078716f6267df530bf1d474ca3d606'Michael Niedermayer2015-06-21
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '05bf3f54e6078716f6267df530bf1d474ca3d606': libvpx: Do not set vp8 only parameters when encoding in vp9 Conflicts: libavcodec/libvpxenc.c See: 238ec505e263e7d0363798a05c1c28f494a6300a See: ae330070ee8b985abb011835502b03baacfbb18c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libvpx: Do not set vp8 only parameters when encoding in vp9Luca Barbato2015-06-20
| |
* | libvpxenc: support setting colorspace for vp9James Zern2015-06-20
| | | | | | | | | | | | | | | | | | the vp9 bitstream supports 8 values: unknown (default), bt601, bt709, smpte170, smpte240, bt2020, reserved and sRGB. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Zern <jzern@google.com>
* | libvpxenc: remove stray '\'sJames Zern2015-06-15
| | | | | | | | Signed-off-by: James Zern <jzern@google.com>
* | libvpxenc: cosmetics: reindent after 2c70436James Zern2015-06-15
| | | | | | | | Signed-off-by: James Zern <jzern@google.com>
* | libvpxenc: add overshoot-pct optionJames Zern2015-06-10
| | | | | | | | | | | | | | balances the presence of undershoot-pct Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Zern <jzern@google.com>
* | libvpxenc: add undershoot-pct optionJames Zern2015-06-10
| | | | | | | | | | | | | | replaces deprecated rc_buffer_aggressivity Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Zern <jzern@google.com>
* | libvpx: add support for yuv440p and yuv440p10/12 encodingJames Almer2015-05-20
| | | | | | | | | | Reviewed-by: James Zern <jzern@google.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | libvpxenc: cosmetics: reindentJames Zern2015-04-24
| | | | | | | | Signed-off-by: James Zern <jzern@google.com>
* | libvpxenc: only set noise reduction w/vp8James Zern2015-04-23
| | | | | | | | | | | | | | | | | | this quiets a warning: Failed to set VP8E_SET_NOISE_SENSITIVITY codec control: Unspecified internal error Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Zern <jzern@google.com>
* | Support for VP9 high-color/high-bit-depth encodingDeb Mukherjee2015-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch to support VP9 encoding with new profiles 1-3. Profile 1 (8-bit 422/444) should work with default libvpx configuration. However you will need to configure libvpx with --enable-vp9-highbitdepth before building and linking with ffmpeg for profile 2 (10-/12-bit 420) and profile 3 (10-/12-bit 422/444) encoding. You may use the appropriate profile option on the command line: -profile:v 1 for 422/444 8-bit encoding -profile:v 2 for 420 10-/12- bit encoding -profile:v 3 for 422/444 10-/12-bit encoding If you do not use the -profile:v option, it will be deduced from the source format. Signed-off-by: James Zern <jzern@google.com>
* | avcodec/libvpxenc: Set min/max quantizer to 0 for lossless modeMichael Niedermayer2015-03-20
| | | | | | | | | | | | | | Fixes Ticket4246 Reviewed-by: James Zern <jzern@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/libvpxenc: Clear twopass_stats.sz on deallocationMichael Niedermayer2015-03-09
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '93f7948136fcda8ddbbc44a6c24418f11ca829b8'Michael Niedermayer2015-03-09
|\| | | | | | | | | | | | | * commit '93f7948136fcda8ddbbc44a6c24418f11ca829b8': libvpx: Fix mixed use of av_malloc() and av_reallocp() Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libvpx: Fix mixed use of av_malloc() and av_reallocp()Vittorio Giovara2015-03-09
| | | | | | | | | | | | | | | | 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>
* | avcodec: use av_frame_free() for coded_frameClément Bœsch2015-03-02
| |
* | avcodec/libvpxenc: Check for av_malloc() failureMichael Niedermayer2015-02-22
| | | | | | | | | | | | Fixes CID1271045 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/libvpxenc.c: Fix linking with codec interface with msvc.Matt Oliver2015-01-10
| | | | | | | | | | | | | | | | | | Default libvpx msvc buils used module definition to export symbols. These symbols are exported as pointers to data which dont link when referenced directly. Reviewed-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '771656bd85416cd6308b11aed6f2c69a8db9c21b'Michael Niedermayer2014-11-18
|\| | | | | | | | | | | | | | | | | | | | | * commit '771656bd85416cd6308b11aed6f2c69a8db9c21b': libvpxenc: clean memory on error Conflicts: libavcodec/libvpxenc.c See: 104b1d9e103f90485e894b20dd5bb3f1964fe5f3 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libvpxenc: clean memory on errorVittorio Giovara2014-11-18
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 733795
* | avcodec/libvpxenc: use av_freep(), do not leave stale pointers in memoryMichael Niedermayer2014-10-19
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '685be3d1aecf965281128f3b631ed965bcfa754d'Michael Niedermayer2014-10-18
|\| | | | | | | | | | | | | | | | | | | * commit '685be3d1aecf965281128f3b631ed965bcfa754d': libvpxenc: add static-thresh private option Conflicts: libavcodec/libvpxenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libvpxenc: add static-thresh private optionAnton Khirnov2014-10-18
| | | | | | | | | | | | | | | | 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.
* | lavc/libvpxenc: show crf CQ value in error messageStefano Sabatini2014-09-05
| |
* | avcodec/libvpxenc: Adds support for constant quality mode in VP9.Deb Mukherjee2014-08-28
| | | | | | | | | | | | | | | | | | | | | | Changes in the parameter mapping for libvpx to support the constant quality mode in VP9. The assumption in the patch is that if crf is provided but bitrate is 0, then the 'constant quality' mode of VP9 is used. However if both are present, the 'constrained quality' mode is used as before. Reviewed-by: James Zern <jzern@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Adds support for setting aq_mode in libvpx encoderDeb Mukherjee2014-08-27
| | | | | | | | | | Reviewed-by: James Zern <jzern@google.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867'Michael Niedermayer2014-08-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867': cosmetics: Write NULL pointer inequality checks more compactly Conflicts: libavcodec/dvdsubdec.c libavcodec/h263dec.c libavcodec/libxvid.c libavcodec/rv10.c libavcodec/utils.c libavformat/format.c libavformat/matroskadec.c libavformat/segment.c libavutil/opt.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Write NULL pointer inequality checks more compactlyGabriel Dume2014-08-15
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'Michael Niedermayer2014-08-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39': cosmetics: Write NULL pointer equality checks more compactly Conflicts: cmdutils.c ffmpeg_opt.c ffplay.c libavcodec/dvbsub.c libavcodec/dvdsubdec.c libavcodec/dvdsubenc.c libavcodec/dxa.c libavcodec/libxvid_rc.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/rv10.c libavcodec/tiffenc.c libavcodec/utils.c libavcodec/vc1dec.c libavcodec/zmbv.c libavdevice/v4l2.c libavformat/matroskadec.c libavformat/movenc.c libavformat/sdp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp9 encoder: use a decent default speed settingRafaël Carré2014-06-17
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | avcodec/libvpxenc: update the ranges for "cpu_used" so it matches the ↵Michael Niedermayer2014-06-06
| | | | | | | | | | | | | | "speed" alias Reviewed-by: James Zern <jzern@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/libvpxenc: Update the "cpu-used" options default to match the ↵Rafaël Carré2014-06-06
| | | | | | | | | | | | | | "speed" alias Reviewed-by: James Zern <jzern@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Use correct msvc type specifiers for ptrdiff_t and size_t.Carl Eugen Hoyos2014-04-24
| | | | | | | | | | | | | | The Windows runtime aborts if it finds %t or %z. Fixes ticket #3472. Reviewed-by: Ronald Bultje
* | avcodec/libvpx: set CODEC_CAP_EXPERIMENTAL correctly instead of testing at ↵Michael Niedermayer2013-12-10
| | | | | | | | | | | | | | codec open time Reviewed-by: James Zern <jzern@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '9b8d11a76ae7bca8bbb58abb822138f8b42c776c'Michael Niedermayer2013-12-09
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9b8d11a76ae7bca8bbb58abb822138f8b42c776c': avcodec: Use av_reallocp where suitable Conflicts: libavcodec/bitstream.c libavcodec/eatgv.c libavcodec/flashsv.c libavcodec/libtheoraenc.c libavcodec/libvpxenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>