]> git.sesse.net Git - ffmpeg/log
ffmpeg
9 years agoflac_picture: prevent a possible out of bound write
Vittorio Giovara [Mon, 20 Oct 2014 13:11:21 +0000 (14:11 +0100)]
flac_picture: prevent a possible out of bound write

At "mimetype[len] = 0;" mimetype is a 64 element array and len might be
equal to or greater than that.

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

9 years agoimg2dec: check av_new_packet return value
Vittorio Giovara [Mon, 20 Oct 2014 13:11:15 +0000 (14:11 +0100)]
img2dec: check av_new_packet return value

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

9 years agoaudiointerleave: check av_new_packet return value
Vittorio Giovara [Mon, 20 Oct 2014 13:11:14 +0000 (14:11 +0100)]
audiointerleave: check av_new_packet return value

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

9 years agoavfilter: check filter link validity
Vittorio Giovara [Mon, 20 Oct 2014 13:11:13 +0000 (14:11 +0100)]
avfilter: check filter link validity

Remove now redundant check.

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

9 years agomp3enc: write full LAME frame
Anton Khirnov [Sat, 12 Apr 2014 13:20:57 +0000 (15:20 +0200)]
mp3enc: write full LAME frame

Most importantly, it contains the encoder delay and replaygain info.

9 years agoavconv: copy stream-level side data when streamcopying
Anton Khirnov [Sat, 18 Oct 2014 16:19:55 +0000 (18:19 +0200)]
avconv: copy stream-level side data when streamcopying

9 years agodoc: reword the mp3 muxer documentation
Anton Khirnov [Sat, 12 Apr 2014 13:20:01 +0000 (15:20 +0200)]
doc: reword the mp3 muxer documentation

Make it more structured.

9 years agomp3dec: fix reading the Xing tag
Anton Khirnov [Sat, 18 Oct 2014 14:25:16 +0000 (16:25 +0200)]
mp3dec: fix reading the Xing tag

The quality scale field is only supposed to be present if the fourth bit
is set. In practice, lame always sets it, but other tools might not.

CC:libav-stable@libav.org

9 years agolavf: Use av_gettime_relative
Martin Storsjö [Wed, 22 Oct 2014 09:40:46 +0000 (12:40 +0300)]
lavf: Use av_gettime_relative

The ones left using av_gettime are NTP timestamps (for RTCP,
which is specified to send the actual current realtime clock
in RTCP SR packets), and the NUT muxer timestamper, which is
documented as using wallclock time.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoavconv: Use av_gettime_relative
Martin Storsjö [Wed, 22 Oct 2014 09:25:23 +0000 (12:25 +0300)]
avconv: Use av_gettime_relative

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoavplay: Use av_gettime_relative
Martin Storsjö [Wed, 22 Oct 2014 09:23:08 +0000 (12:23 +0300)]
avplay: Use av_gettime_relative

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agotools: Use av_gettime_relative
Olivier Langlois [Tue, 6 May 2014 21:16:50 +0000 (17:16 -0400)]
tools: Use av_gettime_relative

Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agolavc: Use av_gettime_relative
Olivier Langlois [Tue, 6 May 2014 21:16:49 +0000 (17:16 -0400)]
lavc: Use av_gettime_relative

Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agolavu: Add av_gettime_relative
Martin Storsjö [Wed, 22 Oct 2014 09:14:37 +0000 (12:14 +0300)]
lavu: Add av_gettime_relative

Since av_gettime() is used in a number of places where actual
real time clock is required, the monotonic clock introduced in
ebef9f5a5 would have consequences that are hard to handle. Instead
split it into a separate function that can be used in the cases
where only relative time is desired.

On platform where no monotonic clock is available, the difference
between the two av_gettime functions is not clear, and one could
mistakenly use the relative clock where an absolute one is
required. Therefore add an offset, to make it evident that the
time returned from av_gettime_relative never is actual current
real time, even though it is based on av_gettime.

Based on a patch by Olivier Langlois.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agonutdec: check av_new_packet return value
Vittorio Giovara [Mon, 20 Oct 2014 13:11:19 +0000 (14:11 +0100)]
nutdec: check av_new_packet return value

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

