]> git.sesse.net Git - ffmpeg/log
ffmpeg
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>
6 years agoMerge commit '7b0b5bc810cdb9ef100492c9a9f2d30602c04336'
Mark Thompson [Tue, 16 Jan 2018 23:01:20 +0000 (23:01 +0000)]
Merge commit '7b0b5bc810cdb9ef100492c9a9f2d30602c04336'

* commit '7b0b5bc810cdb9ef100492c9a9f2d30602c04336':
  cmdutils: update copyright year to 2018

This commit is a noop, see bddf31ba7570325dd2c8d033eae3d0dd74127f96

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agoMerge commit '1efbbfedcaf4a3cecab980273ad809ba3ade2f74'
Mark Thompson [Tue, 16 Jan 2018 22:57:09 +0000 (22:57 +0000)]
Merge commit '1efbbfedcaf4a3cecab980273ad809ba3ade2f74'

* commit '1efbbfedcaf4a3cecab980273ad809ba3ade2f74':
  examples/qsvdec: do not set the deprecated field refcounted_frames

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agoMerge commit 'e23190269fb6e8217d080918893641ba3e0e3556'
Mark Thompson [Tue, 16 Jan 2018 22:57:02 +0000 (22:57 +0000)]
Merge commit 'e23190269fb6e8217d080918893641ba3e0e3556'

* commit 'e23190269fb6e8217d080918893641ba3e0e3556':
  lavu/qsv: add log message for libmfx version

Merged-by: Mark Thompson <sw@jkqxz.net>
6 years agolavc/snow_dwt: add struct MpegEncContext to fix headers check.
Jun Zhao [Mon, 15 Jan 2018 10:57:33 +0000 (18:57 +0800)]
lavc/snow_dwt: add struct MpegEncContext to fix headers check.

add missing struct MpegEncContext, use make checkheaders
found this warning.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agohwcontext_d3d11va: implement av_hwdevice_get_hwframe_constraints()
wm4 [Tue, 16 Jan 2018 12:23:55 +0000 (13:23 +0100)]
hwcontext_d3d11va: implement av_hwdevice_get_hwframe_constraints()

D3D11 has rather fine grained per format capabilities for different uses
that can be queried at runtime. Since we don't know what the user wants
to do with the formats when av_hwdevice_get_hwframe_constraints() is
called, we simply return all formats that have the most basic support.

6 years agoavformat: make avformat_network_init() explicitly optional
wm4 [Tue, 16 Jan 2018 11:57:04 +0000 (12:57 +0100)]
avformat: make avformat_network_init() explicitly optional

It was sort of optional before - if you didn't call it, networking was
initialized on demand, and an ugly warning was logged. Also, the doxygen
comments threatened that it would be made strictly required one day.

Make it explicitly optional. I would prefer to deprecate it fully, but
there might still be legitimate reasons to use this. But the average
user won't need it.

This is needed only for two reasons: to initialize TLS libraries like
OpenSSL and GnuTLS, and winsock.

OpenSSL and GnuTLS were already silently initialized on demand if the
global network init function was not called. They also have various
thread-safety acrobatics, which make concurrent initialization within
libavformat safe. In addition, the libraries are moving towards making
their global init functions safe, which removes all need for central
global init. In particular, GnuTLS 3.5.16 and OpenSSL 1.1.0g have been
found to have safe init functions. In all cases, they use internal
reference counters to avoid that the global uninit functions interfere
with concurrent uses of the library by other API users who called global
init.

winsock should be thread-safe as well, and maintains an internal
reference counter as well.

Since we still support ancient TLS libraries, which do not have this
fixed, and since it's unknown whether winsock and GnuTLS
reinitialization is costly in any way, don't deprecate the libavformat
functions yet.

6 years agoavformat: deprecate another ffserver API leftover
wm4 [Mon, 15 Jan 2018 12:09:31 +0000 (13:09 +0100)]
avformat: deprecate another ffserver API leftover

6 years agoavcodec/wavpack: Fix integer overflows in wv_unpack_stereo / mono
Michael Niedermayer [Sat, 13 Jan 2018 23:39:41 +0000 (00:39 +0100)]
avcodec/wavpack: Fix integer overflows in wv_unpack_stereo / mono

