ffmpeg.git
2 years agocbs_h264: Need [] in the name when subscript is required
Haihao Xiang [Fri, 4 May 2018 04:33:39 +0000 (12:33 +0800)]
cbs_h264: Need [] in the name when subscript is required

Otherwise it will hit an assert in the function
ff_cbs_trace_syntax_element() in cbs.c, line 400.

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years agolavc/qsvenc: set corret maximum value of look_ahead_downsampling
Zhong Li [Wed, 2 May 2018 08:42:35 +0000 (16:42 +0800)]
lavc/qsvenc: set corret maximum value of look_ahead_downsampling

Option "4x(MFX_LOOKAHEAD_DS_4x)" is provided but can't be set due to
wrong maximum value.

Signed-off-by: Zhong Li <zhong.li@intel.com>
2 years agoconfigure: fix and simplify xlib check
James Almer [Sun, 6 May 2018 23:45:53 +0000 (20:45 -0300)]
configure: fix and simplify xlib check

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoconfigure: add missing dependencies to vf_srcnn
James Almer [Sun, 6 May 2018 20:15:54 +0000 (17:15 -0300)]
configure: add missing dependencies to vf_srcnn

The access dependecy is temporary and should fix compilation with
msvc until a proper fix is committed.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/libzvbi-teletextdec: remove DEBUG code
Marton Balint [Sat, 28 Apr 2018 19:46:18 +0000 (21:46 +0200)]
avcodec/libzvbi-teletextdec: remove DEBUG code

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavcodec/libzvbi-teletextdec: allow -1 subtitle duration and make it the default
Marton Balint [Sat, 28 Apr 2018 17:17:31 +0000 (19:17 +0200)]
avcodec/libzvbi-teletextdec: allow -1 subtitle duration and make it the default

Most decoders (pgssubdec, ccaption_dec) are using -1 or UINT32_MAX for a
subtitle event which should be cleared at the next event.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavcodec/jpeg2000dec: Fix undefined shift in the jpeg2000_decode_packets_po_iteration...
Michael Niedermayer [Fri, 4 May 2018 17:18:25 +0000 (19:18 +0200)]
avcodec/jpeg2000dec: Fix undefined shift in the jpeg2000_decode_packets_po_iteration() CPRL case

Fixes: shift exponent 47 is too large for 32-bit type 'int'
Fixes: 7955/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-6016721977606144

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/jpeg2000dec: Skip init for component in CPRL if nothing is to be done
Michael Niedermayer [Fri, 4 May 2018 17:11:36 +0000 (19:11 +0200)]
avcodec/jpeg2000dec: Skip init for component in CPRL if nothing is to be done

Fixes: assertion failure
Fixes: 7949/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-4819602782552064

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/jpeg2000dec: Reduce the number of tile parts allocated
Michael Niedermayer [Fri, 4 May 2018 16:28:07 +0000 (18:28 +0200)]
avcodec/jpeg2000dec: Reduce the number of tile parts allocated

This is large enough for all jpeg2000 files i tested. If some need more then this
should be changed to dynamic allocation. Dynamic allocation would need to be done
carefully as these are many relatively small arrays so repeatly reallocating them
would not be good.
The decrease is a clean and simple solution assuming it works for all files.

Fixes: OOM
Fixes: 6534/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-4821490731057152

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/g2meet: Change order of operations to avoid undefined behavior
Michael Niedermayer [Fri, 4 May 2018 16:16:08 +0000 (18:16 +0200)]
avcodec/g2meet: Change order of operations to avoid undefined behavior

Fixes: signed integer overflow: 65280 * 196032 cannot be represented in type 'int'
Fixes: 7279/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_G2M_fuzzer-5977332473921536

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 agoconfigure: add pkg-config check for zlib
Jan Ekström [Sat, 5 May 2018 18:57:44 +0000 (21:57 +0300)]
configure: add pkg-config check for zlib

It exists, so why not use it? Helps one get rid of additional
search path related flags in addition to PKG_CONFIG_{PATH,LIBDIR}
when utilizing a cross-prefix separate from the sysroot.

2 years agolavf/bluray: translate a read of 0 to EOF
Jan Ekström [Sun, 6 May 2018 14:15:52 +0000 (17:15 +0300)]
lavf/bluray: translate a read of 0 to EOF

