]> git.sesse.net Git - ffmpeg/log
ffmpeg
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

9 years agortsp: Check for command strings without spaces
Luca Barbato [Thu, 9 Oct 2014 18:13:54 +0000 (20:13 +0200)]
rtsp: Check for command strings without spaces

Prevent a NULL-pointer dereference.

CC: libav-stable@libav.org
9 years agosctp: Use AVERROR_BUG instead of abort()
Luca Barbato [Thu, 9 Oct 2014 15:57:14 +0000 (17:57 +0200)]
sctp: Use AVERROR_BUG instead of abort()

Trying to write to a stream id larger the the maximum requested is
a programming error, still there is no reason to leave a
reachable abort() in the codebase.

CC: libav-stable@libav.org
9 years agolavf: More informative error message
Luca Barbato [Thu, 9 Oct 2014 15:18:03 +0000 (17:18 +0200)]
lavf: More informative error message

Print the timestamp values and not just the stream index.

9 years agow32pthreads: use the condition variable API directly when targeting newer versions...
James Almer [Thu, 9 Oct 2014 16:13:06 +0000 (13:13 -0300)]
w32pthreads: use the condition variable API directly when targeting newer versions of Windows

Wrap the function calls in a similar fashion to how it's being done
with the critical section API.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agow32pthreads: use the CONDITION_VARIABLE typedef if available
James Almer [Thu, 9 Oct 2014 16:13:05 +0000 (13:13 -0300)]
w32pthreads: use the CONDITION_VARIABLE typedef if available

This silences warnings about passing arguments from incompatible pointer type
when targeting Windows Vista or newer.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoismindex: handle discontinuous streams better
Mika Raento [Wed, 8 Oct 2014 06:39:26 +0000 (09:39 +0300)]
ismindex: handle discontinuous streams better

Read the fragment duration from the trun sample data, rather than
assuming that there are no gaps.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agovc1: initialize color properties
Vittorio Giovara [Sun, 5 Oct 2014 21:58:50 +0000 (22:58 +0100)]
vc1: initialize color properties

9 years agovp9: initialize color space and range properties
Vittorio Giovara [Sun, 5 Oct 2014 21:58:50 +0000 (22:58 +0100)]
vp9: initialize color space and range properties

9 years agovp8: initialize color space and range properties
Vittorio Giovara [Sun, 5 Oct 2014 21:58:50 +0000 (22:58 +0100)]
vp8: initialize color space and range properties

9 years agomov: support the Color Parameter Atoms 'colr'
Vittorio Giovara [Thu, 2 Oct 2014 13:28:35 +0000 (14:28 +0100)]
mov: support the Color Parameter Atoms 'colr'

9 years agoavcodec: fix colorspace option description
Vittorio Giovara [Tue, 30 Sep 2014 13:51:23 +0000 (14:51 +0100)]
avcodec: fix colorspace option description

9 years agoavcodec: add enum values on chroma sample location
Marc-Antoine Arnaud [Tue, 23 Sep 2014 14:17:42 +0000 (16:17 +0200)]
avcodec: add enum values on chroma sample location

9 years agoavcodec: fix descriptions on color transfer options
Marc-Antoine Arnaud [Tue, 23 Sep 2014 14:16:19 +0000 (16:16 +0200)]
avcodec: fix descriptions on color transfer options

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years agodump: Update streams and chapters printout format
Sylvain Rabot [Tue, 30 Sep 2014 09:26:06 +0000 (11:26 +0200)]
dump: Update streams and chapters printout format

This matches the -map option which requires '%d:%d' format.

9 years agodump: print the original coded dimensions when available
Vittorio Giovara [Fri, 26 Sep 2014 14:24:07 +0000 (15:24 +0100)]
dump: print the original coded dimensions when available

9 years agodump: print detailed color space information
Vittorio Giovara [Fri, 26 Sep 2014 14:24:01 +0000 (15:24 +0100)]
dump: print detailed color space information

