ffmpeg.git
14 months agoavcodec/movtextdec: Check style_start/end
Michael Niedermayer [Sun, 8 Apr 2018 01:29:44 +0000 (03:29 +0200)]
avcodec/movtextdec: Check style_start/end

Limits based on 3GPP TS 26.245 V14.0.0
Fixes: Timeout
Fixes: 6377/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MOVTEXT_fuzzer-5175929115508736

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavcodec/aacsbr_fixed: Fix integer overflow in sbr_hf_assemble()
Michael Niedermayer [Sat, 7 Apr 2018 19:55:06 +0000 (21:55 +0200)]
avcodec/aacsbr_fixed: Fix integer overflow in sbr_hf_assemble()

Fixes: runtime error: signed integer overflow: 2052929346 + 204817098 cannot be represented in type 'int'

This was missed in b1bef755f617af9685b592d866b3eb7f3c4b02b1
Fixes: 5275/clusterfuzz-testcase-minimized-5367635958038528

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agolavc/clearvideo: Allow decoding without extradata.
Carl Eugen Hoyos [Sat, 7 Apr 2018 19:30:45 +0000 (21:30 +0200)]
lavc/clearvideo: Allow decoding without extradata.

14 months agolibavcodec/rv34: error out earlier on missing references
Michael Niedermayer [Mon, 2 Apr 2018 18:01:07 +0000 (20:01 +0200)]
libavcodec/rv34: error out earlier on missing references

Fixes visual corruption on seeking

Fixes: downloadTest_clip_24M.rmvb

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavcodec/get_bits: Document skip_bits_long()
Michael Niedermayer [Fri, 23 Mar 2018 17:58:33 +0000 (18:58 +0100)]
avcodec/get_bits: Document skip_bits_long()

Found-by: Kieran
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavformat/matroskadec: reference the existing data buffer when creating packets
James Almer [Wed, 4 Apr 2018 21:12:53 +0000 (18:12 -0300)]
avformat/matroskadec: reference the existing data buffer when creating packets

Newly allocated data buffers (wavpack, prores, compressed buffers)
are padded to meet the requirements of AVPacket.

About 10x speed up in matroska_parse_frame().

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/matroskadec: factor the prores packet parsing code out
James Almer [Wed, 4 Apr 2018 19:07:36 +0000 (16:07 -0300)]
avformat/matroskadec: factor the prores packet parsing code out

Simplifies code in matroska_parse_frame(). This is in preparation for
the following patch.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/matroskadec: use refcounted buffers in EbmlBin
James Almer [Wed, 4 Apr 2018 17:12:54 +0000 (14:12 -0300)]
avformat/matroskadec: use refcounted buffers in EbmlBin

Data in EbmlBin objects is never changed after being read from the
input file (save for two specific cases with encoded CodePrivate), so
using AVBufferRef we can prevent unnecessary copy of data by instead
creating new references to said constant data.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoswresample/swresample: Fix for seg fault in swr_convert_internal() -> sum2_float...
Hendrik Schreiber [Thu, 5 Apr 2018 11:58:37 +0000 (13:58 +0200)]
swresample/swresample: Fix for seg fault in swr_convert_internal() -> sum2_float during dithering.

Removed +len1 in call to s->mix_2_1_f() as I found no logical explanation for it. After removal, problem was gone.

Signed-off-by: Hendrik Schreiber <hs@tagtraum.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agodoc/developer: remove merge request method of contributing
Lou Logan [Thu, 5 Apr 2018 18:10:37 +0000 (10:10 -0800)]
doc/developer: remove merge request method of contributing

This seems to confuse Github users into thinking that we may accept pull
requests. We do not accept pull requests.

Sending patches to the ffmpeg-devel mailing list is our preferred method
for users to contribute code.

Signed-off-by: Lou Logan <lou@lrcd.com>
14 months agodoc/filters: some more details and modified example to zmq/azmq
Bela Bodecs [Tue, 3 Apr 2018 14:18:02 +0000 (16:18 +0200)]
doc/filters: some more details and modified example to zmq/azmq