Fixes: runtime error: signed integer overflow: 2146276249 + 1487583 cannot be represented in type 'int'
Fixes: 4823/clusterfuzz-testcase-minimized-4551896611160064
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/jpeg2000: Check sum of sizes of band->prec before allocating
Michael Niedermayer [Sat, 13 Jan 2018 23:39:40 +0000 (00:39 +0100)]
avcodec/jpeg2000: Check sum of sizes of band->prec before allocating

Fixes: OOM
Fixes: 4810/clusterfuzz-testcase-minimized-6034253235093504
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/ac3dec_fixed: Fix integer overflow in scale_coefs()
Michael Niedermayer [Sat, 13 Jan 2018 23:39:39 +0000 (00:39 +0100)]
avcodec/ac3dec_fixed: Fix integer overflow in scale_coefs()

Fixes: runtime error: signed integer overflow: 2147483520 + 128 cannot be represented in type 'int'
Fixes: 4800/clusterfuzz-testcase-minimized-6110372403609600
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 agohwcontext_vdpau: implement av_hwdevice_get_hwframe_constraints()
wm4 [Sat, 13 Jan 2018 06:05:09 +0000 (07:05 +0100)]
hwcontext_vdpau: implement av_hwdevice_get_hwframe_constraints()

In addition, this does not allow creating frames contexts with sw_format
for which no known transfer formats exist. In theory, we should check
whether the chroma format (i.e. the sw_format) is supported at all by
the vdpau driver, but checking for transfer formats has the same effect.

Note that the pre-existing code adds 1 to priv->nb_pix_fmts[i] for
unknown reason, and some checks need to account for that to check for
empty lists. They are not off-by-one errors.

6 years agohttp: cosmetics: reformat reconnect check for better readability
wm4 [Thu, 11 Jan 2018 01:27:20 +0000 (02:27 +0100)]
http: cosmetics: reformat reconnect check for better readability

The condition was a bit too long, and most editors will break the line
and turn it into an unreadable mess. Move out some of the conditions.

This should not change the behavior.

6 years agoavfilter/vf_idet: added more YUVA formats to idet query_formats
Robert Nagy [Sat, 13 Jan 2018 15:51:43 +0000 (16:51 +0100)]
avfilter/vf_idet: added more YUVA formats to idet query_formats

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agodashdec: Support SegmentTemplate inside Period
sfan5 [Sun, 14 Jan 2018 15:02:26 +0000 (23:02 +0800)]
dashdec: Support SegmentTemplate inside Period

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
6 years agodashdec: Avoid trying to read any segments beyond the last
sfan5 [Sun, 14 Jan 2018 15:01:45 +0000 (23:01 +0800)]
dashdec: Avoid trying to read any segments beyond the last

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
6 years agodashdec: Correct seeking behaviour
sfan5 [Sun, 14 Jan 2018 14:36:02 +0000 (22:36 +0800)]
dashdec: Correct seeking behaviour

dash_read_seek() is called only once to issue a seek
of *all* streams to the specified timestamp. But to
avoid reopening each stream, do a "dry run" for streams
that are in a discarded state.

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
6 years agodashdec: Search for segment timeline inside AdaptionSets too
sfan5 [Sun, 14 Jan 2018 14:35:31 +0000 (22:35 +0800)]
dashdec: Search for segment timeline inside AdaptionSets too

6 years agodashdec: Support for multiple video/audio streams
sfan5 [Sun, 14 Jan 2018 14:34:43 +0000 (22:34 +0800)]
dashdec: Support for multiple video/audio streams

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
6 years agodashdec: Expose bandwidth and representation ID as metadata
sfan5 [Sun, 14 Jan 2018 14:33:57 +0000 (22:33 +0800)]
dashdec: Expose bandwidth and representation ID as metadata

The primary goal was making it viable to play YouTube/Vimeo/... videos
using the native demuxer, since mpv currently uses a workaround in form
of Edit Decision Lists (EDL).

Implemented features:

1 Exposing id / bitrate as stream metadata (similar to the HLS demuxer)
2 Support for multiple video and audio streams
3 A few minor parts of the specification that are in use at YouTube

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
6 years agoavformat/adtsenc: allow only AAC streams
Gyan Doshi [Sun, 14 Jan 2018 12:00:23 +0000 (17:30 +0530)]
avformat/adtsenc: allow only AAC streams

