ffmpeg.git
4 years agompegvideo: Drop stream_codec_tag
Vittorio Giovara [Mon, 27 Apr 2015 18:13:28 +0000 (19:13 +0100)]
mpegvideo: Drop stream_codec_tag

The field is unused.

4 years agompegvideo: Drop err_recognition
Vittorio Giovara [Mon, 27 Apr 2015 18:13:27 +0000 (19:13 +0100)]
mpegvideo: Drop err_recognition

It is just a duplicate of an AVCodecContext member so use it instead.

4 years agompegvideo: Drop flags and flags2
Vittorio Giovara [Mon, 27 Apr 2015 18:13:25 +0000 (19:13 +0100)]
mpegvideo: Drop flags and flags2

They are just duplicates of AVCodecContext members so use those instead.

4 years agotls: fix compilation when both gnutls and openssl are enabled
James Almer [Fri, 22 May 2015 03:32:17 +0000 (00:32 -0300)]
tls: fix compilation when both gnutls and openssl are enabled

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agotls: Remove all the local polling loops
Martin Storsjö [Thu, 10 Nov 2011 15:44:27 +0000 (17:44 +0200)]
tls: Remove all the local polling loops

These aren't necessary any longer.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agotls: Remove the nonblocking code
Martin Storsjö [Thu, 10 Nov 2011 15:35:39 +0000 (17:35 +0200)]
tls: Remove the nonblocking code

Since the underlying URLContext read functions are used,
they handle interruption, without having to handle it at
this level.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agotls: Use custom IO to read from the URLContext
Martin Storsjö [Thu, 10 Nov 2011 14:58:58 +0000 (16:58 +0200)]
tls: Use custom IO to read from the URLContext

This avoids hijacking the fd, by reading using the normal
URLContext functions instead. This allowing reading data that has
been buffered in the underlying URLContext.

This avoids using the libraries own send functions that can
cause SIGPIPE.

The fd is still used for polling the lowlevel socket, for
waiting for retries.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agohevc: make avcodec_decode_video2() fail if get_format() fails
wm4 [Thu, 14 May 2015 17:23:57 +0000 (19:23 +0200)]
hevc: make avcodec_decode_video2() fail if get_format() fails

Personally, I need the decoder to back out if get_format() returns no
usable pixel format. This didn't work because the error code was not
propagated down the call chain. This in turn happened because the
variable declaration removed in this patch shadowed the variable, whose
value is returned at the end of the function. Consequently, failures of
decode_nal_unit() were ignored in this place.

Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavfi: Move avcodec header to the only filter needing it
Vittorio Giovara [Thu, 14 May 2015 22:37:25 +0000 (23:37 +0100)]
lavfi: Move avcodec header to the only filter needing it

af_ashowinfo, due to the enum AVAudioServiceType use.

4 years agovmnc: Delay pixel size check
Vittorio Giovara [Tue, 19 May 2015 15:57:46 +0000 (16:57 +0100)]
vmnc: Delay pixel size check

Some clients incorrectly set 24 as bits_per_coded_sample, while
the actual value is preserved in one of the codec headers.
In order to work around this, delay the check until decode_frame().

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agodoc: Add $branch to FATE config template
Timothy Gu [Wed, 13 May 2015 23:46:47 +0000 (16:46 -0700)]
doc: Add $branch to FATE config template

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agovda: Make output CVPixelBuffer format configurable
Stefano Pigozzi [Sun, 10 May 2015 19:32:59 +0000 (21:32 +0200)]
vda: Make output CVPixelBuffer format configurable

This is useful for client programs to ask for nv12 surfaces instead of the
current default (uyvy), since those are more efficient to decode to.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agolibx265: Use the Multi-library Interface
Gopu Govindaswamy [Mon, 11 May 2015 15:25:59 +0000 (16:25 +0100)]
libx265: Use the Multi-library Interface

Use the Multi-library interface to load at runtime x265 libraries
supporting alternative bit depths (e.g. 8bit and 16bit).

