ffmpeg.git
4 years agoh264_ps: properly check cropping parameters against overflow
Anton Khirnov [Fri, 20 Mar 2015 20:49:23 +0000 (21:49 +0100)]
h264_ps: properly check cropping parameters against overflow

CC: libav-stable@libav.org
4 years agohevc: zero the correct variables on invalid crop parameters
Anton Khirnov [Fri, 20 Mar 2015 20:30:29 +0000 (21:30 +0100)]
hevc: zero the correct variables on invalid crop parameters

It's the output_window that is applied to the output frame, not
pic_conf_win

4 years agohevc: make the crop sizes unsigned
Anton Khirnov [Fri, 20 Mar 2015 20:28:34 +0000 (21:28 +0100)]
hevc: make the crop sizes unsigned

4 years agoavconv: Print the avfilter errors
Luca Barbato [Wed, 11 Mar 2015 00:44:47 +0000 (01:44 +0100)]
avconv: Print the avfilter errors

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agocmdutils: Add a stream specifier to map usable streams
Luca Barbato [Wed, 18 Mar 2015 12:40:12 +0000 (13:40 +0100)]
cmdutils: Add a stream specifier to map usable streams

It drops everything that cannot be used for re-encoding and/or
streamcopy.

4 years agowebp: ensure that each transform is only used once
Andreas Cadhalpun [Thu, 5 Mar 2015 21:48:28 +0000 (22:48 +0100)]
webp: ensure that each transform is only used once

According to the WebP Lossless Bitstream Specification
"each transform is allowed to be used only once".

If a transform is more than once this can lead to memory
corruption.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agomovenc: write the display transform matrix
Anton Khirnov [Thu, 12 Mar 2015 22:14:08 +0000 (23:14 +0100)]
movenc: write the display transform matrix

4 years agoismindex: Calculate the pts duration of trun atoms, not the dts duration
Martin Storsjö [Sun, 15 Mar 2015 22:18:37 +0000 (00:18 +0200)]
ismindex: Calculate the pts duration of trun atoms, not the dts duration

Since the duration is compared to the tfra durations/intervals which
are expressed in pts, calculate that here as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Don't assume that fragment durations in pts is equal to duration in dts
Martin Storsjö [Sun, 15 Mar 2015 21:57:06 +0000 (23:57 +0200)]
movenc: Don't assume that fragment durations in pts is equal to duration in dts

For strict CFR, they should be pretty much equal, but if the stream
is VFR, there can be a sometimes significant difference.

Calculate the pts duration separately, used in sidx atoms and for
tfrf/tfxd boxes in smooth streaming ismv files.

Also make sure to reduce the duration of sidx entries according to
edit lists.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Move sidx edit list timestamp adjustment into a block
Martin Storsjö [Mon, 16 Mar 2015 13:08:49 +0000 (15:08 +0200)]
movenc: Move sidx edit list timestamp adjustment into a block

When reading these values from track->frag_info, the same adjustment
has already been done.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Only adjust the cts offset at the start of fragments if necessary
Martin Storsjö [Sun, 15 Mar 2015 21:40:06 +0000 (23:40 +0200)]
movenc: Only adjust the cts offset at the start of fragments if necessary

Adjusting it is only necessary when a sidx/tfrf/tfxd atom already has
been written for the previous fragment (since the sidx/tfrf/tfxd atoms
include the duration between the first pts of the previous fragment, to
the first pts of the new fragment).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Write pts timestamps in tfxd, instead of dts timestamps
Martin Storsjö [Mon, 16 Mar 2015 11:02:59 +0000 (13:02 +0200)]
movenc: Write pts timestamps in tfxd, instead of dts timestamps

This matches what we write in tfra and tfrf since 9cbf70fa0e.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Set the last packet duration based on the next packet when autoflushing
Martin Storsjö [Mon, 9 Mar 2015 09:47:54 +0000 (11:47 +0200)]
movenc: Set the last packet duration based on the next packet when autoflushing