Info about default value of bind_address option and its abbreviated
version (b). Example modified to have named instanced filter and to show
its use.

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Lou Logan <lou@lrcd.com>
14 months agolavf/amr: Stricter heuristic for auto-detection.
Carl Eugen Hoyos [Wed, 4 Apr 2018 22:41:55 +0000 (00:41 +0200)]
lavf/amr: Stricter heuristic for auto-detection.

Fixes ticket #7125.

14 months agolavfi,lavd: add gitignore for generated static component lists
Josh de Kock [Thu, 5 Apr 2018 21:08:50 +0000 (22:08 +0100)]
lavfi,lavd: add gitignore for generated static component lists

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agoAdd Sega FILM muxer
Misty De Meo [Mon, 2 Apr 2018 17:53:30 +0000 (10:53 -0700)]
Add Sega FILM muxer

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agoavcodec/prores_ks : do not call estimate_alpha at each quantification step
Martin Vignali [Thu, 5 Apr 2018 20:04:35 +0000 (22:04 +0200)]
avcodec/prores_ks : do not call estimate_alpha at each quantification step

also remove unused arg in estimate_alpha_plane

Improve quality of Prores 4444 encoding

14 months agocheckasm/vf_blend : add test for 16 bit version of
Martin Vignali [Sat, 17 Mar 2018 18:37:46 +0000 (19:37 +0100)]
checkasm/vf_blend : add test for 16 bit version of

grainextract
grainmerge
average
extremity
negation

14 months agoavfilter/x86/vf_blend : add SIMD for 16 bit version of
Martin Vignali [Sat, 17 Mar 2018 18:37:06 +0000 (19:37 +0100)]
avfilter/x86/vf_blend : add SIMD for 16 bit version of

grainextract
grainmerge
average
extremity
negation

14 months agoavfilter/x86/vf_blend : reorganize DIFFERENCE macro to reduce line duplication betwee...
Martin Vignali [Sat, 17 Mar 2018 18:24:49 +0000 (19:24 +0100)]
avfilter/x86/vf_blend : reorganize DIFFERENCE macro to reduce line duplication between 8bit and 16 bit version

14 months agoavcodec/openh264enc.c: generate IDR frame in response to I frame pict_type
Valery Kot [Fri, 16 Mar 2018 13:50:34 +0000 (14:50 +0100)]
avcodec/openh264enc.c: generate IDR frame in response to I frame pict_type

Signed-off-by: Valery Kot <valery.kot@gmail.com>
14 months agoavformat/mov: Fix parsing of tfdt when using sample descriptors.
Jacob Trimble [Wed, 4 Apr 2018 19:30:56 +0000 (12:30 -0700)]
avformat/mov: Fix parsing of tfdt when using sample descriptors.

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agodoc/developer: update link to "sign-off" info
Lou Logan [Thu, 5 Apr 2018 18:00:42 +0000 (10:00 -0800)]
doc/developer: update link to "sign-off" info

Found by Hendrik Schreiber.

Signed-off-by: Lou Logan <lou@lrcd.com>
14 months agoavcodec/decode: fix warning when decoding pseudo paletted formats
wm4 [Wed, 4 Apr 2018 16:07:03 +0000 (18:07 +0200)]
avcodec/decode: fix warning when decoding pseudo paletted formats

The pseudo palette allocation is optional now. But if it's still
allocated (like the internal get_buffer2 implementation does, for
compatibility), it shouldn't print a warning.

14 months agoavformat/movenc: add rtp_hinting_needed() helper function
Timo Teräs [Mon, 2 Apr 2018 08:36:57 +0000 (11:36 +0300)]
avformat/movenc: add rtp_hinting_needed() helper function

This is shared test and this simplifies code a bit. Follow up
commit will have additional tests for this function.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoffmpeg: allow setting attached_pic disposition
Timo Teräs [Mon, 2 Apr 2018 08:36:56 +0000 (11:36 +0300)]
ffmpeg: allow setting attached_pic disposition

This is used to signal that image should be stored in metadata
as cover image.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavformat/matroskadec: address some more missing AVPacket frees
James Almer [Wed, 4 Apr 2018 16:53:12 +0000 (13:53 -0300)]
avformat/matroskadec: address some more missing AVPacket frees

