Commit Graph
100 Commits
Author SHA1 Message Date
Luca Barbato 899ee03088 Unbreak travis on macos 2019-02-19 10:05:10 +01:00
Luca Barbato 90adbf4abf cook: Use the correct table for 6-bit stereo coupling
Thanks to Kostya for digging it out and telling me.
2019-01-17 14:58:03 +01:00
Luca Barbato f89ec87afa frame: Simplify the video allocation 2018-08-05 22:45:08 +02:00
Luca Barbato 43778a501f Support AV1 encoding using libaom 2018-03-12 12:10:33 +01:00
Luca Barbato c438899a70 Add AV1 video decoding support through libaom
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2018-03-12 08:12:43 +01:00
Luca Barbato 44a1731011 ivf: Support VP9 and AV1 as well 2018-03-12 08:12:43 +01:00
Luca Barbato aeaa108baf hls: Add a discontinuity marker on recover
It seems to improve the compatibility with the js demuxers.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2018-03-06 20:59:40 +01:00
Luca Barbato c6558e8840 x264: Support version 153
It has native simultaneus 8 and 10 bit support.
2017-12-27 15:59:45 +00:00
Luca Barbato 5083785566 qsv: Support explicit lookahead downscaling 2017-12-12 15:43:02 +00:00
Luca Barbato 0e702124ee doc: Provide better examples for hls and segment muxing
Some encoders do not output further IDRs if not requested to.
2017-10-27 19:52:48 +02:00
Luca Barbato 98afe3fb71 qsv: Make the hevc idr_interval consistent with the h264 one
According to the MediaSDK documentation the idr_interval value has
a different meaning depending on the codec:

    0 in H264 means make every I-frame IDR, in HEVC it means to have
    it only at the beginning.

    1 in H264 means every other I-frame is not-IDR, in HEVC it means
    that every I-frame is IDR.

Keep the behaviour consistent between the two encoders by increasing
by 1 internally the idr_interval value for HEVC.
2017-10-18 11:55:44 +00:00
Luca Barbato 077011b5af qsv: Expose idr_interval for hevc as well 2017-10-14 19:22:58 +00:00
Luca Barbato abb5efca26 configure: Fix sem_timedwait probe
(cherry-picked from libav commit 41262498ff)
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-12 20:28:10 -03:00
Luca Barbato 1e27837265 rtsp: Move message parsing to a separate function
Make easier to handle the polling function before we implement
full threading support.

(cherry picked from libav commit ca960161f0)
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-06 00:22:10 -03:00
Luca Barbato ea25ccd1b2 qsv: Join the derived session to the parent
Should improve the performance on multiple transcoding from a single
source.
2017-09-27 12:27:34 +00:00
Luca Barbato ccbb31c14b qsv: Make sure the session is set with the latest version
It is needed to have the calls to MFXJoinSession succeed.
2017-09-27 12:27:34 +00:00
Luca Barbato b05128f3c9 qsv: Load the hw hevc plugin by default on Linux
Only on Windows the software plugin is available.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-09-11 17:17:56 +02:00
Luca Barbato 0c99b900d8 png: Support RGBA64 pixel format 2017-08-21 09:23:44 +02:00
Luca Barbato 9f5b77c16f png: Report more details regarding unsupported pixel formats 2017-08-21 09:23:44 +02:00
Luca Barbato 0f5ad12ba2 flac: Use a local cache for decode_residual()
About an additional 4% speedup.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-07-09 20:51:24 +02:00
Luca Barbato 15f1cc09a4 flac: Postpone unlikely condition checks
About 2% speedup on gcc-6.3.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-07-09 20:49:57 +02:00
Luca Barbato 79f64f7ebc bitstream: Avoid undefined behavior in bitstream_skip()
Do not use skip_remaining() to fully wipe the cache, as this could do
a 64-bit shift of a 64-bit variable which is undefined behavior in C.
Instead set the related variables to zero directly.

Thanks to Uoti for pointing out the problem.

CC: libav-stable@libav.org
2017-07-09 12:56:15 +02:00
Luca Barbato 19bf50406e configure: Move up the avbuild directory creation
The early check for inconsistent in-source vs out-of-source build
cannot generate a config.log otherwise.

(Cherry-picked from libav commit 0ee78020cd)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-20 20:40:52 -03:00
Luca Barbato c5c76370ae doc: Drop the legacy symlink to README
Windows does not like symlinks and README.md is pretty common nowadays.
2017-06-19 11:23:43 +02:00
Luca Barbato 16cb06bb30 hlsenc: Support recovery from an already present playlist
Parse the playlist to recover the start sequence and previously
generated segments and continue muxing from there.

