summaryrefslogtreecommitdiff
path: root/libavcodec/avcodec.h
Commit message (Collapse)AuthorAge
* jpeg2000: Fix profile define valuesFrancois Cartegnie2016-05-24
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* lavc: document that avcodec_close() should not be usedAnton Khirnov2016-05-23
| | | | | | | We cannot deprecate it until the new parser API is in place, because of the way libavformat works. But the majority of the users can already simply replace it with avcodec_free_context(), which will simplify the transition once it is finally deprecated.
* lavc: deprecate avcodec_get_context_defaults3()Anton Khirnov2016-05-23
| | | | | | | | | This function is supposed to "reset" a codec context to a clean state so that it can be opened again. The only reason it exists is to allow using AVStream.codec as a decoding context (after it was already opened/used/closed by avformat_find_stream_info()). Since that behaviour is now deprecated, there is no reason for this function to exist anymore.
* lavc: deprecate avcodec_copy_context()Anton Khirnov2016-05-23
| | | | | | | | | Since AVCodecContext contains a lot of complex state, copying a codec context is not a well-defined operation. The purpose for which it is typically used (which is well-defined) is copying the stream parameters from one codec context to another. That is now possible with through the AVCodecParameters API. Therefore, there is no reason for avcodec_copy_context() to exist.
* lavc: mark the old audio/video encoding API as deprecatedAnton Khirnov2016-05-16
|
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* libavcodec: Document that encoders may use the framerate field in AVCodecContextMartin Storsjö2016-04-12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: introduce a new decoding/encoding API with decoupled input/outputwm42016-03-23
| | | | | | | | | | | | | | | | Until now, the decoding API was restricted to outputting 0 or 1 frames per input packet. It also enforces a somewhat rigid dataflow in general. This new API seeks to relax these restrictions by decoupling input and output. Instead of doing a single call on each decode step, which may consume the packet and may produce output, the new API requires the user to send input first, and then ask for output. For now, there are no codecs supporting this API. The API can work with codecs using the old API, and most code added here is to make them interoperate. The reverse is not possible, although for audio it might. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: add a new bitstream filtering APIAnton Khirnov2016-03-20
| | | | Deprecate the current bitstream filtering API.
* lavc: add a variant of av_get_audio_frame_duration working with ↵Anton Khirnov2016-02-23
| | | | AVCodecParameters
* lavc: add codec parameters APIAnton Khirnov2016-02-23
| | | | | | This API is intended to allow passing around codec parameters without using full AVCodecContext (which also contains codec options and encoder/decoder state).
* cosmetics: Drop empty comment linesDiego Biurrun2016-02-18
|
* lavc: add a field for passing AVHWFramesContext to encodersAnton Khirnov2016-02-14
|
* lavc: Move pre_me to codec private optionsVittorio Giovara2016-01-21
| | | | | | | This option is only used by mpegvideoenc. It is a very codec-specific option, so deprecate the global variant. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Move me_penalty_compensation to codec private optionsVittorio Giovara2016-01-21
| | | | | | | This option is only used by mpegvideoenc. It is a very codec-specific options, so deprecate the global variant. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Move prediction_method to codec private optionsVittorio Giovara2016-01-21
| | | | | | | | | | This options is only used by huffyuv, ffvhuv, jpegls, mjpeg, mpegvideoenc, png, utvideo. It is a very codec-specific options, so deprecate the global variant. Set proper limits to the maximum allowed values, and update utvideoenc tests to use the new option name. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Move {min,max}_prediction_order to codec private optionsVittorio Giovara2016-01-21
| | | | | | | These options are only used by alac and flac. They are very codec-specific options, so deprecate the global variants. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Move rtp_payload_size to codec private optionsVittorio Giovara2016-01-21
| | | | | | | | | | This option is only used by mpegvideoenc and openh264. It is a very codec-specific option, so deprecate the global variant. The openh264 option is dropped altogether since it is just a fallback for -max_nal_size anyway. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Move timecode_frame_start to codec private optionsVittorio Giovara2016-01-21
| | | | | | | This option is only used by mpeg2. It is a very codec-specific option, so deprecate the global variant. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Move context_model to codec private optionsVittorio Giovara2016-01-21
| | | | | | | | This option is only used by ffv1 and ffvhuff. It is a very codec-specific option, so deprecate the global variant. Improve documentation a little. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Move mpeg_quant to codec private optionsVittorio Giovara2016-01-21
| | | | | | | This option is only used by mpegvideoenc, and xvid. It is a very codec-specific option, so deprecate the global variant. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Move noise_reduction to codec private optionsVittorio Giovara2016-01-21
| | | | | | | 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 scenechange_threshold to codec private optionsVittorio Giovara2016-01-21
| | | | | | | This option is only used by mpegvideoenc, x264, and xavs. It is a very codec-specific option, so deprecate the global variant. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Move chromaoffset to codec private optionsVittorio Giovara2016-01-21
| | | | | | | This option is only used by x264 and xavs. 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-21
| | | | | | | | | | | | | | 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>
* lavc: Move brd_scale to codec private optionsVittorio Giovara2016-01-21
| | | | | | | | This option is only used by mpegvideoenc, It is a very codec-specific option, so deprecate the global variant. Set proper limits to the maximum allowed values. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* 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>
* lavc: add profiles to AVCodecDescriptorAnton Khirnov2015-12-12
| | | | | The profiles are a property of the codec, so it makes sense to export them through AVCodecDescriptors, not just the codec implementations.
* lavc: Drop exporting 2-pass encoding statsVittorio Giovara2015-12-07
| | | | | | | | | | | | | | These variables are coming from mpegvideoenc where are supposedly used as bit counters on various frame properties. However their use is unclear as they lack documentation, are available only from a very small subset of encoders, and they are hardly used in the wild. Also frame_bits in aacenc is employed in a similar way. Remove this functionality from AVCodecContex, these variable are mostly frame properties, and too few encoders support setting them with anything useful. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Deprecate coder_type and its symbolsVittorio Giovara2015-12-07
| | | | | | | | | | Most option values are simply unused or ignored and in practice the majory of codecs only need to check whether to enable rle or not. Add appropriate codec private options which better expose the allowed features. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* mpegvideo_enc: export vbv_delay in side dataAnton Khirnov2015-12-06
| | | | Deprecate AVCodecContext.vbv_delay
* lavc: add a packet side data type for VBV-like parametersAnton Khirnov2015-12-06
|
* lavc: add stream-global packet side dataAnton Khirnov2015-12-06
| | | | This is similar to what is done for AVStream.
* avpacket: add a function for wrapping existing data as side dataAnton Khirnov2015-12-06
|
* lavc: Deprecate avctx.rtp_callback fieldVittorio Giovara2015-11-20
| | | | | | | | | | | | | | | | | | | | | This function returns the encoded data of a frame, one slice at a time directly when that slice is encoded, instead of waiting for the full frame to be done. However this field has a debatable usefulness, since it looks like it is just a convoluted way to get data at lowest possible latency, or a somewhat hacky way to store h263 in RFC-2190 rtp encapsulation. Moreover when multi-threading is enabled (which is by default) the order of returned slices is not deterministic at all, making the use of this function not reliable at all (or at the very least, more complicated than it should be). So, for the reasons stated above, and being used by only a single encoder family (mpegvideo), this field is deemed unnecessary, overcomplicated, and not really belonging to libavcodec. Libavformat features a complete implementation of RFC-2190, for any other case. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* avcodec: Define side data type for fallback trackJohn Stebbins2015-11-18
| | | | | | | | | This side data type is meant to be added to AVStream side data. A fallback track indicates an alternate track to use when the current track can not be decoded for some reason. e.g. no decoder available for codec. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avcodec: fix doxy placementAnton Khirnov2015-11-09
|
* avpicture: Deprecate the single fieldsLuca Barbato2015-10-27
| | | | Silence pointless warnings from gcc.
* avpacket: Provide an alloc and a free function for the structLuca Barbato2015-10-26
| | | | | Pave the way for having the size of the AVPacket struct not part of the ABI.
* avpacket: Deprecate av_dup_packetLuca Barbato2015-10-26
| | | | | As documented, `av_dup_packet` is broken by design, `av_packet_ref` matches the AVFrame ref-counted API and can be safely used instead.
* avpacket: Replace av_free_packet with av_packet_unrefLuca Barbato2015-10-26
| | | | | | | `av_packet_unref` matches the AVFrame ref-counted API and can be used as a drop in replacement. Deprecate `av_free_packet`.
* innoHeim/Rsupport Screen Capture Codec decoderVittorio Giovara2015-10-23
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Deprecate AVPicture structure and related functionsVittorio Giovara2015-10-22
| | | | | | | | | | | | | | | | | This structure served as a bridge between data pointers and frames, but it suffers from several limitations: - it is not refcounted and data must be copied to every time - it cannot be expanded without ABI break due to being used on the stack - its functions are just wrappers to imgutils which add a layer of unneeded indirection, and maintenance burden - it allows hacks like embedding uncompressed data in packets - its use is often confusing to our users AVFrame provides a much better API, and, if a full blown frame is not needed, it is just as simple and more straightfoward to use data and linesize arrays directly. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Add data and linesize to AVSubtitleRectVittorio Giovara2015-10-21
| | | | | | | | | | | | Use the new fields directly instead of the ones from AVPicture. This removes a layer of indirection which serves no pratical purpose whatsoever, and will help in removing AVPicture structure completely later. Every subtitle encoder/decoder seamlessly points to the new arrays, so it is possible to deprecate AVSubtitleRect.pict. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* wrapped_avframe: Initial implementationLuca Barbato2015-10-10
|
* Screenpresso SPV1 decoderVittorio Giovara2015-09-30
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Make AVPacket.duration int64, and deprecate convergence_durationwm42015-09-29
| | | | | | | | | Note that convergence_duration had another meaning, one which was in practice never used. The only real use for it was a 64 bit replacement for the duration field. It's better just to make duration 64 bits, and to get rid of it. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Keep idct integer optionVittorio Giovara2015-09-13
| | | | | | "int" is useful in testing because provides accurate results across different plaftforms, so remove it from the scheduled FF_API_UNUSED_MEMBERS deprecation.
* lavc: Enable side data only packets by defaultVittorio Giovara2015-09-12
| | | | | | | | | Deprecate the now unused option, but temporarily retain the capability to disable the now default behaviour. Mention this change in the AVPacket documentation. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* DXV decoderVittorio Giovara2015-09-02
| | | | Support all DXDI and DXD3 normal quality videos.