The ADTS muxer will silently (attempt to) mux any audio stream passed to it.
Patch adds a codec check.

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavformat/adtsenc: add adts_init()
James Almer [Mon, 29 May 2017 21:12:51 +0000 (18:12 -0300)]
avformat/adtsenc: add adts_init()

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agodcaenc: move all tables inside context and fix incorrect coding style
Rostislav Pehlivanov [Sat, 13 Jan 2018 18:27:36 +0000 (18:27 +0000)]
dcaenc: move all tables inside context and fix incorrect coding style

Functionally identical to the old code, with less lines wasted.
Partially fixes the complete disregard for the 80 col/line guide.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agoavcodec/dcaenc: Use ffmpeg mdct instead of own implementation
Daniil Cherednik [Sun, 7 Jan 2018 22:39:22 +0000 (22:39 +0000)]
avcodec/dcaenc: Use ffmpeg mdct instead of own implementation

Signed-off-by: Daniil Cherednik <dan.cherednik@gmail.com>
6 years agodcaenc: cleanup on init failure and add a threadsafe init codec cap
Rostislav Pehlivanov [Sat, 13 Jan 2018 18:03:42 +0000 (18:03 +0000)]
dcaenc: cleanup on init failure and add a threadsafe init codec cap

The encoder didn't clean up if a malloc failed during init.
It also doesn't need any external tables to be initialized on init.
Finally, it didn't need to check for whether avctx->priv_data exists during
uninit.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agoopusenc_psy: Typo, use all coeffs in range for band tonality calculation
Daniil Cherednik [Tue, 9 Jan 2018 18:15:20 +0000 (21:15 +0300)]
opusenc_psy: Typo, use all coeffs in range for band tonality calculation

6 years agofate: remove the fate-aac-ltp-encode test
Rostislav Pehlivanov [Sat, 13 Jan 2018 12:03:49 +0000 (12:03 +0000)]
fate: remove the fate-aac-ltp-encode test

It tests a useless profile which sounds no better than regular aac and which
takes extremely long to encoder something. Also it has been behind experimental
flag for as long as it has been supported.
Should be removed altogether sometime in the future.

6 years agoaacenc: use the fast coder as the default
Rostislav Pehlivanov [Sat, 13 Jan 2018 11:46:29 +0000 (11:46 +0000)]
aacenc: use the fast coder as the default

The twoloop coder sounds decent at low bitrates, however at higher bitrates
it sounds worse than the fast coder (which used to be the old twoloop coder
before October 2015) and needs quite a lot more CPU.
Change the default to fast. It has been well tested and has had little changes
over the years so its been confirmed to be quite stable.
Also change its description (not valid for more than a year) and the
documentation.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agolavc/libx265: support all color parameters that x265 does
Rodger Combs [Mon, 18 Dec 2017 12:18:57 +0000 (06:18 -0600)]
lavc/libx265: support all color parameters that x265 does

6 years agoavfilter/vf_framerate: simplify filter
Marton Balint [Tue, 19 Dec 2017 22:49:41 +0000 (23:49 +0100)]
avfilter/vf_framerate: simplify filter

The framerate filter was quite convoluted with some filter_frame /
request_frame logic bugs. It seemed easier to rewrite the whole filter_frame /
request_frame part and also the frame interpolation ratio calculation part in
one step.

Notable changes:
- The filter now only stores 2 frames instead of 3
- filter_frame outputs all the frames it can to be able to handle consecutive
  filter_frame calls which previously caused early drops of buffered frames.
- because of this, request_frame is largely simplified and it only outputs
  frames on flush. Previously consecuitve request_frame calls could cause the
  filter to think it is in flush mode filling its buffer with the same frames
  causing a "ghost" effect on the output.
- PTS discontinuities are handled better
- frames with unknown PTS values are now dropped

Fixes ticket #4870.
Probably fixes ticket #5493.

Signed-off-by: Marton Balint <cus@passwd.hu>
6 years agoavcodec/utils: Avoid hardcoding duplicated types in sizeof()
Michael Niedermayer [Sat, 3 Jun 2017 23:53:58 +0000 (01:53 +0200)]
avcodec/utils: Avoid hardcoding duplicated types in sizeof()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/opus: Add {} over multiline if() body
Michael Niedermayer [Sun, 31 Dec 2017 21:47:38 +0000 (22:47 +0100)]
avcodec/opus: Add {} over multiline if() body

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/arm/sbrdsp_neon: Use a free register instead of putting 2 things in one
Michael Niedermayer [Thu, 11 Jan 2018 21:47:10 +0000 (22:47 +0100)]
avcodec/arm/sbrdsp_neon: Use a free register instead of putting 2 things in one