Yet another case of forgotten 0 =! EOF translation. The libbluray
documentation specifically mentions that a read of 0 is EOF.

Reported by Fyr on IRC.

2 years agolavf/format: Remove the dead code in av_probe_input_buffer2.
Jun Zhao [Sun, 8 Apr 2018 00:09:13 +0000 (08:09 +0800)]
lavf/format: Remove the dead code in av_probe_input_buffer2.

Remove the dead code in av_probe_input_buffer2

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agoavformat/avio: make the logic simple
Jun Zhao [Sun, 8 Apr 2018 00:05:08 +0000 (08:05 +0800)]
avformat/avio: make the logic simple

remove the "ret" to make the code simple and generic.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agofate: update fate-sws-pixdesc-query reference file
James Almer [Sat, 5 May 2018 22:20:29 +0000 (19:20 -0300)]
fate: update fate-sws-pixdesc-query reference file

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agofate: update pad pixfmt test
Paul B Mahol [Sat, 5 May 2018 20:05:07 +0000 (22:05 +0200)]
fate: update pad pixfmt test

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/drawutils: support gray14
Paul B Mahol [Sat, 5 May 2018 19:50:22 +0000 (21:50 +0200)]
avfilter/drawutils: support gray14

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_extractplanes: add support for extracting planes with 14 depth
Paul B Mahol [Thu, 3 May 2018 20:48:16 +0000 (22:48 +0200)]
avfilter/vf_extractplanes: add support for extracting planes with 14 depth

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoswscale: add gray14 support
Paul B Mahol [Thu, 3 May 2018 20:19:38 +0000 (22:19 +0200)]
swscale: add gray14 support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavutil: add gray14 pixel format
Paul B Mahol [Thu, 3 May 2018 20:15:53 +0000 (22:15 +0200)]
avutil: add gray14 pixel format

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter: forward status back in some filters that missed it
Paul B Mahol [Sat, 5 May 2018 19:24:41 +0000 (21:24 +0200)]
avfilter: forward status back in some filters that missed it

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/af_amerge: port to activate API
Paul B Mahol [Fri, 4 May 2018 09:48:35 +0000 (11:48 +0200)]
avfilter/af_amerge: port to activate API

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agompegvideo: add deprecated flags to the rc_strategy option
Rostislav Pehlivanov [Sat, 5 May 2018 19:14:43 +0000 (20:14 +0100)]
mpegvideo: add deprecated flags to the rc_strategy option

Forgotten with the commit which removed support for libxvid_rc.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agodcaenc: fix segfault when attempting to encode with invalid samplerate
Rostislav Pehlivanov [Sat, 5 May 2018 17:42:53 +0000 (18:42 +0100)]
dcaenc: fix segfault when attempting to encode with invalid samplerate

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agompegvideo: remove support for libxvid's RC system
Rostislav Pehlivanov [Tue, 1 May 2018 18:58:38 +0000 (19:58 +0100)]
mpegvideo: remove support for libxvid's RC system

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agoavfilter/vf_colorchannelmixer: add planar rgb support
Paul B Mahol [Sat, 5 May 2018 15:25:13 +0000 (17:25 +0200)]
avfilter/vf_colorchannelmixer: add planar rgb support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_colorchannelmixer: refactor code
Paul B Mahol [Sat, 5 May 2018 14:31:54 +0000 (16:31 +0200)]
avfilter/vf_colorchannelmixer: refactor code

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_colorbalance: fix off by one overflow
Paul B Mahol [Sat, 5 May 2018 14:11:35 +0000 (16:11 +0200)]
avfilter/vf_colorbalance: fix off by one overflow

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_colorchannelmixer: add slice threading
Paul B Mahol [Sat, 5 May 2018 14:09:29 +0000 (16:09 +0200)]
avfilter/vf_colorchannelmixer: add slice threading

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec/flac_parser: Fix infinite loop
Michael Niedermayer [Mon, 30 Apr 2018 20:20:28 +0000 (22:20 +0200)]
avcodec/flac_parser: Fix infinite loop

Fixes: crbug/827204

