6 years agoavconv: add support for Intel QSV-accelerated transcoding
Anton Khirnov [Tue, 13 Oct 2015 12:11:35 +0000 (14:11 +0200)]
avconv: add support for Intel QSV-accelerated transcoding

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoqsvenc: add an API for allocating opaque surfaces
Anton Khirnov [Sun, 11 Oct 2015 20:02:26 +0000 (22:02 +0200)]
qsvenc: add an API for allocating opaque surfaces

6 years agoqsvenc: cosmetics, reindent
Anton Khirnov [Thu, 1 Oct 2015 17:42:33 +0000 (19:42 +0200)]
qsvenc: cosmetics, reindent

6 years agoqsvenc: set the timestamp for PIX_FMT_QSV frames as well
Anton Khirnov [Thu, 1 Oct 2015 17:41:56 +0000 (19:41 +0200)]
qsvenc: set the timestamp for PIX_FMT_QSV frames as well

6 years agoqsvenc: support passing arbitrary external buffers to the encoder
Anton Khirnov [Wed, 5 Aug 2015 13:22:34 +0000 (15:22 +0200)]
qsvenc: support passing arbitrary external buffers to the encoder

6 years agow32pthreads: fix mingw build on x86 with -msse2 or higher
Hendrik Leppkes [Wed, 14 Oct 2015 21:18:17 +0000 (23:18 +0200)]
w32pthreads: fix mingw build on x86 with -msse2 or higher

When SSE2 or higher compiler optimizations are used, mingw uses
the _mm_mfence intrinsic for MemoryBarrier, however it doesn't include
the appropriate headers automatically.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agowrapped_avframe: Drop a now-unused variable
Luca Barbato [Fri, 16 Oct 2015 12:45:45 +0000 (14:45 +0200)]
wrapped_avframe: Drop a now-unused variable

6 years agompeg12: Unbreak building stale code
Luca Barbato [Fri, 16 Oct 2015 06:45:04 +0000 (08:45 +0200)]
mpeg12: Unbreak building stale code

Broken in 2d59159508c5c1830cc5da907a9454e229077320

6 years agoaac: Make codec init run under ff_thread_once
Derek Buitenhuis [Wed, 14 Oct 2015 18:24:35 +0000 (14:24 -0400)]
aac: Make codec init run under ff_thread_once

This makes AAC init threadsafe.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6 years agofate: Move screenpresso to the appropriate screen capture file
Vittorio Giovara [Wed, 14 Oct 2015 13:13:11 +0000 (15:13 +0200)]
fate: Move screenpresso to the appropriate screen capture file

6 years agolavc: AV-prefix a few left out capabilities
Vittorio Giovara [Wed, 14 Oct 2015 13:08:49 +0000 (15:08 +0200)]
lavc: AV-prefix a few left out capabilities

6 years agocmdutils: Print general codec capabilities
Vittorio Giovara [Wed, 14 Oct 2015 13:07:10 +0000 (15:07 +0200)]
cmdutils: Print general codec capabilities

6 years agocmdutils: Add auto to threading capabilities report
Vittorio Giovara [Wed, 14 Oct 2015 13:07:09 +0000 (15:07 +0200)]
cmdutils: Add auto to threading capabilities report

And use 'none' when such capabilities are not set.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agoh264: Run VLC init under pthread_once
Derek Buitenhuis [Wed, 7 Oct 2015 16:33:01 +0000 (12:33 -0400)]
h264: Run VLC init under pthread_once

This makes the h.264 decoder threadsafe to initialize.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agothread: Provide no-op variants for pthread_once
Luca Barbato [Wed, 7 Oct 2015 20:43:38 +0000 (22:43 +0200)]
thread: Provide no-op variants for pthread_once

6 years agodxva: Include last the internal header
Luca Barbato [Tue, 13 Oct 2015 21:20:33 +0000 (23:20 +0200)]
dxva: Include last the internal header

It redefines _WIN32_WINNT, possibly causing problems with the
w32pthreads.h header.