9 years agonutenc: check for negative index rather than assert
Vittorio Giovara [Mon, 20 Oct 2014 13:11:20 +0000 (14:11 +0100)]
nutenc: check for negative index rather than assert

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

9 years agormdec: stricter error check to avoid theoretical unitialized use
Vittorio Giovara [Mon, 20 Oct 2014 13:11:16 +0000 (14:11 +0100)]
rmdec: stricter error check to avoid theoretical unitialized use

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

9 years agormdec: check av_new_packet return value
Vittorio Giovara [Mon, 20 Oct 2014 13:11:17 +0000 (14:11 +0100)]
rmdec: check av_new_packet return value

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

9 years agoflvdec: make sure to check create_stream and report the same error
Vittorio Giovara [Mon, 20 Oct 2014 11:56:41 +0000 (12:56 +0100)]
flvdec: make sure to check create_stream and report the same error

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

9 years agoflvdec: avoid unitialized use of a struct member
Vittorio Giovara [Mon, 20 Oct 2014 11:56:42 +0000 (12:56 +0100)]
flvdec: avoid unitialized use of a struct member

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

9 years agosmoothstreamingenc: explict cast to avoid overflow
Vittorio Giovara [Mon, 20 Oct 2014 11:56:40 +0000 (12:56 +0100)]
smoothstreamingenc: explict cast to avoid overflow

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

9 years agofate-mpeg4: use TARGET_SAMPLES for resize tests
Janne Grunau [Tue, 21 Oct 2014 07:56:23 +0000 (09:56 +0200)]
fate-mpeg4: use TARGET_SAMPLES for resize tests

9 years agortpproto: Free the addrinfo pointer on failure
Luca Barbato [Sat, 18 Oct 2014 15:58:41 +0000 (16:58 +0100)]
rtpproto: Free the addrinfo pointer on failure

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

9 years agonutdec: Prevent a memory corruption
Luca Barbato [Sat, 18 Oct 2014 15:58:47 +0000 (16:58 +0100)]
nutdec: Prevent a memory corruption

Chapters do not have an event_flags field.

Bug-Id: CID 1231990

9 years agortpdec_hevc: drop unnecessary check
Vittorio Giovara [Sat, 18 Oct 2014 15:58:42 +0000 (16:58 +0100)]
rtpdec_hevc: drop unnecessary check

len is always >=1 in that case.

Bug-Id: CID 1238784

9 years agortmpproto: remove dead code
Vittorio Giovara [Sat, 18 Oct 2014 15:58:44 +0000 (16:58 +0100)]
rtmpproto: remove dead code

Expression already evaluated before, redundant since
053386864219eccbcca1886c55f902f9555428a5.

Bug-Id: CID 732199

9 years agovf_format: check input validity
Vittorio Giovara [Sat, 18 Oct 2014 15:10:35 +0000 (16:10 +0100)]
vf_format: check input validity

CC: libav-stable@libav.org
9 years agowtv: clean memory on error
Vittorio Giovara [Sat, 18 Oct 2014 00:12:18 +0000 (01:12 +0100)]
wtv: clean memory on error

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

9 years agowtv: check seek_by_sector return value
Vittorio Giovara [Sat, 18 Oct 2014 00:12:19 +0000 (01:12 +0100)]
wtv: check seek_by_sector return value

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

9 years agoaviobuf: check context before using it
Vittorio Giovara [Sat, 18 Oct 2014 00:12:13 +0000 (01:12 +0100)]
aviobuf: check context before using it

Avoid a possible null pointer dereference.

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

9 years agoavio: fix sizeof argument
Michael Niedermayer [Sat, 18 Oct 2014 00:12:12 +0000 (01:12 +0100)]
avio: fix sizeof argument

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

9 years agoidcin: fix return check
Vittorio Giovara [Sat, 18 Oct 2014 00:12:11 +0000 (01:12 +0100)]
idcin: fix return check

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

