ffmpeg.git
2 years agotests/ref/fate/vc1test_smm0005: Add a newline.
Carl Eugen Hoyos [Sun, 2 Dec 2018 13:17:53 +0000 (14:17 +0100)]
tests/ref/fate/vc1test_smm0005: Add a newline.

Fixes fate-pixelutils on aix.

2 years agoavcodec/proresdec : add 12b decoding
Martin Vignali [Tue, 27 Nov 2018 21:41:38 +0000 (22:41 +0100)]
avcodec/proresdec : add 12b decoding

based on patch by Kieran Kunhya

ticket 7163

2 years agoavcodec/proresdec : add 12b prores idct
Martin Vignali [Sat, 17 Nov 2018 22:37:50 +0000 (23:37 +0100)]
avcodec/proresdec : add 12b prores idct

based on patch by Kieran Kunhya

2 years agoavcodec/proresdec : add unpack alpha 12 func
Martin Vignali [Sat, 17 Nov 2018 22:37:23 +0000 (23:37 +0100)]
avcodec/proresdec : add unpack alpha 12 func

2 years agoavcodec/proresdec : make inline func for unpack alpha
Martin Vignali [Sat, 17 Nov 2018 22:37:00 +0000 (23:37 +0100)]
avcodec/proresdec : make inline func for unpack alpha

2 years agoavcodec/proresdec : put unpack alpha func in prores ctx
Martin Vignali [Sat, 17 Nov 2018 22:36:23 +0000 (23:36 +0100)]
avcodec/proresdec : put unpack alpha func in prores ctx

2 years agoavcodec/proresdsp indent after prev commit
Martin Vignali [Sat, 17 Nov 2018 22:35:52 +0000 (23:35 +0100)]
avcodec/proresdsp indent after prev commit

2 years agoavcodec/proresdec : rename dsp part for 10b and check dspinit for supported bits...
Martin Vignali [Sat, 17 Nov 2018 22:35:35 +0000 (23:35 +0100)]
avcodec/proresdec : rename dsp part for 10b and check dspinit for supported bits per raw sample

based on patch by Kieran Kunhya

2 years agoavcodec/proresdec : move dsp init after codec tag check
Martin Vignali [Sat, 17 Nov 2018 22:33:12 +0000 (23:33 +0100)]
avcodec/proresdec : move dsp init after codec tag check

2 years agoavcodec/proresdsp : remove unused value
Martin Vignali [Sat, 17 Nov 2018 22:32:43 +0000 (23:32 +0100)]
avcodec/proresdsp : remove unused value

2 years agoavcodec/utils : add YUVA444P12 and YUVA422P12 to pixfmt who need height padding in...
Martin Vignali [Tue, 27 Nov 2018 21:21:47 +0000 (22:21 +0100)]
avcodec/utils : add YUVA444P12 and YUVA422P12 to pixfmt who need height padding in avcodec_align_dimensions2

2 years agolavc/kvazaar: fix auto thread flag in kvazaar wrapper.
Jun Zhao [Sun, 18 Nov 2018 16:12:21 +0000 (00:12 +0800)]
lavc/kvazaar: fix auto thread flag in kvazaar wrapper.

Now the kvazaar warpper didn't setting the threads for kvazaar API,
and kavzaar will auto selecte the thread number.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agoavdevice/decklink_enc: add support for setting genlock timing offset
Marton Balint [Sun, 25 Nov 2018 00:38:05 +0000 (01:38 +0100)]
avdevice/decklink_enc: add support for setting genlock timing offset

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoffplay: fix -x and -y options when only one of them is used
Marton Balint [Sat, 24 Nov 2018 22:09:24 +0000 (23:09 +0100)]
ffplay: fix -x and -y options when only one of them is used

Previously if only -y was used then nothing happened, if only -x then zero
window height was set which is undefined in SDL and caused a black window.

From now on if only one dimension is set we calculate the other based on
size/aspect of the shown content.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoffplay: convert float math to int math in calculate_display_rect
Marton Balint [Sat, 24 Nov 2018 22:58:04 +0000 (23:58 +0100)]
ffplay: convert float math to int math in calculate_display_rect

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/mpegenc: extend muxing PCM-DVD to other depths
Paul B Mahol [Tue, 27 Nov 2018 11:09:03 +0000 (12:09 +0100)]
avformat/mpegenc: extend muxing PCM-DVD to other depths

