]> git.sesse.net Git - ffmpeg/log
ffmpeg
6 years agoMerge commit 'e4cdef00263dc8b3c8de9d34ceacd00dc68979c0'
Mark Thompson [Mon, 12 Feb 2018 22:55:24 +0000 (22:55 +0000)]
Merge commit 'e4cdef00263dc8b3c8de9d34ceacd00dc68979c0'

* commit 'e4cdef00263dc8b3c8de9d34ceacd00dc68979c0':
  vf_scale_qsv: Support increasing hardware frame pool size

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agofate: Fix fate-api reference files after AVCodecContext change
Mark Thompson [Mon, 12 Feb 2018 22:53:05 +0000 (22:53 +0000)]
fate: Fix fate-api reference files after AVCodecContext change

Broken by d23fff0d8a0e7df170c67a9dd5c1f7c1fc0da489.

6 years agoMerge commit 'b128be1748f3920a14a98307265df5f2d3433e1d'
Mark Thompson [Mon, 12 Feb 2018 22:44:28 +0000 (22:44 +0000)]
Merge commit 'b128be1748f3920a14a98307265df5f2d3433e1d'

* commit 'b128be1748f3920a14a98307265df5f2d3433e1d':
  vf_*_vaapi: Support increasing hardware frame pool size

Rewritten to apply to common VAAPI code rather than specific filters.

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agoMerge commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d'
Mark Thompson [Mon, 12 Feb 2018 22:28:12 +0000 (22:28 +0000)]
Merge commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d'

* commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d':
  lavfi: Add support for increasing hardware frame pool sizes

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agoMerge commit 'cad739dace55e3446ef7180de688173cd19fb000'
Mark Thompson [Mon, 12 Feb 2018 22:22:30 +0000 (22:22 +0000)]
Merge commit 'cad739dace55e3446ef7180de688173cd19fb000'

* commit 'cad739dace55e3446ef7180de688173cd19fb000':
  lavc: Add per-thread surfaces in get_hw_frame_parameters()

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agoMerge commit '5b145290df2998a9836a93eb925289c6c8b63af0'
Mark Thompson [Mon, 12 Feb 2018 22:19:38 +0000 (22:19 +0000)]
Merge commit '5b145290df2998a9836a93eb925289c6c8b63af0'

* commit '5b145290df2998a9836a93eb925289c6c8b63af0':
  lavc: Add support for increasing hardware frame pool sizes

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agolavf/matroskaenc: Force the minimum value for -reserve_index_space to 2.
Carl Eugen Hoyos [Sun, 11 Feb 2018 19:41:32 +0000 (20:41 +0100)]
lavf/matroskaenc: Force the minimum value for -reserve_index_space to 2.

Fixes an assertion failure:
Assertion size >= 2 failed at libavformat/matroskaenc.c:298

6 years agofate: add aac id3v2 demux test
Richard Shaffer [Sun, 4 Feb 2018 07:24:45 +0000 (23:24 -0800)]
fate: add aac id3v2 demux test

A basic test for demuxing raw AAC (ADTS) with ID3v2 tags.

6 years agolibavformat/aac: Parse ID3 tags between ADTS frames.
Richard Shaffer [Fri, 2 Feb 2018 02:37:45 +0000 (18:37 -0800)]
libavformat/aac: Parse ID3 tags between ADTS frames.

While rare, ID3 tags may be inserted between ADTS frames. This change enables
parsing them and setting the appropriate metadata updated event flag.

6 years agoavformat/Makefile: use individual dependencies for librtmp protocols
James Almer [Mon, 12 Feb 2018 14:29:07 +0000 (11:29 -0300)]
avformat/Makefile: use individual dependencies for librtmp protocols

Fixes compilation of libavformat when librtmp is enabled but all the
relevant protocols are disabled.

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoh264_idct: enable unmacro on newer NASM versions
Rostislav Pehlivanov [Sat, 10 Feb 2018 13:16:36 +0000 (13:16 +0000)]
h264_idct: enable unmacro on newer NASM versions

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agoMerge commit 'fd36cf6bf6524247a8ff6788c028836fe7d9fd20'
James Almer [Mon, 12 Feb 2018 02:18:25 +0000 (23:18 -0300)]
Merge commit 'fd36cf6bf6524247a8ff6788c028836fe7d9fd20'