Fixes memleaks.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/mpeg4videodec: unbreak multithreading decoding
James Almer [Wed, 4 Apr 2018 14:06:55 +0000 (11:06 -0300)]
avcodec/mpeg4videodec: unbreak multithreading decoding

Should fix double free related crashes.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/matroskadec: address a missing AVPacket free
James Almer [Wed, 4 Apr 2018 13:54:14 +0000 (10:54 -0300)]
avformat/matroskadec: address a missing AVPacket free

Fixes memleaks.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/libaomdec: fix broken pix_fmt changes from the previous commit
James Almer [Wed, 4 Apr 2018 04:47:12 +0000 (01:47 -0300)]
avcodec/libaomdec: fix broken pix_fmt changes from the previous commit

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/mpeg4videodec: free studio profile VLCs when closing the decoder
James Almer [Wed, 4 Apr 2018 03:43:40 +0000 (00:43 -0300)]
avcodec/mpeg4videodec: free studio profile VLCs when closing the decoder

Fixes memleaks.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/clearvideo: fix mixed code and declarations
James Almer [Wed, 4 Apr 2018 03:43:01 +0000 (00:43 -0300)]
avcodec/clearvideo: fix mixed code and declarations

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/mp3enc: use AVPacketList helper functions to queue packets
James Almer [Mon, 26 Mar 2018 18:02:39 +0000 (15:02 -0300)]
avformat/mp3enc: use AVPacketList helper functions to queue packets

Simplifies code.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/ttaenc: use AVPacketList helper functions to queue packets
James Almer [Mon, 26 Mar 2018 18:02:38 +0000 (15:02 -0300)]
avformat/ttaenc: use AVPacketList helper functions to queue packets

Simplifies code.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/matroskadec: use AVPacketList to queue packets
James Almer [Mon, 26 Mar 2018 18:02:37 +0000 (15:02 -0300)]
avformat/matroskadec: use AVPacketList to queue packets

It's more robust and efficient.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/utils: optimize ff_packet_list_free()
James Almer [Mon, 26 Mar 2018 18:02:36 +0000 (15:02 -0300)]
avformat/utils: optimize ff_packet_list_free()

Don't constantly overwrite the list's head pointer.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/utils: make AVPacketList helper functions shared
James Almer [Tue, 27 Mar 2018 22:48:18 +0000 (19:48 -0300)]
avformat/utils: make AVPacketList helper functions shared

Based on a patch by Luca Barbato.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolavf/hls: Remove the dead code in parse_playlist()
Jun Zhao [Wed, 4 Apr 2018 03:04:56 +0000 (11:04 +0800)]
lavf/hls: Remove the dead code in  parse_playlist()

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Reviewed-by: Steven Liu <lq@onvideo.cn>
14 months agoavcodec/sheervideo: add missing wrappers to sheervideodata.h
James Almer [Wed, 4 Apr 2018 02:32:03 +0000 (23:32 -0300)]
avcodec/sheervideo: add missing wrappers to sheervideodata.h

Fixes make fate-source

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/clearvideo: add missing wrappers to clearvideodata.h
James Almer [Wed, 4 Apr 2018 02:31:36 +0000 (23:31 -0300)]
avcodec/clearvideo: add missing wrappers to clearvideodata.h

Fixes make fate-source

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/libaomdec: add support for monochrome files
James Almer [Tue, 3 Apr 2018 18:33:48 +0000 (15:33 -0300)]
avcodec/libaomdec: add support for monochrome files

All such files are signaled as I42016, as there's no monochrome value
in aom_img_fmt_t.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/libaomdec: remove duplicate code
James Almer [Tue, 3 Apr 2018 18:27:18 +0000 (15:27 -0300)]
avcodec/libaomdec: remove duplicate code

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolavc/cfhd: fix distortion of lowest 8 lines when height is not multiple of 16
Gagandeep Singh [Tue, 27 Mar 2018 07:23:45 +0000 (12:53 +0530)]
lavc/cfhd: fix distortion of lowest 8 lines when height is not multiple of 16

Also update fate reference. Fixes ticket #6675.