Fixes #6783.

2 years agoavcodec: add PCM-DVD encoder
Paul B Mahol [Mon, 26 Nov 2018 18:03:58 +0000 (19:03 +0100)]
avcodec: add PCM-DVD encoder

Fixes #6784.

2 years agoavcodec/hevcdec: Check for overlapping slices
Michael Niedermayer [Fri, 16 Nov 2018 19:03:01 +0000 (20:03 +0100)]
avcodec/hevcdec: Check for overlapping slices

Fixes: Timeout
Fixes: 10108/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-6222384351674368

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/truemotion2rt: Fix rounding in input size check
Michael Niedermayer [Sat, 17 Nov 2018 08:24:30 +0000 (09:24 +0100)]
avcodec/truemotion2rt: Fix rounding in input size check

Fixes: Timeout
Fixes: 11332/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TRUEMOTION2RT_fuzzer-5678456612847616

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/mips: [loongson] refine optimization in h264_chroma.
Shiyou Yin [Tue, 6 Nov 2018 00:59:13 +0000 (08:59 +0800)]
avcodec/mips: [loongson] refine optimization in h264_chroma.

Remove invalid operation in the case x and y all equal 0,
this refine made about 2% speedup for H264 decode on loongson platform.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoconfigure: enable mipsfpu for loongson platform.
Shiyou Yin [Thu, 29 Nov 2018 09:39:41 +0000 (17:39 +0800)]
configure: enable mipsfpu for loongson platform.

mipsfpu supported by loongson 3a2000,3a3000,3a4000,2k1000, Fate tests passed.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/ac3dec: always skip junk bytes before sync bytes
Paul B Mahol [Sun, 25 Nov 2018 11:15:51 +0000 (12:15 +0100)]
avformat/ac3dec: always skip junk bytes before sync bytes

Fixes #7278.

2 years agolavc/qsvenc: assert uninitialized pict_type
Linjie Fu [Wed, 28 Nov 2018 02:41:55 +0000 (10:41 +0800)]
lavc/qsvenc: assert uninitialized pict_type

Assert in function ff_qsv_encode to avoid using uninitialized value:

FF_DISABLE_DEPRECATION_WARNINGS
        avctx->coded_frame->pict_type = pict_type;
FF_ENABLE_DEPRECATION_WARNINGS

Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2 years agolavc/qsvenc: add forced_idr option
Zhong Li [Thu, 29 Nov 2018 08:29:00 +0000 (16:29 +0800)]
lavc/qsvenc: add forced_idr option

This option can be used to repect original input I/IDR frame type.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2 years agolavc/qsvenc: enable ICQ and ICQ_LA on Linux
Zhong Li [Thu, 29 Nov 2018 08:28:59 +0000 (16:28 +0800)]
lavc/qsvenc: enable ICQ and ICQ_LA on Linux

ICQ/ICQ_LA are enabled with MSDK V1.28

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2 years agoavformat/dashdec: add subtitle stream support
Steven Liu [Fri, 30 Nov 2018 08:39:19 +0000 (16:39 +0800)]
avformat/dashdec: add subtitle stream support

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agolavc/libaomenc: Add a maximum constraint of 64 encoder threads.
Jun Zhao [Tue, 27 Nov 2018 09:18:26 +0000 (17:18 +0800)]
lavc/libaomenc: Add a maximum constraint of 64 encoder threads.

fixed the error in Intel(R) Xeon(R) Gold 6152 CPU like:
[libaom-av1 @ 0x469f340] Failed to initialize encoder: Invalid parameter
[libaom-av1 @ 0x469f340]   Additional information: g_threads out of range [..MAX_NUM_THREADS]

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/libdav1d: add an option to toggle Film Grain
James Almer [Thu, 29 Nov 2018 01:54:19 +0000 (22:54 -0300)]
avcodec/libdav1d: add an option to toggle Film Grain

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/libdav1d: read profile from the sequence header referenced by the ouput picture
James Almer [Thu, 29 Nov 2018 01:49:06 +0000 (22:49 -0300)]
avcodec/libdav1d: read profile from the sequence header referenced by the ouput picture

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/libdav1d: use constants defined in the public API to limit thread count
James Almer [Thu, 29 Nov 2018 01:48:13 +0000 (22:48 -0300)]
avcodec/libdav1d: use constants defined in the public API to limit thread count

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/libdav1d: remove init cleanup internal codec cap
James Almer [Thu, 29 Nov 2018 01:40:23 +0000 (22:40 -0300)]
avcodec/libdav1d: remove init cleanup internal codec cap