Fixes high pitched shriek
Fixes: 25420848_1478428308873746_4255813235963330560_n.mp4
Reported-by: Dale Curtis <dalecurtis@google.com>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavformat/http: fix memory leak in parse_cookie.
Richard Shaffer [Thu, 11 Jan 2018 22:28:52 +0000 (14:28 -0800)]
avformat/http: fix memory leak in parse_cookie.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/ffv1enc: mark RGB48 support as non-experimental
Jérôme Martinez [Fri, 5 Jan 2018 10:09:01 +0000 (11:09 +0100)]
avcodec/ffv1enc: mark RGB48 support as non-experimental

Resulting bitstream was tested with a conformance checker
using the last draft of FFV1 specifications.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Also the files are already in the wild, and decoder support is
thus needed. And with decoders widely supporting it, there is no
advantage in not allowing it in the encoder.
The exact bitstream format may change in future versions of the
spec, if improvments are found.

6 years agoavdevice/gdigrab: Fix screen size and mouse position calculations on hi-DPI screens
Harald Gaechter [Tue, 28 Nov 2017 08:59:02 +0000 (09:59 +0100)]
avdevice/gdigrab: Fix screen size and mouse position calculations on hi-DPI screens

Signed-off-by: Harald Gaechter <harald.gaechter@wolfvision.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavformat/libopenmpt: Update to libopenmpt 0.3 API
Jörn Heusipp [Thu, 11 Jan 2018 08:11:30 +0000 (09:11 +0100)]
avformat/libopenmpt: Update to libopenmpt 0.3 API

libopenmpt 0.3 deprecates openmpt_module_create_from_memory() and
provides a replacement function openmpt_module_create_from_memory2().

Detecting libopenmpt 0.3 can be done at build time via the API
version macros provided by libopenmpt. libopenmpt 0.2 did not provide
all required macros, however libopenmpt documents the required #define
shims that can be safely added for libopenmpt 0.2.

Using openmpt_module_create_from_memory2() instead of
openmpt_module_create_from_memory() avoids the deprecation warning
when building ffmpeg with libopenmpt 0.3.

openmpt_module_create_from_memory2() provides more fine-grained error
reporting and in particular allows distinguishing out-of-memory from
input file parsing errors. Return appropriate ffmpeg errors
accordingly.

libopenmpt 0.3 is ABI and API compatible with applications built
against libopenmpt 0.2. Building ffmpeg with libopenmpt 0.2 is still
supported.

Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavformat/libopenmpt: Fix mixed code and declarations
Jörn Heusipp [Thu, 11 Jan 2018 08:11:29 +0000 (09:11 +0100)]
avformat/libopenmpt: Fix mixed code and declarations

Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoexamples/vaapi_encode: Remove redundancy check when free context.
Jun Zhao [Thu, 11 Jan 2018 05:21:58 +0000 (13:21 +0800)]
examples/vaapi_encode: Remove redundancy check when free context.

avcodec_free_context have handle NULL pointer case, so caller doesn't
need to check the NULL before call this function.

Signe-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec: increase AV_INPUT_BUFFER_PADDING_SIZE to 64
James Almer [Sun, 7 Jan 2018 03:45:37 +0000 (00:45 -0300)]
avcodec: increase AV_INPUT_BUFFER_PADDING_SIZE to 64

AVX-512 support has been introduced, and even if no functions currently
use zmm registers (able to load as much as 64 bytes of consecutive data
per instruction), they will be added eventually.

Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavfilter/x86/vf_interlace : add AVX2 version
Martin Vignali [Sat, 30 Dec 2017 18:30:56 +0000 (19:30 +0100)]
avfilter/x86/vf_interlace : add AVX2 version

6 years agoavutil/mastering_display_metadata: fix copyright header wrongly formated as doxy
James Almer [Thu, 11 Jan 2018 14:35:51 +0000 (11:35 -0300)]
avutil/mastering_display_metadata: fix copyright header wrongly formated as doxy

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoconfigure: Simplify detection of static x264 on systems without pkg-config.
Carl Eugen Hoyos [Thu, 11 Jan 2018 10:12:38 +0000 (11:12 +0100)]
configure: Simplify detection of static x264 on systems without pkg-config.