Reported-by: Frank Liberato <liberato@google.com>
Reviewed-by: Frank Liberato <liberato@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavfilter/vf_colorbalance: add slice threading
Paul B Mahol [Sat, 5 May 2018 10:50:16 +0000 (12:50 +0200)]
avfilter/vf_colorbalance: add slice threading

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_colorbalance: add planar rgb support
Paul B Mahol [Sat, 5 May 2018 10:22:52 +0000 (12:22 +0200)]
avfilter/vf_colorbalance: add planar rgb support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_convolution: use already available dstride
Paul B Mahol [Sat, 5 May 2018 08:59:56 +0000 (10:59 +0200)]
avfilter/vf_convolution: use already available dstride

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec/videotoolbox: fix kVTCouldNotFindVideoDecoderErr trying to decode HEVC on iOS
Aman Gupta [Thu, 19 Apr 2018 22:34:01 +0000 (15:34 -0700)]
avcodec/videotoolbox: fix kVTCouldNotFindVideoDecoderErr trying to decode HEVC on iOS

Older iOS devices don't have a hardware HEVC decoder, but the
software decoder offered by VideoToolbox is well-optimized and
performs much better than the ffmpeg decoder.

Signed-off-by: Aman Gupta <aman@tmm1.net>
2 years agoavcodec/videotoolbox: improve logging of decoder errors
Aman Gupta [Sat, 5 May 2018 01:24:31 +0000 (18:24 -0700)]
avcodec/videotoolbox: improve logging of decoder errors

Signed-off-by: Aman Gupta <aman@tmm1.net>
2 years agoavfilter/vf_colorbalance: add 16bit depth support
Paul B Mahol [Fri, 4 May 2018 22:30:21 +0000 (00:30 +0200)]
avfilter/vf_colorbalance: add 16bit depth support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec/nvenc: move reconfig_encoder call inside of push/pop ctx
Timo Rothenpieler [Thu, 3 May 2018 16:57:40 +0000 (18:57 +0200)]
avcodec/nvenc: move reconfig_encoder call inside of push/pop ctx

Also make it void, it must not fail the encode anyway.

2 years agoavcodec/nvenc: add A53CC support
Roman Arzumanyan [Thu, 22 Mar 2018 09:30:06 +0000 (12:30 +0300)]
avcodec/nvenc: add A53CC support

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2 years agoavcodec/nvenc: support dynamic bitrate changes
pkviet [Thu, 3 May 2018 00:15:52 +0000 (02:15 +0200)]
avcodec/nvenc: support dynamic bitrate changes

The patch enables dynamic bitrate through ReconfigureEncoder method
from nvenc API.
This is useful for live streaming in case of network congestion.

Signed-off-by: pkviet <pkv.stream@gmail.com>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2 years agoavcodec/nvenc: support dynamic aspect ratio change
Miroslav Slugeň [Sun, 12 Feb 2017 18:53:58 +0000 (19:53 +0100)]
avcodec/nvenc: support dynamic aspect ratio change

If there is input like DVB-T streams it can change aspect ratio
on-the-fly, so nvenc should respect this change and change aspect ratio
in encoder.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2 years agoavcodec/nvenc: make hw_frames_ctx fully optional
Timo Rothenpieler [Mon, 23 Apr 2018 16:27:47 +0000 (18:27 +0200)]
avcodec/nvenc: make hw_frames_ctx fully optional

2 years agoavfilter/vf_libvmaf: the libvmaf filter tried to join on an invalid thread id
Kevin Wheatley [Mon, 30 Apr 2018 15:33:51 +0000 (16:33 +0100)]
avfilter/vf_libvmaf: the libvmaf filter tried to join on an invalid thread id

The thread id was invalid because it was not initialised
during the calls to init_complex_filtergraph.