* commit 'fd36cf6bf6524247a8ff6788c028836fe7d9fd20':
  configure: Factorize check_64_bit()

Merged-by: James Almer <jamrial@gmail.com>
6 years agoMerge commit '38434a9ff5b9a1a048f32c1c7e2a9519cf12f8ba'
James Almer [Mon, 12 Feb 2018 02:11:06 +0000 (23:11 -0300)]
Merge commit '38434a9ff5b9a1a048f32c1c7e2a9519cf12f8ba'

* commit '38434a9ff5b9a1a048f32c1c7e2a9519cf12f8ba':
  configure: Simplify restrict keyword handling

Merged-by: James Almer <jamrial@gmail.com>
6 years agoMerge commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906'
James Almer [Mon, 12 Feb 2018 02:08:48 +0000 (23:08 -0300)]
Merge commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906'

* commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906':
  Drop some unnecessary config.h #includes

Merged-by: James Almer <jamrial@gmail.com>
6 years agoMerge commit 'bca41545b371efc34e38d1fa8bb12dba8b614da0'
James Almer [Mon, 12 Feb 2018 01:59:18 +0000 (22:59 -0300)]
Merge commit 'bca41545b371efc34e38d1fa8bb12dba8b614da0'

* commit 'bca41545b371efc34e38d1fa8bb12dba8b614da0':
  configure: Group code that sets the license string with licensing checks

Merged-by: James Almer <jamrial@gmail.com>
6 years agoMerge commit '2eb396b175e55e515aa6a13c5b1789a2a18d3935'
James Almer [Mon, 12 Feb 2018 01:50:57 +0000 (22:50 -0300)]
Merge commit '2eb396b175e55e515aa6a13c5b1789a2a18d3935'

* commit '2eb396b175e55e515aa6a13c5b1789a2a18d3935':
  hwcontext: Fix memory leak on derived frame allocation failure

Merged-by: James Almer <jamrial@gmail.com>
6 years agoMerge commit '96e476cc9d414e248692c773d9dce736662572b8'
James Almer [Mon, 12 Feb 2018 01:49:35 +0000 (22:49 -0300)]
Merge commit '96e476cc9d414e248692c773d9dce736662572b8'

* commit '96e476cc9d414e248692c773d9dce736662572b8':
  hwcontext: Fix documentation for av_hwdevice_ctx_alloc()

This commit is a noop, see 9365dfcbf665b83b2e60c5ec5e2abf1f0a49e2c3

Merged-by: James Almer <jamrial@gmail.com>
6 years agoMerge commit '8965e2af921ec5926b26d5ae466ee4104bb5262b'
James Almer [Mon, 12 Feb 2018 01:47:47 +0000 (22:47 -0300)]
Merge commit '8965e2af921ec5926b26d5ae466ee4104bb5262b'

* commit '8965e2af921ec5926b26d5ae466ee4104bb5262b':
  avpacket: Initialize the allocated padding area in side data

This commit is a noop, see 9cbb3fce5965f4e1423cace3d1dc340a7a8091f4

Merged-by: James Almer <jamrial@gmail.com>
6 years agoMerge commit '5085f25ace1e74846a0de3369bedd0e22d1a1bdc'
James Almer [Mon, 12 Feb 2018 01:47:05 +0000 (22:47 -0300)]
Merge commit '5085f25ace1e74846a0de3369bedd0e22d1a1bdc'

* commit '5085f25ace1e74846a0de3369bedd0e22d1a1bdc':
  vc1: skip motion compensation when data for last picture is invalid

This commit is a noop. The crash can't be reproduced with ffmpeg.

Merged-by: James Almer <jamrial@gmail.com>
6 years agoMerge commit '6829a079444e10818a847e153121fb458cc5c0a8'
James Almer [Mon, 12 Feb 2018 01:44:12 +0000 (22:44 -0300)]
Merge commit '6829a079444e10818a847e153121fb458cc5c0a8'

* commit '6829a079444e10818a847e153121fb458cc5c0a8':
  qsvdec: Relax the surface vs coded dimension check

Merged-by: James Almer <jamrial@gmail.com>
6 years agofate/libavcodec: add codec_desc test
Muhammad Faiz [Sat, 10 Feb 2018 09:30:14 +0000 (16:30 +0700)]
fate/libavcodec: add codec_desc test