Fixes a regression since 6dfcbd80.

6 years agoavformat/aiffdec: AIFF fix in case of ANNO
Eduard Sinelnikov [Mon, 8 Jan 2018 14:03:40 +0000 (14:03 +0000)]
avformat/aiffdec: AIFF fix in case of ANNO

Apple's AIFF protocol clearly states that each chucnk which is odd sized a padding should be added.
In the old version of aiffdec adding of padding was done in `get_meta`. And in case of unknown chunk name it was done in defalut case.
The new version has deleted the padding in default case and added padding adding after the switch.
But the new version didn't removed the padding adding in the `get_meta` function so in some cases padding was added twice which leaded to a bug.

Fixes: sample.aiff
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agovf_program_opencl: Add missing error code returns
Mark Thompson [Wed, 10 Jan 2018 23:27:19 +0000 (23:27 +0000)]
vf_program_opencl: Add missing error code returns

Fixes CID #1427285.

6 years agovf_overlay_opencl: Don't leak output frame on error
Mark Thompson [Wed, 10 Jan 2018 23:25:56 +0000 (23:25 +0000)]
vf_overlay_opencl: Don't leak output frame on error

Fixes CID #1423277.

6 years agodoc/filters: fix error in aiir options names
Paul B Mahol [Wed, 10 Jan 2018 19:32:22 +0000 (20:32 +0100)]
doc/filters: fix error in aiir options names

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavfilter/af_aiir: add polar zeros/poles format variant
Paul B Mahol [Wed, 10 Jan 2018 19:25:50 +0000 (20:25 +0100)]
avfilter/af_aiir: add polar zeros/poles format variant

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavfilter/af_aiir: unbreak clipping detection
Paul B Mahol [Wed, 10 Jan 2018 18:24:41 +0000 (19:24 +0100)]
avfilter/af_aiir: unbreak clipping detection

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agodoc/filters: fix examples for aiir filter
Paul B Mahol [Wed, 10 Jan 2018 17:46:29 +0000 (18:46 +0100)]
doc/filters: fix examples for aiir filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavfilter/af_aiir: do not leak memory on failure in convert_zp2tf()
Paul B Mahol [Wed, 10 Jan 2018 17:38:01 +0000 (18:38 +0100)]
avfilter/af_aiir: do not leak memory on failure in convert_zp2tf()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavformat/wavdec: make fact chunk parsing for w64 more robust
Paul B Mahol [Wed, 10 Jan 2018 14:51:27 +0000 (15:51 +0100)]
avformat/wavdec: make fact chunk parsing for w64 more robust

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoconfigure: don't use SDL.h in check_func_headers when checking for SDL2
James Almer [Sun, 7 Jan 2018 20:58:33 +0000 (17:58 -0300)]
configure: don't use SDL.h in check_func_headers when checking for SDL2

check_func_headers() defines a main() function, which clashes with a
redefinition done by said SDL header. Check for SDL_PollEvent using
SDL_events.h only instead, where the redefinition doesn't happen.

Fixes a regression since d03c39b46b21c893d6549a532289b7fb9935b3fc.

Tested-by: RiCON
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agodoc/filters: update aiir filter documentation
Paul B Mahol [Tue, 9 Jan 2018 17:01:44 +0000 (18:01 +0100)]
doc/filters: update aiir filter documentation

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavfilter/af_aiir: refactor code so it uses IIRChannel struct
Paul B Mahol [Tue, 9 Jan 2018 16:46:27 +0000 (17:46 +0100)]
avfilter/af_aiir: refactor code so it uses IIRChannel struct

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavresample: remove deprecated attribute from the AVAudioResampleContext struct
James Almer [Thu, 4 Jan 2018 18:35:59 +0000 (15:35 -0300)]
avresample: remove deprecated attribute from the AVAudioResampleContext struct

Having all the public functions marked as deprecated is enough.

This gets rid of a warning spam when compiling any file including
libavresample/avresample.h even when avresample is not enabled, like
it's the case with fftools/cmdutils.c

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavfilter/af_aiir: make default processing to serially cascaded
Paul B Mahol [Tue, 9 Jan 2018 11:55:49 +0000 (12:55 +0100)]
avfilter/af_aiir: make default processing to serially cascaded