The linked library will try to load the library supporting the
pixel format if it is not supported by itself.

Fallback requesting the native library (passing 0 to x265_api_get) if
a library supporting the requested bit depth is not available.

Signed-off-by: Gopu Govindaswamy <gopu@multicorewareinc.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agomjpegenc: Fix JFIF header byte ordering
Shiina Hideaki [Thu, 7 May 2015 00:46:55 +0000 (01:46 +0100)]
mjpegenc: Fix JFIF header byte ordering

The header had a wrong version description.

Bug-Id: 808
Signed-off-by: Shiina Hideaki <shiina@yndrd.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agodnxhd: Print unknown header when found
Vittorio Giovara [Tue, 12 May 2015 15:19:12 +0000 (16:19 +0100)]
dnxhd: Print unknown header when found

4 years agomkv: Print unsupported mov tags when found
Vittorio Giovara [Mon, 11 May 2015 16:23:43 +0000 (17:23 +0100)]
mkv: Print unsupported mov tags when found

4 years agoquickdraw: Skip the empty 512 byte header for images
Vittorio Giovara [Mon, 11 May 2015 19:11:04 +0000 (20:11 +0100)]
quickdraw: Skip the empty 512 byte header for images

Found-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
4 years agoquickdraw: Make the palette opaque
Carl Eugen Hoyos [Mon, 11 May 2015 19:11:03 +0000 (20:11 +0100)]
quickdraw: Make the palette opaque

Additional overflow fix by Michael Niedermayer <michaelni@gmx.at>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agoriff: Add MultiScope II fourcc MSC2 as MJPEG
Carl Eugen Hoyos [Fri, 8 May 2015 14:39:23 +0000 (15:39 +0100)]
riff: Add MultiScope II fourcc MSC2 as MJPEG

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agodca_parser: Extend DTS core sync word and fix existing check
foo86 [Wed, 29 Apr 2015 08:14:55 +0000 (11:14 +0300)]
dca_parser: Extend DTS core sync word and fix existing check

The previous version checked for 14-bit streams and did not properly
work across buffer boundaries.

Use the 64-bit parser state to make extended sync word detection work
across buffer boundary and check the extended sync word for 16-bit LE
and BE core streams to reduce probability of alias sync detection.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agodashenc: Reduce the segment duration if cutting out parts with edit lists
Martin Storsjö [Sun, 10 May 2015 07:05:37 +0000 (10:05 +0300)]
dashenc: Reduce the segment duration if cutting out parts with edit lists

This makes sure that the time + duration of the first segment
matches the start time of the next segment for e.g. AAC audio
with encoder delay.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agodashenc: replace attribute id with contentType for the AdaptationSet element
James Almer [Sun, 10 May 2015 06:33:37 +0000 (03:33 -0300)]
dashenc: replace attribute id with contentType for the AdaptationSet element

id should be an integer, not a string. It is also optional, so use
contentType instead which is the proper attribute for these values.

This fixes an MPD validation error.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agofate: Reduce the number of frames used to test video filters
Luca Barbato [Sat, 9 May 2015 21:44:30 +0000 (23:44 +0200)]
fate: Reduce the number of frames used to test video filters

Use 5 frames for video filter tests and a single one for the
pixelformat tests.

Greatly reduces the test duration without reducing coverage.

4 years agoid3v2: Do not export empty APIC description
wm4 [Fri, 8 May 2015 16:19:12 +0000 (18:19 +0200)]
id3v2: Do not export empty APIC description

APIC tags always have a description. Tag writers obviously leave it
empty if there is no description. In this case, libavformat would export
"" as title. Do not set the title instead.

4 years agopng: Set the color range as full range
wm4 [Fri, 8 May 2015 15:01:50 +0000 (17:01 +0200)]
png: Set the color range as full range

The format uses full range for the gray formats.