When automatically flushing fragments based on set conditions
(fragmentation on keyframes, after some interval or byte size),
we already have the next packet for one stream - use this for setting
the duration of the last packet in the flushed fragment correctly.

This avoids having to adjust the timestamp of the first packet in
the new fragment since the last duration was unknown.

Unfortunately, this only works for automatic flushing (not for
caller-triggered flushing, like in the dash muxer), and only for the
one single track that triggered the flushing. The duration of the
last sample in all other tracks still is dependent on AVPacket
duration (or heuristics).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agodashenc: Heuristically fill in the duration of packets that need it
Martin Storsjö [Fri, 6 Mar 2015 20:30:31 +0000 (22:30 +0200)]
dashenc: Heuristically fill in the duration of packets that need it

This avoids that the mp4 muxer does a similar heuristic, adjusting
the timestamps in a way that the dash muxer doesn't know the actual
timestamps written to the file in the end. By making sure that the
mp4 muxer internal heuristic isn't applied, we know the exact
timestamps written to file, so that the timestamps in manifest match
the files.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Heuristically set the duration of the last sample in a fragment if not set
Martin Storsjö [Fri, 6 Mar 2015 13:45:50 +0000 (15:45 +0200)]
movenc: Heuristically set the duration of the last sample in a fragment if not set

Even if this is a guess, it is way better than writing a zero duration
of the last sample in a fragment (because if the duration is zero,
the first sample of the next fragment will have the same timestamp
as the last sample in the previous one).

Since we normally don't require libavformat muxer users to set
the duration field in AVPacket, we probably can't strictly require
it here either, so don't log this as a strict warning, only as info.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoudp: Fix crashes after adding AVOptions
Martin Storsjö [Thu, 19 Mar 2015 07:28:25 +0000 (09:28 +0200)]
udp: Fix crashes after adding AVOptions

Add a missing AVClass member, check whether localaddr is null.
(Previously, localaddr was always a local stack buffer, while it
now also can be an avoption string which can be null.)

This fixes crashes when not passing any localaddr parameter, since
66028b7ba.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomov: Add option to keep exact packet sequence after seeking
Derek Buitenhuis [Mon, 16 Mar 2015 20:08:35 +0000 (20:08 +0000)]
mov: Add option to keep exact packet sequence after seeking

The current behavior may produce a different sequence of packets
after seeking, compared to demuxing linearly from the beginning.
This is because the MOV demuxer seeks in each stream individually,
based on timestamp, which may set each stream at a slightly different
position than if the file would have been read sequentially.

This makes implementing certain operations, such as segmenting,
quite hard, and slower than need be.

Therefore, add an option which retains the same packet sequence
after seeking, as when a file is demuxed linearly.

4 years agoReplace a few leftover instances of enum PixelFormat with enum AVPixelFormat
Martin Storsjö [Tue, 17 Mar 2015 12:40:40 +0000 (14:40 +0200)]
Replace a few leftover instances of enum PixelFormat with enum AVPixelFormat

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agofate: Move tdsc to the appropriate screen capture file
Vittorio Giovara [Mon, 16 Mar 2015 13:09:50 +0000 (13:09 +0000)]
fate: Move tdsc to the appropriate screen capture file

4 years agomov: Fix little endian audio detection
Vittorio Giovara [Fri, 13 Mar 2015 19:45:14 +0000 (19:45 +0000)]
mov: Fix little endian audio detection

Set this field to TRUE if the audio component is to operate on
little-endian data, and FALSE otherwise.

However TRUE and FALSE are not defined. Since this flag is just a boolean,
interpret all values except for 0 as little endian.

Sample-Id: 64bit_FLOAT_Little_Endian.mov

4 years agoaacsbr: Fix type for index variable
Vittorio Giovara [Wed, 11 Mar 2015 19:25:00 +0000 (19:25 +0000)]
aacsbr: Fix type for index variable