6 years agohttpauth: Add space after commas in HTTP/RTSP auth header
Andrey Utkin [Tue, 13 Oct 2015 09:44:37 +0000 (12:44 +0300)]
httpauth: Add space after commas in HTTP/RTSP auth header

This fixes access to Grandstream cameras, which return 401 otherwise.
VLC sends Authorization: header with spaces between parameters, and it
is known to work with Grandstream devices and broad range of other HTTP
and RTSP servers, so author considers switching to such behaviour safe.

See RFC 2617 (HTTP Auth).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agortmpproto: Write correct flv packet sizes at the end of packets
Michael Niedermayer [Tue, 13 Oct 2015 09:17:24 +0000 (12:17 +0300)]
rtmpproto: Write correct flv packet sizes at the end of packets

In one case it was written as zero, one case left it uninitialized,
missed the 11 bytes for the flv header.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agomimic: drop AVPicture usage
wm4 [Tue, 13 Oct 2015 12:48:55 +0000 (14:48 +0200)]
mimic: drop AVPicture usage

Work on the AVFrame references directly.

Instead of setting up a flipped/swapped "view" on the pictures,
flip/swap them when returning decoded frames to the API user.

6 years agolibschroedinger: Properly use AVFrame API
Vittorio Giovara [Mon, 12 Oct 2015 16:54:52 +0000 (18:54 +0200)]
libschroedinger: Properly use AVFrame API

Rather than copying data buffers around, allocate a proper frame, and
use the standard AVFrame functions. This effectively makes the decoder
capable of direct rendering.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agoqtrle: Properly use AVFrame API
Vittorio Giovara [Mon, 12 Oct 2015 17:00:31 +0000 (19:00 +0200)]
qtrle: Properly use AVFrame API

Rather than copying data buffers around, just add a reference to
the current frame.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agoavcodec: Do not lock during init if there is no init function
Derek Buitenhuis [Mon, 12 Oct 2015 14:32:28 +0000 (10:32 -0400)]
avcodec: Do not lock during init if there is no init function

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoavformat: Do not use AVFMT_RAWPICTURE
Luca Barbato [Mon, 12 Oct 2015 14:06:07 +0000 (16:06 +0200)]
avformat: Do not use AVFMT_RAWPICTURE

There are no formats supporting it anymore and it is deprecated.
Update the documentation accordingly.

6 years agoavconv: Add loop option.
Alexandra Hájková [Fri, 9 Oct 2015 20:11:56 +0000 (22:11 +0200)]
avconv: Add loop option.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agodict: Change return type of av_dict_copy()
Vittorio Giovara [Sun, 4 Oct 2015 11:27:15 +0000 (13:27 +0200)]
dict: Change return type of av_dict_copy()

av_dict_set() could return an error, so forward it appropriately.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agobuild: add Solaris symbol versioning
Sean McGovern [Wed, 7 Oct 2015 21:39:37 +0000 (17:39 -0400)]
build: add Solaris symbol versioning

The versioning facility in the Solaris linker differs from Linux in 3 ways:

1. It does not support globs in linker scripts for
symbol versioning -- this is a GNU extension.

2. The linker argument is '-M', instead of '--version-script'.

3. It is picky about line endings.
Each symbol or directive must be on a line of it's own.

Let's use make_sunver.pl from GCC to generate a version script that works
correctly with the Solaris linker. It's function is to correctly expand the
globs in the original generated version script.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agonullenc: Use the wrapped avframe pseudo-encoder
Luca Barbato [Fri, 9 Oct 2015 14:24:05 +0000 (16:24 +0200)]
nullenc: Use the wrapped avframe pseudo-encoder

6 years agoyuv4mpeg: Use the wrapped avframe pseudo-encoder
Luca Barbato [Fri, 9 Oct 2015 14:22:42 +0000 (16:22 +0200)]
yuv4mpeg: Use the wrapped avframe pseudo-encoder

6 years agowrapped_avframe: Initial implementation
Luca Barbato [Fri, 9 Oct 2015 12:12:04 +0000 (14:12 +0200)]
wrapped_avframe: Initial implementation

