Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-03avcodec/codec_internal: Add macro to set AVCodec.long_nameAndreas Rheinhardt
It reduces typing: Before this patch, there were 105 codecs whose long_name-definition exceeded the 80 char line length limit. Now there are only nine of them. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-08-27avcodec/internal: Move ff_set_dimensions() to decode.hAndreas Rheinhardt
Decoder-only, as the dimensions are set by the user when encoding. Also fixup the other headers a bit while removing unnecessary internal.h inclusions. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-07-18avcodec: Add FF_CODEC_CAP_NOT_INIT_THREADSAFEAndreas Rheinhardt
This is in preparation of switching the default init-thread-safety to a codec being init-thread-safe. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-07-09avcodec: Add const to decoder packet data pointersAndreas Rheinhardt
The packets given to decoder need not be writable, so it is best to access them via const uint8_t*. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-04-05avcodec/codec_internal: Use union for FFCodec decode/encode callbacksAndreas Rheinhardt
This is possible, because every given FFCodec has to implement exactly one of these. Doing so decreases sizeof(FFCodec) and therefore decreases the size of the binary. Notice that in case of position-independent code the decrease is in .data.rel.ro, so that this translates to decreased memory consumption. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-04-05avcodec/codec_internal: Make FFCodec.decode use AVFrame*Andreas Rheinhardt
This increases type-safety by avoiding conversions from/through void*. It also avoids the boilerplate "AVFrame *frame = data;" line for non-subtitle decoders. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-21avcodec/codec_internal: Add FFCodec, hide internal part of AVCodecAndreas Rheinhardt
Up until now, codec.h contains both public and private parts of AVCodec. This exposes the internals of AVCodec to users and leads them into the temptation of actually using them and forces us to forward-declare structures and types that users can't use at all. This commit changes this by adding a new structure FFCodec to codec_internal.h that extends AVCodec, i.e. contains the public AVCodec as first member; the private fields of AVCodec are moved to this structure, leaving codec.h clean. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-21avcodec/internal: Move FF_CODEC_CAP_* to a new header codec_internal.hAndreas Rheinhardt
Also move FF_CODEC_TAGS_END as well as struct AVCodecDefault. This reduces the amount of files that have to include internal.h (which comes with quite a lot of indirect inclusions), as e.g. most encoders don't need it. It is furthemore in preparation for moving the private part of AVCodec out of the public codec.h. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-16configure: Use a separate config_components.h header for $ALL_COMPONENTSMartin Storsjö
This avoids unnecessary rebuilds of most source files if only the list of enabled components has changed, but not the other properties of the build, set in config.h. Signed-off-by: Martin Storsjö <martin@martin.st>
2021-11-25libvpxdec: Correct linking against variables.Matt Oliver
Instead link against the function that returns the correct variable. This fixes linking errors with dlls with msvc.
2021-07-22avcodec/avcodec: Don't include cpu.hAndreas Rheinhardt
It is not used here at all; instead, add it where it is used without including it or any of the arch-specific CPU headers. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-04-27avcodec: Constify AVCodecsAndreas Rheinhardt
Given that the AVCodec.next pointer has now been removed, most of the AVCodecs are not modified at all any more and can therefore be made const (as this patch does); the only exceptions are the very few codecs for external libraries that have a init_static_data callback. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
2021-04-27avutil/buffer: Switch AVBuffer API to size_tAndreas Rheinhardt
Announced in 14040a1d913794d9a3fd6406a6d8c2f0e37e0062. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
2021-03-16lavc: rename AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADSAnton Khirnov
This cap is currently used to mark multithreading-capable codecs that wrap external libraries with their own multithreading code. The name is highly confusing for our API users, since libavcodec ALWAYS handles thread_count=0 (see commit message in previous commit). Therefore rename the cap and update its documentation to make its meaning clear. The old name is kept deprecated until next+1 major bump.
2021-03-16lavc: replace internal use of AV_CODEC_CAP_AUTO_THREADS with an internal capAnton Khirnov
AV_CODEC_CAP_AUTO_THREADS was originally added in b4d44a45f9a to mark codecs that spawn threads internally and are able to select an optimal threads count by themselves (all such codecs are wrappers around external libraries). It is used by lavc generic code to check whether it should handle thread_count=0 itself or pass the zero directly to the codec implementation. Within this meaning, it is clearly supposed to be an internal cap rather than a public one, since from the viewpoint of a libavcodec user, lavc ALWAYS handles thread_count=0. Whether it happens in the generic code or within the codec internals is not a meaningful difference for the caller. External aspects of this flag will be dealt with in the following commit.
2021-03-11avcodec: use the buffer_size_t typedef where requiredJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-20avcodec/decode: move the ff_decode_frame_props() prototype to the proper headerJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2020-06-22avcodec, avformat: Remove unnecessary initializations of side data sizeAndreas Rheinhardt
Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2019-11-09avcodec/libvpxdec.c,cosmetics: bpp -> bpcJames Zern
Signed-off-by: James Zern <jzern@google.com>
2019-11-06avcodec/libvpxdec: reject video and alpha dimension mismatchesMarton Balint
Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
2019-11-06avcodec/libvpxdec: decode to custom framebuffers for vp9Marton Balint
This avoids copying the full frame after decoding. Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
2019-11-06avcodec/libvpxdec: pass decoder instances to vpx_init directlyMarton Balint
If the alpha decoder init failed we presented the error message from the normal decoder. This change should prevent such mistakes. Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
2019-11-06avcodec/libvpxdec: make sure BlockAdditional side data size >= 8Marton Balint
Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
2018-10-30avcodec/libvpxdec: fix setting auto threadsJames Zern
a thread count of 0 is treated the same as 1, use av_cpu_count() to get the correct thread count when auto threads is requested. this matches the fix in libvpxenc: 27df34bf1f avcodec/libvpxenc: fix setting amount of threads used for encoding Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: James Zern <jzern@google.com>
2017-12-14avcodec: add metadata to identify wrappers and hardware decoderswm4
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>. Merges Libav commit 47687a2f8aca3f65b6fdd117b1cb66a7409a7fd1.
2017-11-21libvpxdec: remove pre-1.4.0 checksJames Zern
Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: James Zern <jzern@google.com>
2017-06-11avcodec/libvpxdec: Check that display dimensions fit in the storage dimensionsMichael Niedermayer
Fixes assertion failure Fixes: 2112/clusterfuzz-testcase-minimized-4526878557732864 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-22libvpxdec,cosmetics: rename common fns vp8 -> vpxJames Zern
+ the context struct Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Zern <jzern@google.com>
2016-07-20libavcodec/libvpx: Add VPx alpha decode supportVignesh Venkatasubramanian
VPx (VP8/VP9) alpha encoding has been part of FFmpeg. Now, add the ability to decode such files with alpha channel. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
2016-02-19lavc/libvpx: Fix high-bitdepth pix_fmts on big endian.Carl Eugen Hoyos
2016-01-13libvpxdec: fix 'ISO C90 forbids mixed declarations and code' warningJames Zern
since: cbcc88c libvpx: Support setting color range for vp9. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Zern <jzern@google.com>
2016-01-09libvpx: Support setting color range for vp9.Sasi Inguva
Pass through color range to vp9 encoder. Parse color range in libvpxdec.c. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Sasi Inguva <isasi@google.com> Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-01lavc: add vp9 profiles to AVCodecDescriptorHendrik Leppkes
2015-09-12libvpxdec: apply RGB to 444P16 instead of 422P16.Ronald S. Bultje
2015-09-04libvpxdec: explicitly signal RGB.Ronald S. Bultje
2015-07-27Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer
* 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>
2015-07-27lavc: AV-prefix all codec capabilitiesVittorio Giovara
Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-25libvpxdec: report colorspaceJames Zern
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Zern <jzern@google.com>
2015-06-25libvpxdec: report profile for vp9James Zern
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Zern <jzern@google.com>
2015-06-21libvpx: Support the vp9 extended profilesLuca Barbato
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>
2015-05-07libvpxdec: add 440 pixfmts.Ronald S. Bultje
2015-04-24libvpxdec: cosmetics: reindentJames Zern
Signed-off-by: James Zern <jzern@google.com>
2014-09-26Show correct pix_fmt for vp9 videos != AV_PIX_FMT_YUV420P.Carl Eugen Hoyos
2014-09-24avcodec/libvpxdec: don't check for formats other than i420 when vp9 decoding ↵James Almer
is disabled Should fix ticket #3958. Reviewed-by: James Zern <jzern@google.com> Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-14avcodec/libvpxdec: Adds decode support for formats other than 420Deb Mukherjee
Handles decoding of new VP9 profiles 1-3 with different color sampling and bit-depths. For high bitdepth (profiles 2 and 3) support, we currently need to link with the highbitdepth branch of libvpx with --enable-experimental and --enable-vp9-high config options on. But eventually this branch will be merged into master, whereafter to enable high bitdepth support you will need to link with libvpx with configure option --enable-vp9-highbitdepth on. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10avcodec/libvpx: set CODEC_CAP_EXPERIMENTAL correctly instead of testing at ↵Michael Niedermayer
codec open time Reviewed-by: James Zern <jzern@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-08Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: libvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0 Conflicts: libavcodec/libvpxdec.c libavcodec/libvpxenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-08libvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0Guillaume Martres
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-23libvpxdec: set CODEC_CAP_DR1 for vp9James Zern
it shares vp8_decode() with vp8 which already has the flag set Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01Merge commit '13207484bba8a8b78b40d5a22da8c9c555429089'Michael Niedermayer
* commit '13207484bba8a8b78b40d5a22da8c9c555429089': mpeg4video_parser: stop using deprecated avcodec_set_dimensions mpeg12dec: stop using deprecated avcodec_set_dimensions mjpegdec: stop using deprecated avcodec_set_dimensions libvpxdec: stop using deprecated avcodec_set_dimensions Conflicts: libavcodec/mjpegdec.c libavcodec/mpeg12dec.c libavcodec/mpeg4video_parser.c Merged-by: Michael Niedermayer <michaelni@gmx.at>