9 years agortmp: Always call rtmp_close() on rtmp_open() failure
Alexander Drozdov [Sat, 18 Oct 2014 14:02:32 +0000 (16:02 +0200)]
rtmp: Always call rtmp_close() on rtmp_open() failure

Prevent possible memory leaks.

Connect to nginx and request a non-existent resource to
trigger the issue.

CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Uwe L. Korn <uwelk@xhochy.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agoswscale: fix sign extensions in yuv planar conversion
Vittorio Giovara [Fri, 17 Oct 2014 13:31:35 +0000 (14:31 +0100)]
swscale: fix sign extensions in yuv planar conversion

Casting the left-most byte to unsigned avoids an undefined
result of the shift by 24 if bit 7 is set.

yuvPlanartouyvy_c and yuvPlanartoyuy2_c are affected.

CC: libav-stable@libav.org
Bug-Id: CID 732281 / CID 732282

9 years agooss_audio: use a macro to simplify ioctl() error checking
Timothy Gu [Wed, 15 Oct 2014 16:32:54 +0000 (17:32 +0100)]
oss_audio: use a macro to simplify ioctl() error checking

Also add a note about SNDCTL_DSP_GETFMTS which may fail even if OSS is
available.

CC: libav-stable@libav.org
Bug-Id: CID 1238992
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years agoavresample: Make sure the even check does not overflow
Luca Barbato [Wed, 15 Oct 2014 16:32:57 +0000 (17:32 +0100)]
avresample: Make sure the even check does not overflow

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

9 years agoavresample: prevent theoretical division by zero
Vittorio Giovara [Wed, 15 Oct 2014 16:33:00 +0000 (17:33 +0100)]
avresample: prevent theoretical division by zero

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

9 years agoaf_resample: check av_opt_set_dict return value
Vittorio Giovara [Fri, 17 Oct 2014 09:07:11 +0000 (10:07 +0100)]
af_resample: check av_opt_set_dict return value

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

9 years agovf_showinfo: Forward the av_image_get_linesize error
Vittorio Giovara [Fri, 17 Oct 2014 09:07:09 +0000 (10:07 +0100)]
vf_showinfo: Forward the av_image_get_linesize error

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

9 years agovf_drawtext: Do not leak the mmapped textfile
Luca Barbato [Fri, 17 Oct 2014 09:07:10 +0000 (10:07 +0100)]
vf_drawtext: Do not leak the mmapped textfile

And validate its size while at it.

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

9 years agolavc: make lmax/lmin into private options of mpegvideo encoders
Anton Khirnov [Sun, 27 Oct 2013 12:51:16 +0000 (13:51 +0100)]
lavc: make lmax/lmin into private options of mpegvideo encoders

9 years agolavc: make border_masking into private options of mpegvideo encoders
Anton Khirnov [Sun, 27 Oct 2013 12:51:16 +0000 (13:51 +0100)]
lavc: make border_masking into private options of mpegvideo encoders

9 years agolavc: deprecate unused mb_threshold field
Anton Khirnov [Wed, 8 Oct 2014 10:58:43 +0000 (10:58 +0000)]
lavc: deprecate unused mb_threshold field

9 years agolibvpxenc: add static-thresh private option
Anton Khirnov [Wed, 8 Oct 2014 10:49:11 +0000 (10:49 +0000)]
libvpxenc: add static-thresh private option

Currently, this option is accessed through AVCodecContext.mb_threshold,
which originally controlled reusing MB data when transcoding mpeg to
mpeg. Since the libvpx meaning is completely different from the original
mpegvideo meaning, it is better to use a separate private option for
this.

9 years agolavc: deprecate unused me_threshold field
Anton Khirnov [Wed, 8 Oct 2014 10:39:02 +0000 (10:39 +0000)]
lavc: deprecate unused me_threshold field

9 years agolavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo...
Anton Khirnov [Sun, 27 Oct 2013 12:51:16 +0000 (13:51 +0100)]
lavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo encoders

9 years agolavc: make rc_eq into private options of mpegvideo encoders
Anton Khirnov [Sun, 27 Oct 2013 12:51:16 +0000 (13:51 +0100)]
lavc: make rc_eq into private options of mpegvideo encoders