Mainly useful for near-seamless recovery in live scenarios.
2017-05-31 14:22:52 +02:00
Luca Barbato 91622f6446 avconv: Always initialize the opkt struct on streamcopy 2017-05-31 12:51:55 +02:00
Luca Barbato 6a7e928555 configure: Do not check for the __builtin_vec_vsx_ld
Clang support for Altivec/VSX uses a different approach.
2017-05-29 13:40:47 +02:00
Luca Barbato 0ac1fec1c3 bitstream: Move VLC reading functions into the vlc.h header
This makes the bitstream.h header leaner.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-05-02 18:39:10 +02:00
Luca Barbato 73fc82f343 vlc: Add header #include when the types are used
Do not rely on indirectly including it from bitstream.h.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-05-02 18:38:26 +02:00
Luca Barbato c55f2ae2b8 avprobe: Handle unknown values for the color description
print_str() cannot print NULL.

Bug-Id: 1040
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-04-25 00:38:07 +02:00
Luca Barbato 8c0cadd17e avplay: Do not try to allocate new frames when the player is closing
The allocation event can trigger while the decoding thread is already
closing.

Bug-Id: 1052
CC: libav-stable@libav.org
2017-04-25 00:38:07 +02:00
Luca Barbato 41262498ff configure: Fix sem_timedwait probe
It requires pthreads.
2017-04-25 00:38:07 +02:00
Luca Barbato 44aafa3325 configure: Properly escape arguments in filter/filter_out helper functions
The arguments may contain '$', which gets interpreted by the shell.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-04-25 00:38:07 +02:00
Luca Barbato 1731c3530b mm: Skip unexpected audio packets
Bug-Id: 1046
CC: libav-stable@libav.org
2017-04-20 15:39:18 +00:00
Luca Barbato f2c469b73f mjpeg: Report non-3 component rgb lossless as not supported
Bug-Id: 1043
CC: libav-stable@libav.org
2017-04-20 15:39:18 +00:00
Luca Barbato 279e3aaa14 flv: Validate the packet size
Size can be negative at that point.

Bug-Id: 1041
CC: libav-stable@libav.org
2017-04-20 15:39:18 +00:00
Luca Barbato 4809781586 travis: Exclude gcc for the macOS target
On a normal macOS setup, 'gcc' is a symlink to clang. Therefore there is
little point in running the tests twice, with CC=gcc and CC=clang.
2017-04-20 12:53:08 +02:00
Luca Barbato 5352802da8 dca: Account for lfe when checking for the channel count
Bug-Id: 1037
CC: libav-stable@libav.org
2017-04-19 17:55:42 -04:00
Luca Barbato 37f573543c swscale: Convert the check check_image_pointers helper to a macro
Avoid warnings about types mismatch and make the code a little simpler.
2017-04-15 15:37:18 +02:00
Luca Barbato f56fa95cd1 swscale: Do not shift negative values directly
It is undefined in C as reported:
    warning: shifting a negative signed value is undefined
2017-04-15 15:37:18 +02:00
Luca Barbato 9e4a5eb51b avformat: Free the internal codec context at the end
Avoid a use after free in avformat_find_stream_info.

CC: libav-stable@libav.org
2017-04-13 13:37:10 +02:00
Luca Barbato 19c5fa9eea golomb: Simplify get_ur_golomb_jpegls
The loop always consumes the bit read and the new bitstream reader
can read 0 bits just fine.
2017-04-13 13:37:10 +02:00
Luca Barbato d32d59bc97 matroska: Read only the data written in the scratch buffer
The private buffer is 20bytes but depending on the type only 12 bytes
are actually filled.
2017-04-10 10:16:40 +02:00
Luca Barbato 8c616b3b89 avplay: Use the named syntax for buffersrc arguments
Avoid confusion.
2017-03-23 12:52:58 +01:00
Luca Barbato a46a4f722d dca: Refactor dca_filter_channels() a little
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-03-21 12:08:52 +01:00
Luca Barbato e245d4f45c dca: Validate the channel map
Having a mismatch between the number of channels in the stream and those
in the channel map will lead to a segfault or worse.