6 years agolibopenh264enc: Added max_nal_size option
Mario Gasparoni [Thu, 8 Oct 2015 17:28:55 +0000 (14:28 -0300)]
libopenh264enc: Added max_nal_size option

Also added dynamic slice_mode option, needed for the max_nal_size.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoasfdec: do not skip padding if offset is above packet size - padding
Alexandra Hájková [Tue, 28 Jul 2015 08:17:16 +0000 (10:17 +0200)]
asfdec: do not skip padding if offset is above packet size - padding

Sample-Id: https://samples.libav.org/asf-wmv/demux-asf-assert-failed.wmv

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agocabac: Make CABAC states hardcoded
Anton Khirnov [Wed, 7 Oct 2015 16:33:00 +0000 (12:33 -0400)]
cabac: Make CABAC states hardcoded

There is not much reason to generate such a small table at runtime.

Signed-off-by: Derek Buitenhuis <derekb@vimeo.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agow32pthreads: Load dynamically loaded functions on demand
Hendrik Leppkes [Wed, 7 Oct 2015 13:15:14 +0000 (15:15 +0200)]
w32pthreads: Load dynamically loaded functions on demand

This removes the requirement of calling w32thread_init before being
able to use the threading primitives.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agow32pthreads: Add pthread_once emulation
Hendrik Leppkes [Wed, 7 Oct 2015 13:10:59 +0000 (15:10 +0200)]
w32pthreads: Add pthread_once emulation

The emulation uses native InitOnce* APIs on Windows Vista+, and a
lock-free/allocation-free approach using atomics and spinning for
Windows XP.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoavconv: Do not try to configure filter outputs without streams
Luca Barbato [Mon, 5 Oct 2015 18:49:55 +0000 (20:49 +0200)]
avconv: Do not try to configure filter outputs without streams

Prevent a NULL-dereference.

CC: libav-stable@libav.org
6 years agoconfigure: When disabling a library disable all the related components
Luca Barbato [Mon, 5 Oct 2015 01:41:41 +0000 (03:41 +0200)]
configure: When disabling a library disable all the related components

This way is sufficient to use the component specific configure variable
and not guard against the global library configure variable in code
that is outside it (e.g. checkasm).

6 years agodcadec: reorganise context data
Alexandra Khirnova [Fri, 2 Oct 2015 15:53:26 +0000 (17:53 +0200)]
dcadec: reorganise context data

place primary audio coding header data into DCAAudioHeader
structure to make DCAContext clearer
and move channel related data to DCAChan structure to make
them easier to use by extensions

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agog2m: Relax resolution change constraints
Vittorio Giovara [Wed, 7 Oct 2015 13:16:44 +0000 (15:16 +0200)]
g2m: Relax resolution change constraints

Do not fail when original resolution is smaller than current one,
as the frame buffer is resized automatically.

Signed-off-by: Vittorio Giovara <vittorio.giovara at gmail.com>
6 years agommaldec: be more tolerant against MMAL not returning decoded output
wm4 [Wed, 23 Sep 2015 18:27:25 +0000 (20:27 +0200)]
mmaldec: be more tolerant against MMAL not returning decoded output

In some situations, MMAL won't return a decoded frame for certain input
frames. This can happen if a frame fails to decode, or if a packet does
not actually contain a complete frame. In these situations, we would
deadlock (or actually timeout) waiting for an expected output frame,
which is not ideal. On the other hand, there are situations where we
definitely have to block to avoid deadlocks. (This mess is a
consequence of trying to map MMAL's asynchronous and flexible
dataflow to libavcodec, which is more static and rigid.)

Solve this by doing a blocking wait only if the amount of buffered data
is too big. The whole purpose of the blocking wait is to avoid excessive
buffering of input data, so we can skip it if it appears to be low. The
consequence is that libavcodec can gracefully return no frame to the
API user.

