summaryrefslogtreecommitdiff
path: root/libavutil/version.h
Commit message (Collapse)AuthorAge
* avutil/hwcontext_cuda: add support for nvenc rgb formatsTimo Rothenpieler2018-05-10
|
* avutil/hwcontext_cuda: add CUstream in cuda hwctxTimo Rothenpieler2018-05-10
|
* avutil/pixdesc: add AV_PIX_FMT_FLAG_ALPHA to AV_PIX_FMT_PAL8Marton Balint2018-04-30
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* lavu/opt: add AV_OPT_FLAG_DEPRECATEDClément Bœsch2018-04-26
|
* lavu/threadmessage: add av_thread_message_queue_nb_elems()Clément Bœsch2018-04-26
|
* Bump minor versions after release/4.0 branchingMichael Niedermayer2018-04-16
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump minor versions for branching release/4.0Michael Niedermayer2018-04-16
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/pixdesc: deprecate AV_PIX_FMT_FLAG_PSEUDOPALwm42018-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PSEUDOPAL pixel formats are not paletted, but carried a palette with the intention of allowing code to treat unpaletted formats as paletted. The palette simply mapped the byte values to the resulting RGB values, making it some sort of LUT for RGB conversion. It was used for 1 byte formats only: RGB4_BYTE, BGR4_BYTE, RGB8, BGR8, GRAY8. The first 4 are awfully obscure, used only by some ancient bitmap formats. The last one, GRAY8, is more common, but its treatment is grossly incorrect. It considers full range GRAY8 only, so GRAY8 coming from typical Y video planes was not mapped to the correct RGB values. This cannot be fixed, because AVFrame.color_range can be freely changed at runtime, and there is nothing to ensure the pseudo palette is updated. Also, nothing actually used the PSEUDOPAL palette data, except xwdenc (trivially changed in the previous commit). All other code had to treat it as a special case, just to ignore or to propagate palette data. In conclusion, this was just a very strange old mechnaism that has no real justification to exist anymore (although it may have been nice and useful in the past). Now it's an artifact that makes the API harder to use: API users who allocate their own pixel data have to be aware that they need to allocate the palette, or FFmpeg will crash on them in _some_ situations. On top of this, there was no API to allocate the pseuo palette outside of av_frame_get_buffer(). This patch not only deprecates AV_PIX_FMT_FLAG_PSEUDOPAL, but also makes the pseudo palette optional. Nothing accesses it anymore, though if it's set, it's propagated. It's still allocated and initialized for compatibility with API users that rely on this feature. But new API users do not need to allocate it. This was an explicit goal of this patch. Most changes replace AV_PIX_FMT_FLAG_PSEUDOPAL with FF_PSEUDOPAL. I first tried #ifdefing all code, but it was a mess. The FF_PSEUDOPAL macro reduces the mess, and still allows defining FF_API_PSEUDOPAL to 0. Passes FATE with FF_API_PSEUDOPAL enabled and disabled. In addition, FATE passes with FF_API_PSEUDOPAL set to 1, but with allocation functions manually changed to not allocating a palette.
* avcodec/avcodec.h: Add encryption info side data.Jacob Trimble2018-03-24
| | | | | | | | This new side-data will contain info on how a packet is encrypted. This allows the app to handle packet decryption. Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavu/frame: add QP side datawm42018-03-18
| | | | | | | | | | | | | | | | | | | This adds a way for an API user to transfer QP data and metadata without having to keep the reference to AVFrame, and without having to explicitly care about QP APIs. It might also provide a way to finally remove the deprecated QP related fields. In the end, the QP table should be handled in a very similar way to e.g. AV_FRAME_DATA_MOTION_VECTORS. There are two side data types, because I didn't care about having to repack the QP data so the table and the metadata are in a single AVBufferRef. Otherwise it would have either required a copy on decoding (extra slowdown for something as obscure as the QP data), or would have required making intrusive changes to the codecs which support export of this data. The new side data types are added under deprecation guards, because I don't intend to change the status of the QP export as being deprecated (as it was before this patch too).
* avutil: bump version after the latest AVOption flag additionJames Almer2018-03-16
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: add missing version bump for AV_CRC_8_EBUJames Almer2018-03-10
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* frame: add an av_frame_new_side_data_from_buf functionRostislav Pehlivanov2018-03-01
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avutil/opt: remove ABI hackswm42018-02-13
| | | | | These were needed for ABI compatibility with Libav. We don't need them anymore.
* avutil: add AVX-512 flagsJames Darnley2017-12-24
|
* lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODECAman Gupta2017-12-16
| | | | Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
* libavutil: Add saturating subtraction functionsAndrew D'Addesio2017-12-04
| | | | | | | | | Add av_sat_sub32 and av_sat_dsub32 as the subtraction analogues to av_sat_add32/av_sat_dadd32. Also clarify the formulas for dadd32/dsub32. Signed-off-by: Andrew D'Addesio <modchipv12@gmail.com>
* Merge commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa'James Almer2017-11-29
|\ | | | | | | | | | | | | * commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa': stereo3d: Support view type for frame sequence type Merged-by: James Almer <jamrial@gmail.com>
| * stereo3d: Support view type for frame sequence typeVittorio Giovara2017-11-28
| | | | | | | | | | | | Implement detection in h264 and hevc and insertion in framepack filter. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * pixdesc: Add API to map color property names to enum valuesVittorio Giovara2017-09-21
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * pixfmt: Support chroma-derived and ictcp color matricesVittorio Giovara2017-08-10
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * imgutils: add function to clear an image to blackwm42017-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Black isn't always just memset(ptr, 0, size). Limited YUV in particular requires relatively non-obvious values, and filling a frame with repeating 0 bytes is disallowed in some contexts. With component sizes larger than 8 or packed YUV, this can become relatively complicated. So having a generic function for this seems helpful. In order to handle the complex cases in a generic way without destroying performance, this code attempts to compute a black pixel, and then uses that value to clear the image data quickly by using a function like memset. Common cases like yuv410p10 or rgba can't be handled with a simple memset, so there is some code to fill memory with 2/4/8 byte patterns. For the remaining cases, a generic slow fallback is used. Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * lavc, lavu: move frame cropping to a convenience functionwm42017-07-26
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * lavu: add new D3D11 pixfmt and hwcontextwm42017-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To be used with the new d3d11 hwaccel decode API. With the new hwaccel API, we don't want surfaces to depend on the decoder (other than the required dimension and format). The old D3D11VA pixfmt uses ID3D11VideoDecoderOutputView pointers, which include the decoder configuration, and thus is incompatible with the new hwaccel API. This patch introduces AV_PIX_FMT_D3D11, which uses ID3D11Texture2D and an index. It's simpler and compatible with the new hwaccel API. The introduced hwcontext supports only the new pixfmt. Frame upload code untested. Significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * hwcontext: Improve allocation in derived contextsMark Thompson2017-04-30
| | | | | | | | | | | | | | Use the flags argument of av_hwframe_ctx_create_derived() to pass the mapping flags which will be used on allocation. Also, set the format and hardware context on the allocated frame automatically - the user should not be required to do this themselves.
| * spherical: add functions to retrieve and request projection namesJames Almer2017-04-27
| | | | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | lavu/pixfmt: Remove gap in the middle of enum AVPixelFormatMark Thompson2017-11-25
| | | | | | | | | | | | | | | | This was added for compatibility with libav, by leaving a space for formats added in libav to be merged. Since that feature has been removed, we don't need a gap here. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavu: OpenCL hwcontext implementationMark Thompson2017-11-22
| |
* | lavu: Add OpenCL hardware pixfmtMark Thompson2017-11-22
| |
* | avutil/frame: deprecate getters and setters for AVFrame fieldsJames Almer2017-10-29
| | | | | | | | | | | | | | The fields can be accessed directly, so these are not needed anymore. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit '35cf146a33ce41a1adb6c9bd5a0827eacb1b6bfc'James Almer2017-10-23
|\| | | | | | | | | | | | | * commit '35cf146a33ce41a1adb6c9bd5a0827eacb1b6bfc': lavu: Drop deprecated av_dlog macro Merged-by: James Almer <jamrial@gmail.com>
| * lavu: Drop deprecated av_dlog macroVittorio Giovara2017-03-23
| | | | | | | | Deprecated in 05/2015.
* | Merge commit '619a433eca2c5655c41b799e0b06380020fb1498'James Almer2017-10-23
|\| | | | | | | | | | | | | * commit '619a433eca2c5655c41b799e0b06380020fb1498': lavu: Drop deprecated option type Merged-by: James Almer <jamrial@gmail.com>
| * lavu: Drop deprecated option typeVittorio Giovara2017-03-23
| | | | | | | | Deprecated in 02/2014.
* | Merge commit 'dd343fd986459f467a2d1d70c26101dff1d47d68'James Almer2017-10-23
|\| | | | | | | | | | | | | * commit 'dd343fd986459f467a2d1d70c26101dff1d47d68': lavu: Drop deprecated VDPAU pixel formats Merged-by: James Almer <jamrial@gmail.com>
| * lavu: Drop deprecated VDPAU pixel formatsVittorio Giovara2017-03-23
| | | | | | | | Deprecated in 07/2013.
| * lavc: Drop deprecated stream codec tagVittorio Giovara2017-03-23
| | | | | | | | Deprecated in 07/2015.
* | Merge commit 'dcc39ee10e82833ce24aa57926c00ffeb1948198'James Almer2017-10-23
|\| | | | | | | | | | | | | * commit 'dcc39ee10e82833ce24aa57926c00ffeb1948198': lavc: Remove deprecated XvMC support hacks Merged-by: James Almer <jamrial@gmail.com>
| * lavc: Remove deprecated XvMC support hacksDiego Biurrun2017-03-23
| | | | | | | | Deprecated in 11/2013.
* | avutil/crc: remove gap in AVCRCId enum valuesJames Almer2017-10-22
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit '07a2b155949eb267cdfc7805f42c7b3375f9c7c5'James Almer2017-10-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '07a2b155949eb267cdfc7805f42c7b3375f9c7c5': Bump major versions of all libraries A few API deprecated ~2 years ago or more are also postponed here for varying reasons. FF_API_LOWRES: Since this functionality depends on AVStream->codec, i figure the two can be removed at the same time in the next bump or so. FF_API_AVCTX_TIMEBASE: Couldn't get this one to work. Not just libavcodec but apparently also libavformat and ffmpeg.c expect AVCodecContext->time_base to be set for decoding. Upon removal some tests report a different generic stream time base (like 1/25), and others lose packet duration values. I guess it's somehow tied to the AVStream->codec clusterfuck. It can be dealt with alongside FF_API_LAVF_AVCTX in the next bump. FF_API_OLD_FILTER_OPTS_ERROR: This one is meant to remain after FF_API_OLD_FILTER_OPTS is removed. Its purpose is displaying the corrected command line using the new syntax as a suggestion as part of the error message. Merged-by: James Almer <jamrial@gmail.com>
| * Bump major versions of all librariesVittorio Giovara2017-03-23
| | | | | | | | | | | | | | | | | | This disables everything that was deprecated at least 18 months ago. Readjust the minimum API version as needed, postponing any API-incompatible changes until the next bump. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * hwcontext: Make it easier to work with device typesMark Thompson2017-03-20
| | | | | | | | | | | | Adds functions to convert to/from strings and a function to iterate over all supported device types. Also adds a new invalid type AV_HWDEVICE_TYPE_NONE, which acts as a sentinel value.
| * hwcontext: Add device derivationMark Thompson2017-03-20
| | | | | | | | | | Creates a new device context from another of a different type which refers to the same underlying hardware.
| * spherical: Add tiled equirectangular type and projection-specific propertiesVittorio Giovara2017-03-07
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * AVFrame: add an opaque_ref fieldwm42017-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an extended version of the AVFrame.opaque field, which can be used to attach arbitrary user information to an AVFrame. The usefulness of the opaque field is rather limited, because it can store only up to 32 bits of information (or 64 bit on 64 bit systems). It's not possible to set this field to a memory allocation, because there is no way to deallocate it correctly. The opaque_ref field circumvents this by letting the user set an AVBuffer, which makes the user data refcounted. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Bump version for master after 3.4 branchpointMichael Niedermayer2017-10-11
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Bump minor versions for branching 3.4Michael Niedermayer2017-10-11
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '4de220d2e3751c459f8739a08ac6ca52e63eba30'James Almer2017-09-27
|\| | | | | | | | | | | | | | | | | * commit '4de220d2e3751c459f8739a08ac6ca52e63eba30': frame: allow align=0 (meaning automatic) for av_frame_get_buffer() See https://ffmpeg.org/pipermail/ffmpeg-devel/2017-September/215834.html Merged-by: James Almer <jamrial@gmail.com>
| * frame: allow align=0 (meaning automatic) for av_frame_get_buffer()Anton Khirnov2017-02-11
| | | | | | | | | | This will avoid every caller from hardcoding some specific alignment, which may break in the future with new instruction sets.