Prevents unsigned overflow and variable truncation.

Bug-Id: CID 603186

4 years agohqx: Drop unused offsets table
Vittorio Giovara [Mon, 16 Mar 2015 13:40:35 +0000 (13:40 +0000)]
hqx: Drop unused offsets table

This is a leftover from the static to dynamic vlc table conversion.

4 years agolavf: Do not list mov-only codecs in riff tags
Carl Eugen Hoyos [Mon, 16 Mar 2015 11:58:29 +0000 (11:58 +0000)]
lavf: Do not list mov-only codecs in riff tags

Instead check for all mov code-points when demuxing avi
and print a warning if a video codec is found like this.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agoisom: Add X-Com Radvision FourCC
Paul B Mahol [Mon, 16 Mar 2015 10:42:39 +0000 (10:42 +0000)]
isom: Add X-Com Radvision FourCC

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoriff: Add 'tshd' FourCC for H.264
Vittorio Giovara [Mon, 16 Mar 2015 10:34:12 +0000 (10:34 +0000)]
riff: Add 'tshd' FourCC for H.264

4 years agolibx264: Allow full-range yuv422 and yuv444 pixel formats
Carl Eugen Hoyos [Tue, 17 Mar 2015 13:29:05 +0000 (13:29 +0000)]
libx264: Allow full-range yuv422 and yuv444 pixel formats

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agodca: Read params->pancABIT0[param_index] only if part0 is set
Niels Möller [Mon, 16 Mar 2015 21:31:41 +0000 (22:31 +0100)]
dca: Read params->pancABIT0[param_index] only if part0 is set

Prevent a spurious read from uninitialized memory.

4 years agox86: Put COPY3_IF_LT under HAVE_6REGS
Luca Barbato [Mon, 16 Mar 2015 10:26:48 +0000 (11:26 +0100)]
x86: Put COPY3_IF_LT under HAVE_6REGS

It uses 6 registers, unbreaks building on hardened x86 system.

Bug-Id: gentoo/541930
CC: libav-stable@libav.org
4 years agoisom: Add support for TSCC2
Luca Barbato [Mon, 16 Mar 2015 13:18:45 +0000 (14:18 +0100)]
isom: Add support for TSCC2

As produced by Camtasia 4.

4 years agoconfigure: Disable shift operator precedence warnings with MSVC
Diego Biurrun [Sun, 15 Mar 2015 14:55:03 +0000 (15:55 +0100)]
configure: Disable shift operator precedence warnings with MSVC

4 years agomovenc: Allow interleaving samples when writing fragmented files
Martin Storsjö [Tue, 10 Sep 2013 12:35:41 +0000 (15:35 +0300)]
movenc: Allow interleaving samples when writing fragmented files

This is incompatible with the omit_tfhd_offset flag (writing
position independent fragments with interleaving requires the
default_base_moof flag).

This makes the moof atoms slightly bigger, but can be better for
playback (improving locality of sample data in the mdat).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Support writing multiple trun atoms
Martin Storsjö [Tue, 10 Sep 2013 12:24:24 +0000 (15:24 +0300)]
movenc: Support writing multiple trun atoms

This is needed if all the data for one track isn't continuous
within the mdat. Normally we make sure all the data for one
track is continuous, but in new cases we will need to have
the samples interleaved.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoconfigure: move cross_compile checks after the toolchain section
Janne Grunau [Thu, 26 Feb 2015 20:54:55 +0000 (21:54 +0100)]
configure: move cross_compile checks after the toolchain section

4 years agoconfigure: handle Apple's armv7s in probe_arm_arch()
Janne Grunau [Wed, 25 Feb 2015 17:16:52 +0000 (18:16 +0100)]
configure: handle Apple's armv7s in probe_arm_arch()