Remove runtime check at codec_desc.c

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
6 years agovf_scale_qsv: Support increasing hardware frame pool size
Mark Thompson [Mon, 27 Mar 2017 20:10:23 +0000 (21:10 +0100)]
vf_scale_qsv: Support increasing hardware frame pool size

The deinterlacer does not change, because it does not allocate any new
frames (for output it uses the same pool as the input).

6 years agovf_*_vaapi: Support increasing hardware frame pool size
Mark Thompson [Mon, 27 Mar 2017 20:10:10 +0000 (21:10 +0100)]
vf_*_vaapi: Support increasing hardware frame pool size

Defaults to 10 frames to preserve compatibility, but can allocate
fewer if extra_hw_frames is set explicitly.

6 years agolavfi: Add support for increasing hardware frame pool sizes
Mark Thompson [Mon, 27 Mar 2017 20:10:53 +0000 (21:10 +0100)]
lavfi: Add support for increasing hardware frame pool sizes

AVFilterContext.extra_hw_frames functions identically to the field of
the same name in AVCodecContext.

6 years agolavc: Add per-thread surfaces in get_hw_frame_parameters()
Mark Thompson [Mon, 29 Jan 2018 22:55:11 +0000 (22:55 +0000)]
lavc: Add per-thread surfaces in get_hw_frame_parameters()

This number is definitely required when frame threading is enabled, so
add it here rather than forcing all users to handle it themselves.

DXVA2 contained this addition in specific code as well (therefore being
added twice in the internal case) - just remove it from there.

6 years agolavc: Add support for increasing hardware frame pool sizes
Mark Thompson [Mon, 29 Jan 2018 22:18:00 +0000 (22:18 +0000)]
lavc: Add support for increasing hardware frame pool sizes

AVCodecContext.extra_hw_frames is added to the size of hardware frame
pools created by libavcodec for APIs which require fixed-size pools.
This allows the user to keep references to a greater number of frames
after decode, which may be necessary for some use-cases.

It is also added to the initial_pool_size value returned by
avcodec_get_hw_frames_parameters() if a fixed-size pool is required.

6 years agolavf/rtpdec: Constify several pointers.
Carl Eugen Hoyos [Sat, 10 Feb 2018 01:54:42 +0000 (02:54 +0100)]
lavf/rtpdec: Constify several pointers.

Fixes two warnings:
libavformat/rtpdec.c:155:20: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
libavformat/rtpdec.c:168:20: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]

6 years agoavcodec/vp3: Error out on invalid num_coeffs in unpack_vlcs()
Michael Niedermayer [Sun, 11 Feb 2018 02:38:54 +0000 (03:38 +0100)]
avcodec/vp3: Error out on invalid num_coeffs in unpack_vlcs()

This fixes a hypothetical integer overflow

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/mpeg4videodec: Ignore multiple VOL headers
Michael Niedermayer [Fri, 9 Feb 2018 21:24:58 +0000 (22:24 +0100)]
avcodec/mpeg4videodec: Ignore multiple VOL headers

Fixes: Ticket7005
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/mpeg2dec: Fix motion vector rounding for chroma components
Nekopanda [Sun, 11 Feb 2018 08:15:54 +0000 (17:15 +0900)]
avcodec/mpeg2dec: Fix motion vector rounding for chroma components

In 16x8 motion compensation, for lower 16x8 region, the input to mpeg_motion() for motion_y was "motion_y + 16", which causes wrong rounding. For 4:2:0, chroma scaling for y is dividing by two and rounding toward zero. When motion_y < 0 and motion_y + 16 > 0, the rounding direction of "motion_y" and "motion_y + 16" is different and rounding "motion_y + 16" would be incorrect.

We should input "motion_y" as is to round correctly. I add "is_16x8" flag to do that.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/vp3: Check eob_run
Michael Niedermayer [Fri, 9 Feb 2018 03:17:16 +0000 (04:17 +0100)]
avcodec/vp3: Check eob_run

Fixes: out of array access
Fixes: 5919/clusterfuzz-testcase-minimized-5859311382167552
Fixes: special case for theora (untested due to lack of sample)
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/utvideodec: Add several out of array read related checks
Michael Niedermayer [Fri, 9 Feb 2018 14:27:41 +0000 (15:27 +0100)]
avcodec/utvideodec: Add several out of array read related checks

