]> git.sesse.net Git - ffmpeg/log
ffmpeg
6 years agoavformat: deprecate AVFormatContext filename field
Marton Balint [Fri, 29 Dec 2017 00:19:37 +0000 (01:19 +0100)]
avformat: deprecate AVFormatContext filename field

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavformat: migrate to AVFormatContext->url
Marton Balint [Fri, 29 Dec 2017 22:30:14 +0000 (23:30 +0100)]
avformat: migrate to AVFormatContext->url

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavformat/hls: migrate to AVFormatContext->url
Marton Balint [Fri, 29 Dec 2017 21:00:04 +0000 (22:00 +0100)]
avformat/hls: migrate to AVFormatContext->url

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavdevice: migrate to AVFormatContext->url
Marton Balint [Fri, 29 Dec 2017 22:29:52 +0000 (23:29 +0100)]
avdevice: migrate to AVFormatContext->url

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agofftools, tools, examples: migrate to AVFormatContext->url
Marton Balint [Fri, 29 Dec 2017 22:29:27 +0000 (23:29 +0100)]
fftools, tools, examples: migrate to AVFormatContext->url

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavformat: add url field to AVFormatContext
Marton Balint [Fri, 29 Dec 2017 00:01:37 +0000 (01:01 +0100)]
avformat: add url field to AVFormatContext

This will replace the 1024 character limited filename field. Compatiblity for
output contexts are provided by copying filename field to URL if URL is unset
and by providing an internal function for muxers to set both url and filename
at once.

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavformat/hlsenc: use av_bprintf without buffer limit in replace_int_data_in_filename
Marton Balint [Sat, 6 Jan 2018 17:41:27 +0000 (18:41 +0100)]
avformat/hlsenc: use av_bprintf without buffer limit in replace_int_data_in_filename

In preparation for the deprecation of AVFormatContext->filename.

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agocheckasm : add test for losslessvideoencdsp for diff bytes and sub_left_pred
Martin Vignali [Sun, 14 Jan 2018 13:23:42 +0000 (14:23 +0100)]
checkasm : add test for losslessvideoencdsp for diff bytes and sub_left_pred

6 years agoavcodec/utvideoenc : add SIMD (avx) for sub_left_prediction
Martin Vignali [Sun, 14 Jan 2018 13:23:05 +0000 (14:23 +0100)]
avcodec/utvideoenc : add SIMD (avx) for sub_left_prediction

asm code by Henrik Gramner

6 years agoavfilter/x86/vf_blend : avfilter/x86/vf_blend : add AVX2 version for each func except...
Martin Vignali [Wed, 17 Jan 2018 19:59:58 +0000 (20:59 +0100)]
avfilter/x86/vf_blend : avfilter/x86/vf_blend : add AVX2 version for each func except divide

and optimize average, grainextract, multiply, screen, grain merge

6 years agoavfilter/vf_framerate: add SIMD functions for frame blending
Marton Balint [Mon, 8 Jan 2018 00:05:45 +0000 (01:05 +0100)]
avfilter/vf_framerate: add SIMD functions for frame blending

Blend function speedups on x86_64 Core i5 4460:

ffmpeg -f lavfi -i allyuv -vf framerate=60:threads=1 -f null none

C:     447548411 decicycles in Blend,    2048 runs,      0 skips
SSSE3: 130020087 decicycles in Blend,    2048 runs,      0 skips
AVX2:  128508221 decicycles in Blend,    2048 runs,      0 skips

ffmpeg -f lavfi -i allyuv -vf format=yuv420p12,framerate=60:threads=1 -f null none

C:     228932745 decicycles in Blend,    2048 runs,      0 skips
SSE4:  123357781 decicycles in Blend,    2048 runs,      0 skips
AVX2:  121215353 decicycles in Blend,    2048 runs,      0 skips

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavfilter/vf_framerate: change blend factor precision
Marton Balint [Mon, 15 Jan 2018 21:19:46 +0000 (22:19 +0100)]
avfilter/vf_framerate: change blend factor precision

This is done mainly in preparation for the SIMD patches.

- for the 8-bit input, decrease the blend factor precision to 7-bit.
- for the 16-bit input, increase the blend factor precision to 15-bit.
- make sure the blend functions are not called with 0 or maximum blending
  factors, because we don't want the signed factor integers to overflow.

