summaryrefslogtreecommitdiffstats
path: root/libavcodec
Commit message (Collapse)AuthorAgeFilesLines
* msvc: Properly specify dllexport for data symbols shared across dll boundariesMartin Storsjö2017-08-316-15/+27
| | | | | | | | | We currently only have exported data symbols within libavcodec, but the concept is easy to extend to other libraries if necessary. The attribute declaration needs to be in a private header though, since we can't use CONFIG_SHARED in public installed headers. Signed-off-by: Martin Storsjö <martin@martin.st>
* png: Support RGBA64 pixel formatLuca Barbato2017-08-211-0/+3
|
* png: Report more details regarding unsupported pixel formatsLuca Barbato2017-08-211-0/+3
|
* mpeg2enc: Don't mark all streams as component videoMark Thompson2017-08-201-1/+1
| | | | | | | | Since there is no information about the source format, "unspecified" is the correct value to write here. All tests using the MPEG-2 encoder are updated, as this changes the header on all outputs.
* lavc: Add mpeg2_metadata bitstream filterMark Thompson2017-08-203-0/+362
|
* lavc: Add coded bitstream read/write support for MPEG-2Mark Thompson2017-08-207-0/+971
| | | | Also enable MPEG-2 support in the trace_headers filter.
* cbs_h2645: Return error if writing failsMark Thompson2017-08-201-0/+5
|
* h264dec: use a large enough field for reference list modification valuesAnton Khirnov2017-08-181-1/+1
| | | | | | | pic_num can be at most 17-bit, so uint8_t is not sufficient. Found-By: Bradley Sepos <bradley@bradleysepos.com> CC: libav-stable@libav.org
* xwddec: support 8bpp grayscalePiotr Bandurski2017-08-131-1/+3
| | | | | (cherry picked from commit b9c94e826e7551027754ecfa60e3e487e0c28fcb) Signed-off-by: Diego Biurrun <diego@biurrun.de>
* dfa: Disallow odd width/height and add proper bounds check for DDS1 chunksDiego Biurrun2017-08-131-1/+3
| | | | | | | | | DDS1 chunks are decoded in 2x2 blocks, odd chunk width or height is not allowed in that case. Also ensure that the decode buffer is big enough for all blocks being processed. Bug-Id: CVE-2017-9992 CC: libav-stable@libav.org
* vaapi_h265: Reduce the amount of padding in the streamMark Thompson2017-08-131-2/+5
| | | | | | It is not necessary to pad to the CTU size. The CB size of 8x8 should be sufficient, but due to constraints in the Intel driver (the one usable implementation of this) it has to be padded to 16x16 like in H.264.
* vaapi_h265: Add support for AUD NAL unitsMark Thompson2017-08-131-0/+39
| | | | Matching the H.264 encoder.
* vaapi_h265: Convert to use coded bitstream infrastructureMark Thompson2017-08-134-1068/+584
| | | | | Also improves the metadata and generally makes the configuration a bit cleaner.
* vaapi_h264: Add support for SEI recovery pointsMark Thompson2017-08-131-1/+19
| | | | Included by default with non-IDR intra frames.
* vaapi_h264: Add support for AUD NAL unitsMark Thompson2017-08-131-0/+33
| | | | Adds a new private option to enable them (off by default).
* vaapi_h264: Convert to use coded bitstream infrastructureMark Thompson2017-08-132-875/+548
|
* lavc: Add hevc_metadata bitstream filterMark Thompson2017-08-133-0/+460
| | | | | This is able to modify some header metadata found in the VPS/SPS/VUI, and can also add/remove AUDs.
* lavc: Add h264_redundant_pps bitstream filterMark Thompson2017-08-133-0/+180
| | | | | | | | | This applies a specific fixup to some Bluray streams which contain redundant PPSs modifying irrelevant parameters of the stream which confuse other transformations which require correct extradata. A new single global PPS is created, and all of the redundant PPSs within the stream are removed.
* lavc: Add h264_metadata bitstream filterMark Thompson2017-08-133-0/+514
| | | | | This is able to modify some header metadata found in the SPS/VUI, and can also add/remove AUDs and insert user data in SEI NAL units.
* lavc: Add trace_headers bitstream filterMark Thompson2017-08-123-0/+127
| | | | | Supports all streams that the coded bitstream infrastructure does (currently H.264 and H.265).
* lavc: Add coded bitstream read/write support for H.265Mark Thompson2017-08-126-3/+2451
|
* lavc: Add coded bitstream read/write support for H.264Mark Thompson2017-08-127-0/+2704
|
* lavc: Add coded bitstream read/write APIMark Thompson2017-08-124-0/+818
|
* h264: Add support for alternative transfer characterics SEIVittorio Giovara2017-08-103-0/+24
| | | | | | | | | | The use of this SEI is for backward compatibility in HLG HDR systems: older devices that cannot interpret the "arib-std-b67" transfer will get the compatible transfer (usually bt709 or bt2020) from the VUI, while newer devices that can interpret HDR will read the SEI and use its value instead. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* vaapi_encode: Move quality option to common codeMark Thompson2017-08-063-23/+43
| | | | | | | | | Use AVCodecContext.compression_level rather than a private option, replacing the H.264-specific quality option (which stays only for compatibility). This now works with the H.265 encoder in the i965 driver, as well as the existing cases with the H.264 encoder.
* hevc: Validate the number of long term reference picturesMark Thompson2017-08-051-0/+6
| | | | | This would overflow if the stream contained a value greater than the maximum allowed by the standard (32).
* hevc: Improve stream constraint values in common headerMark Thompson2017-08-053-16/+57
| | | | | | | | Add comments to describe the sources of the constraint values expressed here, and add some more related values which will be used in following patches. Fix the incorrect values for SPS and PPS count (they are not the same as those used for H.264), and remove HEVC_MAX_CU_SIZE because it is not used anywhere.
* h264: Add stream constraint values to the common headerMark Thompson2017-08-051-0/+45
| | | | With comments describing the derivation of each value.
* hevcdec: add a CUVID hwaccelAnton Khirnov2017-07-285-1/+291
|
* hevcdec: set the active SPS before calling get_format()Anton Khirnov2017-07-281-4/+5
| | | | This way the SPS is available to the hwaccel init code.
* cuvid: add cuvid.h to SKIPHEADERSAnton Khirnov2017-07-271-0/+1
|
* h264dec: add a CUVID hwaccelAnton Khirnov2017-07-266-1/+671
| | | | | Some parts of the code are based on a patch by Timo Rothenpieler <timo@rothenpieler.org>
* decode: add a per-frame private data for hwaccel useAnton Khirnov2017-07-262-0/+9
| | | | | | This will be useful in the CUVID hwaccel. It should also eventually replace current decoder-specific mechanisms used by various other hwaccels.
* decode: add a mechanism for performing delayed processing on the decoded framesAnton Khirnov2017-07-262-0/+26
| | | | This will be useful in the CUVID hwaccel.
* decode: add a method for attaching lavc-internal data to framesAnton Khirnov2017-07-262-0/+70
| | | | | | | | Use the AVFrame.opaque_ref field. The original user's opaque_ref is wrapped in the lavc struct and then unwrapped before the frame is returned to the caller. This new struct will be useful in the following commits.
* decode: avoid leaks on failure in ff_get_buffer()Anton Khirnov2017-07-261-0/+3
| | | | | | | If the get_buffer() call fails, the frame might have some side data already set. Make sure it gets freed. CC: libav-stable@libav.org
* h264dec: Fix mix of lossless and lossy MBs decodingAnton Mitrofanov2017-07-262-16/+16
| | | | | | CC: libav-stable@libav.org Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264_cabac: Fix CABAC+8x8dct in 4:4:4Anton Mitrofanov2017-07-261-14/+33
| | | | | | | | | Use the correct ctxIdxInc calculation for coded_block_flag. Keep old behavior for old versions of x264 for backward compatibility. CC: libav-stable@libav.org Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264dec: fix Lossless Decoding (Profile 244) for 8x8 Intra PredictionYogender Kumar Gupta2017-07-264-1/+84
| | | | | | CC: libav-stable@libav.org Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264dec: track the last seen value of x264_buildAnton Khirnov2017-07-264-3/+9
| | | | | | | | | | Do not use the one in the SEI directly as that is reset at certain points. Inspired by patches from Michael Niedermayer <michaelni@gmx.at> and Anton Mitrofanov <BugMaster@narod.ru>. CC: libav-stable@libav.org
* lavc, lavu: move frame cropping to a convenience functionwm42017-07-261-87/+2
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* libavcodec/mjpeg_qsv: Add QSV MJPEG encoderHuang, Zhengxu2017-07-255-2/+189
| | | | | | | | | | | usage: -hwaccel qsv -c:v h264_qsv -i in -c:v mjpeg_qsv -global_quality 80 -f mjpeg out Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com> Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com> Signed-off-by: Andrew Zhang <huazh407@gmail.com Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* dxva: DXVA2_ModeHEVC_VLD_Main10 does not support Mainwm42017-07-221-2/+1
| | | | | | | | This mode apparently does not support decoding of HEVC Main (8 bit). With D3D11 and Intel drivers on Windows 10 I get green corruption, while using DXVA2_ModeHEVC_VLD_Main works. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: Make sure to update the current frame transfer characteristicVittorio Giovara2017-07-211-1/+1
| | | | | | | Otherwise the first decoded frame will still be tagged with the original transfer instead of the alternative one. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* flac: Use a local cache for decode_residual()Luca Barbato2017-07-091-6/+9
| | | | | | About an additional 4% speedup. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* flac: Postpone unlikely condition checksLuca Barbato2017-07-091-8/+9
| | | | | | About 2% speedup on gcc-6.3. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* flac: Convert to the new bitstream readerAlexandra Hájková2017-07-095-70/+70
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* bitstream: Avoid undefined behavior in bitstream_skip()Luca Barbato2017-07-091-2/+4
| | | | | | | | | | Do not use skip_remaining() to fully wipe the cache, as this could do a 64-bit shift of a 64-bit variable which is undefined behavior in C. Instead set the related variables to zero directly. Thanks to Uoti for pointing out the problem. CC: libav-stable@libav.org
* bink: Split read_dct_coeffs()Diego Biurrun2017-07-051-14/+28
| | | | | This works around type aliasing violations and related warnings. Also add some missing error checking.
* cinepakenc: misc small changesDiego Biurrun2017-07-051-11/+9
| | | | | | Avoid anonymously typedeffed structs and enums, drop an unused context member, fix a small wording mishap, sizeof(type) ---> sizeof(*variable), drop a needlessly verbose log message, use av_malloc_array() where appropriate.
OpenPOWER on IntegriCloud