Fixes: OV_decode_plane.avi
Found-by: GwanYeong Kim <gy741.kim@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/pafvideo: Check allocated frame size
Michael Niedermayer [Sun, 4 Feb 2018 01:14:49 +0000 (02:14 +0100)]
avcodec/pafvideo: Check allocated frame size

Fixes: OOM
Fixes: 5549/clusterfuzz-testcase-minimized-5390553567985664
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/scpr: Fix reading a pixel before the first
Michael Niedermayer [Sat, 3 Feb 2018 17:49:07 +0000 (18:49 +0100)]
avcodec/scpr: Fix reading a pixel before the first

Fixes: 5540/clusterfuzz-testcase-minimized-6122458273808384
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/mpeg2dec: Fix field selection for skipped macroblocks
Nekopanda [Sat, 10 Feb 2018 09:36:32 +0000 (18:36 +0900)]
avcodec/mpeg2dec: Fix field selection for skipped macroblocks

For B field pictures, the spec says,

> The prediction shall be made from the field of the same parity as the field being predicted.

I did it.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agolavf/aptxdec: fix the limit on the APTX demuxer definition
Jan Ekström [Sat, 10 Feb 2018 14:59:54 +0000 (16:59 +0200)]
lavf/aptxdec: fix the limit on the APTX demuxer definition

Fixes breakage with --disable-muxers as it was originally limited
to the muxer, and not the demuxer.

6 years agoMAINTAINERS: add myself for aptx.c
Aurelien Jacobs [Fri, 9 Feb 2018 21:22:09 +0000 (22:22 +0100)]
MAINTAINERS: add myself for aptx.c

6 years agoavformat/mov: Fix ctts_index calculation
Xiaohan Wang [Sat, 3 Feb 2018 01:33:56 +0000 (17:33 -0800)]
avformat/mov: Fix ctts_index calculation

An index should never be equal to the count. Hence we must make sure
*ctts_index < ctts_count.

Reviewed-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavformat/format: temporarily use old next api
Muhammad Faiz [Fri, 9 Feb 2018 10:03:42 +0000 (17:03 +0700)]
avformat/format: temporarily use old next api

Should fix https://ffmpeg.org/pipermail/ffmpeg-devel/2018-February/225066.html

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
6 years agoexamples: Don't call deprecated functions which don't do anything
Mark Thompson [Wed, 7 Feb 2018 19:36:57 +0000 (19:36 +0000)]
examples: Don't call deprecated functions which don't do anything

6 years agoaptx: indentation (cosmetics only)
Aurelien Jacobs [Sat, 6 Jan 2018 16:56:21 +0000 (17:56 +0100)]
aptx: indentation (cosmetics only)

6 years agoaptx: add raw muxer and demuxer for aptX HD
Aurelien Jacobs [Sat, 6 Jan 2018 16:33:01 +0000 (17:33 +0100)]
aptx: add raw muxer and demuxer for aptX HD

6 years agoaptx: implement the aptX HD bluetooth codec
Aurelien Jacobs [Sat, 6 Jan 2018 16:11:48 +0000 (17:11 +0100)]
aptx: implement the aptX HD bluetooth codec

6 years agoaptx: do some clipping to match original codec in extreme cases
Aurelien Jacobs [Sat, 6 Jan 2018 00:31:02 +0000 (01:31 +0100)]
aptx: do some clipping to match original codec in extreme cases

6 years agoaptx: factorize FFABS calculation
Aurelien Jacobs [Sat, 6 Jan 2018 00:22:31 +0000 (01:22 +0100)]
aptx: factorize FFABS calculation

6 years agoaptx: simplify by pre-calculating factor_max
Aurelien Jacobs [Fri, 5 Jan 2018 23:23:43 +0000 (00:23 +0100)]
aptx: simplify by pre-calculating factor_max

6 years agocheckasm/Makefile: add EXTRALIBS-swresample
Muhammad Faiz [Fri, 9 Feb 2018 10:50:44 +0000 (17:50 +0700)]
checkasm/Makefile: add EXTRALIBS-swresample

Should fix https://ffmpeg.org/pipermail/ffmpeg-devel/2018-February/225058.html

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
6 years agoavcodec/codec_desc: sort codec_descriptors
Muhammad Faiz [Fri, 2 Feb 2018 18:07:44 +0000 (01:07 +0700)]
avcodec/codec_desc: sort codec_descriptors