Fate test changes are due to different rounding.

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavfilter/vf_framerate: factorize blend functions and unify filter_slice
Marton Balint [Mon, 8 Jan 2018 20:44:42 +0000 (21:44 +0100)]
avfilter/vf_framerate: factorize blend functions and unify filter_slice

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavfilter/vf_framerate: unify luma and chroma blending
Marton Balint [Mon, 8 Jan 2018 20:01:09 +0000 (21:01 +0100)]
avfilter/vf_framerate: unify luma and chroma blending

The expressions were mathematically equvivalent...

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agofate: test the transpose filter more fully
Michael Niedermayer [Sun, 28 Jan 2018 12:34:07 +0000 (13:34 +0100)]
fate: test the transpose filter more fully

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavfilter/vf_transpose: Fix regression with packed pixel formats
Michael Niedermayer [Sun, 28 Jan 2018 01:46:56 +0000 (02:46 +0100)]
avfilter/vf_transpose: Fix regression with packed pixel formats

Regression since: c6939f65a116b1ffed345d29d8621ee4ffb32235
Found-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/nvenc: also clear data pointer after unregistering a resource
Timo Rothenpieler [Sun, 28 Jan 2018 12:05:09 +0000 (13:05 +0100)]
avcodec/nvenc: also clear data pointer after unregistering a resource

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
6 years agoavcodec/nvenc: add some more error case checks
Timo Rothenpieler [Sun, 28 Jan 2018 11:51:20 +0000 (12:51 +0100)]
avcodec/nvenc: add some more error case checks

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
6 years agoavcodec/nvenc: unregister input resource when unmapping
Timo Rothenpieler [Sun, 28 Jan 2018 11:39:03 +0000 (12:39 +0100)]
avcodec/nvenc: unregister input resource when unmapping

Currently the resource is only ever unregistered when the
registered_frames array is fully in use and an unmapped entry is re-used
and cleaned up.
I'm pretty sure the frame will have been cleaned up before that happens,
so I'm kinda surprised this never blew up.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
6 years agoavcodec/nvenc: refcount input frame mappings
Timo Rothenpieler [Fri, 26 Jan 2018 19:16:53 +0000 (20:16 +0100)]
avcodec/nvenc: refcount input frame mappings

If some logic like vsync in ffmpeg.c duplicates frames, it might pass
the same frame twice, which will result in a crash due it being
effectively mapped and unmapped twice.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
6 years agoavcodec/hevc_cabac: Check prefix so as to avoid invalid shifts in coeff_abs_level_rem...
Michael Niedermayer [Mon, 15 Jan 2018 22:46:44 +0000 (23:46 +0100)]
avcodec/hevc_cabac: Check prefix so as to avoid invalid shifts in coeff_abs_level_remaining_decode()

I suspect that this can be limited tighter, but i failed to find anything
in the spec that would confirm that.

Fixes: 4833/clusterfuzz-testcase-minimized-5302840101699584
Fixes: runtime error: left shift of 134217730 by 4 places cannot be represented in type 'int'
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/mjpegdec: Fix integer overflow in DC dequantization
Michael Niedermayer [Wed, 24 Jan 2018 02:28:49 +0000 (03:28 +0100)]
avcodec/mjpegdec: Fix integer overflow in DC dequantization

Fixes: runtime error: signed integer overflow: -65535 * 65312 cannot be represented in type 'int'
Fixes: 4900/clusterfuzz-testcase-minimized-5769019744321536
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavfilter/vf_transpose: Fix used plane count.
Michael Niedermayer [Wed, 24 Jan 2018 18:38:05 +0000 (19:38 +0100)]
avfilter/vf_transpose: Fix used plane count.

Fixes out of array access
Fixes: poc.mp4
Found-by: GwanYeong Kim <gy741.kim@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agohls: don't print a certain warning if playlist loading is aborted
wm4 [Wed, 24 Jan 2018 07:04:38 +0000 (08:04 +0100)]
hls: don't print a certain warning if playlist loading is aborted

AVERROR_EXIT happens when the user's interrupt callback signals that
playback should be aborted. In this case, the demuxer shouldn't print a
warning, as it's expected that all network accesses are stopped.

6 years agoavformat, hls: add a flag to signal unavailability of seeking
wm4 [Wed, 24 Jan 2018 07:02:25 +0000 (08:02 +0100)]
avformat, hls: add a flag to signal unavailability of seeking

The seek function can just return an error if seeking is unavailable,
but often this is too late. Add a flag that signals that the stream is
unseekable, and use it in HLS.

6 years agohls: do not allow fallback to generic seeking
wm4 [Wed, 24 Jan 2018 06:58:52 +0000 (07:58 +0100)]
hls: do not allow fallback to generic seeking