4 years agofate: add explicit support for the toolchain configure option
Janne Grunau [Thu, 26 Feb 2015 21:04:12 +0000 (22:04 +0100)]
fate: add explicit support for the toolchain configure option

4 years agodoc: fate: remove outdated SSH key fingerprint
Janne Grunau [Mon, 9 Mar 2015 22:19:55 +0000 (23:19 +0100)]
doc: fate: remove outdated SSH key fingerprint

4 years agomkv: Add support for DVB subtitles
Luca Barbato [Sun, 15 Mar 2015 22:49:17 +0000 (23:49 +0100)]
mkv: Add support for DVB subtitles

Bug-Id: 833

4 years agolibswscale: fix compiler warnings enumerated type mixed with another type
Himangi Saraogi [Sat, 14 Mar 2015 15:52:25 +0000 (21:22 +0530)]
libswscale: fix compiler warnings enumerated type mixed with another type

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoudp: Use AVOptions
Luca Barbato [Fri, 13 Mar 2015 16:00:12 +0000 (17:00 +0100)]
udp: Use AVOptions

Add AVOptions for options currently available as url parameters.

4 years agosctp: Update to match tcp
Luca Barbato [Fri, 13 Mar 2015 13:33:41 +0000 (14:33 +0100)]
sctp: Update to match tcp

Use AVOption and fallback over multiple addresses

4 years agofate: Add test for DCA XLL
Diego Biurrun [Wed, 18 Feb 2015 23:05:22 +0000 (00:05 +0100)]
fate: Add test for DCA XLL

4 years agodca: Support for XLL (lossless extension)
Niels Möller [Tue, 11 Feb 2014 10:45:27 +0000 (11:45 +0100)]
dca: Support for XLL (lossless extension)

Cleanup and integration by Diego Biurrun.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
4 years agodca: Mark syncword constants unsigned; they do not fit in 32-bit signed int
Diego Biurrun [Thu, 12 Mar 2015 23:23:32 +0000 (00:23 +0100)]
dca: Mark syncword constants unsigned; they do not fit in 32-bit signed int

4 years agoTDSC decoder
Vittorio Giovara [Wed, 11 Mar 2015 20:44:00 +0000 (20:44 +0000)]
TDSC decoder

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agomjpeg: Mark decoder family as thread safe
Vittorio Giovara [Wed, 11 Mar 2015 20:43:59 +0000 (20:43 +0000)]
mjpeg: Mark decoder family as thread safe

No global variables are used and the VLC tables are allocated without
static elements. This will allow using a JPEG decoding context within
other decoders.

4 years agolavc: Introduce AVCodec internal capabilities
Vittorio Giovara [Wed, 11 Mar 2015 20:43:58 +0000 (20:43 +0000)]
lavc: Introduce AVCodec internal capabilities

This field is designed for marking codec properties useful to lavc internals.
Two internal capabilities are added:
 - FF_CODEC_CAP_INIT_THREADSAFE: codec can be opened without locks;
 - FF_CODEC_CAP_INIT_CLEANUP: codec frees memory if initialization fails.

4 years agolavc: Improve thread locking error message
Vittorio Giovara [Wed, 11 Mar 2015 20:43:57 +0000 (20:43 +0000)]
lavc: Improve thread locking error message

4 years agolibx264: Return more meaningful error codes
Himangi Saraogi [Thu, 12 Mar 2015 16:20:13 +0000 (21:50 +0530)]
libx264: Return more meaningful error codes

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agomatroskadec: Check memory allocations
Vittorio Giovara [Thu, 12 Mar 2015 13:04:09 +0000 (13:04 +0000)]
matroskadec: Check memory allocations

CC: libav-stable@libav.org
4 years agoformats: Check memory allocations
Vittorio Giovara [Thu, 12 Mar 2015 15:34:32 +0000 (15:34 +0000)]
formats: Check memory allocations

4 years agonutdec: Prevent leaks on memory error
Vittorio Giovara [Wed, 11 Mar 2015 19:24:59 +0000 (19:24 +0000)]
nutdec: Prevent leaks on memory error

