summaryrefslogtreecommitdiffstats
path: root/libavcodec
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/get_bits: Document skip_bits_long()Michael Niedermayer2018-04-071-0/+7
| | | | | Found-by: Kieran Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prores_ks : do not call estimate_alpha at each quantification stepMartin Vignali2018-04-051-12/+8
| | | | | | also remove unused arg in estimate_alpha_plane Improve quality of Prores 4444 encoding
* avcodec/openh264enc.c: generate IDR frame in response to I frame pict_typeValery Kot2018-04-051-0/+4
| | | | Signed-off-by: Valery Kot <valery.kot@gmail.com>
* avcodec/decode: fix warning when decoding pseudo paletted formatswm42018-04-051-0/+2
| | | | | | The pseudo palette allocation is optional now. But if it's still allocated (like the internal get_buffer2 implementation does, for compatibility), it shouldn't print a warning.
* avcodec/mpeg4videodec: unbreak multithreading decodingJames Almer2018-04-041-4/+6
| | | | | | Should fix double free related crashes. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libaomdec: fix broken pix_fmt changes from the previous commitJames Almer2018-04-041-6/+6
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mpeg4videodec: free studio profile VLCs when closing the decoderJames Almer2018-04-041-1/+15
| | | | | | Fixes memleaks. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/clearvideo: fix mixed code and declarationsJames Almer2018-04-041-4/+5
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/sheervideo: add missing wrappers to sheervideodata.hJames Almer2018-04-031-0/+4
| | | | | | Fixes make fate-source Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/clearvideo: add missing wrappers to clearvideodata.hJames Almer2018-04-031-1/+4
| | | | | | Fixes make fate-source Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libaomdec: add support for monochrome filesJames Almer2018-04-031-4/+8
| | | | | | | All such files are signaled as I42016, as there's no monochrome value in aom_img_fmt_t. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libaomdec: remove duplicate codeJames Almer2018-04-031-11/+2
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* lavc/cfhd: fix distortion of lowest 8 lines when height is not multiple of 16Gagandeep Singh2018-04-031-2/+3
| | | | Also update fate reference. Fixes ticket #6675.
* avutil/pixdesc: deprecate AV_PIX_FMT_FLAG_PSEUDOPALwm42018-04-034-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/xwdenc: do not rely on AV_PIX_FMT_FLAG_PSEUDOPAL paletteswm42018-04-031-1/+8
| | | | | | | | This is the only code I found within FFmpeg that still inherently requires AV_PIX_FMT_FLAG_PSEUDOPAL. It's easily changed not to require it. Preparation for the next patch.
* avcodec/sheervideo: move tables to own headerPaul B Mahol2018-04-032-1070/+1094
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/clearvideo: add inter-frame decodingPaul B Mahol2018-04-032-105/+2443
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/imgconvert: fix possible null pointer dereferenceSimon Thelen2018-04-031-2/+3
| | | | regression since 354b26a3945eadd4ed8fcd801dfefad2566241de
* avcodec/aacdec_fixed: Fix integer overflow in apply_independent_coupling_fixed()Michael Niedermayer2018-04-021-1/+1
| | | | | | | | I was not able to reproduce this, this fix is based on just the fuzzer log. Fixes: 4959/clusterfuzz-testcase-minimized-6035350934781952 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cscd: Error out when LZ* decompression failsMichael Niedermayer2018-04-021-2/+6
| | | | | | | | Fixes: Timeout Fixes: 6304/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CSCD_fuzzer-5754772461191168 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/libaomdec: remove references to gbrp pixfmtJames Almer2018-04-021-8/+4
| | | | | | Support for this needs testing, so remove for now. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libaomenc: remove references to gbrp pixfmtJames Almer2018-04-021-9/+1
| | | | | | Support for this needs testing, so remove for now. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/aic: fix decoding of videos which height is not multiple of 16Paul B Mahol2018-04-021-2/+12
| | | | | | | Fate output changes and under close inspection looks more correct. Fixes #6187. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/scpr: fix decoding of prev+top-topleft prediction in keyframesPaul B Mahol2018-04-021-3/+3
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* mpeg4video: Add support for MPEG-4 Simple Studio Profile.Kieran Kunhya2018-04-0211-46/+763
| | | | This is a profile supporting > 8-bit video and has a higher quality DCT
* simple_idct: Template functions to support an input bitdepth parameterKieran Kunhya2018-04-028-44/+86
|
* avcodec/scpr: check for possible out of array accessPaul B Mahol2018-04-021-0/+4
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/bsf: use av_packet_make_refcounted to ensure packets are ref countedJames Almer2018-04-021-9/+6
| | | | | | Simplifies code. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/encode: use av_packet_make_refcounted to ensure packets are ref countedJames Almer2018-04-011-8/+2
| | | | | | Simplifies code. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/frame_thread_encoder: remove usage of av_dup_packet()James Almer2018-04-011-1/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/avpacket: add av_packet_make_refcounted()James Almer2018-04-013-2/+36
| | | | | | | | It works as a drop in replacement for the deprecated av_dup_packet(), to ensure a packet is reference counted. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* lav*,tests: remove several register_all callsJosh de Kock2018-04-021-1/+0
| | | | | | | avdevice_register_all() is still required to register devices into lavf (this is required due to lavd being somewhat of a hack). Signed-off-by: Josh de Kock <josh@itanimul.li>
* avcodec/imgconvert: Fix loss mask bug in avcodec_find_best_pix_fmt_of_list()heimdallr2018-04-011-2/+6
| | | | | | | | | | | | example: AVPixelFormat pixFmts[] = { AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA }; int loss = 0; AVPixelFormat best = avcodec_find_best_pix_fmt_of_list(pixFmts, AV_PIX_FMT_BGRA, 1, &loss); best is AV_PIX_FMT_RGB24. But AV_PIX_FMT_RGBA is better. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc: prefer the mp3float decoder to the mp3 decoderRostislav Pehlivanov2018-04-011-3/+3
| | | | | | | | | On modern x86 systems its around 2x faster. For systems without FPUs it'll be slower, but our policy is to prefer floating point implementations and to let users decide what's best (or just not compile them on systems without FPUs). Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avcodec/utvideodec: Set pro flag based on fourccMichael Niedermayer2018-04-011-3/+5
| | | | | | | | | | This avoids mixing 8bit variants with pro and 10bit with non pro mode. Fixes: out of array read Fixes: poc_03_30.avi Found-by: GwanYeong Kim <gy741.kim@gmail.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* arm: hevcdsp: Add commas between macro argumentsMartin Storsjö2018-03-311-18/+18
| | | | | | | | | | When targeting darwin, clang requires commas between arguments, while the no-comma form is allowed for other targets. Since Xcode 9.3, the bundled clang supports altmacro and doesn't require using gas-preprocessor any longer. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: hevcdsp: Avoid using macro expansion countersMartin Storsjö2018-03-311-4/+4
| | | | | | | | | | | | | Clang supports the macro expansion counter (used for making unique labels within macro expansions), but not when targeting darwin. Convert uses of the counter into normal local labels, as used elsewhere. Since Xcode 9.3, the bundled clang supports altmacro and doesn't require using gas-preprocessor any longer. Signed-off-by: Martin Storsjö <martin@martin.st>
* Merge commit 'ab05d3934de8e932dbd77979a687e6598e67535c'James Almer2018-03-301-47/+47
|\ | | | | | | | | | | | | * commit 'ab05d3934de8e932dbd77979a687e6598e67535c': arm: vc1dsp: Add commas between macro arguments Merged-by: James Almer <jamrial@gmail.com>
| * arm: vc1dsp: Add commas between macro argumentsMartin Storsjö2018-03-301-47/+47
| | | | | | | | | | | | | | | | | | | | When targeting darwin, clang requires commas between arguments, while the no-comma form is allowed for other targets. Since Xcode 9.3, the bundled clang supports altmacro and doesn't require using gas-preprocessor any longer. Signed-off-by: Martin Storsjö <martin@martin.st>
| * libaomenc: fix profile settingJames Almer2018-03-291-6/+6
| | | | | | | | | | | | | | | | Main Profile is yuv420p 8 and 10 bit High Profile is yuv444p 8 and 10 bit Professional Profile is yuv422p 8, 10, and 12 bit, plus every other pixfmt at 12 bit Signed-off-by: James Almer <jamrial@gmail.com>
| * avcodec: rename the AV1 profilesJames Almer2018-03-292-6/+6
| | | | | | | | | | | | Use the proper names instead of numbers Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec/mpc8: get frame output buffer right before it is actually neededPaul B Mahol2018-03-301-5/+4
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/mpc8: check for overread earlier and abort decoding framePaul B Mahol2018-03-301-0/+5
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/ac3: fix out of array access introduced previouslyPaul B Mahol2018-03-303-8/+9
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/mpc8: check for overread firstPaul B Mahol2018-03-301-3/+3
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | movtextenc: fix handling of utf-8 subtitlesPhilip Langdale2018-03-291-2/+28
| | | | | | | | | | | | | | | | | | See the earlier fix for movtextdec for details. The equivalent bug is present on the encoder side as well. We need to track the text length in 'characters' (which seems to really mean codepoints) to ensure that styles are applied across the correct ranges.
* | avcodec/libaomenc: use av_assert0()James Almer2018-03-291-1/+2
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit 'deefca02c275ce4bc5ccbee690463ffef81a18b8'James Almer2018-03-293-0/+6
|\ \ | |/ | | | | | | | | | | * commit 'deefca02c275ce4bc5ccbee690463ffef81a18b8': qsvenc: add the Access Unit Delimiter NAL Unit support Merged-by: James Almer <jamrial@gmail.com>
| * qsvenc: add the Access Unit Delimiter NAL Unit supportZhong Li2018-03-163-0/+5
| | | | | | | | | | Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '3d6e76b953afd36e23ef8532b81aea58a6338931'James Almer2018-03-291-1/+1
|\ \ | |/ | | | | | | | | | | * commit '3d6e76b953afd36e23ef8532b81aea58a6338931': qsvenc: Fix a typo of FrameRateExtD/FrameRateExtN Merged-by: James Almer <jamrial@gmail.com>
OpenPOWER on IntegriCloud