summaryrefslogtreecommitdiff
path: root/libavcodec/codec.h
Commit message (Collapse)AuthorAgeFilesLines
* lavc: deprecate AV_CODEC_CAP_SUBFRAMESAnton Khirnov2023-05-151-0/+3
| | | | There is nothing meaningful the caller can do with it.
* avcodec: remove FF_API_FLAG_TRUNCATEDJames Almer2023-02-091-6/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: remove FF_API_AUTO_THREADSJames Almer2023-02-091-3/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: remove FF_API_UNUSED_CODEC_CAPSJames Almer2023-02-091-11/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* lavu/frame: deprecate reordered_opaqueAnton Khirnov2023-02-041-3/+3
| | | | | It is only used in libavcodec, where it's been superseded by AV_CODEC_CAP_COPY_OPAQUE.
* lavc: add API for exporting reconstructed frames from encodersAnton Khirnov2022-08-021-0/+8
|
* avcodec/codec_internal: Add FFCodec, hide internal part of AVCodecAndreas Rheinhardt2022-03-211-121/+0
| | | | | | | | | | | | | | | | 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>
* libavcodec: Split version.hMartin Storsjö2022-03-161-1/+1
| | | | | | | | | | | | | | This avoids including version.h in all source files, avoiding unnecessary rebuilds when the version number is bumped. Only version_major.h is included by the main header, which defines availability of e.g. FF_API_* macros, and which is bumped much less often. This isn't done for libavutil/version.h, because that header needs to be included essentially everywhere due to LIBAVUTIL_VERSION_INT being used wherever an AVClass is constructed. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: switch to the new channel layout APIVittorio Giovara2022-03-151-0/+11
| | | | | | | | Since the request_channel_layout is used only by a handful of codecs, move the option to codec private contexts. Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: James Almer <jamrial@gmail.com>
* lavc: deprecate AV_CODEC_(FLAG|CAP)_TRUNCATEDAnton Khirnov2021-09-201-0/+5
| | | | | | | | | | It is supported only by a few decoders (h263, h263p, mpeg(1|2|)video and mpeg4) and is entirely redundant with parsers. Furthermore, using it leads to missing frames, as flushing the decoder at the end does not work properly. Co-authored-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/codec: Reorder elements to make AVCodec smallerAndreas Rheinhardt2021-08-251-6/+7
| | | | | | Reordering max_lowres is an ABI break. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavc: move av_get_profile_name() from avcodec.h to codec.hAnton Khirnov2021-06-101-0/+9
|
* avcodec/codec, allcodecs: Constify the AVCodec APIAndreas Rheinhardt2021-04-271-4/+4
| | | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: Remove AVCodec, AVParser and AVBitStreamFilter next APIAndreas Rheinhardt2021-04-271-3/+0
| | | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* pthread_frame: introduce a codec callback to update the user-facing contextHendrik Leppkes2021-04-141-0/+5
|
* lavc: rename AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADSAnton Khirnov2021-03-161-2/+7
| | | | | | | | | | 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.
* avcodec: add a get_encode_buffer() callback to AVCodecContextJames Almer2021-03-121-3/+5
| | | | | | | | | | | This callback is functionally the same as get_buffer2() is for decoders, and implements for the new encode API the functionality of the old encode API had where the user could provide their own buffers. Reviewed-by: Lynne <dev@lynne.ee> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/codec: Update init_static_data doxygenAndreas Rheinhardt2021-03-081-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/codec: add doxy to AVCodec.decode()James Almer2021-03-071-0/+12
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/codec: use the correct name for all AVCodec.decode() parametersJames Almer2021-03-071-1/+2
| | | | | | | This field hasn't been used to return the output frame size since avcodec_decode_audio4() was introduced. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/codec: remove outdated comment about AVCodec.encode2()James Almer2021-03-071-1/+1
| | | | | | | The packet passed as argument to this function hasn't contained a user-provided buffer since 93016f5d1d. Signed-off-by: James Almer <jamrial@gmail.com>
* lavc: Mark hw_config pointer arrays as constMark Thompson2020-11-081-1/+1
| | | | They are read-only just like the HWConfig structures they point to.
* avcodec/codec.h: add missing FF_API_NEXT wrapperJames Almer2020-10-101-0/+2
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/encode: restructure the core encoding codeJames Almer2020-06-181-7/+3
| | | | | | | | | | | | | | | | This commit follows the same logic as 061a0c14bb, but for the encode API: The new public encoding API will no longer be a wrapper around the old deprecated one, and the internal API used by the encoders now consists of a single receive_packet() callback that pulls frames as required. amf encoders adapted by James Almer librav1e encoder adapted by James Almer nvidia encoders adapted by James Almer MediaFoundation encoders adapted by James Almer vaapi encoders adapted by Linjie Fu v4l2_m2m encoders adapted by Andriy Gelman Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec.h: split AVCodec API into its own headerAnton Khirnov2020-05-271-0/+462