It's no longer needed now that the AVFifoBuffer was removed.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoRevert "libopus: Add channel mapping 2 support in libopusdec"
Rostislav Pehlivanov [Wed, 28 Nov 2018 23:54:08 +0000 (23:54 +0000)]
Revert "libopus: Add channel mapping 2 support in libopusdec"

This reverts commit c8c995bc1ddc34df93049f002432286018c8cc94.

2 years agoRevert "avcodec/libopusenc: Fix warning when encoding ambisonics with channel mapping 2"
Rostislav Pehlivanov [Wed, 28 Nov 2018 23:53:51 +0000 (23:53 +0000)]
Revert "avcodec/libopusenc: Fix warning when encoding ambisonics with channel mapping 2"

This reverts commit 4cd6f08d2005c20a03ccd53a0a6f8a115c5ebe2e.

2 years agoavcodec/libopusenc: Fix warning when encoding ambisonics with channel mapping 2
Felicia Lim [Mon, 30 Jul 2018 19:59:44 +0000 (12:59 -0700)]
avcodec/libopusenc: Fix warning when encoding ambisonics with channel mapping 2

Also adds checks on the number of channels.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolavf/rawdec: Do not mark streams from raw subtitle demuxers as data streams.
Carl Eugen Hoyos [Tue, 27 Nov 2018 17:22:02 +0000 (18:22 +0100)]
lavf/rawdec: Do not mark streams from raw subtitle demuxers as data streams.

Improves "ffmpeg -i" output for raw dvbsub files.

2 years agoavcodec/opus: check if internal is available
Paul B Mahol [Wed, 28 Nov 2018 19:27:43 +0000 (20:27 +0100)]
avcodec/opus: check if internal is available

2 years agoavpriv_tempfile: add djgpp fallback
Peter Ross [Tue, 20 Nov 2018 07:42:41 +0000 (18:42 +1100)]
avpriv_tempfile: add djgpp fallback

2 years agoconfigure: memalign is broken on djgpp 2.05
Peter Ross [Tue, 13 Nov 2018 10:32:23 +0000 (21:32 +1100)]
configure: memalign is broken on djgpp 2.05

djgpp 2.05 finally provides posix-compatible memalign, but it is broken,
so use malloc instead.

discussion: http://www.delorie.com/archives/browse.cgi?p=djgpp/2017/12/29/16:26:58

2 years agoadditional math.h functions for djgpp
Peter Ross [Sun, 11 Nov 2018 10:49:29 +0000 (21:49 +1100)]
additional math.h functions for djgpp

2 years agoconfigure: detect djgpp libc
Peter Ross [Sun, 11 Nov 2018 11:02:56 +0000 (22:02 +1100)]
configure: detect djgpp libc

2 years agoavcodec/opus: set skip_samples
Paul B Mahol [Tue, 27 Nov 2018 14:16:36 +0000 (15:16 +0100)]
avcodec/opus: set skip_samples

Also update fate test. Fixes #5258.

2 years agohwcontext_opencl: Only release command queue if it exists
Mark Thompson [Sun, 25 Nov 2018 19:14:27 +0000 (19:14 +0000)]
hwcontext_opencl: Only release command queue if it exists

If the frames context creation fails then the command queue reference
need not exist when uninit is called.

2 years agolavf/Makefile: Fix demuxer dependencies: dvbsub, dvbtxt
Carl Eugen Hoyos [Tue, 27 Nov 2018 17:48:29 +0000 (18:48 +0100)]
lavf/Makefile: Fix demuxer dependencies: dvbsub, dvbtxt

Allow standalone compilation of the dvbsub and the dvbtxt demuxer.

2 years agoffmpeg: Avoid duplicating Closed Captions when increasing frame rate.
Carl Eugen Hoyos [Fri, 23 Nov 2018 17:49:27 +0000 (18:49 +0100)]
ffmpeg: Avoid duplicating Closed Captions when increasing frame rate.

Fixes ticket #7506.