Also add several helpfull log messages.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavfilter/af_aiir: add slice threading support
Paul B Mahol [Tue, 9 Jan 2018 09:32:14 +0000 (10:32 +0100)]
avfilter/af_aiir: add slice threading support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavfilter/af_aiir: add cascaded biquads support
Paul B Mahol [Mon, 8 Jan 2018 20:14:23 +0000 (21:14 +0100)]
avfilter/af_aiir: add cascaded biquads support

Also add precision option.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agodoc/filters: correct typo in psnr filter docs
Kyle Swanson [Tue, 9 Jan 2018 00:35:23 +0000 (16:35 -0800)]
doc/filters: correct typo in psnr filter docs

Signed-off-by: Kyle Swanson <k@ylo.ph>
6 years agoavcodec/h264addpx_template: Fixes integer overflows
Michael Niedermayer [Sun, 7 Jan 2018 02:48:43 +0000 (03:48 +0100)]
avcodec/h264addpx_template: Fixes integer overflows

Fixes: signed integer overflow: 512 + 2147483491 cannot be represented in type 'int'
Fixes: 4780/clusterfuzz-testcase-minimized-4709066174627840
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/dirac_dwt: Fix overflows in COMPOSE_HAARiH0/COMPOSE_HAARiL0
Michael Niedermayer [Sun, 7 Jan 2018 19:58:49 +0000 (20:58 +0100)]
avcodec/dirac_dwt: Fix overflows in COMPOSE_HAARiH0/COMPOSE_HAARiL0

Fixes: 4830/clusterfuzz-testcase-minimized-5255392054476800
Fixes: signed integer overflow: 2147483646 - -7 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/diracdec: Fix integer overflow with quant
Michael Niedermayer [Sun, 7 Jan 2018 19:43:24 +0000 (20:43 +0100)]
avcodec/diracdec: Fix integer overflow with quant

Fixes: signed integer overflow: 2 + 2147483646 cannot be represented in type 'int'
Fixes: 4792/clusterfuzz-testcase-minimized-6322450775146496
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/opus_parser: Check payload_len in parse_opus_ts_header()
Michael Niedermayer [Fri, 5 Jan 2018 21:12:07 +0000 (22:12 +0100)]
avcodec/opus_parser: Check payload_len in parse_opus_ts_header()

Fixes: clusterfuzz-testcase-minimized-6134545979277312
Fixes: crbug 797469
Reported-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavcodec/jpeg2000dsp: Fix integer overflows in ict_int()
Michael Niedermayer [Sun, 7 Jan 2018 03:12:57 +0000 (04:12 +0100)]
avcodec/jpeg2000dsp: Fix integer overflows in ict_int()

Fixes: signed integer overflow: 46802 * -71230 cannot be represented in type 'int'
Fixes: 4756/clusterfuzz-testcase-minimized-4812495563784192
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 agolavf/oggparseogm: Remove an unneeded include.
Carl Eugen Hoyos [Mon, 8 Jan 2018 13:36:18 +0000 (14:36 +0100)]
lavf/oggparseogm: Remove an unneeded include.

Forgotten in e8f7171a

6 years agolavf/oggparseogm: Remove an unneeded assert.
Carl Eugen Hoyos [Mon, 8 Jan 2018 12:20:13 +0000 (13:20 +0100)]
lavf/oggparseogm: Remove an unneeded assert.

Suggested-by: Reimar
6 years agoavfilter/af_aiir: do not forget to free gains too
Paul B Mahol [Mon, 8 Jan 2018 10:22:21 +0000 (11:22 +0100)]
avfilter/af_aiir: do not forget to free gains too

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavfilter/af_aiir: fix typo which may cause overread
Paul B Mahol [Mon, 8 Jan 2018 07:43:42 +0000 (08:43 +0100)]
avfilter/af_aiir: fix typo which may cause overread

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agofate/filter-video: fix 12 bit framerate filter tests on big endian targets
James Almer [Sun, 7 Jan 2018 03:28:44 +0000 (00:28 -0300)]
fate/filter-video: fix 12 bit framerate filter tests on big endian targets

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agodoc/filters: Document OpenCL program filters
Mark Thompson [Wed, 3 Jan 2018 22:43:53 +0000 (22:43 +0000)]
doc/filters: Document OpenCL program filters

Include some example programs.