This adds a flag to check for initialisation before trying to
peform the join.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
2 years agoavfilter/vf_lut3d: fix typo
Paul B Mahol [Fri, 4 May 2018 21:17:53 +0000 (23:17 +0200)]
avfilter/vf_lut3d: fix typo

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_edgedetect: add more formats support to canny mode
Paul B Mahol [Thu, 3 May 2018 13:39:06 +0000 (15:39 +0200)]
avfilter/vf_edgedetect: add more formats support to canny mode

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_edgedetect: add planes option
Paul B Mahol [Thu, 3 May 2018 13:20:21 +0000 (15:20 +0200)]
avfilter/vf_edgedetect: add planes option

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_edgedetect: add canny mode
Paul B Mahol [Thu, 3 May 2018 13:05:51 +0000 (15:05 +0200)]
avfilter/vf_edgedetect: add canny mode

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_convolution: add column/vertical mode
Paul B Mahol [Fri, 4 May 2018 19:05:52 +0000 (21:05 +0200)]
avfilter/vf_convolution: add column/vertical mode

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_lut3d: add planar rgb support
Paul B Mahol [Thu, 3 May 2018 18:00:25 +0000 (20:00 +0200)]
avfilter/vf_lut3d: add planar rgb support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec/mediacodecdec: add workaround for buggy amlogic mpeg2 decoder
Aman Gupta [Thu, 26 Apr 2018 18:51:15 +0000 (11:51 -0700)]
avcodec/mediacodecdec: add workaround for buggy amlogic mpeg2 decoder

I tested the previous mediacodec changes on seven different Android
TV devices, with both mpeg2 and h264 content. All except one worked
as expected. The exception was the MiBox3 running Android 6.0.1,
where playback would freeze on a frame every few seconds. I tested
two other AMLogic devices with newer Android versions that did not
show the same problem. H264 decoding on the MiBox3 was also not affected,
so this workaround applies only to OMX.amlogic.mpeg2.decoder.awesome
on Android API22.

There is a rumor that Xiaomi is planning to release Android Oreo for
the MiBox3, so I will revisit in a few months to confirm whether this
is specific to os/driver version or the chipset used in that device.

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2 years agoavcodec/mediacodecdec: wait on first frame after input buffers are full
Aman Gupta [Wed, 25 Apr 2018 01:54:45 +0000 (18:54 -0700)]
avcodec/mediacodecdec: wait on first frame after input buffers are full

The output_buffer_count==0 special case is no longer required, and
can cause spurious EAGAIN to surface to the user when input buffers
are filled up. Since the caller now knows if the decoder is accepting
new input (via current_input_buffer>=0), let the wait parameter
control whether we block or not.

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2 years agoavcodec/mediacodecdec: restructure mediacodec_receive_frame
Aman Gupta [Tue, 24 Apr 2018 19:40:38 +0000 (12:40 -0700)]
avcodec/mediacodecdec: restructure mediacodec_receive_frame

The new logic follows a recommendation by @rcombs to use
dequeueInputBuffer with a timeout of 0 as a way to detect
whether the codec wants more data. The dequeued buffer index is
kept in MediaCodecDecContext until it can be used next.

A similar technique is also used by the Google's official media
player Exoplayer: see MediaCodecRenderer.feedInputBuffer().

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2 years agoavcodec/mediacodec_wrapper: add helper to fetch SDK_INT
Aman Gupta [Thu, 26 Apr 2018 18:50:55 +0000 (11:50 -0700)]
avcodec/mediacodec_wrapper: add helper to fetch SDK_INT

Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Aman Gupta <aman@tmm1.net>
2 years agoavformat: add vapoursynth wrapper
wm4 [Fri, 27 Apr 2018 19:35:56 +0000 (21:35 +0200)]
avformat: add vapoursynth wrapper

This can "demux" .vpy files. Autodetection of .vpy scripts is
intentionally not done, because it would be a major security issue. You
need to force the format, for example with "-f vapoursynth" for the
FFmpeg CLI tools.

Some minor code copied from other LGPL parts of FFmpeg.

I did not find a good way to test a few of the more obscure VS features,
like VFR nodes, compat pixel formats, or nodes with dynamic size/format
changes. These can be easily implemented on demand.

2 years agoAdds SRCNN filter.
Sergey Lavrushkin [Tue, 10 Apr 2018 16:41:40 +0000 (19:41 +0300)]
Adds SRCNN filter.

Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2 years agoavfilter/vf_amplify: add more options for finer filtering
Paul B Mahol [Fri, 4 May 2018 12:19:03 +0000 (14:19 +0200)]
avfilter/vf_amplify: add more options for finer filtering

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavformat/hls: don't propagate deprecated "user-agent" AVOption
wm4 [Sat, 28 Apr 2018 18:36:49 +0000 (20:36 +0200)]
avformat/hls: don't propagate deprecated "user-agent" AVOption