We want to track the number of full packets to make our heuristic work.
But MMAL buffers are fixed-size, requiring splitting large packets. This
is why the previous commit is needed. We use the ..._FRAME_END flag to
remember packet boundaries, but MMAL does not preserve these buffer
flags when returning buffers to the user.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agommaldec: refactor to have more context per MMAL input buffer
wm4 [Wed, 23 Sep 2015 18:27:24 +0000 (20:27 +0200)]
mmaldec: refactor to have more context per MMAL input buffer

The next commit needs 1 bit of additional information per MMAL buffer
sent to the MMAL input port. This information will be needed when the
buffer is recycled (i.e. returned by the input port's callback).
Normally, we could use MMAL_BUFFER_HEADER_FLAG_USER0, but that is
unexpectedly not preserved.

Do this by storing a pointer to FFBufferEntry in the MMAL buffer's
user data, instead of an AVBufferRef. This also changes the lifetime
of FFBufferEntry.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoavcodec: Do not lock during open for codecs marked as having threadsafe init
Derek Buitenhuis [Thu, 1 Oct 2015 14:36:56 +0000 (15:36 +0100)]
avcodec: Do not lock during open for codecs marked as having threadsafe init

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agorangecoder: Use AV_RB16 instead of bytestream_get_be16
Vittorio Giovara [Fri, 2 Oct 2015 10:43:42 +0000 (12:43 +0200)]
rangecoder: Use AV_RB16 instead of bytestream_get_be16

Silence an incompatible-pointer-types-discards-qualifiers warning from clang.
rangecoder.c:58:34: warning: passing
      'uint8_t **' (aka 'unsigned char **') to parameter of type
      'const uint8_t **' (aka 'const unsigned char **') discards qualifiers in
      nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]

6 years agohevc: Simplify logical check
Vittorio Giovara [Fri, 2 Oct 2015 10:43:48 +0000 (12:43 +0200)]
hevc: Simplify logical check

The intended meaning is "if this block is the first block in a slice then
its left boundary is a slice boundary". Silence a logical-not-parentheses
warning from gcc.

6 years agoh264: Use the correct argument context in debug log
Vittorio Giovara [Fri, 2 Oct 2015 10:43:41 +0000 (12:43 +0200)]
h264: Use the correct argument context in debug log

6 years agoh263: Drop uninitialized variable use from log message
Vittorio Giovara [Fri, 2 Oct 2015 13:16:46 +0000 (15:16 +0200)]
h263: Drop uninitialized variable use from log message

6 years agodvbsubdec: Fix function return type
Vittorio Giovara [Fri, 2 Oct 2015 10:43:40 +0000 (12:43 +0200)]
dvbsubdec: Fix function return type

6 years agodv: Mark internal frame reference as const
Vittorio Giovara [Fri, 2 Oct 2015 10:43:39 +0000 (12:43 +0200)]
dv: Mark internal frame reference as const

Silence a warning due to frame assignment in dvenc. All uses of the
reference in dvdec are read only, except the ones in the main decoding
function, so use the frame pointer directly there.

6 years agodcadec: Always initialize return variable
Vittorio Giovara [Fri, 2 Oct 2015 10:43:44 +0000 (12:43 +0200)]
dcadec: Always initialize return variable

Silence an uninitialized warning from clang.

6 years agod3d11va: make av_d3d11va_alloc_context() available at all times
Anton Khirnov [Sun, 27 Sep 2015 18:54:01 +0000 (20:54 +0200)]
d3d11va: make av_d3d11va_alloc_context() available at all times

The public API should not depend on the build configuration.

6 years agod3d11va: check for malloc failure
Anton Khirnov [Sun, 27 Sep 2015 18:47:23 +0000 (20:47 +0200)]
d3d11va: check for malloc failure

6 years agoavutil/avstring: Inline some tiny functions
Henrik Gramner [Sat, 26 Sep 2015 20:27:36 +0000 (22:27 +0200)]
avutil/avstring: Inline some tiny functions

They're short enough that inlining them actually reduces code size due to
all the overhead associated with making a function call.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agomatroskaenc: Don't write a track language tag
John Stebbins [Fri, 25 Sep 2015 15:36:30 +0000 (08:36 -0700)]
matroskaenc: Don't write a track language tag