Bug-Id: CID 205122 / CID 205123

4 years agoxcbgrab: Check av_strdup() allocation
Vittorio Giovara [Wed, 11 Mar 2015 19:25:01 +0000 (19:25 +0000)]
xcbgrab: Check av_strdup() allocation

Bug-Id: CID 1274038

4 years agolibtheora: Check frame allocation
Vittorio Giovara [Thu, 12 Mar 2015 12:34:52 +0000 (12:34 +0000)]
libtheora: Check frame allocation

4 years agompegvideo_enc: Check AVCodecContext allocation
Vittorio Giovara [Wed, 11 Mar 2015 19:46:29 +0000 (19:46 +0000)]
mpegvideo_enc: Check AVCodecContext allocation

4 years agodca: Document the permuted order in the lfe_fir_64 and lfe_fir_128 tables
Niels Möller [Thu, 12 Mar 2015 12:26:40 +0000 (13:26 +0100)]
dca: Document the permuted order in the lfe_fir_64 and lfe_fir_128 tables

4 years agolavf: Explicitly convert types at function pointer assignment
Diego Biurrun [Tue, 10 Feb 2015 15:02:30 +0000 (16:02 +0100)]
lavf: Explicitly convert types at function pointer assignment

This fixes a number of "assignment from incompatible pointer type" warnings.

4 years agoconfigure: Mark qsv subsystem as not selectable on the command line
Diego Biurrun [Wed, 11 Mar 2015 09:39:26 +0000 (10:39 +0100)]
configure: Mark qsv subsystem as not selectable on the command line

4 years agoroqvideoenc: set enc->avctx in roq_encode_init
Andreas Cadhalpun [Mon, 9 Mar 2015 18:24:09 +0000 (19:24 +0100)]
roqvideoenc: set enc->avctx in roq_encode_init

So far it is only set in roq_encode_frame, but it is used in
roq_encode_end to free the coded_frame. This currently segfaults if
roq_encode_frame is not called between roq_encode_init and
roq_encode_end.

CC:libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoasfenc: fix leaking asf->index_ptr on error
Andreas Cadhalpun [Mon, 9 Mar 2015 18:31:39 +0000 (19:31 +0100)]
asfenc: fix leaking asf->index_ptr on error

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoqsv: Improve the log message of when initializing MFX_IMPL_HARDWARE{2, 3, 4}
Yukinori Yamazoe [Wed, 11 Mar 2015 09:04:30 +0000 (18:04 +0900)]
qsv: Improve the log message of when initializing MFX_IMPL_HARDWARE{2, 3, 4}

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoconfigure: Enable colored output for gcc 4.9+
Vittorio Giovara [Mon, 9 Mar 2015 01:02:01 +0000 (01:02 +0000)]
configure: Enable colored output for gcc 4.9+

4 years agortpdec_vp9: Drop extra sanity check for size of input packet
Vittorio Giovara [Mon, 9 Mar 2015 17:27:22 +0000 (17:27 +0000)]
rtpdec_vp9: Drop extra sanity check for size of input packet

In this case len is always at least 1, since it is checked against
RTP_VP9_DESC_REQUIRED_SIZE + 1 and then it is reduced by
RTP_VP9_DESC_REQUIRED_SIZE before entering the has_pic_id check.

Bug-Id: CID 1270811

4 years agomp3: Properly use AVCodecContext API
Vittorio Giovara [Mon, 9 Mar 2015 23:02:00 +0000 (23:02 +0000)]
mp3: Properly use AVCodecContext API

Rather than having an unitialized context on the stack, allocate it with
defaults and free it when unneeded.

CC: libav-stable@libav.org
4 years agomatroskaenc: Fix type used for chapter timestamps
Vittorio Giovara [Wed, 11 Mar 2015 14:56:52 +0000 (14:56 +0000)]
matroskaenc: Fix type used for chapter timestamps