14 months agoavutil/pixdesc: deprecate AV_PIX_FMT_FLAG_PSEUDOPAL
wm4 [Thu, 29 Mar 2018 13:18:28 +0000 (15:18 +0200)]
avutil/pixdesc: deprecate AV_PIX_FMT_FLAG_PSEUDOPAL

PSEUDOPAL pixel formats are not paletted, but carried a palette with the
intention of allowing code to treat unpaletted formats as paletted. The
palette simply mapped the byte values to the resulting RGB values,
making it some sort of LUT for RGB conversion.

It was used for 1 byte formats only: RGB4_BYTE, BGR4_BYTE, RGB8, BGR8,
GRAY8. The first 4 are awfully obscure, used only by some ancient bitmap
formats. The last one, GRAY8, is more common, but its treatment is
grossly incorrect. It considers full range GRAY8 only, so GRAY8 coming
from typical Y video planes was not mapped to the correct RGB values.
This cannot be fixed, because AVFrame.color_range can be freely changed
at runtime, and there is nothing to ensure the pseudo palette is
updated.

Also, nothing actually used the PSEUDOPAL palette data, except xwdenc
(trivially changed in the previous commit). All other code had to treat
it as a special case, just to ignore or to propagate palette data.

In conclusion, this was just a very strange old mechnaism that has no
real justification to exist anymore (although it may have been nice and
useful in the past). Now it's an artifact that makes the API harder to
use: API users who allocate their own pixel data have to be aware that
they need to allocate the palette, or FFmpeg will crash on them in
_some_ situations. On top of this, there was no API to allocate the
pseuo palette outside of av_frame_get_buffer().

This patch not only deprecates AV_PIX_FMT_FLAG_PSEUDOPAL, but also makes
the pseudo palette optional. Nothing accesses it anymore, though if it's
set, it's propagated. It's still allocated and initialized for
compatibility with API users that rely on this feature. But new API
users do not need to allocate it. This was an explicit goal of this
patch.

Most changes replace AV_PIX_FMT_FLAG_PSEUDOPAL with FF_PSEUDOPAL. I
first tried #ifdefing all code, but it was a mess. The FF_PSEUDOPAL
macro reduces the mess, and still allows defining FF_API_PSEUDOPAL to 0.

Passes FATE with FF_API_PSEUDOPAL enabled and disabled. In addition,
FATE passes with FF_API_PSEUDOPAL set to 1, but with allocation
functions manually changed to not allocating a palette.

14 months agoavcodec/xwdenc: do not rely on AV_PIX_FMT_FLAG_PSEUDOPAL palettes
wm4 [Thu, 29 Mar 2018 13:10:15 +0000 (15:10 +0200)]
avcodec/xwdenc: do not rely on AV_PIX_FMT_FLAG_PSEUDOPAL palettes

This is the only code I found within FFmpeg that still inherently
requires AV_PIX_FMT_FLAG_PSEUDOPAL. It's easily changed not to require
it.

Preparation for the next patch.

14 months agoavcodec/sheervideo: move tables to own header
Paul B Mahol [Tue, 3 Apr 2018 15:23:36 +0000 (17:23 +0200)]
avcodec/sheervideo: move tables to own header

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavcodec/clearvideo: add inter-frame decoding
Paul B Mahol [Sat, 31 Mar 2018 09:48:30 +0000 (11:48 +0200)]
avcodec/clearvideo: add inter-frame decoding

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavcodec/imgconvert: fix possible null pointer dereference
Simon Thelen [Tue, 3 Apr 2018 12:41:33 +0000 (14:41 +0200)]
avcodec/imgconvert: fix possible null pointer dereference

regression since 354b26a3945eadd4ed8fcd801dfefad2566241de

14 months agofftools/cmdutils: add support for level flag in loglevel option parser
Tobias Rapp [Tue, 3 Apr 2018 06:54:10 +0000 (08:54 +0200)]
fftools/cmdutils: add support for level flag in loglevel option parser

Allows to manage the AV_LOG_PRINT_LEVEL flag as a prefix to the loglevel
option value, similar to the existing AV_LOG_SKIP_REPEATE flag. Adds
support for setting flags relative to the existing value by using a +/-
prefix.