"language" is not an offical matroska tag.
Track languages are specified with the MATROSKA_ID_TRACKLANGUAGE ebml.
Writing the tag overrides the ebml specified language during playback with
libav and some other players.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agocheckasm: Fix the function name sorting algorithm
Henrik Gramner [Mon, 28 Sep 2015 14:50:31 +0000 (16:50 +0200)]
checkasm: Fix the function name sorting algorithm

The previous implementation was behaving incorrectly in some corner cases.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agodnxhddata: Deduplicate cid 1256 chroma table
Christophe Gisquet [Thu, 1 Oct 2015 14:54:57 +0000 (16:54 +0200)]
dnxhddata: Deduplicate cid 1256 chroma table

CID 1256 is specified as using the same table for luma and chroma,
which is the same as CID 1235 luma table. This is consistent with
the format supposedly being RGB, although most sequences seem to
actually be YCbCr-encoded.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agodnxhddata: Deduplicate dnx100 tables
Jeremy James [Thu, 1 Oct 2015 14:54:56 +0000 (16:54 +0200)]
dnxhddata: Deduplicate dnx100 tables

Tables 1258 and 1259 were not zigzagged when added, so it was not
possible to notice the equivalence.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agodnxhddata: Fix cid 1260 luma and chroma tables
Jeremy James [Thu, 1 Oct 2015 14:54:55 +0000 (16:54 +0200)]
dnxhddata: Fix cid 1260 luma and chroma tables

These table was not zigzagged when added.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agodnxhddata: Fix 10-bit DNxHD quant matrices
Joseph Artsimovich [Thu, 1 Oct 2015 15:06:26 +0000 (17:06 +0200)]
dnxhddata: Fix 10-bit DNxHD quant matrices

Convert them to zigzag order, as the rest of them are.

When I was adding support for 10-bit DNxHD, I just copy-pasted the
missing quant matrices from the spec. Now it turns out the existing
matrices in dnxhddata.c were in zigzag order. This resulted in wrong
quantization for 10-bit DNxHD. The attached patch fixes the problem by
converting 10-bit quant matrices to zigzag order.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agox264: Add option to force IDR frames
Derek Buitenhuis [Mon, 31 Aug 2015 13:34:54 +0000 (15:34 +0200)]
x264: Add option to force IDR frames

When forwarding the frame type information, by default x264 can
decide which kind of keyframe output, add an option to force it
to output IDR frames in to support use-cases such as preparing
the content for segmented streams formats.

6 years agox264: Expose the NV21 input support
Yu Xiaolei [Fri, 31 Jul 2015 22:42:15 +0000 (06:42 +0800)]
x264: Expose the NV21 input support

x264 build 147 adds the native support for NV21.

Useful to avoid additional pixel format conversion when encoding
from a wide range of capture devices, Android among those.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agohls: Check av_opt_set_dict return value as well
Luca Barbato [Wed, 30 Sep 2015 23:34:35 +0000 (01:34 +0200)]
hls: Check av_opt_set_dict return value as well

Bug-Id: CID 1320426

6 years agodcadec: make a number of samples per subband per subsubframe a named constant
Alexandra Khirnova [Fri, 18 Sep 2015 11:34:20 +0000 (13:34 +0200)]
dcadec: make a number of samples per subband per subsubframe a named constant

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agobuild: Add support for known custom allocators
Luca Barbato [Thu, 3 Sep 2015 09:55:48 +0000 (11:55 +0200)]
build: Add support for known custom allocators

Makes slightly easier to use jemalloc and tcmalloc.

The two are quite common choices for profiling and debugging.

6 years agoScreenpresso SPV1 decoder
Vittorio Giovara [Thu, 24 Sep 2015 22:36:50 +0000 (00:36 +0200)]
Screenpresso SPV1 decoder

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agolavu: Deprecate AVFrame.error[]
Vittorio Giovara [Mon, 28 Sep 2015 09:40:09 +0000 (11:40 +0200)]
lavu: Deprecate AVFrame.error[]