Bug-Id: 1016

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-03-21 12:08:49 +01:00
Luca Barbato ca960161f0 rtsp: Move message parsing to a separate function
Make easier to handle the polling function before we implement
full threading support.
2017-03-21 04:23:41 +01:00
Luca Barbato bd805964f4 configure: Do not treat JACK as a system library
JACK is not commonly installed and should not be picked up as a
dependency unless specifically requested.
2017-03-21 04:23:41 +01:00
Luca Barbato 0d8013b88b configure: Replace -no_weak_symbols with -Werror=partial-availability
Jack uses weak symbols on purpose.
2017-03-15 20:24:52 +01:00
Luca Barbato 81bffae368 configure: Check for -no_weak_imports in ldflags on macOS
Recent versions of macOS provide more POSIX API (in particular,
clock_gettime) than previous versions and recent Apple toolchains
provide all that API, even when targeting older releases without
said API. Disallow linking to functions which might not be available
at runtime.

To actually have an effect, either add
--extra-cflags="-mmacosx-version-min=10.11" (or any other version
prior to 10.12) or set MACOSX_DEPLOYMENT_TARGET=10.11 when running
configure.

As a workaround for libav versions without this fix, one can
also add --extra-cflags="-mmacosx-version-min=10.11
-Werror=partial-availability" while running configure.

The -no_weak_imports flag is new in Xcode 8; in Xcode 7 it is not
supported. This is not an issue since Xcode 7 only ships with the
10.11 macOS SDK, which lacks clock_gettime.

Bug-Id: 1033

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2017-03-07 09:48:55 +02:00
Luca Barbato 79331df362 rtsp: Lazily set up the pollfd array once 2017-02-28 12:54:04 +01:00
Luca Barbato 5263f464db rtsp: Lazily allocate the pollfd array
And use av_malloc_array.
2017-02-27 13:51:53 +01:00
Luca Barbato b9b82151a1 rtsp: Move the pollfd setup out of the for loop 2017-02-27 13:51:53 +01:00
Luca Barbato 150e99d694 rtsp: Factor out packet reading 2017-02-27 13:51:53 +01:00
Luca Barbato 04d2afa93b mkv: Update the seek test to match 5d3953a5dc 2017-02-22 10:15:00 +01:00
Luca Barbato b446f0e98f mov: Do not try to parse multiple stsd for the same track
Bug-Id: 1017
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-02-15 00:40:00 +01:00
Luca Barbato 9c2d36fcaf dv: Convert to the new bitstream reader 2017-02-11 20:29:44 +01:00
Luca Barbato ba30b74686 aac: Validate the sbr sample rate before using the value
Avoid a floating point exception.

Bug-Id: 1027
CC: libav-stable@libav.org
2017-02-11 20:23:11 +01:00
Luca Barbato 0ee78020cd configure: Move up the avbuild directory creation
The early check for inconsistent in-source vs out-of-source build
cannot generate a config.log otherwise.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-02-11 15:47:43 +01:00
Luca Barbato b6093e8c72 hlsenc: Correctly write down all 16 bytes in hex
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-02-10 14:12:16 +01:00
Luca Barbato 11e225db31 rtmp: Account for bytes_read wraparound
Servers seem to be happy to receive the wrapped-around value as long
as they receive a report, otherwise they timeout.

Initially reported and analyzed by Thomas Bernhard.
2017-01-29 18:10:44 +01:00
Luca Barbato 562ef82d6a fifo: Return the correct AVERROR value 2017-01-26 10:25:20 +01:00
Luca Barbato fb59f87ce7 nvenc: Explicitly push the cuda context on encoding
Make sure that NVENC does not misbehave if other cuda usages happen
in the application.
2017-01-17 07:37:12 +01:00
Luca Barbato 44129e3804 avconv: Do not pass NULL to avio_tell
The null demuxer does not have a backing AVIOContext.
2017-01-13 08:42:11 +01:00
Luca Barbato f8f7ad758d qsv: Set the correct range for la_depth
Setting an invalid range for it makes the encoder behave inconsistently.
2017-01-13 08:42:10 +01:00
Luca Barbato 3f75e5116b avio: Keep track of the amount of data written
Make avio_size() work with any write AVIOContext.
2016-12-08 15:58:28 -05:00
Luca Barbato 518a22471e configure: Be more helpful when requiring options set
Be explicit about which options should be set.
2016-12-02 12:00:07 -05:00
Luca Barbato d0c84c41d3 avconv: Fix the audio next dts computation
Use the correct timebase.