6 years agolavfi: Add filters to run arbitrary OpenCL programs
Mark Thompson [Tue, 2 Jan 2018 23:17:32 +0000 (23:17 +0000)]
lavfi: Add filters to run arbitrary OpenCL programs

6 years agolavfi/opencl: Use filter device if no input device is available
Mark Thompson [Tue, 2 Jan 2018 23:12:57 +0000 (23:12 +0000)]
lavfi/opencl: Use filter device if no input device is available

This allows implementing sources as well as filters.

6 years agofftools/ffmpeg_opt: Remove a write-only variable.
Carl Eugen Hoyos [Sun, 7 Jan 2018 23:17:00 +0000 (00:17 +0100)]
fftools/ffmpeg_opt: Remove a write-only variable.

Fixes a warning:
fftools/ffmpeg_opt.c:2057:21: warning: variable 'file_oformat' set but not used

6 years agoavfilter/af_aiir: rename options, provide gains in separate option
Paul B Mahol [Sun, 7 Jan 2018 20:16:25 +0000 (21:16 +0100)]
avfilter/af_aiir: rename options, provide gains in separate option

This way it can be also used for other format.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavfilter/af_aiir: add support for alternative coefficients format
Paul B Mahol [Sun, 7 Jan 2018 08:43:50 +0000 (09:43 +0100)]
avfilter/af_aiir: add support for alternative coefficients format

Support for zeros/poles syntax on Z-plane.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoavcodec/h264_slice: Do not attempt to render into frames already output
Michael Niedermayer [Wed, 3 Jan 2018 22:42:01 +0000 (23:42 +0100)]
avcodec/h264_slice: Do not attempt to render into frames already output

Fixes: null pointer dereference
Fixes: 4698/clusterfuzz-testcase-minimized-5096956322906112
This testcase does not reproduce the issue before 03b82b3ab9883cef017e513c7d0b3b986b3b3e7b

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 agocompat/os2threads: support static mutexes
KO Myung-Hun [Thu, 28 Dec 2017 13:03:56 +0000 (22:03 +0900)]
compat/os2threads: support static mutexes

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoconfigure: check SDL2 function with a header
KO Myung-Hun [Thu, 28 Dec 2017 14:41:30 +0000 (23:41 +0900)]
configure: check SDL2 function with a header

SDL2 uses SDLCALL to specify a calling convention. On OS/2, it's defined
to `_System' which is similar to `_cdecl' but does not prepend '_'.