4 years agomlpdec: support TrueHD streams with an Atmos substream
Hendrik Leppkes [Fri, 26 Sep 2014 11:49:21 +0000 (13:49 +0200)]
mlpdec: support TrueHD streams with an Atmos substream

The fourth substream is being discarded, since its not raw audio data,
but an encoded Atmos stream which needs a specialized decoder.

Fixes decoding of the true hd stream from Transformers\ -\ Age\ of\ Extinction\ 2014\ 1080P-003.mkv

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agomlpdec: support major sync headers with optional extension blocks
Hendrik Leppkes [Fri, 26 Sep 2014 11:49:20 +0000 (13:49 +0200)]
mlpdec: support major sync headers with optional extension blocks

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agomovenc: Support setting fragment_index before the moov atom is written
Martin Storsjö [Tue, 20 Jan 2015 14:33:12 +0000 (15:33 +0100)]
movenc: Support setting fragment_index before the moov atom is written

This way, the caller doesn't need to coordinate setting the option
after the moov atom has been written. The downside is that it is
no longer possible to use the option for checking whether the moov
atom already has been written, but a caller is able to keep track
of that by other means anyway.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Don't rely on the fragment index for vc1 info gathering
Martin Storsjö [Tue, 20 Jan 2015 14:54:03 +0000 (15:54 +0100)]
movenc: Don't rely on the fragment index for vc1 info gathering

The previous use of the mov->fragments field, for determining whether
written packets were part of the first fragment or not, didn't
work as intended when using the empty_moov flag.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded
Martin Storsjö [Mon, 9 Mar 2015 21:14:19 +0000 (23:14 +0200)]
rtpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded

By making sure we at each time only have one pointer set, either a
local variable or one in the context, we avoid potential double frees
in the cleanup routines. If chain->rtp_ctx is set, it is closed by
calling avformat_write_trailer, but that shouldn't be called unless
avformat_write_header succeeded.

This issue was pointed out by Andreas Cadhalpun.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc_mpegts: Free the right ->pb in the error path in the init function
Martin Storsjö [Mon, 9 Mar 2015 21:09:10 +0000 (23:09 +0200)]
rtpenc_mpegts: Free the right ->pb in the error path in the init function

This fixes a typo from 8e32b1f096.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoFATE: add support for testing hwaccels
Anton Khirnov [Mon, 9 Mar 2015 09:56:54 +0000 (10:56 +0100)]
FATE: add support for testing hwaccels

4 years agoavconv: do not abort immediately if initializing hwaccel fails
Anton Khirnov [Mon, 9 Mar 2015 09:54:00 +0000 (10:54 +0100)]
avconv: do not abort immediately if initializing hwaccel fails

exit_program() will try to free the decoders, which is not a good idea
from within get_format().
Return an error instead.

4 years agolibvpx: Fix mixed use of av_malloc() and av_reallocp()
Vittorio Giovara [Sun, 8 Mar 2015 21:08:16 +0000 (21:08 +0000)]
libvpx: Fix mixed use of av_malloc() and av_reallocp()

This buffer is resized when vpx_codec_get_cx_data() returns a
VPX_CODEC_STATS_PKT packet.

CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agosiff: Use the correct type for packet size variables
Vittorio Giovara [Sun, 8 Mar 2015 23:59:58 +0000 (23:59 +0000)]
siff: Use the correct type for packet size variables

The avio functions used here return an unsigned value.
Also reduce a variable scope.

CC: libav-stable@libav.org
Bug-Id: CID 1258461

4 years agomatroskaenc: Also validate chapter end time
Vittorio Giovara [Mon, 9 Mar 2015 00:05:30 +0000 (00:05 +0000)]
matroskaenc: Also validate chapter end time

This prevents it to be written as unsigned. Also add an error message.

CC: libav-stable@libav.org
Bug-Id: CID 1265717