2 years agolavfi/fps: Avoid duplicating Closed Captions when increasing frame rate.
Carl Eugen Hoyos [Fri, 23 Nov 2018 17:48:50 +0000 (18:48 +0100)]
lavfi/fps: Avoid duplicating Closed Captions when increasing frame rate.

2 years agoavcodec/diracdec: Check component quant
Michael Niedermayer [Wed, 14 Nov 2018 08:42:44 +0000 (09:42 +0100)]
avcodec/diracdec: Check component quant

Fixes: Timeout
Fixes: 10708/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5730140957442048

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolavf/dashdec: Add webm to the list of allowed extensions.
Andrey Semashev [Sat, 17 Nov 2018 17:40:52 +0000 (20:40 +0300)]
lavf/dashdec: Add webm to the list of allowed extensions.

This is in coherence with dashenc, which can now generate segments with
webm file name extension by default. Dashdec should be able to handle
such streams by default as well.

2 years agofftools/ffmpeg: delete the unused code.
Jun Zhao [Sun, 18 Nov 2018 14:56:46 +0000 (22:56 +0800)]
fftools/ffmpeg: delete the unused code.

There are come from 2012 ago and have never been used from this
time.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agofftools/ffprobe: Indent the code.
Jun Zhao [Sun, 18 Nov 2018 12:55:40 +0000 (20:55 +0800)]
fftools/ffprobe: Indent the code.

commit 196765a7cc4 missed the reindet.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agolavfi/buffersrc: Indent the code.
Jun Zhao [Sun, 18 Nov 2018 09:09:29 +0000 (17:09 +0800)]
lavfi/buffersrc: Indent the code.

commit b0012de420f missed reindent.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agoavcodec/tiff: Fix integer overflows in left shift in init_image()
Michael Niedermayer [Mon, 26 Nov 2018 01:57:32 +0000 (02:57 +0100)]
avcodec/tiff: Fix integer overflows in left shift in init_image()

Fixes: left shift of 255 by 24 places cannot be represented in type 'int'
Fixes: 11377/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5694319101476864

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolavc/jrevdct: Avoid an aliasing violation.
Carl Eugen Hoyos [Sun, 25 Nov 2018 23:43:46 +0000 (00:43 +0100)]
lavc/jrevdct: Avoid an aliasing violation.

Fixes fate on different PowerPC systems with some compilers.

Analyzed-by: Lauri Kasanen
2 years agolibavf/libvmaf: update docs
Kyle Swanson [Mon, 26 Nov 2018 23:03:38 +0000 (15:03 -0800)]
libavf/libvmaf: update docs

Signed-off-by: Kyle Swanson <kswanson@netflix.com>
2 years agoavutil/mem: Fix invalid use of av_alloc_size
Mark Harris [Sat, 24 Nov 2018 21:02:02 +0000 (13:02 -0800)]
avutil/mem: Fix invalid use of av_alloc_size

The alloc_size attribute is valid only on functions that return a
pointer.  GCC 9 (not yet released) warns about invalid usage:

./libavutil/mem.h:342:1: warning: 'alloc_size' attribute ignored on a function returning int' [-Wattributes]
  342 | av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
      | ^~~~~~~~~~~~~

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavfilter/vf_chromashift: Fix mixed declaration and code
Mark Harris [Sun, 25 Nov 2018 03:17:40 +0000 (19:17 -0800)]
avfilter/vf_chromashift: Fix mixed declaration and code

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/vivo: Don't log null value
Mark Harris [Sun, 25 Nov 2018 03:18:43 +0000 (19:18 -0800)]
avformat/vivo: Don't log null value

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/libaomenc: increase the default bitrate
James Almer [Mon, 26 Nov 2018 22:05:50 +0000 (19:05 -0300)]
avcodec/libaomenc: increase the default bitrate

aom_codec_enc_config_default() sets it to 256kbps, so don't replace
it with 200kbps.

See https://bugs.chromium.org/p/aomedia/issues/detail?id=2219

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/tiff: Limit filtering to decoded data
Michael Niedermayer [Fri, 23 Nov 2018 01:33:04 +0000 (02:33 +0100)]
avcodec/tiff: Limit filtering to decoded data

Fixes: Timeout
Fixes: 11068/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5698456681709568

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoswscale/output: Altivec-optimize yuv2plane1_8
Lauri Kasanen [Sat, 17 Nov 2018 08:12:14 +0000 (10:12 +0200)]
swscale/output: Altivec-optimize yuv2plane1_8