This makes little sense due to how HLS works, and only causes some
additional annoyances if the HLS read_seek function fails (for example
if it's a live stream). It was most likely unintended.

6 years agolavc/aarch64/sbrdsp_neon: fix build on old binutils
Rodger Combs [Fri, 26 Jan 2018 02:53:59 +0000 (20:53 -0600)]
lavc/aarch64/sbrdsp_neon: fix build on old binutils

6 years agoavformat/dashenc: Signal http end of chunk(http_shutdown) explicitly
Karthick Jeyapal [Tue, 2 Jan 2018 08:19:57 +0000 (13:49 +0530)]
avformat/dashenc: Signal http end of chunk(http_shutdown) explicitly

Currently http end of chunk is signalled implicitly in dashenc_io_open().
This mean playlists http writes would have to wait upto a segment duration to signal end of chunk causing delays.
This patch will fix that problem and improve performance.

6 years agoavformat/dashenc: Fix a resource leak when http persistent in enabled
Karthick Jeyapal [Tue, 2 Jan 2018 08:19:56 +0000 (13:49 +0530)]
avformat/dashenc: Fix a resource leak when http persistent in enabled

6 years agolavfi/misc_vaapi: use default value setting if without arguments.
Jun Zhao [Wed, 24 Jan 2018 01:32:50 +0000 (09:32 +0800)]
lavfi/misc_vaapi: use default value setting if without arguments.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agolavfi/procamp_vaapi: fix the green video issue if without arguments.
Jun Zhao [Wed, 24 Jan 2018 01:28:24 +0000 (09:28 +0800)]
lavfi/procamp_vaapi: fix the green video issue if without arguments.

Fix the green output issue when use procamp_vaapi without any
arguments, now if use procamp_vaapi without any arguments, will use
the default value to setting procamp_vaapi.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoffmpeg: Ignore SIGPIPE
Mark Thompson [Thu, 18 Jan 2018 23:24:05 +0000 (23:24 +0000)]
ffmpeg: Ignore SIGPIPE

On systems which deliver SIGPIPE (Unices), a broken pipe will currently
result in the immediate termination of the ffmpeg process (the default
disposition as required by POSIX).  This is undesirable, because while
the broken pipe is likely fatal to useful cleanup of whatever component
is writing to it, there might be other components which can do useful
cleanup - for example, a muxer on another stream may still need to write
indexes to complete a file.  Therefore, set the signal disposition for
SIGPIPE to ignore the signal - the call which caused the signal will
fail with EPIPE and the error will be propagated upwards like any other
I/O failure on a single stream.

6 years agoMerge commit '559370f2c45110afd8308eec7194437736c323d4'
Mark Thompson [Thu, 25 Jan 2018 22:50:38 +0000 (22:50 +0000)]
Merge commit '559370f2c45110afd8308eec7194437736c323d4'

* commit '559370f2c45110afd8308eec7194437736c323d4':
  qsv: Skip the packet if decoding failure

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agoMerge commit 'a2a9e4eea0e4fde2ed8d3405b4f33f655b600c2d'
Mark Thompson [Thu, 25 Jan 2018 22:48:34 +0000 (22:48 +0000)]
Merge commit 'a2a9e4eea0e4fde2ed8d3405b4f33f655b600c2d'

* commit 'a2a9e4eea0e4fde2ed8d3405b4f33f655b600c2d':
  rtmp: Plug leak if sending bytes read report fails.

This commit is a noop, see ee88f31d34c848fd95daf12bdf054b7228efdf14

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agoMerge commit '85e10c0a9321bfe0d2afe0f3983ab6a8df6e3fba'
Mark Thompson [Thu, 25 Jan 2018 22:45:45 +0000 (22:45 +0000)]
Merge commit '85e10c0a9321bfe0d2afe0f3983ab6a8df6e3fba'

* commit '85e10c0a9321bfe0d2afe0f3983ab6a8df6e3fba':
  intreadwrite: Use __unaligned in MSVC for ARM64 as well

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agolibavformat/rtmpproto: Plug leak if sending bytes read report fails.
Josh Allmann [Wed, 24 Jan 2018 00:49:16 +0000 (16:49 -0800)]
libavformat/rtmpproto: Plug leak if sending bytes read report fails.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoqsv: Skip the packet if decoding failure
Ruiling, Song [Wed, 24 Jan 2018 02:14:51 +0000 (10:14 +0800)]
qsv: Skip the packet if decoding failure

MediaSDK may fail to decode some frame, just skip it.
Otherwise, it will keep decoding the failure packet repeatedly
without processing any packet afterwards.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agolavfi/vf_xxx_vaapi: fix typo.
Jun Zhao [Wed, 24 Jan 2018 00:40:59 +0000 (08:40 +0800)]
lavfi/vf_xxx_vaapi: fix typo.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
6 years agortmp: Plug leak if sending bytes read report fails.
Josh Allmann [Wed, 24 Jan 2018 00:47:12 +0000 (16:47 -0800)]
rtmp: Plug leak if sending bytes read report fails.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoavformat/hlsenc: closed caption tags in the master playlist
Vishwanath Dixit [Wed, 24 Jan 2018 03:42:57 +0000 (11:42 +0800)]
avformat/hlsenc: closed caption tags in the master playlist

6 years agoavformat: add option to parse/store ID3 PRIV tags in metadata.
Richard Shaffer [Tue, 23 Jan 2018 17:39:53 +0000 (09:39 -0800)]
avformat: add option to parse/store ID3 PRIV tags in metadata.

Enables getting access to ID3 PRIV tags from the command-line or metadata API
when demuxing. The PRIV owner is stored as the metadata key prepended with
"id3v2_priv.", and the data is stored as the metadata value. As PRIV tags may
contain arbitrary data, non-printable characters, including NULL bytes, are
escaped as \xXX.

Similarly, any metadata tags that begin with "id3v2_priv." are inserted as ID3
PRIV tags into the output (assuming the format supports ID3). \xXX sequences in
the value are un-escaped to their byte value.

Signed-off-by: wm4 <nfxjfg@googlemail.com>
6 years agoavfilter/Makefile: skip compiling vaapi_vpp.h when vaapi is not enabled
James Almer [Wed, 24 Jan 2018 02:38:03 +0000 (23:38 -0300)]
avfilter/Makefile: skip compiling vaapi_vpp.h when vaapi is not enabled

Fixes make checkheaders

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoconfigure: fix vaapi_encode_example dependencies
James Almer [Wed, 24 Jan 2018 02:37:33 +0000 (23:37 -0300)]
configure: fix vaapi_encode_example dependencies

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoMAINTAINERS: Add dashenc maintainer
Karthick Jeyapal [Tue, 23 Jan 2018 22:24:35 +0000 (23:24 +0100)]
MAINTAINERS: Add dashenc maintainer

If somebody else wants to maintain dashenc either now or in future,
I am absolutely fine with giving up this responsibility anytime.
But till then we need a maintainer for dashenc, and I am volunteering for that task.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/dxtory: Fix bits left checks
Michael Niedermayer [Mon, 22 Jan 2018 13:02:59 +0000 (14:02 +0100)]
avcodec/dxtory: Fix bits left checks

Fixes: Timeout
Fixes: 4863/clusterfuzz-testcase-6347354178322432
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/hevc_cabac: Move prefix check in coeff_abs_level_remaining_decode() down
Michael Niedermayer [Mon, 15 Jan 2018 22:42:57 +0000 (23:42 +0100)]
avcodec/hevc_cabac: Move prefix check in coeff_abs_level_remaining_decode() down

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavutil/aes_ctr: Add method to set 16-byte IV.
Jacob Trimble [Mon, 8 Jan 2018 22:12:43 +0000 (14:12 -0800)]
avutil/aes_ctr: Add method to set 16-byte IV.

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec: v4l2_context: remove unnecessary code
Jorge Ramirez-Ortiz [Tue, 23 Jan 2018 08:41:29 +0000 (09:41 +0100)]
avcodec: v4l2_context: remove unnecessary code

Fixes CID 1418358

Signed-off-by: Jorge Ramirez-Ortiz <jramirez@baylibre.com>
6 years agov4l2_m2m: Fix integer overflow in timestamp handling
Mark Thompson [Sun, 21 Jan 2018 00:52:18 +0000 (00:52 +0000)]
v4l2_m2m: Fix integer overflow in timestamp handling

6 years agoavcodec/mpeg12dec: fix preprocessor check for mpeg1_nvdec hwaccel
James Almer [Mon, 22 Jan 2018 01:57:41 +0000 (22:57 -0300)]
avcodec/mpeg12dec: fix preprocessor check for mpeg1_nvdec hwaccel

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agov4l2_m2m: Fix free of the wrong pointer in an error path
Mark Thompson [Sun, 21 Jan 2018 22:59:29 +0000 (22:59 +0000)]
v4l2_m2m: Fix free of the wrong pointer in an error path

Fixes CIDs #1427821 and #1427822.

6 years agolavfi: add denoise and sharpness VAAPI video filters.
Jun Zhao [Mon, 8 Jan 2018 08:19:17 +0000 (16:19 +0800)]
lavfi: add denoise and sharpness VAAPI video filters.

Most code between them is common, so put them in a new file for
miscellaneous VAAPI filters.

Signed-off-by: Yun Zhou <yunx.z.zhou@intel.com>
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agolavfi: add ProcAmp (color balance) VAAPI video filter.
Jun Zhao [Mon, 8 Jan 2018 08:12:41 +0000 (16:12 +0800)]
lavfi: add ProcAmp (color balance) VAAPI video filter.

Add ProcAmp(color balance) vaapi video filter, use the option
like -vf "procamp_vaapi=b=10:h=120:c=2.8:s=3.7" to set
brightness/hue/contrast/saturation.

Signed-off-by: Yun Zhou <yunx.z.zhou@intel.com>
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agolavfi: use common VAAPI VPP infrastructure for vf_deinterlace_vaapi.
Jun Zhao [Mon, 8 Jan 2018 08:07:38 +0000 (16:07 +0800)]
lavfi: use common VAAPI VPP infrastructure for vf_deinterlace_vaapi.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agolavfi: use common VAAPI VPP infrastructure for vf_scale_vaapi.
Jun Zhao [Mon, 8 Jan 2018 08:02:35 +0000 (16:02 +0800)]
lavfi: use common VAAPI VPP infrastructure for vf_scale_vaapi.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agolavfi: VAAPI VPP common infrastructure.
Jun Zhao [Mon, 8 Jan 2018 07:56:43 +0000 (15:56 +0800)]
lavfi: VAAPI VPP common infrastructure.

Re-work the VAAPI common infrastructure to avoid code duplication
between filters.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoavcodec/truemotion2: Fix integer overflow in TM2_RECALC_BLOCK()
Michael Niedermayer [Sat, 20 Jan 2018 03:10:50 +0000 (04:10 +0100)]
avcodec/truemotion2: Fix integer overflow in TM2_RECALC_BLOCK()

Fixes: signed integer overflow: 1477974040 - -1877995504 cannot be represented in type 'int'
Fixes: 4861/clusterfuzz-testcase-minimized-4570316383715328
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoMAINTAINERS: add myself for avcodec/v4l2_
Jorge Ramirez-Ortiz [Fri, 19 Jan 2018 16:52:32 +0000 (17:52 +0100)]
MAINTAINERS: add myself for avcodec/v4l2_

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agolavc/svq3: Do not write into memory defined as const.
Carl Eugen Hoyos [Thu, 18 Jan 2018 22:31:48 +0000 (23:31 +0100)]
lavc/svq3: Do not write into memory defined as const.

Fixes a warning on ppc:
libavcodec/svq3.c:1055:21: warning: passing argument 1 of ‘av_write_bswap32’ discards 'const' qualifier from pointer target type

6 years agolibavformat/dashdec: Fix for ticket 6856 (filename limited to 1024)
Colin NG [Sun, 21 Jan 2018 05:56:57 +0000 (13:56 +0800)]
libavformat/dashdec: Fix for ticket 6856 (filename limited to 1024)

6 years agolibavformat/dashdec: Fix for ticket 6658 (Dash demuxer segfault)
Colin NG [Sun, 21 Jan 2018 05:35:30 +0000 (13:35 +0800)]
libavformat/dashdec: Fix for ticket 6658 (Dash demuxer segfault)

1 Add function 'resolve_content_path' to propagate the baseURL from
upper level nodes.
 * if no baseURL is available, the path of mpd file will be set as the baseURL.
2 Remove checking for newly established connection.
3 Establish the communication protocol in each connection rather than
 applying one protocol to all connection.

6 years agoavformat/dashdec.c: Download dash content with byte range info
Colin NG [Sun, 21 Jan 2018 05:27:48 +0000 (13:27 +0800)]
avformat/dashdec.c: Download dash content with byte range info

6 years agodashdec: Only free url string if being reused
Brendan McGrath [Sun, 21 Jan 2018 05:20:02 +0000 (13:20 +0800)]
dashdec: Only free url string if being reused

If no representation bandwidth value is set, the url value returned
by get_content_url is corrupt (as it has been freed).
This change ensures the url string is not freed unless it is about
to be reused
Changes since v1:
 1 removed the unneeded 'if' statement (as pointed out by Michael Niedermayer
 2 added comment to make it clear why the av_free was required
Signed-off-by: Brendan McGrath <redmcg@redmandi.dyndns.org>
6 years agoavformat/hlsenc: Check that data is set
Brendan McGrath [Sun, 21 Jan 2018 05:16:42 +0000 (13:16 +0800)]
avformat/hlsenc: Check that data is set

If codecpar->extradata is not set (for example, when the stream goes
through the 'tee' muxer), then a segfault occurs.
This patch ensures the data variable is not null before attempting
to access it
Before the var_stream_map option was available - I was using the tee
muxer to create each resolution as an individual stream.
When running this configuration after the most recent hlsenc change
I hit a segfault
The most simple command which recreates the segfault is:
ffmpeg -i in.ts -map 0:a -map 0:v -c:a aac -c:v h264 -f tee [select=\'a,v\':f=hls]tv_hls_hd.m3u8

Signed-off-by: Brendan McGrath <redmcg@redmandi.dyndns.org>
6 years agodashdec: Make use of frame rate specified in Representation
sfan5 [Sun, 21 Jan 2018 05:14:51 +0000 (13:14 +0800)]
dashdec: Make use of frame rate specified in Representation

If the manifest provides this, setting r_frame_rate
avoids warnings regarding frame rate estimation.

6 years agoavcodec/hevc_parser: use ff_hevc_uninit_parameter_sets()
James Almer [Sat, 20 Jan 2018 19:55:00 +0000 (16:55 -0300)]
avcodec/hevc_parser: use ff_hevc_uninit_parameter_sets()

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavcodec/hevcdec: use ff_hevc_uninit_parameter_sets()
James Almer [Sat, 20 Jan 2018 19:54:51 +0000 (16:54 -0300)]
avcodec/hevcdec: use ff_hevc_uninit_parameter_sets()

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavcodec/hevc_ps: add a function to uninitialize parameter set buffers
James Almer [Sat, 20 Jan 2018 19:54:15 +0000 (16:54 -0300)]
avcodec/hevc_ps: add a function to uninitialize parameter set buffers

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agolavf/rawdec: Also probe the last byte of mjpeg streams.
Carl Eugen Hoyos [Sat, 20 Jan 2018 15:07:25 +0000 (16:07 +0100)]
lavf/rawdec: Also probe the last byte of mjpeg streams.

Fixes ticket #6957.

6 years agoavcodec: v4l2_m2m: context: fix raising warning on POLLERR
Jorge Ramirez-Ortiz [Tue, 9 Jan 2018 22:56:43 +0000 (23:56 +0100)]
avcodec: v4l2_m2m: context: fix raising warning on POLLERR

During the initialization stage, the codec attempts to get free
buffers from the driver before any have been queued (this is to keep
the code simple and generic)

When the kernel driver detects this situation, it returns POLLERR in
revents and ffmpeg therefore raises a warning.

This commit disables the warning since no buffers were queued to the
driver yet.

Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
6 years agoavcodec: v4l2_m2m: remove unnecessary timeout.
Jorge Ramirez-Ortiz [Tue, 9 Jan 2018 22:56:42 +0000 (23:56 +0100)]
avcodec: v4l2_m2m: remove unnecessary timeout.

Qualcomm's db410c/db820 Venus driver currently present in mainline
kernel has a bug which mishandles the CMD_STOP requests causing the
decoder to block while draining [1].

This patch removes the workaround that was used to prevent that
situation.

Encoding/Decoding tested on db820c.

[1] on CMD_STOP, the driver is flushing all buffers and never raising
IPIPE which ends up in blocking on poll.

6 years agoavcodec: v4l2_m2m: fix races around freeing data on close
Mark Thompson [Tue, 9 Jan 2018 22:56:41 +0000 (23:56 +0100)]
avcodec: v4l2_m2m: fix races around freeing data on close

Refcount all of the context information. This also fixes a potential
segmentation fault when accessing freed memory  (buffer returned after
the codec has been closed).

Tested-by: Jorge Ramirez-Ortiz <jorge.ramirez.ortiz@gmail.com>
6 years agoavfilter/drawtext - implement fix_bounds
Gyan Doshi [Thu, 11 Jan 2018 13:00:16 +0000 (18:30 +0530)]
avfilter/drawtext - implement fix_bounds

When enabled, text, including effects like shadow or box, will be
completely bound within the video frame.

Default value changed to false to keep continuity of behaviour.

Fixes #6960.

Signed-off-by: Kyle Swanson <k@ylo.ph>
6 years agoavcodec/snowdec: Fix integer overflow before htaps check
Michael Niedermayer [Mon, 15 Jan 2018 02:03:36 +0000 (03:03 +0100)]
avcodec/snowdec: Fix integer overflow before htaps check

Fixes: runtime error: signed integer overflow: -1094995529 * 2 cannot be represented in type 'int'
Fixes: 4828/clusterfuzz-testcase-minimized-5100849937252352
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/ulti: Check number of blocks at init
Michael Niedermayer [Mon, 15 Jan 2018 18:03:48 +0000 (19:03 +0100)]
avcodec/ulti: Check number of blocks at init

Fixes: Timeout
Fixes: 4832/clusterfuzz-testcase-4699096590843904
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavformat/lrcdec: Fix memory leak in lrc_read_header()
Nikolas Bowe [Fri, 19 Jan 2018 21:17:07 +0000 (13:17 -0800)]
avformat/lrcdec: Fix memory leak in lrc_read_header()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agox86inc: Drop cpuflags_slowctz
Henrik Gramner [Thu, 18 Jan 2018 22:20:33 +0000 (23:20 +0100)]
x86inc: Drop cpuflags_slowctz

6 years agox86inc: Correctly set mmreg variables
Henrik Gramner [Sat, 6 Jan 2018 16:47:42 +0000 (17:47 +0100)]
x86inc: Correctly set mmreg variables

6 years agox86inc: Support creating global symbols from local labels
Henrik Gramner [Wed, 16 Aug 2017 13:59:16 +0000 (15:59 +0200)]
x86inc: Support creating global symbols from local labels

On ELF platforms such symbols needs to be flagged as functions with the
correct visibility to please certain linkers in some scenarios.

6 years agox86inc: Use .rdata instead of .rodata on Windows
Henrik Gramner [Tue, 15 Aug 2017 14:11:32 +0000 (16:11 +0200)]
x86inc: Use .rdata instead of .rodata on Windows

The standard section for read-only data on Windows is .rdata. Nasm will
flag non-standard sections as executable by default which isn't ideal.

6 years agox86inc: Enable AVX emulation for floating-point pseudo-instructions
Henrik Gramner [Fri, 4 Aug 2017 22:09:52 +0000 (00:09 +0200)]
x86inc: Enable AVX emulation for floating-point pseudo-instructions

There are 32 pseudo-instructions for each floating-point comparison
instruction, but only 8 of them are actually valid in legacy-encoded mode.
The remaining 24 requires the use of VEX-encoded (v-prefixed) instructions
and can therefore be disregarded for this purpose.

6 years agoavdevice/decklink: Fix compilation of module on OSX
Devin Heitmueller [Tue, 9 Jan 2018 01:16:58 +0000 (20:16 -0500)]
avdevice/decklink: Fix compilation of module on OSX

Clang applies the missing-prototypes warning on C++ files, whereas
gcc only applies it to C.  As a result, the decklink_common.cpp file
fails to build because of missing prototypes in DecklinkDispatch.cpp
(which is #included by decklink_common.cpp).

We don't want to change the actual Blackmagic SDK sources, so
suppress the warning just for that one #include.

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavdevice/decklink: Suppress warning about misuse of struct instead of class
Devin Heitmueller [Tue, 9 Jan 2018 01:16:56 +0000 (20:16 -0500)]
avdevice/decklink: Suppress warning about misuse of struct instead of class

When building with Clang, the following warning is shown:

warning: struct 'IDeckLinkVideoFrame' was previously declared as a
class [-Wmismatched-tags]

The function incorrectly casts IDeckLinkVideoFrame as a struct
instead of a class pointer.

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavdevice/decklink: addition of absolute wallclock option for pts source
Vishwanath Dixit [Mon, 15 Jan 2018 08:22:26 +0000 (13:52 +0530)]
avdevice/decklink: addition of absolute wallclock option for pts source

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavdevice/decklink: addition of PTS_SRC_NB in enum DecklinkPtsSource
Vishwanath Dixit [Mon, 15 Jan 2018 08:22:11 +0000 (13:52 +0530)]
avdevice/decklink: addition of PTS_SRC_NB in enum DecklinkPtsSource

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavdevice/decklink: addition of copyts option
Vishwanath Dixit [Mon, 15 Jan 2018 08:21:46 +0000 (13:51 +0530)]
avdevice/decklink: addition of copyts option

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavfilter/formats: remove support for deprecated channel count specification
Marton Balint [Sat, 6 Jan 2018 21:04:21 +0000 (22:04 +0100)]
avfilter/formats: remove support for deprecated channel count specification

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agolavf/swfdec: Reduce score when auto-detecting swf files.
Carl Eugen Hoyos [Thu, 18 Jan 2018 20:25:49 +0000 (21:25 +0100)]
lavf/swfdec: Reduce score when auto-detecting swf files.

Not more than 32bit are tested.

6 years agoavcodec/cuviddec: set key frame for decoded frames
Yogender Gupta [Thu, 18 Jan 2018 06:46:19 +0000 (12:16 +0530)]
avcodec/cuviddec: set key frame for decoded frames

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
6 years agoavformat/matroskadec: Fix float-cast-overflow undefined behavior in matroska_parse_tr...
Nikolas Bowe [Thu, 18 Jan 2018 23:21:56 +0000 (15:21 -0800)]
avformat/matroskadec: Fix float-cast-overflow undefined behavior in matroska_parse_tracks()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavformat/hlsenc: Add CODECS attribute to master playlist
Karthick Jeyapal [Fri, 19 Jan 2018 09:03:09 +0000 (17:03 +0800)]
avformat/hlsenc: Add CODECS attribute to master playlist

6 years agolavfi/vf_scale_vaapi: set output SAR
Rodger Combs [Sat, 13 Jan 2018 01:08:27 +0000 (19:08 -0600)]
lavfi/vf_scale_vaapi: set output SAR

6 years agofate: update filter-acrossfade test reference file
James Almer [Thu, 18 Jan 2018 22:12:30 +0000 (19:12 -0300)]
fate: update filter-acrossfade test reference file

<jamrial> durandal_1707: 8088b5d69c broke the acrossfade test
<@durandal_1707> jamrial: there was test?
<jamrial> durandal_1707: fate-filter-acrossfade
<@durandal_1707> what broke?
<jamrial> what used to be one frame is now two
<@durandal_1707> ahh, just update test

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavformat: small AVFormatContext doxy cosmetics
James Almer [Thu, 18 Jan 2018 16:00:25 +0000 (13:00 -0300)]
avformat: small AVFormatContext doxy cosmetics

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavfilter/af_afade: acrossfade: switch to activate
Paul B Mahol [Thu, 18 Jan 2018 10:17:03 +0000 (11:17 +0100)]
avfilter/af_afade: acrossfade: switch to activate

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavformat: small cosmetics after 6512ff72f9
James Almer [Wed, 17 Jan 2018 22:39:24 +0000 (19:39 -0300)]
avformat: small cosmetics after 6512ff72f9

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavfilter/vidstab: check bytesPerPixel only for packed formats.
Gyan Doshi [Sat, 23 Dec 2017 10:44:25 +0000 (16:14 +0530)]
avfilter/vidstab: check bytesPerPixel only for packed formats.

libvidstab introduced this variable only for packed formats but in
vf_vidstab*.c, it's checked for all inputs. So the filter errors out for YUV422/444P streams.

Fixes #6736.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agolavfi/deinterlace_vaapi: fix can't show full option information.
Jun Zhao [Tue, 16 Jan 2018 14:44:02 +0000 (22:44 +0800)]
lavfi/deinterlace_vaapi: fix can't show full option information.

use ffmpeg -h filter=deinterlace_vaapi can't get full help information,
the root cause is not setting the flags fileld in options.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoMerge commit 'cbe28bc069dde1d53d937ee10700bb123279c7c8'
Mark Thompson [Tue, 16 Jan 2018 23:29:36 +0000 (23:29 +0000)]
Merge commit 'cbe28bc069dde1d53d937ee10700bb123279c7c8'

* commit 'cbe28bc069dde1d53d937ee10700bb123279c7c8':
  qsv: better to use alignment by 16 and HEVC 10b requires alignment by 32

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agoMerge commit '34c113335b53d83ed343de49741f0823aa1f8cc6'
Mark Thompson [Tue, 16 Jan 2018 23:25:27 +0000 (23:25 +0000)]
Merge commit '34c113335b53d83ed343de49741f0823aa1f8cc6'

* commit '34c113335b53d83ed343de49741f0823aa1f8cc6':
  Add support for H.264 and HEVC hardware encoding for AMD GPUs based on AMF SDK

Most of this was already present from 9ea6607d294526688ab1b1342cb36ee159683e88,
this just applies some minor fixups and adds the general documentation.

Merged-by: Mark Thompson <sw@jkqxz.net>