9 years agolavc: make rc_qmod_* into private options of mpegvideo encoders
Anton Khirnov [Sun, 27 Oct 2013 12:51:16 +0000 (13:51 +0100)]
lavc: make rc_qmod_* into private options of mpegvideo encoders

9 years agolavc: make rc_qsquish a private option of mpegvideo encoders
Anton Khirnov [Sun, 27 Oct 2013 12:51:16 +0000 (13:51 +0100)]
lavc: make rc_qsquish a private option of mpegvideo encoders

9 years agoresample: Avoid off-by-1 errors in PTS calcs.
Timothy B. Terriberry [Tue, 14 Oct 2014 00:46:00 +0000 (17:46 -0700)]
resample: Avoid off-by-1 errors in PTS calcs.

The rounding used in the PTS calculations in filter_frame() does
not actually match the number of samples output by the resampler.
This leads to off-by-1 errors in the timestamps indicating gaps and
underruns, even when the input timestamps are all contiguous.

Bug-Id: 753

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agourlprotocol: remove unused url_interrupt_cb declaration
Anton Khirnov [Fri, 17 Oct 2014 13:18:52 +0000 (15:18 +0200)]
urlprotocol: remove unused url_interrupt_cb declaration

It is a remnant of the old interrupt callback API.

9 years agortmpproto: Add pause support
Uwe L. Korn [Fri, 17 Oct 2014 14:30:47 +0000 (16:30 +0200)]
rtmpproto: Add pause support

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortmpproto: Track last received timestamp
Uwe L. Korn [Fri, 17 Oct 2014 14:30:46 +0000 (16:30 +0200)]
rtmpproto: Track last received timestamp

Some RTMP commands need the most recent timestamp as their parameter, so
keep track of it. This must be the most recent one and not e.g. the max
received timestamp as it can decrease again through seeking.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agodump: display codec tags when available
Vittorio Giovara [Fri, 17 Oct 2014 10:31:46 +0000 (11:31 +0100)]
dump: display codec tags when available

For both audio and video.

9 years agolibfdk-aacdec: Enable Dynamic Range Control Metadata Support
Omer Osman [Tue, 14 Oct 2014 14:43:08 +0000 (16:43 +0200)]
libfdk-aacdec: Enable Dynamic Range Control Metadata Support

For streams which contain DRC metadata, the FDK decoder is able to
control rendering of the decoded output. The rendering parameters
are detailed in fdk_aac_dec_options [].

The default behavior is left up to the decoder.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agolibfdk-aacdec: Enable Decoder Downmix including Downmix Metadata Support
Omer Osman [Tue, 14 Oct 2014 14:43:07 +0000 (16:43 +0200)]
libfdk-aacdec: Enable Decoder Downmix including Downmix Metadata Support

The FDK decoder is capable of producing mono and stereo downmix from
multichannel streams. These streams may contain metadata that control
the downmix process. The decoder requires an Ancillary Buffer in order to
correctly apply downmix in streams containing downmix Metadata. The
decoder does not have an API interface to inform of the presence of
Metadata in the stream, and therefore the Ancillary Buffer is always
allocated whenever a downmix is requested.

When downmixing multichannel streams, the decoder requires the output
buffer in aacDecoder_DecodeFrame call to be of fixed size in order to
hold the actual number of channels contained in the stream. For example,
for a 5.1ch to stereo downmix, the decoder requires that the output buffer
is allocated for 6 channels, regardless of the fact that the output is in
fact two channels.

Due to this requirement, the output buffer is allocated for the maximum
output buffer size in case a downmix is requested (and also during
decoder init). When a downmix is requested, the buffer used for output
during init will also be used for the entire duration the decoder is open.
Otherwise, the initial decoder output buffer is freed and the decoder
decodes straight into the output AVFrame.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortmpproto: Add getStreamLength call to query duration
Uwe L. Korn [Tue, 14 Oct 2014 15:16:21 +0000 (17:16 +0200)]
rtmpproto: Add getStreamLength call to query duration