./ffmpeg_g -f rawvideo -pix_fmt rgb24 -s hd1080 -i /dev/zero -pix_fmt yuv420p \
-f null -vframes 100 -v error -nostats -

1158 UNITS in planar1,   65528 runs,      8 skips

-cpuflags 0

19082 UNITS in planar1,   65533 runs,      3 skips

16.48 speedup ratio. On x86, SSE2 is ~7. Curiously, the Power C version
takes as many cycles as the x86 SSE2 version, yikes it's fast.

Note that this function uses VSX instructions, but is not marked so.
This is because several existing functions also make that mistake.
I'll submit a patch moving them once this is reviewed.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/libdav1d: update the API usage after upstream changes
James Almer [Sun, 25 Nov 2018 20:28:53 +0000 (17:28 -0300)]
avcodec/libdav1d: update the API usage after upstream changes

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>
2 years agofate/prores-metadata : make output bit exact
Martin Vignali [Sat, 24 Nov 2018 17:43:12 +0000 (18:43 +0100)]
fate/prores-metadata : make output bit exact

2 years agoavcodec/eac3dec: remove obsolete comment
Paul B Mahol [Sun, 25 Nov 2018 20:41:40 +0000 (21:41 +0100)]
avcodec/eac3dec: remove obsolete comment

2 years agoavformat/hlsenc: remove the cannot reach result
Steven Liu [Sun, 25 Nov 2018 08:28:56 +0000 (16:28 +0800)]
avformat/hlsenc: remove the cannot reach result

fix CID: 1441166
because the logic have checked the vtt_dirname before

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agolibavcodec/libdavs2.c: Fix for the wrong line size is used
Limin Wang [Sun, 25 Nov 2018 06:01:22 +0000 (14:01 +0800)]
libavcodec/libdavs2.c: Fix for the wrong line size is used

Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoconfigure: Add -Wno-char-subscripts.
Carl Eugen Hoyos [Sun, 18 Nov 2018 03:32:07 +0000 (04:32 +0100)]
configure: Add -Wno-char-subscripts.

Silences many warnings on systems with signed char where
the compiler cannot distinguish between char and int8_t.

2 years agoconfigure: Disable direct stripping on sunos.
Carl Eugen Hoyos [Sun, 18 Nov 2018 03:25:29 +0000 (04:25 +0100)]
configure: Disable direct stripping on sunos.

Sunos strip doesn't know -o.
Reported-by: Michael Kostylev
2 years agoavformat/pcmdec: endianness for audio/L16 mime type
Igor Derzhavin [Thu, 22 Nov 2018 07:54:42 +0000 (10:54 +0300)]
avformat/pcmdec: endianness for audio/L16 mime type

2 years agoavformat/pcmdec: audio/L16 should be in network byte order by default (rfc 2586)
Igor Derzhavin [Thu, 22 Nov 2018 07:39:57 +0000 (10:39 +0300)]
avformat/pcmdec: audio/L16 should be in network byte order by default (rfc 2586)

2 years agoavformat/pcmdec: mime-type should be case insensitive (audio/L16)
Igor Derzhavin [Thu, 22 Nov 2018 07:38:20 +0000 (10:38 +0300)]
avformat/pcmdec: mime-type should be case insensitive (audio/L16)

2 years agoavformat/dhav: improve A/V sync
Paul B Mahol [Sat, 24 Nov 2018 20:40:52 +0000 (21:40 +0100)]
avformat/dhav: improve A/V sync

Actual stored timestamps take only 16bits.

2 years agoavcodec/truemotion2: fix integer overflows in tm2_low_chroma()
Michael Niedermayer [Fri, 16 Nov 2018 23:38:53 +0000 (00:38 +0100)]
avcodec/truemotion2: fix integer overflows in tm2_low_chroma()

Fixes: 11295/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TRUEMOTION2_fuzzer-4888953459572736

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoswscale : add support for YUVA444P12 and YUVA422P12
Martin Vignali [Sat, 24 Nov 2018 15:22:52 +0000 (16:22 +0100)]
swscale : add support for YUVA444P12 and YUVA422P12

2 years agoavutil : add YUVA444P12 and YUVA422P12
Martin Vignali [Sat, 24 Nov 2018 15:12:00 +0000 (16:12 +0100)]
avutil : add YUVA444P12 and YUVA422P12