After all, without a header, a function is used without `_System'. And
linker will try to `_func' but fail because the function is `func' not
`_func'.

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoconfigure: remove check for SA_RESTART
James Almer [Sun, 7 Jan 2018 01:22:12 +0000 (22:22 -0300)]
configure: remove check for SA_RESTART

It's not used anymore.

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agofate: remove ffm reference files
James Almer [Sun, 7 Jan 2018 01:21:35 +0000 (22:21 -0300)]
fate: remove ffm reference files

Missed in c17f4761443b471f47fa8f0a5bcff078cdff9479 and
8bbd8c8d52dbcb15773717d3512f8fb68e860bf2

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoChangelog: add VideoToolbox HEVC support
Aman Gupta [Sat, 6 Jan 2018 23:30:07 +0000 (15:30 -0800)]
Changelog: add VideoToolbox HEVC support

Signed-off-by: Aman Gupta <aman@tmm1.net>
6 years agolavc/mediacodec_wrapper: allocate MediaCodec.BufferInfo once
Matthieu Bouron [Wed, 3 Jan 2018 12:54:34 +0000 (13:54 +0100)]
lavc/mediacodec_wrapper: allocate MediaCodec.BufferInfo once

6 years agolavc/mediacodecdec: remove mediacodec_process_data() indirection
Matthieu Bouron [Wed, 3 Jan 2018 12:10:58 +0000 (13:10 +0100)]
lavc/mediacodecdec: remove mediacodec_process_data() indirection

6 years agolavc/mediacodecdec: switch to new decoding API
Aman Gupta [Fri, 29 Dec 2017 01:33:14 +0000 (17:33 -0800)]
lavc/mediacodecdec: switch to new decoding API

Using the new API gives the decoder the ability to produce
N frames per input packet. This is particularly useful with
mpeg2 decoders on some android devices, which automatically
deinterlace video and produce one frame per field.

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
6 years agofate: remove missing references to ffm
James Almer [Sat, 6 Jan 2018 19:14:52 +0000 (16:14 -0300)]
fate: remove missing references to ffm

Missed in c17f4761443b471f47fa8f0a5bcff078cdff9479.

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agolibavformat/network: fix function duplication
Rostislav Pehlivanov [Sat, 6 Jan 2018 18:59:46 +0000 (18:59 +0000)]
libavformat/network: fix function duplication

Since the function used to be exposed for ffserver's sake, it was renamed
to the same name as a system's aton function which caused a collision.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agolibavformat/mpjpeg: use "ffmpeg" instead of "ffserver" as boundary tag
Rostislav Pehlivanov [Sat, 21 Oct 2017 18:52:04 +0000 (19:52 +0100)]
libavformat/mpjpeg: use "ffmpeg" instead of "ffserver" as boundary tag

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agolibavformat: unexpose private ff_ functions needed by ffserver
Rostislav Pehlivanov [Sat, 6 Jan 2018 18:37:06 +0000 (18:37 +0000)]
libavformat: unexpose private ff_ functions needed by ffserver

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agolibavformat: remove the ff_rtp_get_local_rtcp_port function
Rostislav Pehlivanov [Sat, 21 Oct 2017 18:45:09 +0000 (19:45 +0100)]
libavformat: remove the ff_rtp_get_local_rtcp_port function

Only used by ffserver

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agolibavformat: unexpose the ff_inet_aton function
Rostislav Pehlivanov [Sat, 21 Oct 2017 18:40:50 +0000 (19:40 +0100)]
libavformat: unexpose the ff_inet_aton function

Used only by ffserver.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agolibavformat: remove the ffmenc and ffmdec muxer and demuxers
Rostislav Pehlivanov [Sat, 21 Oct 2017 18:38:59 +0000 (19:38 +0100)]
libavformat: remove the ffmenc and ffmdec muxer and demuxers

Used only by ffserver.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agoRemove the ffserver program
Rostislav Pehlivanov [Sat, 21 Oct 2017 18:31:44 +0000 (19:31 +0100)]
Remove the ffserver program

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
6 years agoavcodec/rkmpp : remove stream start retries before first frame.
LongChair [Tue, 2 Jan 2018 11:38:01 +0000 (12:38 +0100)]
avcodec/rkmpp : remove stream start retries before first frame.

those were needed because of some odd mpp behavior that seems to have
been fixed.

Makes the code cleaner.

Signed-off-by: wm4 <nfxjfg@googlemail.com>
6 years agoavcodec/rkmpp : Fix broken build due to missing control operation
LongChair [Sat, 6 Jan 2018 08:36:58 +0000 (09:36 +0100)]
avcodec/rkmpp : Fix broken build due to missing control operation

This patch is taking care of https://trac.ffmpeg.org/ticket/6834.
It seems that one of the control operations that was available to get
the free decoders input slots was removed.

There is another control operation to retrieve the used slots. Given
that the input slot count is hardcoded to 4 in mpp at this point,
replacing the old control operation by the other one.

This was tested on Rockchip ROCK64.

Signed-off-by: wm4 <nfxjfg@googlemail.com>
6 years agotools/uncoded_frame: remove use of AVStream.codec.
Nicolas George [Sat, 6 Jan 2018 13:34:00 +0000 (14:34 +0100)]
tools/uncoded_frame: remove use of AVStream.codec.

6 years agotools/uncoded_frame: use buffersink accessors.
Nicolas George [Sat, 6 Jan 2018 13:14:04 +0000 (14:14 +0100)]
tools/uncoded_frame: use buffersink accessors.

No longer access buffersink's link structure directly.

6 years agoavfilter: deprecate avfilter_link_get_channels()
James Almer [Fri, 5 Jan 2018 20:49:09 +0000 (17:49 -0300)]
avfilter: deprecate avfilter_link_get_channels()

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoavfilter/av_biquads: scale a0 too
Paul B Mahol [Sat, 6 Jan 2018 13:58:00 +0000 (14:58 +0100)]
avfilter/av_biquads: scale a0 too

Fixes bug when using commands to alter coefficients.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agoaiff: add explicit goto got_sound
Misty De Meo [Fri, 5 Jan 2018 09:06:49 +0000 (20:06 +1100)]
aiff: add explicit goto got_sound

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