In (non-live) streams with no metadata, the duration of a stream can
be retrieved by calling the RTMP function getStreamLength with the
playpath. The server will return a positive duration upon the request if
the duration is known, otherwise either no response or a duration of 0
will be returned.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortmpproto: Add function to read a number response
Uwe L. Korn [Tue, 14 Oct 2014 15:16:20 +0000 (17:16 +0200)]
rtmpproto: Add function to read a number response

Packets that contain a number as a result to a rtmp function call are
structured the same way (String, Number, Null, Number). This new method
also includes more bounds checks to better handle packets that are not
structured as expected.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agocmdutils: Use the correct guard
Luca Barbato [Wed, 15 Oct 2014 00:43:30 +0000 (02:43 +0200)]
cmdutils: Use the correct guard

The OptionDef arrays are terminated with a { NULL } element not NULL.

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

9 years agoavformat: Make avformat_free_context handle NULL
Luca Barbato [Wed, 15 Oct 2014 00:35:55 +0000 (02:35 +0200)]
avformat: Make avformat_free_context handle NULL

Work as the other free()-like functions.

Bug-Id: CID 1087081
CC: libav-stable@libav.org
9 years agoavconv: check return value
Vittorio Giovara [Tue, 14 Oct 2014 15:46:48 +0000 (16:46 +0100)]
avconv: check return value

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

9 years agoavconv: fix leak in filter error
Vittorio Giovara [Tue, 14 Oct 2014 15:46:44 +0000 (16:46 +0100)]
avconv: fix leak in filter error

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

9 years agoavprobe: Remove a pointless check
Luca Barbato [Tue, 14 Oct 2014 15:46:42 +0000 (16:46 +0100)]
avprobe: Remove a pointless check

The element is always valid.

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

9 years agoavplay: Always free opts
Luca Barbato [Tue, 14 Oct 2014 15:46:39 +0000 (16:46 +0100)]
avplay: Always free opts

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

9 years agoavplay: Always free find_stream_info options
Luca Barbato [Tue, 14 Oct 2014 15:46:38 +0000 (16:46 +0100)]
avplay: Always free find_stream_info options

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

9 years agofate: add mpeg4 tests for frame size changes
Janne Grunau [Tue, 18 Sep 2012 14:03:08 +0000 (16:03 +0200)]
fate: add mpeg4 tests for frame size changes

9 years agoismindex: use tfhd default duration if no sample duration
Mika Raento [Thu, 16 Oct 2014 05:55:17 +0000 (08:55 +0300)]
ismindex: use tfhd default duration if no sample duration

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortsp: Check a memory allocation
Michael Lynch [Tue, 14 Oct 2014 20:30:39 +0000 (16:30 -0400)]
rtsp: Check a memory allocation

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortmpproto: Fix a typo
Martin Storsjö [Wed, 15 Oct 2014 10:41:33 +0000 (13:41 +0300)]
rtmpproto: Fix a typo

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_hevc: Use av_realloc instead of av_malloc+memcpy
Martin Storsjö [Wed, 15 Oct 2014 13:21:27 +0000 (16:21 +0300)]
rtpdec_hevc: Use av_realloc instead of av_malloc+memcpy

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_hevc: Rename a variable for clarity
Martin Storsjö [Wed, 15 Oct 2014 13:14:28 +0000 (16:14 +0300)]
rtpdec_hevc: Rename a variable for clarity

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agomov: Correctly check the color transfer characteristics range
Vittorio Giovara [Mon, 13 Oct 2014 12:34:24 +0000 (13:34 +0100)]
mov: Correctly check the color transfer characteristics range

Reported-by: Ruoyu <liangry@ucweb.com>
9 years agoimc: fix order of operations in coefficients read
Vittorio Giovara [Mon, 13 Oct 2014 14:42:28 +0000 (15:42 +0100)]
imc: fix order of operations in coefficients read