CC: libav-stable@libav.org
4 years agonut: Make sure to clean up on read_header failure
Luca Barbato [Wed, 29 Apr 2015 19:29:49 +0000 (21:29 +0200)]
nut: Make sure to clean up on read_header failure

Based on Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> work.

CC: libav-stable@libav.org
4 years agoavi: Validate sample_size
Andreas Cadhalpun [Wed, 6 May 2015 00:26:57 +0000 (02:26 +0200)]
avi: Validate sample_size

And either error out or set it to 0 if it is negative.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agonut: Check chapter creation in decode_info_header
Andreas Cadhalpun [Tue, 28 Apr 2015 18:57:59 +0000 (20:57 +0200)]
nut: Check chapter creation in decode_info_header

This fixes a segmentation fault when accessing the metadata.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
CC: libav-stable@libav.org
4 years agoalac: Reject rice_limit 0 if compression is used
Andreas Cadhalpun [Thu, 23 Apr 2015 22:01:43 +0000 (00:01 +0200)]
alac: Reject rice_limit 0 if compression is used

If in compression mode rice_limit = 0 leads to call
`show_bits(gb, k)` in `decode_scalar` with k = 0.

Request a sample in case it is valid and it should be accepted.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
CC: libav-stable@libav.org
4 years agoape: Support _0000 files with nblock smaller than 64
Andreas Cadhalpun [Wed, 29 Apr 2015 18:39:22 +0000 (20:39 +0200)]
ape: Support _0000 files with nblock smaller than 64

The decode_array_0000 assumed that 64 is the minimal block size
while it is not.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agomux: Do not leave stale side data pointers in ff_interleave_add_packet()
Michael Niedermayer [Fri, 1 May 2015 22:55:42 +0000 (23:55 +0100)]
mux: Do not leave stale side data pointers in ff_interleave_add_packet()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agodump: Print AVAudioServiceType side data
Vittorio Giovara [Fri, 1 May 2015 14:33:50 +0000 (15:33 +0100)]
dump: Print AVAudioServiceType side data

4 years agolibx265: Fix 'braces around scalar initializer' warning
Vittorio Giovara [Fri, 1 May 2015 14:39:26 +0000 (15:39 +0100)]
libx265: Fix 'braces around scalar initializer' warning

x265 Reordered the x265_picture fields in the commit

https://github.com/videolan/x265/commit/51b1518de2414431f36eac592db15b667c25a7b9#diff-945b5354d8767dfac13334f2d22cf58fR107

Now the first field is an integer and not an array.

4 years agofate: Add a PICT test
Vittorio Giovara [Sat, 18 Apr 2015 16:25:22 +0000 (17:25 +0100)]
fate: Add a PICT test

This stimulates the direct pixel mode in Quickdraw decoder.

4 years agolavf: Open PICT images with Quickdraw
Vittorio Giovara [Sat, 18 Apr 2015 16:25:21 +0000 (17:25 +0100)]
lavf: Open PICT images with Quickdraw

Update the pictor test to use the pictor codec, as both formats share
the .pic file extension.

4 years agoquickdraw: Support direct pixel blocks
Vittorio Giovara [Sat, 18 Apr 2015 16:25:20 +0000 (17:25 +0100)]
quickdraw: Support direct pixel blocks

Data is stored in separated components so rework decode_rle() to support
stepping and offsets.

4 years agoquickdraw: Switch to greedy parsing
Vittorio Giovara [Sat, 18 Apr 2015 16:25:19 +0000 (17:25 +0100)]
quickdraw: Switch to greedy parsing

Quickdraw packs data as a series of codes that the application is supposed
to handle, but it does not define any order in which they might appear.
Since it's unfeasible to support *all* opcodes defined by the spec,
only handle well-known blocks containing video data and ignore any unknown
or unsupported ones.

Move palette loading and rle decoding to separate functions to resue them
in other blocks and drop format initialization in init since it can
support more formats than pal8.

Validate width and height.

4 years agoquickdraw: Convert to bytestream2
Vittorio Giovara [Sat, 18 Apr 2015 16:25:18 +0000 (17:25 +0100)]
quickdraw: Convert to bytestream2