4 years agortpdec_hevc: Drop extra sanity check for size of input packet
Vittorio Giovara [Sun, 8 Mar 2015 23:42:59 +0000 (23:42 +0000)]
rtpdec_hevc: Drop extra sanity check for size of input packet

In this case len is always at least 3, since it is checked against
RTP_HEVC_PAYLOAD_HEADER_SIZE + 1 before entering the switch block.

Bug-Id: CID 1238784

4 years agomovenc: Avoid writing separate flags for the first sample if not necessary
Martin Storsjö [Fri, 6 Mar 2015 09:26:40 +0000 (11:26 +0200)]
movenc: Avoid writing separate flags for the first sample if not necessary

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Set tfhd default sample flags based on actual samples, if possible
Martin Storsjö [Fri, 6 Mar 2015 09:22:35 +0000 (11:22 +0200)]
movenc: Set tfhd default sample flags based on actual samples, if possible

This avoids assuming that e.g. audio samples are marked as
sync samples.

This allows omitting the sample flags from trun, if the default
flags happen to be right for all the samples.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoutvideodec: Handle slice_height being zero
Michael Niedermayer [Wed, 4 Mar 2015 17:36:14 +0000 (17:36 +0000)]
utvideodec: Handle slice_height being zero

Fixes out of array accesses.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Bug-Id: CVE-2014-9604
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoavprobe: Export coded_{width,height} in -show_streams
Vittorio Giovara [Sun, 8 Mar 2015 03:25:25 +0000 (03:25 +0000)]
avprobe: Export coded_{width,height} in -show_streams

4 years agotiff: Check that there is no aliasing in pixel format selection
Anton Khirnov [Sat, 7 Mar 2015 21:06:59 +0000 (22:06 +0100)]
tiff: Check that there is no aliasing in pixel format selection

Fixes possible issues with unexpected bpp/bppcount values.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Bug-Id: CVE-2014-8544
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agomxfdec: Fix the error handling for when strftime fails
Martin Storsjö [Sat, 7 Mar 2015 22:19:45 +0000 (00:19 +0200)]
mxfdec: Fix the error handling for when strftime fails

The str variable is a char ** here.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoxcbgrab: Free the host string after checking the connection
Luca Barbato [Thu, 5 Mar 2015 08:44:55 +0000 (09:44 +0100)]
xcbgrab: Free the host string after checking the connection

Prevent an use after free in the error message.

Bug-Id: CID 1274040
CC: libav-stable@libav.org
4 years agovorbis: Check the vlc value in setup_classifs
Luca Barbato [Tue, 3 Mar 2015 10:05:15 +0000 (11:05 +0100)]
vorbis: Check the vlc value in setup_classifs

The valid returned values are always at most 11bit.
Remove the previous check that assumed larger values plausible and
use a signed integer to check get_vlc2 return values.

CC: libav-stable@libav.org
4 years agovorbis: Use a local codebook variable
Luca Barbato [Tue, 3 Mar 2015 09:32:26 +0000 (10:32 +0100)]
vorbis: Use a local codebook variable

Makes the code a little simpler.

4 years agormdec: Improve message for demux error
Carl Eugen Hoyos [Thu, 5 Mar 2015 16:42:45 +0000 (16:42 +0000)]
rmdec: Improve message for demux error

Use correct context, reduce log level, don't assume it is a video stream,
and print the tag of the unknown stream.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agoconfigure: Move the .object_arch check to the right place
Martin Storsjö [Thu, 5 Mar 2015 21:38:00 +0000 (23:38 +0200)]
configure: Move the .object_arch check to the right place

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoarm: Suppress tags about used cpu arch and extensions
Martin Storsjö [Tue, 17 Feb 2015 22:40:06 +0000 (00:40 +0200)]
arm: Suppress tags about used cpu arch and extensions

When all the codepaths using manually set .arch/.fpu code is
behind runtime detection, the elf attributes should be suppressed.