CC: libav-stable@libav.org
2016-11-29 10:38:01 +01:00
Luca Barbato 3c7fa8cbb9 hlsenc: Fix the openssl support 2016-11-18 11:18:58 +01:00
Luca Barbato adb0e941c3 avpacket: Mark src pointer as constant 2016-11-17 19:41:12 +01:00
Luca Barbato 0a4b9d0ccd hlsenc: Add encryption support
Partially based on Christian Suloway <csuloway@globaleagleent.com> work.
2016-11-17 19:19:55 +01:00
Luca Barbato 19be5fb728 swscale: Add GRAY12
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-10 00:49:29 +01:00
Luca Barbato 638b216d4f pixfmt: Add GRAY12
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-10 00:42:48 +01:00
Luca Barbato 2c7d8cbd66 swscale: Add the GBRAP12 output
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-10 00:33:12 +01:00
Luca Barbato ab839054e6 swscale: Add GRAY12 2016-11-07 22:42:00 +01:00
Luca Barbato 7471352f19 pixfmt: Add GRAY12 2016-11-07 22:42:00 +01:00
Luca Barbato dad7514f9e xcb: Add all the libraries to the link line explicitly
Avoid an underlink issue on recent distributions.

CC: libav-stable@libav.org
2016-10-30 21:55:03 +01:00
Luca Barbato c541a44e02 Revert "rtmpproto: Don't include a client version in the unencrypted C1 handshake"
This reverts commit 7d8d726be7.
2016-10-30 21:55:03 +01:00
Luca Barbato 801ac7156d qsv: Be informative when reporting that no data has been consumed 2016-10-30 21:55:03 +01:00
Luca Barbato 052b97855d aviocat: Support avio options
Useful to test protocols that require options to be used.
2016-10-25 15:43:56 +02:00
Luca Barbato da4f8c8e35 fate: Update filter-pixfmts-scale gbrap12le hash missing from be9dba5c8a
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-10-18 20:34:55 +02:00
Luca Barbato 881477c77b swscale: Add the GBRAP12 output 2016-10-12 21:33:34 +02:00
Luca Barbato ef3740c3a0 swscale: Enable GBRP12 output 2016-10-12 18:00:24 +02:00
Luca Barbato b015872c0d huffyuvdsp: Enable the altivec code for PPC little-endian as well
Confirmed to work by checkasm.
2016-10-02 17:13:36 +02:00
Luca Barbato 1d25a86902 huffyuvdsp: Reenable PPC optimizations 2016-10-02 17:13:36 +02:00
Luca Barbato 0e8d1fc1f0 lavu: Bump version for the 12bit Planar YUV support 2016-09-27 18:48:30 +02:00
Luca Barbato 2b5b1e1e9b swscale: Rename is9_OR_10 to match what it does
It is used to select functions that work with 9-15bits.
2016-09-27 18:48:30 +02:00
Luca Barbato 9bd6ea5695 pixfmt: Add yuv444p12 pixel format 2016-09-27 18:48:30 +02:00
Luca Barbato 0aebbbd024 pixfmt: Add yuv422p12 pixel format 2016-09-27 18:48:30 +02:00
Luca Barbato 85406e7a8d pixfmt: Add yuv420p12 pixel format 2016-09-27 18:48:30 +02:00
Luca Barbato e87a501e7d swscale: Update bitdepth range check
Make sure the scaling functions for the 9-15bits are used for
9-15bits bit depths correctly.
2016-09-27 17:17:54 +02:00
Luca Barbato 352741b5ea nvenc: Make sure that enum and array index match
And use a macro to reduce the boilerplate.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-09-24 18:08:54 +02:00
Luca Barbato caccb3a0cd audiodsp: ppc: Add VSX variant
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-09-11 19:19:41 +02:00
Luca Barbato e89cef4050 checkasm: Read the unsigned value as it should
Reading a value larger than int using atoi() may give the wrong result.
2016-09-11 14:12:18 +02:00
Luca Barbato 963b3ab11f doc: Document FATE option HWACCEL 2016-08-26 09:21:59 +02:00
Luca Barbato d42809f983 av1: Add codec_id and basic demuxing support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-08-24 14:45:08 +02:00
Luca Barbato 24130234cd rtpdec_mpeg4: validate fmtp fields 2016-08-23 18:58:10 +02:00
Luca Barbato f6d2fed811 avconv: Make sure that inputless filtergraphs are configured
Unbreak `avconv -filter_complex testsrc`.

Regression introduced in a3a0230a98
2016-08-12 11:41:58 +02:00
Luca Barbato 602abe77b0 avconv: Check the fifo allocation 2016-08-12 11:41:58 +02:00
Luca Barbato 8495d84f01 ac3dec: Add some inline hints
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-07-29 18:46:48 +02:00