Use bsearch on avcodec_descriptor_get().

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
6 years agodashdec: Support SegmentTimeline inside Period
sfan5 [Fri, 9 Feb 2018 02:54:24 +0000 (10:54 +0800)]
dashdec: Support SegmentTimeline inside Period

Reviewed-by: Steven Liu <lq@onvideo.cn>
6 years agoavcodec/huffyuvdec: Check input buffer size
Michael Niedermayer [Wed, 31 Jan 2018 18:20:10 +0000 (19:20 +0100)]
avcodec/huffyuvdec: Check input buffer size

Fixes: Timeout
Fixes: 5487/clusterfuzz-testcase-4696837035393024
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoRevert "cmdutils: make use of new iteration APIs"
James Almer [Thu, 8 Feb 2018 16:20:36 +0000 (13:20 -0300)]
Revert "cmdutils: make use of new iteration APIs"

This reverts commit cdc78058c78dfa4966758a342acd2c1f3b282c46.

It introduced several issues in the command line tools, and it's
implementing a new API that may still see some changes.
Revert for the time being until the state of the API is defined.

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavcodec: Document that init_static_data() is not intended for time consuming operations.
Michael Niedermayer [Tue, 6 Feb 2018 00:21:08 +0000 (01:21 +0100)]
avcodec: Document that init_static_data() is not intended for time consuming operations.

Reviewed-by: Muhammad Faiz <mfcc64@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agodoc/APIchanges: mention a few more recently introduced and deprecated functions
James Almer [Wed, 7 Feb 2018 20:05:01 +0000 (17:05 -0300)]
doc/APIchanges: mention a few more recently introduced and deprecated functions

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agodoc/APIchanges: fix a recent depreacted function name
James Almer [Wed, 7 Feb 2018 19:56:47 +0000 (16:56 -0300)]
doc/APIchanges: fix a recent depreacted function name

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavformat: fix stream_segment muxer build dependencies
James Almer [Wed, 7 Feb 2018 19:42:11 +0000 (16:42 -0300)]
avformat: fix stream_segment muxer build dependencies

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavformat/hls: Support metadata updates from subdemuxers
Richard Shaffer [Fri, 2 Feb 2018 20:59:45 +0000 (12:59 -0800)]
avformat/hls: Support metadata updates from subdemuxers

If a subdemuxer has the updated metadata event flag set, the metadata is copied
to the corresponding stream. The flag is cleared on the subdemuxer and the
appropriate event flag is set on the stream.

Signed-off-by: wm4 <nfxjfg@googlemail.com>
6 years agolavfi: add a gitignore file for OpenCL compiled kernels
Rostislav Pehlivanov [Mon, 5 Feb 2018 11:04:45 +0000 (11:04 +0000)]
lavfi: add a gitignore file for OpenCL compiled kernels

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agoavformat/fifo_test: remove network.h include
James Almer [Wed, 7 Feb 2018 03:29:55 +0000 (00:29 -0300)]
avformat/fifo_test: remove network.h include

It's not needed, and fixes compilation with network disabled.

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agodoc/APIChanges: fix lavu version numbers in a few recent entries
James Almer [Wed, 7 Feb 2018 02:49:13 +0000 (23:49 -0300)]
doc/APIChanges: fix lavu version numbers in a few recent entries

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoapi: add missing version bumps and APIChanges entries
James Almer [Wed, 7 Feb 2018 02:38:38 +0000 (23:38 -0300)]
api: add missing version bumps and APIChanges entries

avcodec bump missed in 7e8eba2d8755962d9dca5eade57bf8f591a73c0c
avformat bump missed in ff46124b0df17a1d35249e09ae8eae9a61f16e04 and
0694d8702421e7aff1340038559c438b61bb30dd
avdevice bump missed in 0fd475704e871ef3a535947596a012894bae3cbd

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavformat/mov: add VP8 codec support
James Almer [Tue, 6 Feb 2018 01:26:26 +0000 (22:26 -0300)]
avformat/mov: add VP8 codec support

Demuxing only. Muxing is disabled as altref frame handling is not
defined in the spec, and there's no way to know the presence of
such frames during stream initialization.

Based on a patch by Steven Liu.