This allows tools to know that the final built binary doesn't
strictly require these extensions.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agodoc: Add -list_formats all example for video4linux2
Jonas Lindgren [Fri, 6 Mar 2015 22:02:34 +0000 (23:02 +0100)]
doc: Add -list_formats all example for video4linux2

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agomovenc: Keep writing zero-entry stts atoms as intended
Martin Storsjö [Fri, 6 Mar 2015 10:27:14 +0000 (12:27 +0200)]
movenc: Keep writing zero-entry stts atoms as intended

a876585215 had the unintended side effect of returning AVERROR(ENOMEM)
when track->entry is zero, while the code intentionally wants to
continue in that case.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agodashenc: Update extradata for mov muxer
Timo Rothenpieler [Wed, 4 Mar 2015 21:48:43 +0000 (22:48 +0100)]
dashenc: Update extradata for mov muxer

The mov muxer already supports picking up extradata that wasn't
present during the avformat_write_header call - we just need to
propagate it. Since the dash muxer uses delay_moov, we have time
up until the first segment is written to get extradata filled in.

Also update the codec description string when the extradata becomes
available.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agodashenc: Simplify code by using a local variable
Timo Rothenpieler [Wed, 4 Mar 2015 21:48:43 +0000 (22:48 +0100)]
dashenc: Simplify code by using a local variable

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agolibopenh264enc: Add support for building with OpenH264 1.4
Martin Storsjö [Thu, 5 Mar 2015 11:57:44 +0000 (13:57 +0200)]
libopenh264enc: Add support for building with OpenH264 1.4

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavfilter: Return more meaningful error codes
Himangi Saraogi [Mon, 23 Feb 2015 04:21:16 +0000 (09:51 +0530)]
avfilter: Return more meaningful error codes

Signed-off-by: Diego Biurrun <diego@biurrun.de>
4 years agoh264: remove a now redundant error check
Anton Khirnov [Tue, 27 Jan 2015 11:31:24 +0000 (12:31 +0100)]
h264: remove a now redundant error check

It was only relevant when data partitioning was in use.

4 years agoavformat/adxdec: set avctx->channels in adx_read_header
Andreas Cadhalpun [Thu, 26 Feb 2015 00:06:57 +0000 (01:06 +0100)]
avformat/adxdec: set avctx->channels in adx_read_header

It is used in adx_read_packet, which currently depends on the
decoder/parser setting this value between reading the file header and
demuxing the first packet.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agormenc: limit packet size
Andreas Cadhalpun [Mon, 2 Mar 2015 15:52:26 +0000 (16:52 +0100)]
rmenc: limit packet size

The chunk size is limited to UINT16_MAX (written by avio_wb16), so make
sure that the packet size is not too large.

Such large frames need to be split into slices smaller than 64 kB, but
that is currently supported neither by the rv10/rv20 encoders nor the rm
muxer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agowebp: validate the distance prefix code
Andreas Cadhalpun [Mon, 2 Mar 2015 19:47:57 +0000 (20:47 +0100)]
webp: validate the distance prefix code

According to the WebP Lossless Bitstream Specification the highest
allowed value for a prefix code is 39.

If prefix_code is too large, the calculated extra_bits has an invalid
value and triggers an assertion in get_bits.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agorv10: check size of s->mb_width * s->mb_height
Andreas Cadhalpun [Tue, 3 Mar 2015 20:31:15 +0000 (21:31 +0100)]
rv10: check size of s->mb_width * s->mb_height

If it doesn't fit into 12 bits it triggers an assertion.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agortpdec: experimental VP9 depacketizer (draft 0)
Thomas Volkert [Tue, 3 Mar 2015 23:33:31 +0000 (00:33 +0100)]
rtpdec: experimental VP9 depacketizer (draft 0)

The code was tested with live555 server.

Signed-off-by: Martin Storsjö <martin@martin.st>