Add appropriate error messages and reduce r, g, b variables scope.
Drop the now redundant line checks in RLE decoding.

4 years agoxcbgrab: Accept geometries matching the screen size
Nicolas George [Wed, 6 May 2015 10:22:52 +0000 (12:22 +0200)]
xcbgrab: Accept geometries matching the screen size

Introduced in e8c4db0d4d077.

4 years agoRevert "lavfi: always check av_expr_parse_and_eval() return value"
Anton Khirnov [Sat, 2 May 2015 07:09:52 +0000 (09:09 +0200)]
Revert "lavfi: always check av_expr_parse_and_eval() return value"

This reverts commit 63be97ec403023fb664798432acedaf6e6922527.

All those calls were unchecked on purpose, as explained in the comments
in the code.

4 years agoalsdec: only adapt order for positive max_order
Andreas Cadhalpun [Wed, 22 Apr 2015 14:03:41 +0000 (16:03 +0200)]
alsdec: only adapt order for positive max_order

For max_order = 0 the clipping range is invalid. (amin = 2, amax = 1)

CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoalsdec: check sample pointer range in revert_channel_correlation
Andreas Cadhalpun [Tue, 21 Apr 2015 17:28:30 +0000 (19:28 +0200)]
alsdec: check sample pointer range in revert_channel_correlation

Also change the type of begin, end and smp to ptrdiff_t to make the
comparison well-defined.

CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoaacpsy: correct calculation of minath in psy_3gpp_init
Andreas Cadhalpun [Tue, 21 Apr 2015 16:43:55 +0000 (18:43 +0200)]
aacpsy: correct calculation of minath in psy_3gpp_init

The minimum of the ath(x, ATH_ADD) function depends on ATH_ADD.
This patch uses the first order approximation to determine it.

For ATH_ADD = 4 this results in the value at 3407.06812 (-5.24241638)
not the one at 3410 (-5.24237967).

CC: libav-stabl@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoalsdec: limit avctx->bits_per_raw_sample to 32
Andreas Cadhalpun [Sat, 18 Apr 2015 18:29:13 +0000 (20:29 +0200)]
alsdec: limit avctx->bits_per_raw_sample to 32

avctx->bits_per_raw_sample is used in get_sbits_long, which only
supports up to 32 bits.

CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoaasc: return correct buffer size from aasc_decode_frame
Andreas Cadhalpun [Thu, 16 Apr 2015 17:12:02 +0000 (19:12 +0200)]
aasc: return correct buffer size from aasc_decode_frame

CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoconfigure: Allow log2 with MSVC 2013 onwards.
Matt Oliver [Sun, 11 May 2014 07:40:20 +0000 (17:40 +1000)]
configure: Allow log2 with MSVC 2013 onwards.