These field are difficult to interpret, and are provided by a single
encoder (mpegvideoenc). In general they do not belong to a structure
containing raw data only, so remove them from AVFrame.

Mpegvideoenc now uses a private field in Picture for its internal

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agoconfigure: address a copy-paste typo
Vicente Olivert Riera [Tue, 29 Sep 2015 16:28:33 +0000 (17:28 +0100)]
configure: address a copy-paste typo

The correct instruction for mips32r1 is addi.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agotiny_psnr: Use the correct abs() version
Vittorio Giovara [Tue, 22 Sep 2015 11:56:48 +0000 (13:56 +0200)]
tiny_psnr: Use the correct abs() version

6 years agovf_framepack: Use av_image_copy() where appropriate
Vittorio Giovara [Tue, 22 Sep 2015 12:22:15 +0000 (14:22 +0200)]
vf_framepack: Use av_image_copy() where appropriate

This correctly adjust chroma subsampling for column interleaved mode,
and allows future high bitdepth support.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agodnxhddec: Enable frame threading
Vittorio Giovara [Sat, 26 Sep 2015 15:38:23 +0000 (17:38 +0200)]
dnxhddec: Enable frame threading

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agodnxhddec: Decode and use interlace mb flag
Christophe Gisquet [Sat, 26 Sep 2015 15:38:22 +0000 (17:38 +0200)]
dnxhddec: Decode and use interlace mb flag

This bit is 1 in some samples, and seems to coincide with interlaced
mbs and CID1260. 2008 specs do not know about it, and maintain qscale
is 11 bits. This looks oversized, but may help larger bitdepths.

Currently, it leads to an obviously incorrect qscale value, meaning
its syntax is shifted by 1. However, reading 11 bits also leads to
obviously incorrect decoding: qscale seems to be 10 bits.

However, as most profiles still have 11bits qscale, the feature is
restricted to the CID1260 profile (this flag is dependent on
a higher-level flag located in the header).

The encoder writes 12 bits of syntax, last and first bits always 0,
which is now somewhat inconsistent with the decoder, but ends up with
the same effect (progressive + reserved bit).

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agoriff: Add support for RV40 codec in AVI
Thierry Foucu [Sat, 26 Sep 2015 14:21:06 +0000 (16:21 +0200)]
riff: Add support for RV40 codec in AVI

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years agoavconv: Make the private options discovery more manifest
Vittorio Giovara [Sun, 27 Sep 2015 14:13:01 +0000 (16:13 +0200)]
avconv: Make the private options discovery more manifest

6 years agoRevert "avconv_opt: Allow printing private options"
Vittorio Giovara [Sun, 27 Sep 2015 14:13:00 +0000 (16:13 +0200)]
Revert "avconv_opt: Allow printing private options"

This reverts commit 7bb1c1bfd22de2200743af04ebd0c7c775f56f7e.
A long existing version in the form of avconv -h decoder=h264 already
existed, and this just duplicates it.

6 years agolavc: Simplify checking quant bias option
Vittorio Giovara [Sat, 26 Sep 2015 21:00:57 +0000 (23:00 +0200)]
lavc: Simplify checking quant bias option

6 years agoavresample: Remove an unused variable
Ganesh Ajjanagadde [Sat, 26 Sep 2015 14:24:02 +0000 (16:24 +0200)]
avresample: Remove an unused variable

This fixes a -Wunused-variable warning.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
6 years agomotion_est_template: Fix undefined left shift of negative number
Ganesh Ajjanagadde [Sat, 26 Sep 2015 14:24:01 +0000 (16:24 +0200)]
motion_est_template: Fix undefined left shift of negative number

This fixes a -Wshift-negative-value warning reported with clang 3.7+.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
6 years agomlpdec: Fix a undefined left shift of negative number
Ganesh Ajjanagadde [Sat, 26 Sep 2015 14:24:00 +0000 (16:24 +0200)]
mlpdec: Fix a undefined left shift of negative number