Fixes ticket #7000

Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavformat/Makefile: fix fifo and fifo_test muxer build objects
James Almer [Tue, 6 Feb 2018 23:02:23 +0000 (20:02 -0300)]
avformat/Makefile: fix fifo and fifo_test muxer build objects

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavformat/bintext: Implement bin_probe()
Michael Niedermayer [Wed, 31 Jan 2018 14:22:29 +0000 (15:22 +0100)]
avformat/bintext: Implement bin_probe()

Fixes misdetection of sbQ9.bin

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/ffv1: Support for RGBA64 and GBRAP16
Jérôme Martinez [Thu, 1 Feb 2018 12:11:53 +0000 (13:11 +0100)]
avcodec/ffv1: Support for RGBA64 and GBRAP16

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/libopus: support disabling phase inversion.
Menno [Mon, 5 Feb 2018 09:54:53 +0000 (10:54 +0100)]
avcodec/libopus: support disabling phase inversion.

Signed-off-by: Menno <mrdegier@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agolavc/bsf: make BSF iteration the same as other iterators
Josh de Kock [Fri, 2 Feb 2018 19:25:36 +0000 (19:25 +0000)]
lavc/bsf: make BSF iteration the same as other iterators

6 years agocmdutils: make use of new iteration APIs
Josh de Kock [Tue, 30 Jan 2018 21:28:28 +0000 (21:28 +0000)]
cmdutils: make use of new iteration APIs

6 years agolavd: add new API for iterating input and output devices
Josh de Kock [Tue, 2 Jan 2018 14:34:18 +0000 (14:34 +0000)]
lavd: add new API for iterating input and output devices

This also adds an avpriv function to register devices in
libavformat

6 years agolavf: add new API for iterating muxers and demuxers
Josh de Kock [Sun, 21 Jan 2018 16:06:54 +0000 (16:06 +0000)]
lavf: add new API for iterating muxers and demuxers

6 years agolavf: move fifo test muxer into separate file
Josh de Kock [Tue, 2 Jan 2018 13:36:05 +0000 (13:36 +0000)]
lavf: move fifo test muxer into separate file

This fixes the fate-fifo-muxer test with the clarified
removal of registering external formats.

6 years agolavf/rtp: replace linked list with array
Josh de Kock [Mon, 1 Jan 2018 23:31:26 +0000 (23:31 +0000)]
lavf/rtp: replace linked list with array

6 years agolavc: add new API for iterating codecs and codec parsers
Josh de Kock [Fri, 22 Dec 2017 22:17:00 +0000 (22:17 +0000)]
lavc: add new API for iterating codecs and codec parsers

Based on an unfinished patch by atomnuker.

6 years agoconfigure: Factorize check_64_bit()
Diego Biurrun [Fri, 20 Oct 2017 02:42:13 +0000 (04:42 +0200)]
configure: Factorize check_64_bit()

6 years agoconfigure: Simplify restrict keyword handling
Diego Biurrun [Fri, 10 Nov 2017 14:40:30 +0000 (15:40 +0100)]
configure: Simplify restrict keyword handling

Skip a variable indirection and only redefine restrict if necessary.

6 years agoDrop some unnecessary config.h #includes
Diego Biurrun [Fri, 3 Nov 2017 16:20:49 +0000 (17:20 +0100)]
Drop some unnecessary config.h #includes

6 years agoconfigure: Group code that sets the license string with licensing checks
Diego Biurrun [Mon, 5 Feb 2018 12:53:49 +0000 (13:53 +0100)]
configure: Group code that sets the license string with licensing checks

This also moves the setting of the licensing string out of a block that
is skipped when quiet operation is requested.

6 years agoavcodec/me_cmp: remove ff_me_cmp_init_static()
Muhammad Faiz [Sat, 3 Feb 2018 22:44:23 +0000 (05:44 +0700)]
avcodec/me_cmp: remove ff_me_cmp_init_static()

Precalculate and constify ff_square_tab.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
6 years agoavcodec/utvideodec: Fix bytes left check in decode_frame()
Michael Niedermayer [Fri, 2 Feb 2018 20:44:57 +0000 (21:44 +0100)]
avcodec/utvideodec: Fix bytes left check in decode_frame()

Fixes: out of array read
Fixes: poc-2017.avi
Found-by: GwanYeong Kim <gy741.kim@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoid3v2: fix unsynchronization
wm4 [Tue, 30 Jan 2018 12:22:53 +0000 (13:22 +0100)]
id3v2: fix unsynchronization

