summaryrefslogtreecommitdiff
path: root/libavcodec/libdav1d.c
Commit message (Collapse)AuthorAge
* avcodec/libdav1d: stop setting AVFrame->best_effort_timestampJames Almer2020-12-13
| | | | | | It's now set by the generic decode code. Signed-off-by: James Almer <jamrial@gmail.com>
* lavu/film_grain_params: fix typo in type enumLynne2020-11-27
| | | | Ref: xkcd #1015
* libdav1d: correctly copy ar_coeffs_uv to our structLynne2020-11-26
| | | | | | Our struct is a [2][25], libdav1d's is a [2][25 + 3] so the last 3 v coefficients were missing. Copy each plane's coefficients separately.
* libdav1d: use film grain export flag to export AVFilmGrainParams side dataLynne2020-11-25
| | | | | | | | | | | | | | | | | | | | This patch is relatively straightforward with one exception: the decoder option flag. The option was introduced to troubleshoot but its existence is conflicting and redundant now that we have a codec-generic flag. Hence this patch deprecates it. The way it interacts with AV_CODEC_EXPORT_DATA_FILM_GRAIN is as follows: If filmgrain is unset and AV_CODEC_EXPORT_DATA_FILM_GRAIN is present, disable film grain application and export side data. If filmgrain is set to 0, disable film grain and export side data. If filmgrain is set to 1, apply film grain but export side data if the AV_CODEC_EXPORT_DATA_FILM_GRAIN flag is set. This may result in double film grain application, but the user has requested it by setting both.
* avcodec/libdav1d: Call ff_set_sar in addition to setting the frame SARDerek Buitenhuis2020-08-26
| | | | | | Similar to what we do in libaomdec.c. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avcodec/libdav1d: add support for A53 Closed CaptionsJames Almer2020-08-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: use av_image_get_buffer_size() to calculate frame sizeJames Almer2020-07-22
| | | | | | Calling av_image_fill_arrays() with NULL as src argument may result in UB. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: export frame sample aspect ratioJames Almer2020-05-18
| | | | | Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: James Almer <jamrial@gmail.com>
* Add options for spatial layers.Thierry Foucu2019-11-28
| | | | | | | | Disable by default to output all the layers, to match libaomdec wrapper. Add option to select the operating point for the spatial layers. Update the documentation with the new options. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: export bitstream timing info when availableJames Almer2019-11-12
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: fix setting AVFrame reordered_opaqueJames Almer2019-10-22
| | | | | | | | | Actually reorder the values. Should effectively fix ticket #8300. Tested-by: Andrey Semashev <andrey.semashev@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: set AVFrame reordered_opaqueJames Almer2019-10-17
| | | | | | Fixes ticket #8300 Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: use the library default for the filmgrain optionJames Almer2019-09-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: allow setting frame size limit in pixelsJames Almer2019-08-14
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: add support for RGB streamsJames Almer2019-05-27
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: assert Dav1dPicture allocator_data is set before ↵James Almer2019-05-27
| | | | | | | | referencing its data To ensure the custom allocator is effectively used. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: export level from the Sequence HeaderJames Almer2019-05-27
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: fine tune thread distributionJames Almer2019-05-20
| | | | | | | | As suggested by Ronald, don't map auto threads to frame threads only, and instead distribute them between frame and tile more efficiently. Add a new framethreads override option, similar to the tilethreads one. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: use a reference to the allocated buffer instead of ↵James Almer2019-03-19
| | | | | | | | | | wrapping the Dav1dPicture Removes an av_malloc() per frame. Reviewed-by: BBB Reviewed-by: nevcairiel Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: reset pool size on allocation failureJames Almer2019-03-19
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: unref the frame on failureJames Almer2019-03-12
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* libdav1d: Add support for reading hdr10 metadataVittorio Giovara2019-03-12
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: consistently use AVERROR return valuesJames Almer2019-03-12
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: use a custom picture allocatorJames Almer2019-03-12
| | | | | | | | | Replaces the libdav1d internal allocator. It uses an AVBufferPool to reduce the amount of allocated buffers. About 5% speed up when decoding 720p or higher streams. Reviewed-by: "Vittorio Giovara <vittorio.giovara@gmail.com>" Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: move the pix_fmt enum array up in the fileJames Almer2019-03-12
| | | | | | This is in preparation for the following commit. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: route dav1d internal logs through av_log()James Almer2019-03-12
| | | | | | | Bump the minimum required version to the first one with the logger API callback. Reviewed-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: properly free all output picture referencesJames Almer2019-01-08
| | | | | | | | Dav1dPictures contain more than one buffer reference, so we're forced to use the API properly to free them all. Reviewed-by: BBB Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: add support for 12bit streamsJames Almer2018-12-12
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: add an option to toggle Film GrainJames Almer2018-11-28
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: read profile from the sequence header referenced by the ↵James Almer2018-11-28
| | | | | | ouput picture Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: use constants defined in the public API to limit thread countJames Almer2018-11-28
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: remove init cleanup internal codec capJames Almer2018-11-28
| | | | | | It's no longer needed now that the AVFifoBuffer was removed. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: update the API usage after upstream changesJames Almer2018-11-25
| | | | | | | | The color fields were moved to another struct, and a way to propagate timestamps and other input metadata was introduced, so the packet fifo can be removed. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: fix build after a recent API breakJames Almer2018-11-14
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: libdav1d AV1 decoder wrapper.James Almer2018-11-05
Originally written by Ronald S. Bultje, with fixes, optimizations and improvements by James Almer. Signed-off-by: James Almer <jamrial@gmail.com>