Previous version reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
14 months agoavcodec/aacdec_fixed: Fix integer overflow in apply_independent_coupling_fixed()
Michael Niedermayer [Sat, 31 Mar 2018 19:19:19 +0000 (21:19 +0200)]
avcodec/aacdec_fixed: Fix integer overflow in apply_independent_coupling_fixed()

I was not able to reproduce this, this fix is based on just the fuzzer log.
Fixes: 4959/clusterfuzz-testcase-minimized-6035350934781952

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavcodec/cscd: Error out when LZ* decompression fails
Michael Niedermayer [Sun, 11 Mar 2018 23:05:04 +0000 (00:05 +0100)]
avcodec/cscd: Error out when LZ* decompression fails

Fixes: Timeout
Fixes: 6304/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CSCD_fuzzer-5754772461191168

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavformat/options_table: Change the seek2any location in opt table.
Jun Zhao [Sun, 1 Apr 2018 07:53:11 +0000 (15:53 +0800)]
avformat/options_table: Change the seek2any location in opt table.

Change the seek2any location in avformat_options to make code more
readable.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavcodec/libaomdec: remove references to gbrp pixfmt
James Almer [Mon, 2 Apr 2018 19:44:18 +0000 (16:44 -0300)]
avcodec/libaomdec: remove references to gbrp pixfmt

Support for this needs testing, so remove for now.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/libaomenc: remove references to gbrp pixfmt
James Almer [Mon, 2 Apr 2018 19:44:05 +0000 (16:44 -0300)]
avcodec/libaomenc: remove references to gbrp pixfmt

Support for this needs testing, so remove for now.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/rmdec: make use of avio_get_str()
Paul B Mahol [Mon, 2 Apr 2018 20:09:59 +0000 (22:09 +0200)]
avformat/rmdec: make use of avio_get_str()

Also do not set empty metadata.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavformat/concatdec: only set output stream index before returning packet
Marton Balint [Sun, 25 Mar 2018 20:19:28 +0000 (22:19 +0200)]
avformat/concatdec: only set output stream index before returning packet

Fixes ticket #6434.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
14 months agoavcodec/aic: fix decoding of videos which height is not multiple of 16
Paul B Mahol [Fri, 30 Mar 2018 19:08:47 +0000 (21:08 +0200)]
avcodec/aic: fix decoding of videos which height is not multiple of 16

Fate output changes and under close inspection looks more correct.
Fixes #6187.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavcodec/scpr: fix decoding of prev+top-topleft prediction in keyframes
Paul B Mahol [Mon, 2 Apr 2018 14:03:03 +0000 (16:03 +0200)]
avcodec/scpr: fix decoding of prev+top-topleft prediction in keyframes

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agompeg4video: Add support for MPEG-4 Simple Studio Profile.
Kieran Kunhya [Fri, 29 Dec 2017 15:42:14 +0000 (15:42 +0000)]
mpeg4video: Add support for MPEG-4 Simple Studio Profile.

This is a profile supporting > 8-bit video and has a higher quality DCT

14 months agosimple_idct: Template functions to support an input bitdepth parameter
Kieran Kunhya [Wed, 27 Dec 2017 01:08:39 +0000 (01:08 +0000)]
simple_idct: Template functions to support an input bitdepth parameter

14 months agoavcodec/scpr: check for possible out of array access
Paul B Mahol [Mon, 2 Apr 2018 06:59:20 +0000 (08:59 +0200)]
avcodec/scpr: check for possible out of array access

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavformat/utils: use av_packet_make_refcounted to ensure packets are ref counted
James Almer [Sun, 25 Mar 2018 01:33:32 +0000 (22:33 -0300)]
avformat/utils: use av_packet_make_refcounted to ensure packets are ref counted

Simplifies code, while also fixing a potential leak of side data in pkt.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/bsf: use av_packet_make_refcounted to ensure packets are ref counted
James Almer [Sun, 25 Mar 2018 03:23:58 +0000 (00:23 -0300)]
avcodec/bsf: use av_packet_make_refcounted to ensure packets are ref counted