This fixes a -Wshift-negative-value warning reported with clang 3.7+.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
6 years agolavc: Make AVPacket.duration int64, and deprecate convergence_duration
wm4 [Sat, 26 Sep 2015 16:13:55 +0000 (18:13 +0200)]
lavc: Make AVPacket.duration int64, and deprecate convergence_duration

Note that convergence_duration had another meaning, one which was in
practice never used. The only real use for it was a 64 bit replacement
for the duration field. It's better just to make duration 64 bits, and
to get rid of it.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agomips: intreadwrite: Only execute that code for mips r1 or r2
Vicente Olivert Riera [Fri, 25 Sep 2015 06:56:25 +0000 (08:56 +0200)]
mips: intreadwrite: Only execute that code for mips r1 or r2

MIPS R6 supports unaligned memory access and does not have
the load/store-left/right family of instructions.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera at imgtec.com>
Signed-off-by: Luca Barbato <lu_zero at gentoo.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoconfigure: mips: Support mips r6, r2 and r1
Luca Barbato [Fri, 25 Sep 2015 06:56:25 +0000 (08:56 +0200)]
configure: mips: Support mips r6, r2 and r1

Detect the different MIPS architecture variants.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoconfigure: Set the initial ldflags to match the cflags
Luca Barbato [Fri, 25 Sep 2015 06:56:25 +0000 (08:56 +0200)]
configure: Set the initial ldflags to match the cflags

Some gcc-based toolchain would fail to link if the abi set by the
cpuflags does not match the default.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agolibopenh264enc: Use av_log() to log messages
Gregory J. Wolfe [Wed, 9 Sep 2015 19:32:42 +0000 (15:32 -0400)]
libopenh264enc: Use av_log() to log messages

File libopenh264enc.c has been modified so that the encoder uses av_log()
to log messages (error, warning, info, etc.) instead of logging them
directly to stderr.  At the time the encoder is created, the current
libav log level is mapped to an equivalent libopenh264 log level.  This
log level, and a message logging function that invokes av_log() to
actually log messages, are then set on the encoder.

This contains further changes and simplifications by Michael Niedermayer
and Martin Storsjö.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoqsvdec: make ff_qsv_decode_init() static
Anton Khirnov [Wed, 5 Aug 2015 12:30:37 +0000 (14:30 +0200)]
qsvdec: make ff_qsv_decode_init() static

It is not used outside of qsvdec.c anymore.

6 years agoexamples/qsvdec: free the lavc decoder before closing MFX/VAAPI
Anton Khirnov [Tue, 11 Aug 2015 13:00:24 +0000 (15:00 +0200)]
examples/qsvdec: free the lavc decoder before closing MFX/VAAPI

lavc expects MFX to still be in a usable state on close.

6 years agoexamples/qsvdec: do not free the surfaces in the frame_free() callback
Anton Khirnov [Tue, 11 Aug 2015 12:57:07 +0000 (14:57 +0200)]
examples/qsvdec: do not free the surfaces in the frame_free() callback

Even though libmfx might not need them anymore, avcodec might still
access the surfaces. So free them separately at the end.

6 years agoqsvdec: close the MFX decoder on uninit
Anton Khirnov [Tue, 11 Aug 2015 12:52:31 +0000 (14:52 +0200)]
qsvdec: close the MFX decoder on uninit

6 years agoqsv: document AVQSVContext members
Anton Khirnov [Mon, 20 Jul 2015 12:30:07 +0000 (14:30 +0200)]
qsv: document AVQSVContext members

6 years agoqsvenc: mark the encoders as INIT_CLEANUP
Anton Khirnov [Wed, 5 Aug 2015 11:42:08 +0000 (13:42 +0200)]
qsvenc: mark the encoders as INIT_CLEANUP

Should fix some leaks on init failure.

6 years agoqsvenc: do not try to close the encoder if the session is NULL
Anton Khirnov [Wed, 5 Aug 2015 11:40:03 +0000 (13:40 +0200)]
qsvenc: do not try to close the encoder if the session is NULL