2 years agoavformat: add DHAV demuxer
Paul B Mahol [Mon, 13 Feb 2017 14:13:09 +0000 (15:13 +0100)]
avformat: add DHAV demuxer

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec: add truehd_core bitstream filter
Paul B Mahol [Mon, 19 Nov 2018 21:52:45 +0000 (22:52 +0100)]
avcodec: add truehd_core bitstream filter

2 years agolavf/dashenc: Fix segment duration overflow on fine time bases.
Andrey Semashev [Tue, 20 Nov 2018 17:33:52 +0000 (20:33 +0300)]
lavf/dashenc: Fix segment duration overflow on fine time bases.

When stream time bases are very fine grained (e.g. nanoseconds), 32-bit
segment duration may overflow for even for rather small segment duration
(about 4 seconds long). Therefore we use 64-bit values for segment duration.

2 years agocbs_h2645: Avoid memcpy when splitting fragment
Andreas Rheinhardt [Wed, 21 Nov 2018 18:34:29 +0000 (19:34 +0100)]
cbs_h2645: Avoid memcpy when splitting fragment

Now memcpy is avoided for NAL units that don't contain 0x03 escape
characters.

Improves performance of cbs_h2645_fragment_add_nals from 36940
decicycles to 6364 decicycles based on 8 runs with a 5.1 Mb/s H.264
sample (262144 runs each).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoavformat/movenc: get number of written bytes from bitstream writer
Paul B Mahol [Thu, 22 Nov 2018 20:28:59 +0000 (21:28 +0100)]
avformat/movenc: get number of written bytes from bitstream writer

Update fate test.

2 years agoavformat/movenc: fix size calculation in mov_write_eac3_tag()
Paul B Mahol [Wed, 21 Nov 2018 10:45:02 +0000 (11:45 +0100)]
avformat/movenc: fix size calculation in mov_write_eac3_tag()

Otherwise it would assert when flushing bits.

2 years agoavutil/avsscanf: do not use unsupported p suffix for hex variable
Paul B Mahol [Wed, 21 Nov 2018 18:07:33 +0000 (19:07 +0100)]
avutil/avsscanf: do not use unsupported p suffix for hex variable

2 years agoavformat/http : Added check for valid URL context before calling shutdown
kjeyapal@akamai.com [Fri, 16 Nov 2018 08:57:12 +0000 (14:27 +0530)]
avformat/http : Added check for valid URL context before calling shutdown

2 years agoavformat/dashenc : Handled error from ff_http_do_new_request() cleanly
kjeyapal@akamai.com [Fri, 16 Nov 2018 08:57:11 +0000 (14:27 +0530)]
avformat/dashenc : Handled error from ff_http_do_new_request() cleanly

2 years agox86/scene_sad: fix link errors when HAVE_X86ASM is not defined
James Almer [Wed, 21 Nov 2018 15:21:38 +0000 (12:21 -0300)]
x86/scene_sad: fix link errors when HAVE_X86ASM is not defined

Reviewed-by: Haihao Xiang <haihao.xiang@intel.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agolavf/dashenc: Fix AVDictionary leaks in case of various init errors.
Andrey Semashev [Sat, 17 Nov 2018 17:40:53 +0000 (20:40 +0300)]
lavf/dashenc: Fix AVDictionary leaks in case of various init errors.

2 years agolavf/dashenc: Add support for format-specific file extensions.
Andrey Semashev [Sat, 17 Nov 2018 17:40:51 +0000 (20:40 +0300)]
lavf/dashenc: Add support for format-specific file extensions.

The file name template options now support a new "$ext$" placeholder,
which is replaced with a filename extension specific for the selected
file format. This is useful for the new "auto" format mode, when
different streams may use different file formats, and it is not
possible to specify the correct file name extension exactly.

Resolves warnings in the log about webm segments not having webm extensions.

2 years agolavf/dashenc: Add DASH segment type auto and make it the default
Andrey Semashev [Sat, 17 Nov 2018 17:40:50 +0000 (20:40 +0300)]
lavf/dashenc: Add DASH segment type auto and make it the default