This code will print a warning if any user agent is set - even if the
API user used the proper non-deprecated "user_agent" option.

This change should not even break anything, because even if the user
sets the deprecated "user-agent" option, http.c copies it to the
"user_agent" option anyway.

2 years agoavformat/matroskaenc: do not write timebase as framerate
wm4 [Sat, 28 Apr 2018 17:24:12 +0000 (19:24 +0200)]
avformat/matroskaenc: do not write timebase as framerate

If the API user doesn't set avg_frame_rate, matroskaenc will write the
current timebase as "default duration" for the video track. This makes
no sense, because the "default duration" implies the framerate of the
video. Since the timebase is forced to 1/1000, this will make the
resulting file claim 1000fps.

Drop it and don't write the element. It's optional, so it's better not
to write it if the framerate is unknown.

Strangely does not require FATE changes.

2 years agoavcodec/h263dec: Document padding_bug_score heuristic used for wrong stuffing
Michael Niedermayer [Thu, 3 May 2018 19:41:40 +0000 (21:41 +0200)]
avcodec/h263dec: Document padding_bug_score heuristic used for wrong stuffing

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agovaapi_encode_h264: Take VAAPIEncodeH264Context::sei_needed as an ORed value
Haihao Xiang [Thu, 3 May 2018 05:51:48 +0000 (13:51 +0800)]
vaapi_encode_h264: Take VAAPIEncodeH264Context::sei_needed as an ORed value

We may check priv->sei_needed only when writing SEI messages.

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years agoavfilter/drawutils: add support for full range
Paul B Mahol [Wed, 2 May 2018 11:10:10 +0000 (13:10 +0200)]
avfilter/drawutils: add support for full range

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec/mpeg4videodec: Split decode_studio_vol_header() out of decode_studiovisualobj...
Michael Niedermayer [Sun, 29 Apr 2018 19:19:15 +0000 (21:19 +0200)]
avcodec/mpeg4videodec: Split decode_studio_vol_header() out of decode_studiovisualobject()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/mpeg4videodec: Move decode_studiovisualobject() parsing in the branch for...
Michael Niedermayer [Sun, 29 Apr 2018 19:19:14 +0000 (21:19 +0200)]
avcodec/mpeg4videodec: Move decode_studiovisualobject() parsing in the branch for visual object parsing

Fixes: runtime error: shift exponent -1 is negative
Fixes: 7510/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5024523356209152

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 agoavformat/yuv4mpegdec: simplify math
Paul B Mahol [Tue, 1 May 2018 15:46:08 +0000 (17:46 +0200)]
avformat/yuv4mpegdec: simplify math

This one actually works with hd1080 y4m files when seeking backwards.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_neighbor: add >8 depth suppport
Paul B Mahol [Thu, 3 May 2018 10:48:47 +0000 (12:48 +0200)]
avfilter/vf_neighbor: add >8 depth suppport

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_convolution: unbreak roberts filter
Paul B Mahol [Thu, 3 May 2018 09:26:40 +0000 (11:26 +0200)]
avfilter/vf_convolution: unbreak roberts filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_convolution: add horizontal/row mode
Paul B Mahol [Thu, 3 May 2018 08:55:10 +0000 (10:55 +0200)]
avfilter/vf_convolution: add horizontal/row mode

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_overlay: exclude nv12/nv21 formats from x86 asm check
Paul B Mahol [Thu, 3 May 2018 07:22:28 +0000 (09:22 +0200)]
avfilter/vf_overlay: exclude nv12/nv21 formats from x86 asm check

They are yet to be supported,

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agolavf/dashenc: pass standards compliance value to the internal context
Jan Ekström [Fri, 27 Apr 2018 00:51:37 +0000 (03:51 +0300)]
lavf/dashenc: pass standards compliance value to the internal context

Enables one to test possibly nonstandard formats such as Opus or
FLAC in ISOBMFF, among other things.

This becomes much more useful if output segment format becomes an
option, or if the WebM segment feature gets removed.

2 years agolavf/dashenc: require experimental mode to be enabled for WebM
Jan Ekström [Fri, 27 Apr 2018 00:51:36 +0000 (03:51 +0300)]
lavf/dashenc: require experimental mode to be enabled for WebM

