summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* aarch64: vp8: Move the vp8dsp makefile entries to the right placesMartin Storsjö2019-02-191-2/+2
| | | | | | | | | | | | Even if NEON would be disabled, the init functions should be built as they are called as long as ARCH_AARCH64 is set. These functions are part of a generic DSP subsytem, not tied directly to one decoder. (They should be built if the vp7 decoder is enabled, even if the vp8 decoder is disabled.) Signed-off-by: Martin Storsjö <martin@martin.st> (cherry picked from commit b4b27dce95a6d40bfcd78043d3abec7d80dae143)
* aarch64: vp8: Remove superfluous includesMartin Storsjö2019-02-191-4/+0
| | | | | | | This fixes building with MSVC, which lacks unistd.h. Signed-off-by: Martin Storsjö <martin@martin.st> (cherry picked from commit ad32f7b1264dbc614f0db1c443d5361420e9e07e)
* aarch64: vp8: Fix assembling with armasm64Martin Storsjö2019-02-191-1/+1
| | | | | Signed-off-by: Martin Storsjö <martin@martin.st> (cherry picked from commit 2eeac79936e83c4495cbe5905064ab797e9b45ff)
* aarch64: vp8: Fix assembling with clangMartin Storsjö2019-02-191-69/+69
| | | | | | | | | | | | | | | | This also partially fixes assembling with MS armasm64 (via gas-preprocessor). The movrel macro invocations need to pass the offset via a separate parameter. Mach-o and COFF relocations don't allow a negative offset to a symbol, which is handled properly if the offset is passed via the parameter. If no offset parameter is given, the macro evaluates to something like "adrp x17, subpel_filters-16+(0)", which older clang versions also fail to parse (the older clang versions only support one single offset term, although it can be a parenthesis. Signed-off-by: Martin Storsjö <martin@martin.st> (cherry picked from commit 26d7af4c381ee3c7b13b032b3817168b84b98ca6)
* palettegen: Fill with last color, not blackTomas Härdin2019-02-192-2/+2
| | | | | | If we fill with black then the generated palette will have one color more than what the user requested. This also resulted in unwanted black specks in the output of paletteuse, especially when generating small palettes.
* libavcodec/zmbvenc: motion estimation improvements/bug fixes:Matthew Fearnley2019-02-191-18/+53
| | | | | | | | - Clamp ME range to -64..63 (prevents corruption when me_range is too high) - Allow MV's up to *and including* the positive range limit - Allow out-of-edge ME by padding the prev buffer with a border of 0's - Try previous MV before checking the rest (improves speed in some cases) - More robust logic in code - ensure *mx,*my,*xored are updated together
* libavcodec/zmbvenc: block scoring improvements/bug fixesMatthew Fearnley2019-02-191-6/+16
| | | | | | | | - Improve block choices by counting 0-bytes in the entropy score - Make histogram use uint16_t type, to allow byte counts from 16*16 (current block size) up to 255*255 (maximum allowed 8bpp block size) - Make sure score table is big enough for a full block's worth of bytes - Calculate *xored without using code in inner loop
* lavc/libdavs2: fix parameter setting errorhwren2019-02-191-1/+1
| | | | Signed-off-by: hwrenx <hwrenx@126.com>
* lavc/libxavs2: use upper layer qp parameters firsthwren2019-02-191-2/+2
| | | | Signed-off-by: hwrenx <hwrenx@126.com>
* lavc/libxavs2: remove unused context parameterhwren2019-02-191-1/+0
| | | | Signed-off-by: hwrenx <hwrenx@126.com>
* lavf/mpeg: fix indentXiaofeng Wang2019-02-181-28/+28
| | | | | Signed-off-by: Xiaofeng Wang <xiaofeng.wang@bqvision.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/matroskadec: Check parents remaining lengthSteve Lhomme2019-02-171-0/+12
| | | | | This was found through the Hacker One program on VLC but is not a security issue in libavformat Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/webmdashenc: Check id in adaption_setsMichael Niedermayer2019-02-171-0/+6
| | | | | | | Fixes: out of array access Found-by: Wenxiang Qian Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/http: Fix Out-of-Bounds access in process_line()Wenxiang Qian2019-02-171-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/ftp: Fix Out-of-Bounds Access and Information Leak in ftp.c:393Wenxiang Qian2019-02-171-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/htmlsubtitles: Fixes denial of service due to use of sscanf in inner ↵Kevin Backhouse via RT2019-02-171-2/+21
| | | | | | | | | loop for handling braces Fixes: [Semmle Security Reports #19439] Fixes: dos_sscanf2.mkv Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/htmlsubtitles: Fixes denial of service due to use of sscanf in inner ↵Kevin Backhouse via RT2019-02-171-1/+29
| | | | | | | | | loop for tag scaning Fixes: [Semmle Security Reports #19438] Fixes: dos_sscanf1.mkv Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpegvideo_enc: Use av_assert1() instead of assert()Michael Niedermayer2019-02-171-4/+4
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/matroskadec: Do not leak queued packets on sync errorsMichael Niedermayer2019-02-171-1/+1
| | | | | | | | | Fixes: memleak Fixes: clusterfuzz-testcase-minimized-audio_decoder_fuzzer-5649187601121280 Reported-by: Chris Cunningham <chcunningham@google.com> Tested-by: Chris Cunningham <chcunningham@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/fftools-common-opts: add example for codec option stream specifiersGyan Doshi2019-02-171-1/+9
|
* doc/muxers: grammar fixReto Kromer2019-02-171-1/+1
| | | | Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
* lavc/libgsmenc: Force mono and use 13k as default bitrate.Carl Eugen Hoyos2019-02-171-0/+8
|
* avcodec/mips: [loongson] optimize theora decoding with mmi.gxw2019-02-164-0/+790
| | | | | | | | | | | | | Optimize theora decoding with mmi in functions: 1. ff_vp3_idct_add_mmi 2. ff_vp3_idct_put_mmi 3. ff_vp3_idct_dc_add_mmi 4. ff_put_no_rnd_pixels_l2_mmi Theora decoding speed improved about 32%(from 88fps to 116fps, Tested on loongson 3A3000). Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpeg4videodec: Clear interlaced_dct for studio profileMichael Niedermayer2019-02-161-0/+1
| | | | | | | | | Fixes: Out of array access Fixes: 13090/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5408668986638336 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Kieran Kunhya <kierank@obe.tv> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/version: Bump micro-version for nvdec/cuviddec changesPhilip Langdale2019-02-162-1/+2
| | | | I forgot to add the version bump and changelog within the changes.
* avcodec/cuviddec: Add support for decoding HEVC 4:4:4 contentPhilip Langdale2019-02-161-20/+46
| | | | | | | | | | | This is the equivalent change for cuviddec after the previous change for nvdec. I made similar changes to the copying routines to handle pixel formats in a more generic way. Note that unlike with nvdec, there is no confusion about the ability of a codec to output 444 formats. This is because the cuvid parser is used, meaning that 444 JPEG content is still indicated as using a 420 output format.
* avcodec/nvdec: Explicitly mark codecs that support 444 output formatsPhilip Langdale2019-02-1610-13/+23
| | | | | | | | | With the introduction of HEVC 444 support, we technically have two codecs that can handle 444 - HEVC and MJPEG. In the case of MJPEG, it can decode, but can only output one of the semi-planar formats. That means we need additional logic to decide whether to use a 444 output format or not.
* avcodec/nvdec: Add support for decoding HEVC 4:4:4 contentPhilip Langdale2019-02-163-8/+67
| | | | | | | | | | | | | The latest generation video decoder on the Turing chips supports decoding HEVC 4:4:4. Supporting this is relatively straight-forward; we need to account for the different chroma format and pick the right output and sw formats at the right times. There was one bug which was the hard-coded assumption that the first chroma plane would be half-height; I fixed this to use the actual shift value on the plane. We also need to pass the SPS and PPS range extension flags.
* avcodec/hevc_ps: Expose all SPS and PPS range extension flagsPhilip Langdale2019-02-162-11/+12
| | | | | | | We need all the flags to be exposed to be able to pass them on to HW decoders. I did not attempt to nuance any of the warnings about flags being unsupported as there's no way, at the point we extract flags, to say whether an HW decoder is being used.
* avutil/cuda_check: fix usage of removed .c fileTimo Rothenpieler2019-02-152-8/+5
| | | | Why did this not break compilation?
* avformat/mov: Do not use reference stream in mov_read_sidx() if there is no ↵Michael Niedermayer2019-02-141-1/+1
| | | | | | | | | | reference stream Fixes: NULL pointer dereference Fixes: clusterfuzz-testcase-minimized-audio_decoder_fuzzer-5634316373721088 Reported-by: Chris Cunningham <chcunningham@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/nvenc: add b_as_ref support for HEVCRoman Arzumanyan2019-02-144-1/+21
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avutil/cuda_check: avoid pointlessly exporting same symbol from two librariesTimo Rothenpieler2019-02-146-55/+25
|
* avformat/utils: parse some stream specifiers recursivelyMarton Balint2019-02-132-136/+67
| | | | | | | | This removes lots of code duplication and also allows more complex specifiers, for example you can use p:204:a:m:language:eng to select the English language audio stream from program 204. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/mpegts: also convert strings without a specified encoding to UTF-8Marton Balint2019-02-131-4/+8
| | | | | | The default codepage (ISO6937) should be used in this case. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/mpegts: fix charset of type 0x11Marton Balint2019-02-131-1/+1
| | | | | | | ISO-10646 alone means UCS-4 for iconv, the specs refers to the Basic Multilingual Plane (BMP), therefore we need UCS-2. VLC also using that. Signed-off-by: Marton Balint <cus@passwd.hu>
* doc/muxers: fix typoReto Kromer2019-02-131-1/+1
| | | | Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
* avfilter/tests/integral: Correct the commentJun Zhao2019-02-131-1/+1
| | | | | | Correct the comment Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* configure: fix dependencies for mlp and truehd encodersMoritz Barsnick2019-02-121-2/+2
| | | | Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
* lavc/libaribb24: use integer math to calculate font scalingJan Ekström2019-02-121-5/+5
|
* lavc/libaribb24: add missing type struct members to AVOptionsJan Ekström2019-02-121-2/+2
|
* lavc/libaribb24: protect handled value with parenthesis in RGB_TO_BGRJan Ekström2019-02-121-1/+1
|
* lavc/libaribb24: add error handling to region handlingJan Ekström2019-02-121-7/+18
| | | | | | | | | | | Fixes some rather embarrassing mistakes that somehow passed my eyes. * Now catches if memory allocation has failed during bprint usage by checking av_bprint_is_complete(). * Now catches if adding an ASS rectangle into an AVSubtitle failed. * Returns AVERROR_INVALIDDATA if we get an invalid region buffer length.
* tests/api/api-h264-test: Add AV_NOPTS_VALUE check for AVFrame.pkt_dts/ptsJun Zhao2019-02-121-3/+4
| | | | | | | | | Use av_ts2str() for AVFrame.pkt_dts/pts to avoid print the pkt_dts/pts as negative number like: "0, 3616613, -9223372036854775808, 1001, 3110400, 0x75e37a65" Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* avfilter/tests/integral: Fix build warning after adjust the locationJun Zhao2019-02-121-4/+5
| | | | | | | | Fix build warning like "warning: ISO C90 forbids mixed declarations and code" after adjust the location for malloc fail check. Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* avfilter/tests/integral: Check malloc fail before using itJun Zhao2019-02-121-3/+3
| | | | | | | | Need to check malloc fail before using it, so adjust the location in the code. Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* configure: warn about disabled explicitly enabled componentsMarton Balint2019-02-111-4/+28
| | | | | | | | | | | | | | | If we enable a component but a dependant library is disabled, then the enabled component gets silently disabled. Warning about disabled explicitly enabled components allows configure to show the missing dependencies and if --fatal-warnings is used it can also fail if the user wants it so. For example if libdav1d is not availble ./configure --enable-decoder=libdav1d succeeds but the libdav1d decoder is not be enabled. After the patch configure will warn about this: WARNING: Disabled libdav1d_decoder because not all dependencies are satisfied: libdav1d Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/mov: fix hang while seek on a kind of fragmented mp4Charles Liu2019-02-111-9/+12
| | | | | | | | | | | | | | | | | | | Binary searching would hang if the fragment items do NOT have timestamp for the specified stream. For example, a fmp4 consists of separated 'moof' boxes for each track, and separated 'sidx' for each segment, but no 'mfra' box. Then every fragment item only have the timestamp for one of its tracks. Example: ffmpeg -f lavfi -i testsrc -f lavfi -i sine -movflags dash+frag_keyframe+skip_trailer+separate_moof -t 1 out.mp4 ffmpeg -ss 0.5 -i out.mp4 -f null none Also fixes the hang in ticket #7572, but not the reason for having AV_NOPTS_VALUE timestamps there. Signed-off-by: Charles Liu <liuchh83@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/mov: don't rescale mastering display values from the SmDm atomJames Almer2019-02-111-14/+10
| | | | | | | Simplifies code. Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* doc/faq: update macOS and URLsReto Kromer2019-02-111-4/+4
| | | | Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
OpenPOWER on IntegriCloud