This commit restores the ability to create DASH streams with codecs
that require different containers that was lost after commit
2efdbf7367989cf9d296c25fa3d2aff8d6e25fdd. It adds a new "auto" value for
the dash_segment_type option and makes it the default. When in this mode,
the segment format will be chosen based on the codec used in the stream:
webm for Vorbis, Opus, VP8 or VP9, mp4 otherwise.

2 years agoavfilter/graphmonitor: use SIZE_SPECIFIER for size_t type
Peter Ross [Mon, 19 Nov 2018 09:03:39 +0000 (20:03 +1100)]
avfilter/graphmonitor: use SIZE_SPECIFIER for size_t type

2 years agoavcodec/truemotion2: Check huffman code max bits
Michael Niedermayer [Mon, 19 Nov 2018 22:47:13 +0000 (23:47 +0100)]
avcodec/truemotion2: Check huffman code max bits

Fixes: Timeout
Fixes: 10984/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TRUEMOTION2_fuzzer-6643310750859264

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agofate-api-h264-slice: use the heap for nal buffer
Peter Ross [Tue, 20 Nov 2018 14:31:44 +0000 (01:31 +1100)]
fate-api-h264-slice: use the heap for nal buffer

nal buffer is 512 kilobytes

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoapi-h264-slice-test: use av_be2ne16 instead of ntohs
Peter Ross [Tue, 20 Nov 2018 07:51:52 +0000 (18:51 +1100)]
api-h264-slice-test: use av_be2ne16 instead of ntohs

avformat/network.h is not required here.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavfilter/vf_overlay: fix crash with negative y
Paul B Mahol [Tue, 20 Nov 2018 22:18:47 +0000 (23:18 +0100)]
avfilter/vf_overlay: fix crash with negative y

2 years agoavcodec/mpeg_er: fix clearing chroma blocks for 422 and 444
Marton Balint [Sat, 17 Nov 2018 22:26:24 +0000 (23:26 +0100)]
avcodec/mpeg_er: fix clearing chroma blocks for 422 and 444

Fixes ticket #7494.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavfilter/vf_freezedetect: add filter to detect frozen input
Marton Balint [Sun, 4 Nov 2018 21:22:24 +0000 (22:22 +0100)]
avfilter/vf_freezedetect: add filter to detect frozen input

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agolibvpxenc,cosmetics: fix { placement
James Zern [Mon, 19 Nov 2018 19:36:36 +0000 (11:36 -0800)]
libvpxenc,cosmetics: fix { placement

Signed-off-by: James Zern <jzern@google.com>
2 years agoavcodec/libvpxenc: add VP8 temporal scalability config options
Ard Oerlemans [Wed, 14 Nov 2018 20:56:31 +0000 (12:56 -0800)]
avcodec/libvpxenc: add VP8 temporal scalability config options

This commit adds configuration options to libvpxenc.c that can be used to
enable VP8 temporal scalability. It also adds a way to programmatically set the
per-frame encoding flags which can be used to control usage and updates of
reference frames while encoding with temporal scalability enabled.

Signed-off-by: James Zern <jzern@google.com>
2 years agoconfigure: update api version of libxavs2
hwrenx [Sun, 18 Nov 2018 07:19:02 +0000 (15:19 +0800)]
configure: update api version of libxavs2

abolish parameter IntraPeriod &&
replaced by IntraPeriodMax/Min

Signed-off-by: hwrenx <hwrenx@126.com>
2 years agoavutil/avsscanf: use ptrdiff_t instead of off_t
Paul B Mahol [Mon, 19 Nov 2018 14:16:36 +0000 (15:16 +0100)]
avutil/avsscanf: use ptrdiff_t instead of off_t

2 years agoavfilter: add rgbashift filter
Paul B Mahol [Sun, 18 Nov 2018 12:03:03 +0000 (13:03 +0100)]
avfilter: add rgbashift filter

2 years agoavfilter: add chromashift filter
Paul B Mahol [Sat, 17 Nov 2018 13:04:16 +0000 (14:04 +0100)]
avfilter: add chromashift filter

2 years agoavutil/mem: Correct documentation of av_fast_*alloc(z)
Andreas Rheinhardt [Sun, 18 Nov 2018 14:08:45 +0000 (15:08 +0100)]
avutil/mem: Correct documentation of av_fast_*alloc(z)

The current wording regarding size and min_size is completely wrong and
ignores that min_size is indeed only a desired minimal size, not the
actually allocated size.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>