9 years agodump: split audio and video probing on multiple lines
Vittorio Giovara [Fri, 26 Sep 2014 13:37:40 +0000 (14:37 +0100)]
dump: split audio and video probing on multiple lines

Also always report pixel format.

9 years agopixdesc: return color properties names
Vittorio Giovara [Fri, 26 Sep 2014 13:15:25 +0000 (14:15 +0100)]
pixdesc: return color properties names

9 years agopixfmt: mark further reserved values
Vittorio Giovara [Fri, 26 Sep 2014 12:14:37 +0000 (13:14 +0100)]
pixfmt: mark further reserved values

9 years agodoc: expand description for some color properties
Vittorio Giovara [Mon, 29 Sep 2014 13:27:47 +0000 (14:27 +0100)]
doc: expand description for some color properties

9 years agoavprobe: print color properties for show_streams
Vittorio Giovara [Fri, 3 Oct 2014 17:18:55 +0000 (18:18 +0100)]
avprobe: print color properties for show_streams

9 years agoavcodec: make sure color_range is properly initialized
Vittorio Giovara [Fri, 26 Sep 2014 15:07:55 +0000 (16:07 +0100)]
avcodec: make sure color_range is properly initialized

9 years agovc1: Split the decoder in components
Luca Barbato [Wed, 16 Jul 2014 18:18:20 +0000 (20:18 +0200)]
vc1: Split the decoder in components

Speed up the overall compilation time.

9 years agoavformat: bump version after mime_type change
Vittorio Giovara [Wed, 8 Oct 2014 14:52:51 +0000 (15:52 +0100)]
avformat: bump version after mime_type change

9 years agoavformat: use const char* instead of uint8_t* for AVProbeData.mime_type
Andreas Cadhalpun [Tue, 30 Sep 2014 10:40:36 +0000 (11:40 +0100)]
avformat: use const char* instead of uint8_t* for AVProbeData.mime_type

This makes the field consistent with AVInputFormat.mime_type and the
argument type of av_match_name.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years agox86: h264_intrapred: Don't treat 32-bit integers as 64-bit
Henrik Gramner [Wed, 1 Oct 2014 17:03:29 +0000 (19:03 +0200)]
x86: h264_intrapred: Don't treat 32-bit integers as 64-bit

The upper halves are not guaranteed to be zero in x86-64.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agojpeg2000: split off inverse MCT as Jpeg2000DSP
James Almer [Thu, 2 Oct 2014 17:08:01 +0000 (14:08 -0300)]
jpeg2000: split off inverse MCT as Jpeg2000DSP

This makes the addition of arch optimized functions easier.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoh263dec: Force padding bug workaround for H.263.
Josh Allmann [Fri, 3 Oct 2014 16:42:25 +0000 (09:42 -0700)]
h263dec: Force padding bug workaround for H.263.

Fixes decoding of http://samples.mplayerhq.hu/V-codecs/h263/h263-raw/messenger.h263

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohevc_mvs: make sure to always initialize the temporal MV fully
Anton Khirnov [Mon, 29 Sep 2014 16:25:14 +0000 (16:25 +0000)]
hevc_mvs: make sure to always initialize the temporal MV fully

The spec requires this.

Fixes uninitialized reads on some samples.

Remove now unnecessary initialization of the whole merge candidate list.

9 years agohevc_mvs: initialize the temporal MV in case of missing ref
Anton Khirnov [Mon, 29 Sep 2014 16:16:50 +0000 (16:16 +0000)]
hevc_mvs: initialize the temporal MV in case of missing ref

The caller expects the MV to always be initialized.

9 years agolavf: Set the stream time base hint properly for chained muxers
Martin Storsjö [Mon, 6 Oct 2014 08:41:33 +0000 (11:41 +0300)]
lavf: Set the stream time base hint properly for chained muxers