The ID3v2 "unsynchronization scheme" requires replacing any 0xFF 0x00
sequences with 0xFF. This has to be done on every byte of the source
data, while the current code skipped a byte after a replacement. This
meant 0xFF 0x00 0xFF 00 was translated to 0xFF 0xFF 0x00 instead of 0xFF
0xFF. It feels a bit messy to do this correctly with the avio use. But
fortunately, this translation can be done in-place, so we can just do it
in memory.

Inspired by what taglib does.

Also see 9ae80e6a9cefcab61e867256ba19ef78a4bfe0cb. (The sample file for
that commit is gone, so it could not be retested.)

6 years agortsp: rename certain options after a deprecation period
wm4 [Thu, 25 Jan 2018 17:57:26 +0000 (18:57 +0100)]
rtsp: rename certain options after a deprecation period

The "timeout" option name inherently clashes with the meaning of the
HTTP libavformat protocol option with the same name. Rename it after a
deprecation period to make it compatible with the HTTP one.

6 years agohwcontext: Fix memory leak on derived frame allocation failure
Mark Thompson [Fri, 26 Jan 2018 23:12:18 +0000 (23:12 +0000)]
hwcontext: Fix memory leak on derived frame allocation failure

6 years agohwcontext: Fix documentation for av_hwdevice_ctx_alloc()
Jun Zhao [Sun, 19 Mar 2017 07:44:46 +0000 (15:44 +0800)]
hwcontext: Fix documentation for av_hwdevice_ctx_alloc()

From ffmpeg commit 9365dfcbf665b83b2e60c5ec5e2abf1f0a49e2c3.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoexamples: Add a VA-API transcode example.
Jun Zhao [Thu, 11 Jan 2018 07:00:30 +0000 (15:00 +0800)]
examples: Add a VA-API transcode example.

Usage is:
./vaapi_transcode input_stream codec output_stream
For example:
- ./vaapi_transcode input.mp4 h264_vaapi output_h264.mp4
- ./vaapi_transcode input.mp4 vp8_vaapi output_vp8.ivf

Does not handle resolution changes on the input stream.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoavcodec: do not use init_static_data on some codecs
Muhammad Faiz [Fri, 2 Feb 2018 18:18:27 +0000 (01:18 +0700)]
avcodec: do not use init_static_data on some codecs

They don't modify AVCodec, no needs to call it at register. They will be
wasteful if these codecs are unused. Instead, call static data initialization
at codecs' init.

Benchmark:
old: 51281340 decicycles in avcodec_register_all,       1 runs,      0 skips
new:  6738960 decicycles in avcodec_register_all,       1 runs,      0 skips

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
6 years agoavcodec/wavpack: Fix integer overflow in FFABS
Michael Niedermayer [Wed, 31 Jan 2018 01:50:18 +0000 (02:50 +0100)]
avcodec/wavpack: Fix integer overflow in FFABS

Fixes: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself
Fixes: 5396/clusterfuzz-testcase-minimized-6558555529281536
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/af_join: Fix crash in join filter
Nikolas Bowe [Fri, 2 Feb 2018 23:11:04 +0000 (15:11 -0800)]
avfilter/af_join: Fix crash in join filter

Previously if ff_outlink_frame_wanted() returned 0 it could dereference a null pointer when trying to read nb_samples.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/ffv1enc: mark RGB48 support as non-experimental
Jérôme Martinez [Thu, 1 Feb 2018 12:15:54 +0000 (13:15 +0100)]
avcodec/ffv1enc: mark RGB48 support as non-experimental

Remove the 2nd mark, 1st mark was removed in 58e16a4

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoffprobe: remove usage of deprecation warning removal pragmas
James Almer [Fri, 2 Feb 2018 20:51:24 +0000 (17:51 -0300)]
ffprobe: remove usage of deprecation warning removal pragmas

Fixes compilation in non Windows targets.

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoffprobe: Initialize coded_width/height
Zhong Li [Fri, 19 Jan 2018 05:05:55 +0000 (13:05 +0800)]
ffprobe: Initialize coded_width/height

coded_width/height are unnitialized and will be overwritten by
dec_ctx->width/height in avcodec_open2()