It has not ever been working and has not been validated,
Additionally, mention that the segment file names should be changed
to end with webm instead of m4s, which is utilized for ISOBMFF
fragments.

2 years agolavf/dashenc: don't call flush_init_segment before avformat_write_header
Rodger Combs [Fri, 27 Apr 2018 00:51:35 +0000 (03:51 +0300)]
lavf/dashenc: don't call flush_init_segment before avformat_write_header

Fixes crash when muxing MKV-in-DASH

2 years agoavfilter/vf_convolution: rewrite so it doesn't use temp buffers
Paul B Mahol [Wed, 2 May 2018 17:23:41 +0000 (19:23 +0200)]
avfilter/vf_convolution: rewrite so it doesn't use temp buffers

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_overlay: add x86 SIMD
Paul B Mahol [Mon, 30 Apr 2018 10:01:07 +0000 (12:01 +0200)]
avfilter/vf_overlay: add x86 SIMD

Specifically for yuv444, yuv422, yuv420 format when main stream has no alpha, and alpha
is straight.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agofftools/ffmpeg: properly initialize output stream field order
Tobias Rapp [Thu, 26 Apr 2018 12:23:02 +0000 (14:23 +0200)]
fftools/ffmpeg: properly initialize output stream field order

Fixes stream field order written by avformat_write_header when "top"
option is specified on the command-line.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2 years agofate/cbs: Always overwrite output in cbs fate tests
Mark Thompson [Tue, 1 May 2018 23:46:04 +0000 (00:46 +0100)]
fate/cbs: Always overwrite output in cbs fate tests

Before this, a failed test would keep failing because the output file
is not cleaned up and subsequent runs would refuse to overwrite it.

2 years agolavc/cbs: Add tests for VP9
Mark Thompson [Sat, 7 Apr 2018 17:57:37 +0000 (18:57 +0100)]
lavc/cbs: Add tests for VP9

Uses the same mechanism as other codecs - conformance test files are
passed through the metadata filter (which, with no options, reads the
input and writes it back) and the output verified to match the input.

2 years agolavc: Add VP9 metadata bitstream filter
Mark Thompson [Mon, 2 Apr 2018 01:38:03 +0000 (02:38 +0100)]
lavc: Add VP9 metadata bitstream filter

Can adjust the colour information.

2 years agolavc: Add coded bitstream read/write support for VP9
Mark Thompson [Thu, 22 Jun 2017 21:42:51 +0000 (22:42 +0100)]
lavc: Add coded bitstream read/write support for VP9

2 years agocbs: Add support for array subscripts in trace output
Mark Thompson [Mon, 30 Apr 2018 21:35:30 +0000 (22:35 +0100)]
cbs: Add support for array subscripts in trace output

This makes the trace output for arrays significantly nicer.

2 years agocbs_h2645: Simplify representation of fixed values
Mark Thompson [Mon, 30 Apr 2018 21:35:24 +0000 (22:35 +0100)]
cbs_h2645: Simplify representation of fixed values

2 years agocbs: Fragment/unit data is always reference counted
Mark Thompson [Mon, 30 Apr 2018 23:18:16 +0000 (00:18 +0100)]
cbs: Fragment/unit data is always reference counted

Make this clear in the documentation and add some asserts to ensure
that it is always true.

2 years agoavfilter/af_biquads: add slice threading
Paul B Mahol [Tue, 1 May 2018 13:40:53 +0000 (15:40 +0200)]
avfilter/af_biquads: add slice threading