This avoids warnings about using the codec time base as time
base hint.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agosdp: Simplify parsing/conversion of H264 extradata
Martin Storsjö [Fri, 3 Oct 2014 17:49:01 +0000 (20:49 +0300)]
sdp: Simplify parsing/conversion of H264 extradata

By using ff_avc_write_annexb_extradata instead of the h264_mp4toannexb
BSF, the code for doing the conversion itself is kept much shorter,
there's less state to restore at the end, we don't risk leaving the
AVCodecContext in an inconsistent state if returning early due to
errors, etc.

Also add a missing free if the base64 encoding fails.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoff_get_format: fix infinite loop
Rémi Denis-Courmont [Mon, 6 Oct 2014 14:41:00 +0000 (17:41 +0300)]
ff_get_format: fix infinite loop

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agolavc: specify the behavior of av_lockmgr_register on failure.
Manfred Georg [Thu, 2 Oct 2014 20:19:34 +0000 (13:19 -0700)]
lavc: specify the behavior of av_lockmgr_register on failure.

The register function now specifies that the user callback should
leave things in the same state that it found them on failure but
that failure to destroy is ignored by the library.  The register
function is now explicit about its behavior on failure
(it unregisters the previous callback and destroys all mutex).

Signed-off-by: Manfred Georg <mgeorg@google.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoavconv_vdpau: update to new VDPAU interface
Rémi Denis-Courmont [Sat, 4 Oct 2014 13:55:09 +0000 (16:55 +0300)]
avconv_vdpau: update to new VDPAU interface

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agovdpau: check video surface and decoder capabilities
Rémi Denis-Courmont [Sat, 4 Oct 2014 13:55:08 +0000 (16:55 +0300)]
vdpau: check video surface and decoder capabilities

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agovdpau: add av_vdpau_bind_context()
Rémi Denis-Courmont [Sat, 4 Oct 2014 13:55:07 +0000 (16:55 +0300)]
vdpau: add av_vdpau_bind_context()

This function provides an explicit VDPAU device and VDPAU driver to
libavcodec, so that the application is relieved from codec specifics
and VdpDevice life cycle management.

A stub flags parameter is added for future extension. For instance, it
could be used to ignore codec level capabilities (if someone feels
dangerous).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agovdpau: force reinitialization when output resolution changes
Rémi Denis-Courmont [Sat, 4 Oct 2014 13:55:06 +0000 (16:55 +0300)]
vdpau: force reinitialization when output resolution changes

This is necessary to recreate the decoder with the correct parameters,
as not all codecs invoke get_format() in this case.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agovdpau: pass codec-specific parameters from hwaccel
Rémi Denis-Courmont [Sat, 4 Oct 2014 13:55:05 +0000 (16:55 +0300)]
vdpau: pass codec-specific parameters from hwaccel

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agovdpau: common support for managing the VdpDecoder in avcodec
Rémi Denis-Courmont [Sat, 4 Oct 2014 13:55:04 +0000 (16:55 +0300)]
vdpau: common support for managing the VdpDecoder in avcodec

Using the not so new init and uninit callbacks, avcodec can now take
care of creating and destroying the VDPAU decoder instance.

The application is still responsible for creating the VDPAU device
and allocating video surfaces - this is necessary to keep video
surfaces on the GPU all the way to the output. But the application
will no longer needs to care about any codec-specific aspects.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agovdpau: factor out common end-of-frame handling
Rémi Denis-Courmont [Sat, 4 Oct 2014 13:55:03 +0000 (16:55 +0300)]
vdpau: factor out common end-of-frame handling

Also add error handling.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agovdpau: add helper for VDPAU to libav error codes conversion
Rémi Denis-Courmont [Sat, 4 Oct 2014 13:55:02 +0000 (16:55 +0300)]
vdpau: add helper for VDPAU to libav error codes conversion

Signed-off-by: Anton Khirnov <anton@khirnov.net>