Commit Graph

92734 Commits

Author SHA1 Message Date
Carl Eugen Hoyos 06a436a224 lavc/mjpegdec: Interpret three-component Adobe transform 0 also as RGB.
While there, make a comparison with "RGB" more readable.

Fixes ticket #7625.
2018-12-18 18:00:31 +01:00
Michael Niedermayer 568e1b229b avfilter/scene_sad: Fix funtions typos
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-18 14:18:05 +01:00
Shiyou Yin 76952aa461 avcodec/mips: [loongson] enable MSA optimization for loongson platform.
Set initialization order of MSA after MMI to make it work on loongson platform(msa is supported by loongson2k、3a4000 etc.).

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-18 11:59:51 +01:00
Zhong Li 978c935f2f lavc/qsv_hevc: correct QSV HEVC default plugin on Windows
1. Old logic meaned: everywhere, except Windows, ffmpeg has to use HW
acceleration, but on Windows ffmpeg has to use (unavailable) software
HEVC by default
2. Software HEVC is available only if you provide corresponding
software MediaSDK library, which isn't provided with ffmpeg. More
information could be found in
https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/samples/readme-encode_linux.pdf
3. HW HEVC decoding/encoding are available on Windows in the driver by default

Note: Default case should be the most common case but this change still has potential risk
on windows if HW path is not supported(or doesn't work as expection).
(See the historical disscution: https://lists.libav.org/pipermail/libav-devel/2016-November/080419.html).
In such case, two options suggested:
1. Use the option "-load_plugin hevc_sw" to switch SW path manually.
2. Or report bug to Intel windows driver if your GPU can support HEVC HW codec.
  (HEVC decoding is supported since Braswell, and encoding supported since Skylake)

Patch started by Landgraph. Add similar change for hevc decoder and bump a new version.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
Signed-off-by: Landgraph <me@landgraph.ru>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-12-18 15:15:18 +08:00
Jan Ekström a1f0dd24f6 lavf/mov: document the dvh1 codec switch based on hvcC availability 2018-12-17 23:25:43 +02:00
Rodger Combs 6ebe88f3a4 lavf/isom: add Dolby Vision sample entry codes for HEVC and H.264
These are registered identifiers at the MPEG-4 RA, which are
defined as to be utilized for Dolby Vision AVC/HEVC streams that
are not correctly presentable by standards-compliant AVC/HEVC players.

According to the Dolby Vision specification for ISOBMFF, these sample
entry codes are specified to have the standard AVC or HEVC decoder
configuration box in addition to the Dolby custom DOVIConfigurationBox.
This is what enables us to decode the streams without custom parsing.

For correct presentation information from the DOVIConfigurationBox
is required (YCbCr or modified ICtCP, SDR or HDR, base or enhancement
layer).
2018-12-17 23:25:43 +02:00
Paul B Mahol 7b2a9aaa0b avformat/mxfenc: fix typo 2018-12-17 21:06:36 +01:00
Paul B Mahol d54276f9de avfilter/af_apad: add pad_dur and whole_dur options 2018-12-17 19:14:36 +01:00
chcunningham ee1e39a576 lavf/id3v2: fail read_apic on EOF reading mimetype
avio_read may return EOF, leaving the mimetype array unitialized. fail
early when this occurs to avoid using the array in an unitialized state.

Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-17 18:30:10 +01:00
Carl Eugen Hoyos 826655d8d1 lavfi/program_opencl: Do not use format specifier "z" on Windows. 2018-12-17 14:44:10 +01:00
Carl Eugen Hoyos 0b7269e62d lavc/cbs: Do not use format specifier "z" on Windows. 2018-12-17 14:39:41 +01:00
kjeyapal@akamai.com f22fcd4483 avformat/dashenc: Added support for Low-latency HLS(Experimental)
Apple doesn't have an official spec for LHLS. Meanwhile hls.js player folks are
trying to standardize a open LHLS spec. The draft spec is available in https://github.com/video-dev/hlsjs-rfcs/blob/lhls-spec/proposals/0001-lhls.md
This option will also try to comply with the above open spec, till Apple's spec officially supports it.
Applicable only when @var{streaming} and @var{hls_playlist} options are enabled.
2018-12-17 12:11:55 +05:30
kjeyapal@akamai.com d209a3d50f avformat/dashenc : Refactored HLS media playlist related code
Made it as a separate function, so that it could be reused (in future)
2018-12-17 12:11:18 +05:30
Carl Eugen Hoyos 63977ac38f configure: Use "clang" as cc_default for Android. 2018-12-17 01:45:14 +01:00
Paul B Mahol de5e71fb1b avcodec/tiff: add support for 12bit grayscale images
Fixes #4688.
2018-12-16 22:06:08 +01:00
Michael Niedermayer 092cb17983 avcodec/rasc: Check that the number of moves is less than or equal the number of pixels
Fixes: OOM
Fixes: 10307/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RASC_fuzzer-5393974559244288

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-16 09:49:07 +01:00
Michael Niedermayer b11b3d2585 avcodec/vp7: Check for end of input in vp78_decode_mv_mb_modes()
Fixes: Timeout
Fixes: 10313/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VP7_fuzzer-5637719389110272

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-16 09:49:07 +01:00
Michael Niedermayer 3a95b73abc avformat/nutenc: Document trailer index assert better
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-16 09:49:07 +01:00
chcunningham c9f7b6f7a9 lavf/mov: ensure only one tkhd per trak
Chromium fuzzing produced a whacky file with extra tkhds. This caused
an AVStream that was already in use to be corrupted by assigning it a
new id, which blows up later in mov_read_trun because the
MOVFragmentStreamInfo.index_entry now points OOB.

Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-16 09:49:07 +01:00
Peter Ross 436bffaca2 avutil/tests/random_seed: seeds[] is uint32_t, therefore use PRIX32 macro
squelch format type warning
2018-12-16 13:52:21 +11:00
Paul B Mahol be60dc2145 avutil/avsscanf: do not use long double functions
Not needed when only double is used.
2018-12-15 09:58:28 +01:00
Carl Eugen Hoyos 011c9112a0 lavc/g729dec: Cosmetics, fix indentation after last commit. 2018-12-15 00:55:18 +01:00
Carl Eugen Hoyos 641d52152f lavc/g729dec: Support stereo streams.
Fixes ticket #4553.
2018-12-15 00:32:31 +01:00
Michael Niedermayer 7aaab127be avcodec/clearvideo: Check remaining input bits in P macro block loop
Fixes: Timeout
Fixes: 11083/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CLEARVIDEO_fuzzer-5657180351496192

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-14 23:24:20 +01:00
Michael Niedermayer 35a603050d avcodec/dvdsubdec: discard accumulated buffer on error
Fixes: Timeout
Fixes: 10992/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DVDSUB_fuzzer-5657495410835456

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-14 23:24:20 +01:00
Michael Niedermayer 52ba824c65 avcodec/rasc: Check input space before reading chunk
Fixes: Timeout
Fixes: 11118/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RASC_fuzzer-5652564066959360

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-14 23:24:20 +01:00
Paul B Mahol 6bfc935232 avformat/nutdec: fix pts overflow
Probably fixes #6913.
2018-12-14 21:53:41 +01:00
Lauri Kasanen b4c8c03b00 swscale/output: VSX-optimize 16-bit yuv2plane1
./ffmpeg_g -f rawvideo -pix_fmt rgb24 -s hd1080 -i /dev/zero -pix_fmt yuv420p16le \
-f null -vframes 100 -v error -nostats -

2120 UNITS in planar1,   65393 runs,    143 skips

-cpuflags 0

19157 UNITS in planar1,   65512 runs,     24 skips

9.03632 speedup, 16be similarly.

Fate passes, each format tested with an image to video conversion.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-14 19:09:11 +01:00
Andriy Gelman 5282db5929 avcodec/mpeg: Initialize quarter_sample parameter from previous thread.
Fixes #7410.
The value of sub-pixel precision for me/mc can change during an Intra frame. In multi-threaded decoding this change is not propagated to other frame threads causing decoding artifacts. This patch initializes the sub-pixel precision parameter from previous thread, which fixes the issue.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-14 19:09:11 +01:00
Paul B Mahol 78e7b70395 avformat/ffmetadec: do no limit size of tags to 1024
Use bprint API instead.

Fixes #4833.
2018-12-14 17:33:52 +01:00
Fan Gang c6e1966c1a avcodec/ass_split: fix a memory leak defect when realloc fails
Fixes #7019.
2018-12-14 14:19:50 +01:00
Paul B Mahol ddefd05507 doc/metadata: fix error in timebase description
Fixes #7184.
2018-12-14 12:57:34 +01:00
Paul B Mahol d9a91d58a1 avformat/movenc: treat ALAC same as FLAC and write correct info
Fixes #7291.
2018-12-14 12:11:57 +01:00
Paul B Mahol 5e6b93bb4d avformat/id3v2: use png header to get PNG signature 2018-12-14 11:34:46 +01:00
Paul B Mahol e9817636a7 avformat/flac_picture: try to guess PNG by actual picture data
Fixes #5028.
2018-12-14 11:32:27 +01:00
Paul B Mahol 6f058b5cef avformat/nut: add support for yuva444/422p12 pixel format 2018-12-14 11:26:30 +01:00
Paul B Mahol f2179afb01 avformat/nutdec: fix obvious typo
Fixes #6742.
2018-12-14 10:45:32 +01:00
Paul B Mahol e5a0013c4a avformat/mxfdec: fix error check in macro
Fixes #6750.
2018-12-13 23:51:53 +01:00
Paul B Mahol 8c9fff6183 avcodec/xfacedec: fix order of operations
Fixes #6745.
2018-12-13 23:44:39 +01:00
Paul B Mahol 0ed678a97a bump micro after recent gif changes 2018-12-13 19:30:39 +01:00
Paul B Mahol ec8502f9cb avcodec/gif: use avctx->frame_number 2018-12-13 19:30:39 +01:00
Paul B Mahol 0aa5a7b2e9 avformat/gifdec: export duration, nb_frames and comment 2018-12-13 18:58:48 +01:00
Paul B Mahol f2664a306f avcodec/codec_desc: extend gif description 2018-12-13 18:58:48 +01:00
Paul B Mahol 280b432464 avformat/gif: extend description 2018-12-13 18:58:48 +01:00
Paul B Mahol bb0984cc29 avcodec/gif: enable encoding single gif image per frame
Unbreaks gif image2 muxer.
2018-12-13 18:58:48 +01:00
Paul B Mahol 80f0f8660c avformat/gifdec: export sample aspect ratio 2018-12-13 18:58:48 +01:00
Paul B Mahol 3f8cdd4ee3 avcodec/gif: add support for alpha
Based on patch by Bjorn Roche.

Fixes #6813.
2018-12-13 18:58:48 +01:00
Paul B Mahol faca28c264 avcodec: rewrite gif muxing and encoding
Now "-c copy" works.
Update FATE files.

Demuxer only split file into packets, no data is trimmed.
Encoder & muxer currently expect completely another format
where muxer writes stuff like disposal method which should
be really encoder job.
With this patch muxer only modifies delay between two packets.
Codec copy need to have same behavior between demuxer and
muxer to work correctly.

Fixes #6640.
2018-12-13 18:58:48 +01:00
Paul B Mahol 102c11745e avformat/utils: add support for reading ID3 tags at start of wav
Fixes #4140.
2018-12-13 10:01:15 +01:00
Paul B Mahol f5aad350d3 avformat/wavdec: add support for 'id3 ' chunk
Fixes #5700.
2018-12-13 10:01:15 +01:00