Simplifies code.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavdevice/decklink_dec: use av_packet_make_refcounted to ensure packets are ref counted
James Almer [Sun, 25 Mar 2018 01:28:42 +0000 (22:28 -0300)]
avdevice/decklink_dec: use av_packet_make_refcounted to ensure packets are ref counted

Partially reverts commit e91f0c4f8b, simplifying code.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/encode: use av_packet_make_refcounted to ensure packets are ref counted
James Almer [Sun, 25 Mar 2018 00:58:56 +0000 (21:58 -0300)]
avcodec/encode: use av_packet_make_refcounted to ensure packets are ref counted

Simplifies code.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/frame_thread_encoder: remove usage of av_dup_packet()
James Almer [Sun, 25 Mar 2018 01:27:05 +0000 (22:27 -0300)]
avcodec/frame_thread_encoder: remove usage of av_dup_packet()

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/avpacket: add av_packet_make_refcounted()
James Almer [Sat, 24 Mar 2018 22:18:59 +0000 (19:18 -0300)]
avcodec/avpacket: add av_packet_make_refcounted()

It works as a drop in replacement for the deprecated av_dup_packet(),
to ensure a packet is reference counted.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolavf/img2dec: use new iteration API
Josh de Kock [Sun, 18 Mar 2018 15:31:20 +0000 (15:31 +0000)]
lavf/img2dec: use new iteration API

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agolav*,tests: remove several register_all calls
Josh de Kock [Sun, 18 Feb 2018 17:54:23 +0000 (17:54 +0000)]
lav*,tests: remove several register_all calls

avdevice_register_all() is still required to register devices into
lavf (this is required due to lavd being somewhat of a hack).

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agolavf/format: use const AVInputFormat for iteration
Josh de Kock [Sun, 1 Apr 2018 02:17:07 +0000 (03:17 +0100)]
lavf/format: use const AVInputFormat for iteration

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agoRevert "avformat/format: temporarily use old next api"
Josh de Kock [Sat, 31 Mar 2018 23:19:49 +0000 (00:19 +0100)]
Revert "avformat/format: temporarily use old next api"

This reverts commit 909e00ae816df9b6a05b1c4d0cafb794d4d0ca28.

There is no need to use the old API anymore as the new API now
behaves in the same way (treating devices as formats when loaded).

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agoavfilter: bump version for the latest API change
James Almer [Mon, 2 Apr 2018 02:19:02 +0000 (23:19 -0300)]
avfilter: bump version for the latest API change

And fix the entry in doc/APIchanges

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agocmdutils: fix new API break the "ffmpeg -muxers/demuxers"
Jun Zhao [Sun, 1 Apr 2018 14:29:46 +0000 (22:29 +0800)]
cmdutils: fix new API break the "ffmpeg -muxers/demuxers"

fix commit 2238190 break the "ffmpeg -muxers/demuxers".

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agolavf/allformats: remove left-over index decrement
Josh de Kock [Sun, 1 Apr 2018 02:07:11 +0000 (03:07 +0100)]
lavf/allformats: remove left-over index decrement

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agolavf: move avpriv function definition to internal.h
Josh de Kock [Sat, 31 Mar 2018 23:20:59 +0000 (00:20 +0100)]
lavf: move avpriv function definition to internal.h

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agoavformat/mpeg: add missing check
Paul B Mahol [Sun, 1 Apr 2018 19:08:16 +0000 (21:08 +0200)]
avformat/mpeg: add missing check

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavformat/mpeg: fix logic failure
Paul B Mahol [Sun, 1 Apr 2018 18:58:48 +0000 (20:58 +0200)]
avformat/mpeg: fix logic failure

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavformat/mpeg: fix detection and demuxing of raw AC3 in mpegps
Paul B Mahol [Fri, 30 Mar 2018 16:44:34 +0000 (18:44 +0200)]
avformat/mpeg: fix detection and demuxing of raw AC3 in mpegps

Fixes #4889.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavformat/mpeg: fix PCM-DVD mis-detection as MLP
Paul B Mahol [Fri, 30 Mar 2018 14:06:55 +0000 (16:06 +0200)]
avformat/mpeg: fix PCM-DVD mis-detection as MLP