Only MSVC 2010 in x64 mode, in the static msvcrt, had a
stray log2 function (which wasn't available in the headers).

MSVC 2013 has got a proper log2 function though.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoconfigure: Use the right local variable in the MSVC and ICL probes
Martin Storsjö [Thu, 5 Jun 2014 19:59:47 +0000 (22:59 +0300)]
configure: Use the right local variable in the MSVC and ICL probes

$cc is the compiler requested as main target compiler, while $_cc
is the actual tool tested in the probe function right now (which
can also be e.g. the host compiler).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavprobe: Print the display matrix from per-stream sidedata
Martin Storsjö [Wed, 29 Apr 2015 13:48:26 +0000 (16:48 +0300)]
avprobe: Print the display matrix from per-stream sidedata

This is printed in a separate subgroup "displaymatrix" inside a
new group named "sidedata". The subgroup has got two values,
"rotation" (which is the parsed rotation from the matrix) and
"matrix" containing the full actual values.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavprobe: Support writing arrays of integers without keys
Martin Storsjö [Sat, 2 May 2015 08:22:13 +0000 (11:22 +0300)]
avprobe: Support writing arrays of integers without keys

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavconv: Add an option for automatically rotating video according to display matrix
Martin Storsjö [Wed, 29 Apr 2015 14:59:01 +0000 (17:59 +0300)]
avconv: Add an option for automatically rotating video according to display matrix

The option is enabled by default, but can be disabled.

If this is enabled, such side data isn't copied into the output stream
(except when doing stream copy).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavplay: Add support for rotated video
Martin Storsjö [Wed, 29 Apr 2015 19:28:45 +0000 (22:28 +0300)]
avplay: Add support for rotated video

This is enabled by default, but can be disbled via the -noautorotate
option.

Based on a patch by Clément Bœsch.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavplay: Factorize code for adding filters to the filter pipeline
Martin Storsjö [Wed, 29 Apr 2015 19:24:48 +0000 (22:24 +0300)]
avplay: Factorize code for adding filters to the filter pipeline

Significantly based on a patch by Clément Bœsch.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agodnxhddec: Fix pixel format change
Carl Eugen Hoyos [Wed, 29 Apr 2015 16:18:37 +0000 (17:18 +0100)]
dnxhddec: Fix pixel format change

Regression introduced in 598f7d046cbf306706623210c5baafa3b7cd1df3.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agoffv1enc: Add const attribute to input frame
Vittorio Giovara [Wed, 29 Apr 2015 15:35:43 +0000 (16:35 +0100)]
ffv1enc: Add const attribute to input frame

warning: assigning to 'AVFrame *' (aka 'struct AVFrame *') from
         'const AVFrame *' (aka 'const struct AVFrame *') discards
         qualifiers [-Wincompatible-pointer-types-discards-qualifiers]

4 years agoavplay: Do not print a possibly uninitialized value
Luca Barbato [Tue, 28 Apr 2015 19:24:27 +0000 (21:24 +0200)]
avplay: Do not print a possibly uninitialized value

Initialize `diff` to 0.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoxcbgrab: Validate the capture area
Luca Barbato [Sat, 14 Mar 2015 11:30:11 +0000 (12:30 +0100)]
xcbgrab: Validate the capture area

And notify why the capture is impossible.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoxcbgrab: Do not assume the non shm image data is always available
Luca Barbato [Sat, 14 Mar 2015 11:30:10 +0000 (12:30 +0100)]
xcbgrab: Do not assume the non shm image data is always available

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agorawenc: properly allocate coded_frame
Anton Khirnov [Fri, 17 Apr 2015 10:12:57 +0000 (12:12 +0200)]
rawenc: properly allocate coded_frame

4 years agoh264: use properly allocated AVFrames
Anton Khirnov [Fri, 17 Apr 2015 10:09:50 +0000 (12:09 +0200)]
h264: use properly allocated AVFrames

4 years agoh264: embed the DPB in the context
Anton Khirnov [Sun, 12 Apr 2015 19:08:34 +0000 (21:08 +0200)]
h264: embed the DPB in the context

It now has a fixed size and is initialized only once, so there is no
point in allocating it separately.

4 years agoh264: merge the init and reinit paths in update_thread_context()
Anton Khirnov [Sun, 12 Apr 2015 18:59:52 +0000 (20:59 +0200)]
h264: merge the init and reinit paths in update_thread_context()

There is no real need to handle the init case specially, everything
necessary is initialized in the reinit code as well.

4 years agoh264: drop the reinit parameter from init_slice_header()
Anton Khirnov [Sun, 12 Apr 2015 17:36:49 +0000 (19:36 +0200)]
h264: drop the reinit parameter from init_slice_header()

It is only used to decide whether to call free_tables(), but that
function is safe to call on an uninitialized context as well.

4 years agoh264: update the current bit depth/chroma type in init_slice_header()
Anton Khirnov [Sun, 12 Apr 2015 17:13:56 +0000 (19:13 +0200)]
h264: update the current bit depth/chroma type in init_slice_header()

With frame threading, it is currently only updated in the context where
the change occurs, but not in any other contexts.

4 years agoh264: copy nal_length_size in update_thread_context
Anton Khirnov [Sun, 12 Apr 2015 17:08:23 +0000 (19:08 +0200)]
h264: copy nal_length_size in update_thread_context

It does not make sense to copy is_avc without copying this as well. This
patch should not change anything for now, but will have an effect in
later commits.

4 years agoh264: drop a comment that carries no useful information
Anton Khirnov [Mon, 6 Apr 2015 19:02:17 +0000 (21:02 +0200)]
h264: drop a comment that carries no useful information

4 years agoh264: move freeing the escaped RBSP buffer to free_context()
Anton Khirnov [Mon, 6 Apr 2015 19:00:42 +0000 (21:00 +0200)]
h264: move freeing the escaped RBSP buffer to free_context()

It does not logically belong in free_tables(), since it's not allocated
in alloc_tables() and its size has nothing to do with the frame size.

4 years agoh264: eliminate ff_h264_set_parameter_from_sps()
Anton Khirnov [Mon, 6 Apr 2015 18:33:58 +0000 (20:33 +0200)]
h264: eliminate ff_h264_set_parameter_from_sps()

That function currently does two things -- reinitializing the DSP
contexts and setting low_delay based on the SPS values.

The former more appropriately belongs in h264_slice_header_init(), while
the latter only really makes sense in decode_slice_header().

The third call to ff_h264_set_parameter_from_sps(), done immediately
after parsing a new SPS, appears to serve no useful purpose, so it is
just dropped.

Also, drop now unneeded H264Context.cur_chroma_format_idc.

4 years agoh264: move context reinit lower down in update_thread_context()
Anton Khirnov [Mon, 6 Apr 2015 18:05:37 +0000 (20:05 +0200)]
h264: move context reinit lower down in update_thread_context()

It uses some fields from the SPS, which is not yet set where the reinit
is called currently.

4 years agoh264: move the DPB init/uninit to init_context()/free_context()
Anton Khirnov [Sun, 5 Apr 2015 18:51:00 +0000 (20:51 +0200)]
h264: move the DPB init/uninit to init_context()/free_context()

Currently, the DPB is initialized in alloc_tables() and uninitialized in
free_tables(), but those functions manage frame size-dependent
variables, so DPB management does not logically belong in there.

Since we want the init/uninit to happen exactly once per the context
lifetime, init_context()/free_context() are the proper place for this
code.

4 years agoh264: drop H264Context.ouputed_poc
Anton Khirnov [Sun, 5 Apr 2015 06:49:47 +0000 (08:49 +0200)]
h264: drop H264Context.ouputed_poc

It is only set, but never used for anything.

4 years agoh264: drop needs_realloc
Anton Khirnov [Tue, 31 Mar 2015 08:10:42 +0000 (10:10 +0200)]
h264: drop needs_realloc

It is not needed anymore since switching to refcounted frames.

4 years agoavresample: Reallocate the internal buffer to the correct size
Luca Barbato [Mon, 27 Apr 2015 23:55:10 +0000 (01:55 +0200)]
avresample: Reallocate the internal buffer to the correct size

Fixes the corner case in which the internal buffer size
is larger than input buffer provided and resizing it
before moving the left over samples would make it write
to now unallocated memory.

Bug-Id: 825
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agompegts: Update the PSI/SI table only if the version change
John Högberg [Tue, 28 Apr 2015 08:20:33 +0000 (10:20 +0200)]
mpegts: Update the PSI/SI table only if the version change

If a PAT is finished while a PMT section filter is opened but
not yet finished, the PMT section filter is closed and all
the received data is discarded.

This is usually not an issue but some multiplexers (With very
quick PAT/PMT repetition settings) consistently emit a PMT
section start, then a PAT, and then the rest of the PMT,
causing the aforementioned behavior to result in no PMT being
finished.

In the most pathologic situation the stream information are lost
and the probe fallback miscategorizes subtitles as mp3 audio.

Avoid the issue through eliminating redundant PSI/SI table
updates by checking their version field, which is required by
the standard to be incremented on every change no matter how
minor.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoh263: Convert function to macro
Vittorio Giovara [Tue, 28 Apr 2015 09:38:29 +0000 (10:38 +0100)]
h263: Convert function to macro

4 years agoh263: Drop commented-out code and a related otherwise unused function
Vittorio Giovara [Tue, 28 Apr 2015 09:38:28 +0000 (10:38 +0100)]
h263: Drop commented-out code and a related otherwise unused function

4 years agojpeglsenc: Mark codec as init-thread-safe and init-cleanup
Vittorio Giovara [Fri, 24 Apr 2015 15:59:33 +0000 (16:59 +0100)]
jpeglsenc: Mark codec as init-thread-safe and init-cleanup

Fixes a memory leak on init failure.

4 years agojpeglsenc: Check memory allocations
Vittorio Giovara [Fri, 24 Apr 2015 15:59:32 +0000 (16:59 +0100)]
jpeglsenc: Check memory allocations

Convert exisiting free functions to av_freep() to avoid accidental
double frees, and always intialize all buffers to NULL.

4 years agoflacenc: Move a scratch buffer to struct used by the function
Vittorio Giovara [Tue, 28 Apr 2015 14:50:39 +0000 (15:50 +0100)]
flacenc: Move a scratch buffer to struct used by the function

This avoids allocating/freeing memory at every function call,
checking its return value, and carrying the error around.

4 years agovaapi: Fix -Wimplicit-function-declaration for ff_dlog() usage
Rico Tzschichholz [Thu, 23 Apr 2015 13:30:01 +0000 (14:30 +0100)]
vaapi: Fix -Wimplicit-function-declaration for ff_dlog() usage

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agodss_sp: use lowercase codec name without whitespace
Andreas Cadhalpun [Wed, 22 Apr 2015 12:42:08 +0000 (14:42 +0200)]
dss_sp: use lowercase codec name without whitespace

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
4 years agolibxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe
Vittorio Giovara [Mon, 6 Apr 2015 23:47:18 +0000 (01:47 +0200)]
libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe

This takes care of memory leaks on init error.

4 years agolibx264: Make codec use the init-cleanup flag and mark it as init-thread-safe
Vittorio Giovara [Mon, 6 Apr 2015 23:47:18 +0000 (01:47 +0200)]
libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe

This takes care of memory leaks on init error.

4 years agolclenc: Mark codec as init-thread-safe and init-cleanup
Vittorio Giovara [Mon, 6 Apr 2015 23:47:18 +0000 (01:47 +0200)]
lclenc: Mark codec as init-thread-safe and init-cleanup

4 years agohqx: Mark codec as init-thread-safe and init-cleanup
Vittorio Giovara [Mon, 6 Apr 2015 22:40:37 +0000 (00:40 +0200)]
hqx: Mark codec as init-thread-safe and init-cleanup

4 years agohuffyuvenc: Mark codec as init-thread-safe and init-cleanup
Vittorio Giovara [Mon, 6 Apr 2015 23:47:18 +0000 (01:47 +0200)]
huffyuvenc: Mark codec as init-thread-safe and init-cleanup

4 years agoasvenc: Mark codec as init-thread-safe and init-cleanup
Vittorio Giovara [Mon, 6 Apr 2015 23:48:12 +0000 (01:48 +0200)]
asvenc: Mark codec as init-thread-safe and init-cleanup

4 years agohq_hqa: Fix table data for profile 17
Vittorio Giovara [Thu, 23 Apr 2015 10:29:53 +0000 (11:29 +0100)]
hq_hqa: Fix table data for profile 17

The table had a wrong table height and was missing the first line of bytes.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agoriff: Add GMP4 fourcc for mpeg4
Vittorio Giovara [Thu, 23 Apr 2015 12:25:20 +0000 (13:25 +0100)]
riff: Add GMP4 fourcc for mpeg4

4 years agoriff: Add GLV4 fourcc for mpeg4
Vittorio Giovara [Tue, 21 Apr 2015 12:10:00 +0000 (13:10 +0100)]
riff: Add GLV4 fourcc for mpeg4

4 years agointernal: Make dlog/tlog a no-op when disabled
Vittorio Giovara [Tue, 21 Apr 2015 12:24:18 +0000 (13:24 +0100)]
internal: Make dlog/tlog a no-op when disabled

Improves Coverity analysis, avoiding "double semicolon" CIDs.

4 years agortsp: Make sure we don't write too many transport entries into a fixed-size array
Martin Storsjö [Fri, 24 Apr 2015 09:38:09 +0000 (12:38 +0300)]
rtsp: Make sure we don't write too many transport entries into a fixed-size array

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc_jpeg: Handle case of picture dimensions not dividing by 8
Andrey Utkin [Fri, 10 Apr 2015 21:54:10 +0000 (00:54 +0300)]
rtpenc_jpeg: Handle case of picture dimensions not dividing by 8

This fixes the calculation of the number of needed blocks to make
sure that ALL pixels are represented by the result.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortsp: Don't warn about unparsed time ranges
Martin Storsjö [Wed, 22 Apr 2015 20:15:58 +0000 (23:15 +0300)]
rtsp: Don't warn about unparsed time ranges

This removes the error logging added in 4e54432164.

This avoids warnings about "Invalid interval start specification 'now'"
for live rtsp streams.

We only try to parse some of the many valid values for time ranges
in RTSP - the other ones are fully valid but not interesting for the
use case in rtsp.c, so we shouldn't warn about them.

(Parsing the time ranges is needed to allow seeking, but e.g. setting
the current realtime clock for the start time doesn't make sense.
av_parse_time has got a different mode for parsing absolute times
as well, which can handle the special case "now", but that doesn't
make much sense for this particular use in rtsp.c.)

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agofate: Fix test name for pixfmts tests
Timothy Gu [Mon, 20 Apr 2015 03:37:43 +0000 (20:37 -0700)]
fate: Fix test name for pixfmts tests

The last pixel format gets leaked as `$test` further down the pipeline.

See for example https://fate.libav.org/x86_32-netbsd-clang-no-inline-asm/20150420020104
Note the odd test names like “yuvj444p.”

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoprores: Set the bits_per_coded_sample for alpha pix_fmt
Luca Barbato [Wed, 22 Apr 2015 18:50:10 +0000 (20:50 +0200)]
prores: Set the bits_per_coded_sample for alpha pix_fmt

Improve the compatibility with other software.

4 years agohq_hqa: Validate get_vlc2 return value
Luca Barbato [Tue, 21 Apr 2015 12:42:21 +0000 (14:42 +0200)]
hq_hqa: Validate get_vlc2 return value

The `hq_ac_vlc.table` is incomplete, so unaccounted symbol return -1
as value.

4 years agoavcodec: Free the default avoptions on init failure
Luca Barbato [Tue, 21 Apr 2015 16:17:38 +0000 (18:17 +0200)]
avcodec: Free the default avoptions on init failure

4 years agoavcodec: Unref the dummy buffer on the fail path
Luca Barbato [Tue, 21 Apr 2015 12:26:36 +0000 (14:26 +0200)]
avcodec: Unref the dummy buffer on the fail path

4 years agobuffersrc: Use the correct deallocation function
Federico Tomassetti [Mon, 20 Apr 2015 19:12:05 +0000 (20:12 +0100)]
buffersrc: Use the correct deallocation function

This correction was suggested to me by Michael Niedermayer

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agodrawtext: Add an alpha option
Luca Barbato [Sat, 11 Apr 2015 17:04:25 +0000 (19:04 +0200)]
drawtext: Add an alpha option

And document both `draw` and `alpha`.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>