Reported-by: Ruoyu <liangry@ucweb.com>
9 years agosdp: Provide out of bound parameter sets for HEVC if extradata is set
Martin Storsjö [Fri, 3 Oct 2014 20:25:37 +0000 (23:25 +0300)]
sdp: Provide out of bound parameter sets for HEVC if extradata is set

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_hevc: Parse out of band vps/sps/pps/sei from fmtp lines
Martin Storsjö [Fri, 3 Oct 2014 18:40:13 +0000 (21:40 +0300)]
rtpdec_hevc: Parse out of band vps/sps/pps/sei from fmtp lines

These are assembled into extradata in the order vps/sps/pps/sei.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoavconv: replace AVCodecContext.time_base with framerate
Anton Khirnov [Fri, 4 Apr 2014 11:06:22 +0000 (13:06 +0200)]
avconv: replace AVCodecContext.time_base with framerate

9 years agolavf: switch to AVCodecContext.framerate for demuxing
Anton Khirnov [Wed, 8 Oct 2014 19:23:14 +0000 (19:23 +0000)]
lavf: switch to AVCodecContext.framerate for demuxing

9 years agolavc: deprecate the use of AVCodecContext.time_base for decoding
Anton Khirnov [Fri, 4 Apr 2014 10:47:44 +0000 (12:47 +0200)]
lavc: deprecate the use of AVCodecContext.time_base for decoding

When decoding, this field holds the inverse of the framerate that can be
written in the headers for some codecs. Using a field called 'time_base'
for this is very misleading, as there are no timestamps associated with
it. Furthermore, this field is used for a very different purpose during
encoding.

Add a new field, called 'framerate', to replace the use of time_base for
decoding.

9 years agovdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level check
Rémi Denis-Courmont [Tue, 14 Oct 2014 09:59:54 +0000 (12:59 +0300)]
vdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level check

Decoding acceleration may work even if the codec level is higher than
the stated limit of the VDPAU driver. Or the problem may be considered
acceptable by the user. This flag allows skipping the codec level
capability checks and proceed with decoding.

Applications should obviously not set this flag by default, but only if
the user explicitly requested this behavior (and presumably knows how
to turn it back off if it fails).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agovdpau: have av_vdpau_bind_context() fail on unsupported flag
Rémi Denis-Courmont [Tue, 14 Oct 2014 09:59:53 +0000 (12:59 +0300)]
vdpau: have av_vdpau_bind_context() fail on unsupported flag

Currently, no flags are supported.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agodoc: fix typing mistake
Rémi Denis-Courmont [Tue, 14 Oct 2014 09:59:52 +0000 (12:59 +0300)]
doc: fix typing mistake

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agomov: Handle tfdt atoms
Martin Storsjö [Sat, 11 Oct 2014 22:24:26 +0000 (01:24 +0300)]
mov: Handle tfdt atoms

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agomovenc: Write tfdt atoms
Martin Storsjö [Mon, 6 Oct 2014 20:20:50 +0000 (23:20 +0300)]
movenc: Write tfdt atoms

These allow getting the absolute start timestamp of a fragment
without reading preceding timestamps. This fixes sync between
tracks if starting from fragments in different streams that don't
align exactly.

This also is a prerequisite for producing DASH content.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agolavf: use initial_padding instead of deprecated delay
Anton Khirnov [Sat, 23 Aug 2014 13:12:51 +0000 (13:12 +0000)]
lavf: use initial_padding instead of deprecated delay

9 years agolavc: use a separate field for exporting audio encoder padding
Anton Khirnov [Sat, 23 Aug 2014 12:40:50 +0000 (12:40 +0000)]
lavc: use a separate field for exporting audio encoder padding

Currently, the amount of padding inserted at the beginning by some audio
encoders, is exported through AVCodecContext.delay. However
- the term 'delay' is heavily overloaded and can have multiple different
  meanings even in the case of audio encoding.
- this field has entirely different meanings, depending on whether the
  codec context is used for encoding or decoding (and has yet another
  different meaning for video), preventing generic handling of the codec
  context.

Therefore, add a new field -- AVCodecContext.initial_padding. It could
conceivably be used for decoding as well at a later point.

9 years agoh263dec: call get_format() on resolution changes
Rémi Denis-Courmont [Wed, 8 Oct 2014 17:37:01 +0000 (20:37 +0300)]
h263dec: call get_format() on resolution changes