Fixes #6563.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavfilter/af_amix: add weights option
Paul B Mahol [Thu, 29 Mar 2018 11:54:51 +0000 (13:54 +0200)]
avfilter/af_amix: add weights option

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavcodec/imgconvert: Fix loss mask bug in avcodec_find_best_pix_fmt_of_list()
heimdallr [Sat, 31 Mar 2018 12:37:23 +0000 (19:37 +0700)]
avcodec/imgconvert: Fix loss mask bug in avcodec_find_best_pix_fmt_of_list()

example:

AVPixelFormat pixFmts[] = { AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA };
int loss = 0;
AVPixelFormat best = avcodec_find_best_pix_fmt_of_list(pixFmts, AV_PIX_FMT_BGRA, 1, &loss);

best is AV_PIX_FMT_RGB24. But AV_PIX_FMT_RGBA is better.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavfilter/showvolume : indent after prev commit and add comment
Martin Vignali [Sat, 31 Mar 2018 13:51:18 +0000 (15:51 +0200)]
avfilter/showvolume : indent after prev commit and add comment

14 months agoavfilter/showvolume : move width test for draw volume to the start of the loop
Martin Vignali [Sat, 31 Mar 2018 13:50:53 +0000 (15:50 +0200)]
avfilter/showvolume : move width test for draw volume to the start of the loop

14 months agoavfilter/showvolume : move clear picture part to a func
Martin Vignali [Sat, 31 Mar 2018 13:50:19 +0000 (15:50 +0200)]
avfilter/showvolume : move clear picture part to a func

and use it if fade == 0.

14 months agolavc: prefer the mp3float decoder to the mp3 decoder
Rostislav Pehlivanov [Sat, 31 Mar 2018 22:57:09 +0000 (23:57 +0100)]
lavc: prefer the mp3float decoder to the mp3 decoder

On modern x86 systems its around 2x faster. For systems without
FPUs it'll be slower, but our policy is to prefer floating point
implementations and to let users decide what's best (or just not
compile them on systems without FPUs).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
14 months agoffmpeg: prevent premature EOF in sub2video with nullptr AVSubtitles
Jan Ekström [Sat, 31 Mar 2018 16:39:07 +0000 (19:39 +0300)]
ffmpeg: prevent premature EOF in sub2video with nullptr AVSubtitles

With certain types of input and the filter chain getting re-initialized
or re-configured, multiple nullptr AVSubtitles can get pushed into
sub2video_update() in a row from sub2video_heartbeat.

This causes end_pts, and on the next round pts, to become INT64_MAX,
latter of which signals EOF in framesync, leading to complete loss of
subtitles from that point on.

Thus, check that the sub2video.end_pts is smaller than INT64_MAX
in a similar fashion to sub2video_flush before sending out the
nullptr AVSubtitle. This keeps premature EOFs from happening in
framesync and the subtitle overlay is kept past the filter chain
re-initializations/configurations.

14 months agovf_libvmaf: Fix memory leak
enctac [Sun, 25 Mar 2018 16:44:49 +0000 (01:44 +0900)]
vf_libvmaf: Fix memory leak

Fixes ticket #6967

14 months agoavfilter/vf_signature: use av_strlcpy()
Michael Niedermayer [Fri, 30 Mar 2018 00:16:31 +0000 (02:16 +0200)]
avfilter/vf_signature: use av_strlcpy()

Fixes: out of array access

Found-by: Kira <kira_cxy@foxmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavcodec/utvideodec: Set pro flag based on fourcc
Michael Niedermayer [Sat, 31 Mar 2018 01:10:43 +0000 (03:10 +0200)]
avcodec/utvideodec: Set pro flag based on fourcc

This avoids mixing 8bit variants with pro and 10bit with non pro mode.
Fixes: out of array read
Fixes: poc_03_30.avi

Found-by: GwanYeong Kim <gy741.kim@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavformat/mov: parse multiple iTunes cover images
Timo Teräs [Thu, 29 Mar 2018 12:59:33 +0000 (15:59 +0300)]
avformat/mov: parse multiple iTunes cover images