Helps with multi-channels audio. Otherwise use threads=1.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/af_biquads: change clipping detection from global to channel
Paul B Mahol [Tue, 1 May 2018 13:26:20 +0000 (15:26 +0200)]
avfilter/af_biquads: change clipping detection from global to channel

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_neighbor: add slice threading
Paul B Mahol [Tue, 1 May 2018 13:05:43 +0000 (15:05 +0200)]
avfilter/vf_neighbor: add slice threading

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_neighbor: simplify code little
Paul B Mahol [Tue, 1 May 2018 12:50:48 +0000 (14:50 +0200)]
avfilter/vf_neighbor: simplify code little

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_neighbor: rewrite without using temp memory
Paul B Mahol [Tue, 1 May 2018 11:12:50 +0000 (13:12 +0200)]
avfilter/vf_neighbor: rewrite without using temp memory

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec/cbs_h2645: create a reference to the existing buffer when decomposing slice...
James Almer [Fri, 27 Apr 2018 23:44:39 +0000 (20:44 -0300)]
avcodec/cbs_h2645: create a reference to the existing buffer when decomposing slice units

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/cbs_mpeg2: create a reference to the existing buffer when decomposing slice...
James Almer [Fri, 27 Apr 2018 22:08:42 +0000 (19:08 -0300)]
avcodec/cbs_mpeg2: create a reference to the existing buffer when decomposing slice units

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agofftools/ffmpeg: fix mixed code and declarations
James Almer [Mon, 30 Apr 2018 16:19:29 +0000 (13:19 -0300)]
fftools/ffmpeg: fix mixed code and declarations

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavdevice/decklink_dec: unref packets on avpacket_queue_put error
Marton Balint [Sun, 22 Apr 2018 21:09:05 +0000 (23:09 +0200)]
avdevice/decklink_dec: unref packets on avpacket_queue_put error

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavdevice/decklink_dec: do not copy video data
Marton Balint [Sun, 22 Apr 2018 20:29:09 +0000 (22:29 +0200)]
avdevice/decklink_dec: do not copy video data

Create a buffer from the data instead and use the buffer destructor to free the
DeckLink frame. This avoids a memcpy of the frame data.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoUse AV_PIX_FMT_FLAG_ALPHA for detecting transparency where nb_components was used
Marton Balint [Thu, 19 Apr 2018 21:14:24 +0000 (23:14 +0200)]
Use AV_PIX_FMT_FLAG_ALPHA for detecting transparency where nb_components was used

Temporarily keep the old method for ffmpeg_filters.c choose_pix_fmt and
avfiltergraph.c pick_format() until a paletted pixel format without alpha is
introduced.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavutil/pixdesc: add AV_PIX_FMT_FLAG_ALPHA to AV_PIX_FMT_PAL8
Marton Balint [Thu, 19 Apr 2018 21:00:47 +0000 (23:00 +0200)]
avutil/pixdesc: add AV_PIX_FMT_FLAG_ALPHA to AV_PIX_FMT_PAL8

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavcodec/hnm4video: fix palette alpha
Marton Balint [Mon, 23 Apr 2018 18:46:49 +0000 (20:46 +0200)]
avcodec/hnm4video: fix palette alpha

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavcodec/anm: fix palette alpha
Marton Balint [Mon, 23 Apr 2018 18:46:25 +0000 (20:46 +0200)]
avcodec/anm: fix palette alpha

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/qtpalette: parse color table according to the QuickTime file format specs
Marton Balint [Thu, 19 Apr 2018 18:11:02 +0000 (20:11 +0200)]
avformat/qtpalette: parse color table according to the QuickTime file format specs

The specs says that the the first color component in the color array is
not alpha, but simply 0.

Fixes 0 alpha of fate-suite/cvid/catfight-cvid-pal8-partial.mov

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavfilter/vf_mix: initialize last to silence possible warning
Paul B Mahol [Mon, 30 Apr 2018 18:42:17 +0000 (20:42 +0200)]
avfilter/vf_mix: initialize last to silence possible warning

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec/mpeg4video_parser: Avoid litteral 0x1B6, use named constant instead
Michael Niedermayer [Mon, 30 Apr 2018 16:17:20 +0000 (18:17 +0200)]
avcodec/mpeg4video_parser: Avoid litteral 0x1B6, use named constant instead

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/mpeg4video_parser: Fix incorrect spliting of MPEG-4 studio frames
Michael Niedermayer [Sun, 29 Apr 2018 21:56:15 +0000 (23:56 +0200)]
avcodec/mpeg4video_parser: Fix incorrect spliting of MPEG-4 studio frames

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/m4vdec: Use the same constant names as libavcodec
Michael Niedermayer [Mon, 30 Apr 2018 16:09:41 +0000 (18:09 +0200)]
avformat/m4vdec: Use the same constant names as libavcodec

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/m4vdec: Fix detection of raw MPEG-4 ES Studio
Michael Niedermayer [Sun, 29 Apr 2018 21:56:14 +0000 (23:56 +0200)]
avformat/m4vdec: Fix detection of raw MPEG-4 ES Studio

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>