This fixes tiket #6958.

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agolibrsvgdec: Fix frame clearing code
Calvin Walton [Thu, 1 Feb 2018 18:28:25 +0000 (13:28 -0500)]
librsvgdec: Fix frame clearing code

The existing code attempts to clear the frame by painting in OVER
mode with transparent black - which is a no-op. As a result if you
have many input frames (e.g. you're using a sequence of svg files),
you'll start to see new frames drawn over old frames as memory gets
re-used.

Switch the code to paint using the CLEAR compositing operator,
which fills every channel with 0 values (setting a source colour
is not required).

6 years agofate: add id3v2 test
Richard Shaffer [Sun, 28 Jan 2018 02:21:28 +0000 (18:21 -0800)]
fate: add id3v2 test

Adds basic unit test for parsing ID3v2 tags.

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoconfigure: Remove carriage return ('\r') in Windows CC_IDENT
Xiaohan Wang [Wed, 31 Jan 2018 22:20:02 +0000 (14:20 -0800)]
configure: Remove carriage return ('\r') in Windows CC_IDENT

Currently the Windows CC_IDENT is ended with '\r\n'. "head -n1" will not
remove the '\r' and this is causing building error in Chromium.

This CL adds "tr -d '\r'" to remove '\r' in the CC_IDENT string. Since in
most cases '\r' only appears at the end of a string/line, this should
work in most cases.

See example:

printf "hello\r\nworld\r\n" | head -n1 | hd
00000000  68 65 6c 6c 6f 0d 0a                              |hello..|

printf "hello\r\nworld\r\n" | head -n1 | tr -d '\r' | hd
00000000  68 65 6c 6c 6f 0a                                 |hello.|

Also note a similar previous change at:
https://lists.ffmpeg.org/pipermail/ffmpeg-cvslog/2013-October/069950.html

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/aacsbr_fixed: Fix overflows in rounding in sbr_hf_assemble()
Michael Niedermayer [Wed, 31 Jan 2018 17:13:07 +0000 (18:13 +0100)]
avcodec/aacsbr_fixed: Fix overflows in rounding in sbr_hf_assemble()

Fixes: runtime error: signed integer overflow: 2052929346 + 204817098 cannot be represented in type 'int'
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>
6 years agoavcodec/exr: Fix memleaks in decode_header()
Michael Niedermayer [Wed, 31 Jan 2018 16:50:21 +0000 (17:50 +0100)]
avcodec/exr: Fix memleaks in decode_header()

Fixes: 4793/clusterfuzz-testcase-minimized-5707366629638144
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 agoavpacket: Initialize the allocated padding area in side data
Martin Storsjö [Thu, 1 Feb 2018 12:56:49 +0000 (14:56 +0200)]
avpacket: Initialize the allocated padding area in side data

This makes sure that consumers of the side data actually can
rely on the padding as intended, without having the callers of
av_packet_new_side_data to explicitly zero initialize it.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoavformat/hls: store referer message in HLS http request
Steven Liu [Thu, 1 Feb 2018 02:57:29 +0000 (10:57 +0800)]
avformat/hls: store referer message in HLS http request

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
6 years agoavformat/http: add referer option into http
Steven Liu [Thu, 1 Feb 2018 02:56:51 +0000 (10:56 +0800)]
avformat/http: add referer option into http

add Referer message if referer have been set.
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
6 years agoavfilter: add comments for duplicate line
Steven Liu [Thu, 1 Feb 2018 02:55:19 +0000 (10:55 +0800)]
avfilter: add comments for duplicate line

comment about the looks like a duplicate line.
but that is used to reason x is expressed from y

Suggested-by: Paul B Mahol
Suggested-by: Michael Niedermayer
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
6 years agoavcodec/vc2enc: prevent bitrate overshoots
Rostislav Pehlivanov [Wed, 6 Apr 2016 10:51:24 +0000 (11:51 +0100)]
avcodec/vc2enc: prevent bitrate overshoots

The rounding caused by the size scaler wasn't compensated for and the
slice sizes grew beyond what is allowed per frame.

Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
6 years agovc1: skip motion compensation when data for last picture is invalid
Sean McGovern [Sun, 28 Jan 2018 02:19:30 +0000 (21:19 -0500)]
vc1: skip motion compensation when data for last picture is invalid

Bug-Id: 1101
Cc: libav-stable@libav.org