6 years agoqsvdec: list supported pixel formats
Anton Khirnov [Tue, 21 Jul 2015 07:45:05 +0000 (09:45 +0200)]
qsvdec: list supported pixel formats

This is useful for detecting QSV-enabled decoders.

6 years agolavfi: do not exclude hwaccel formats from ff_all_formats()
Anton Khirnov [Mon, 20 Jul 2015 08:07:25 +0000 (10:07 +0200)]
lavfi: do not exclude hwaccel formats from ff_all_formats()

It should be possible to pass hwaccel frames through lavfi.

6 years agocheckasm/x86: Correctly handle variadic functions
Henrik Gramner [Wed, 23 Sep 2015 15:22:38 +0000 (17:22 +0200)]
checkasm/x86: Correctly handle variadic functions

The System V ABI on x86-64 specifies that the al register contains an upper
bound of the number of arguments passed in vector registers when calling
variadic functions, so we aren't allowed to clobber it.

checkasm_fail_func() is a variadic function so also zero al before calling it.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agocheckasm: Use a self-balancing tree
Henrik Gramner [Fri, 25 Sep 2015 19:35:35 +0000 (21:35 +0200)]
checkasm: Use a self-balancing tree

Tested functions are internally kept in a binary search tree for efficient
lookups. The downside of the current implementation is that the tree quickly
becomes unbalanced which causes an unneccessary amount of comparisons between
nodes. Improve this by changing the tree into a self-balancing left-leaning
red-black tree with a worst case lookup/insertion time complexity of O(log n).

Significantly reduces the recursion depth and makes the tests run around 10%
faster overall. The relative performance improvement compared to the existing
non-balanced tree will also most likely increase as more tests are added.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agovdpau: fix constrained baseline fallback
wm4 [Sat, 26 Sep 2015 13:17:23 +0000 (15:17 +0200)]
vdpau: fix constrained baseline fallback

It appears vdpau drivers can return constrained baseline as unsupported,
even if libvdpau knows about the symbol, and the main profile is

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agompegts: use avcodec_get_type() to set codec_type
wm4 [Sat, 26 Sep 2015 16:42:51 +0000 (18:42 +0200)]
mpegts: use avcodec_get_type() to set codec_type

Note that this slightly changes behavior: it sets AVMEDIA_TYPE_UNKNOWN
if the codec type is unknown. This should be ok.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agolavc: reimplement avcodec_get_type() using codec descriptors
wm4 [Sat, 26 Sep 2015 16:42:50 +0000 (18:42 +0200)]
lavc: reimplement avcodec_get_type() using codec descriptors

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agovdpau: deprecate av_vdpau_get_profile()
Rémi Denis-Courmont [Sun, 27 Sep 2015 10:49:09 +0000 (13:49 +0300)]
vdpau: deprecate av_vdpau_get_profile()

This function can intrinsically not deal with codec profile fallback
(for H.264 Constrained Baseline especially), and was made redundant
by av_vdpau_bind_context().

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agodxv: Improve error message
Vittorio Giovara [Tue, 22 Sep 2015 11:58:00 +0000 (13:58 +0200)]
dxv: Improve error message

6 years agodxv: Support RAW intermediate compression
Vittorio Giovara [Tue, 22 Sep 2015 11:57:59 +0000 (13:57 +0200)]
dxv: Support RAW intermediate compression

Sample-Id: boombox64.mov
Reported-by: Aarni Koskela
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agodxv: Print texture information after header parsing
Vittorio Giovara [Tue, 22 Sep 2015 11:57:58 +0000 (13:57 +0200)]
dxv: Print texture information after header parsing

6 years agodxv: Support the original first version
Vittorio Giovara [Tue, 22 Sep 2015 11:57:57 +0000 (13:57 +0200)]
dxv: Support the original first version

DXV 1.0 provided DXT1 with LZF only.

Sample-Id: Orange-Strings-07_640_DXV.mov
Reported-by: Carl Eugen Hoyos
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>