Fail safe if the pixel format changes.

9 years agoh263dec: call get_format after setting resolution and profile
Rémi Denis-Courmont [Wed, 8 Oct 2014 17:37:00 +0000 (20:37 +0300)]
h263dec: call get_format after setting resolution and profile

Bug-Id: 541

9 years agoicecast: Do not use chunked post
Mark McGough [Sun, 12 Oct 2014 10:24:07 +0000 (18:24 +0800)]
icecast: Do not use chunked post

Icecast uses HTTP 1.0 while Libav uses HTTP 1.1 and enables by
default chunked post.

Icecast actually forwards the HTTP chunk headers to the listener
as part of the media stream (without the chunk encoding HTTP headers)
causing the players to lose sync.

Disabling the option is enough to feed icecast properly.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agomovenc: Simplify code by using an existing local pointer
Martin Storsjö [Sat, 11 Oct 2014 21:14:48 +0000 (00:14 +0300)]
movenc: Simplify code by using an existing local pointer

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agomovenc: Print a warning for an unhandled case of nonzero start dts with empty_moov
Martin Storsjö [Sat, 11 Oct 2014 21:33:24 +0000 (00:33 +0300)]
movenc: Print a warning for an unhandled case of nonzero start dts with empty_moov

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agomovenc: Write edit lists for fragmented files as well, if necessary
Martin Storsjö [Sat, 11 Oct 2014 21:03:25 +0000 (00:03 +0300)]
movenc: Write edit lists for fragmented files as well, if necessary

This is necessary to get the right timestamp offset for content
that starts with dts != 0.

This currently only helps when writing fragmented files with a non-empty
moov atom. When writing an empty moov atom, we don't have any packets
yet, so we don't know the starting dts for the tracks.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agomovenc: Add some comments explaining subtle details in writing the edit lists
Martin Storsjö [Sat, 11 Oct 2014 20:56:24 +0000 (23:56 +0300)]
movenc: Add some comments explaining subtle details in writing the edit lists

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agomovenc: Adjust edit lists to trim out parts of tracks with negative pts
Michael Niedermayer [Sat, 29 Sep 2012 04:31:18 +0000 (06:31 +0200)]
movenc: Adjust edit lists to trim out parts of tracks with negative pts

This makes sure that audio preroll for e.g. AAC is signaled correctly.

Previously we only wrote the edit list correctly if we had negative
dts but started with pts == 0 (e.g. for video with B-frames).

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agosmoothstreamingenc: Simplify code by removing a redundant variable
Martin Storsjö [Mon, 6 Oct 2014 07:06:37 +0000 (10:06 +0300)]
smoothstreamingenc: Simplify code by removing a redundant variable

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agolavf: Don't drop both pts and dts if timestamps are invalid
Michael Niedermayer [Wed, 16 Nov 2011 00:19:35 +0000 (01:19 +0100)]
lavf: Don't drop both pts and dts if timestamps are invalid

In these cases, only drop dts. Because if we drop both we have no
timestamps at all for some files.

This improves playback of HLS streams from GoPro cameras.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agotcp: Add AVOption support
Luca Barbato [Thu, 9 Oct 2014 20:05:27 +0000 (22:05 +0200)]
tcp: Add AVOption support

9 years agotls: Support passing old-style tcp options
Luca Barbato [Thu, 9 Oct 2014 19:34:54 +0000 (21:34 +0200)]
tls: Support passing old-style tcp options

Make tcp and tls urls near-interchangeable.

9 years agortsp: Add rtsps to the probe
Luca Barbato [Thu, 9 Oct 2014 20:07:35 +0000 (22:07 +0200)]
rtsp: Add rtsps to the probe

9 years agortsp: Support tls when in listen mode
Luca Barbato [Thu, 9 Oct 2014 20:07:12 +0000 (22:07 +0200)]
rtsp: Support tls when in listen mode

9 years agortsp: Support tls-encapsulated RTSP
Luca Barbato [Thu, 9 Oct 2014 17:35:34 +0000 (19:35 +0200)]
rtsp: Support tls-encapsulated RTSP