Multiple cover images are supported by having multiple data atoms
inside the covr atom. AtomicParsley and mutagen amongst others
support and document this construct.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoconfigure: fix build
Michael Niedermayer [Sun, 1 Apr 2018 00:34:28 +0000 (02:34 +0200)]
configure: fix build

regression since 8f1382f80e0d4184c54c14afdda6482f050fbba7

14 months agocmdutils: use new APIs
Josh de Kock [Fri, 23 Mar 2018 20:38:32 +0000 (20:38 +0000)]
cmdutils: use new APIs

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agolavd: remove linked lists
Josh de Kock [Fri, 23 Mar 2018 20:38:25 +0000 (20:38 +0000)]
lavd: remove linked lists

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agoRevert "lavd: add new API for iterating input and output devices"
Josh de Kock [Fri, 23 Mar 2018 10:16:15 +0000 (10:16 +0000)]
Revert "lavd: add new API for iterating input and output devices"

This reverts commit 0fd475704e871ef3a535947596a012894bae3cbd.

Revert "lavd: fix iterating of input and output devices"

This reverts commit ce1d77a5e7cebce11074bf6f9e38ad6da37338ff.

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agolavfi: add new iteration API
Josh de Kock [Sun, 18 Feb 2018 17:20:26 +0000 (17:20 +0000)]
lavfi: add new iteration API

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agocheckasm/Makefile: add EXTRALIBS-libavformat
Josh de Kock [Sat, 17 Mar 2018 21:34:18 +0000 (21:34 +0000)]
checkasm/Makefile: add EXTRALIBS-libavformat

Signed-off-by: Josh de Kock <josh@itanimul.li>
14 months agoarm: hevcdsp: Add commas between macro arguments
Martin Storsjö [Sat, 31 Mar 2018 18:54:46 +0000 (21:54 +0300)]
arm: hevcdsp: Add commas between macro arguments

When targeting darwin, clang requires commas between arguments,
while the no-comma form is allowed for other targets.

Since Xcode 9.3, the bundled clang supports altmacro and doesn't
require using gas-preprocessor any longer.

Signed-off-by: Martin Storsjö <martin@martin.st>
14 months agoarm: hevcdsp: Avoid using macro expansion counters
Martin Storsjö [Sat, 31 Mar 2018 18:54:41 +0000 (21:54 +0300)]
arm: hevcdsp: Avoid using macro expansion counters

Clang supports the macro expansion counter (used for making unique
labels within macro expansions), but not when targeting darwin.

Convert uses of the counter into normal local labels, as used
elsewhere.

Since Xcode 9.3, the bundled clang supports altmacro and doesn't
require using gas-preprocessor any longer.

Signed-off-by: Martin Storsjö <martin@martin.st>
14 months agoarm: swscale: Only compile the rgb2yuv asm if .dn aliases are supported
Martin Storsjö [Sat, 31 Mar 2018 18:54:32 +0000 (21:54 +0300)]
arm: swscale: Only compile the rgb2yuv asm if .dn aliases are supported

Vanilla clang supports altmacro since clang 5.0, and thus doesn't
require gas-preprocessor for building the arm assembly any longer.

However, the built-in assembler doesn't support .dn directives.

This readds checks that were removed in d7320ca3ed10f0d, when
the last usage of .dn directives within libav were removed.

Alternatively, the assembly could be rewritten to not use the
.dn directive, making it available to clang users.

Signed-off-by: Martin Storsjö <martin@martin.st>
14 months agoavfilter/avf_showvolume: let fade be also exactly 0
Paul B Mahol [Sat, 31 Mar 2018 07:26:37 +0000 (09:26 +0200)]
avfilter/avf_showvolume: let fade be also exactly 0

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agodoc/avfilter/showvolume : fix doc for orientation param
Martin Vignali [Fri, 30 Mar 2018 20:42:42 +0000 (22:42 +0200)]
doc/avfilter/showvolume : fix doc for orientation param

possible value are h or v.

14 months agoavfilter/showvolume : indent after prev commit
Martin Vignali [Fri, 30 Mar 2018 19:16:47 +0000 (21:16 +0200)]
avfilter/showvolume : indent after prev commit