]> git.sesse.net Git - ffmpeg/log
ffmpeg
9 years agofate: Add AIC test with odd sizes
Vittorio Giovara [Mon, 2 Mar 2015 13:03:39 +0000 (13:03 +0000)]
fate: Add AIC test with odd sizes

9 years agoaic: Fix decoding files with odd dimensions
Vittorio Giovara [Fri, 27 Feb 2015 19:00:25 +0000 (19:00 +0000)]
aic: Fix decoding files with odd dimensions

Normally the aic decoder finds the proper slice combination (multiple of
some number less than 32) but in case of odd width, it resorts to the
default values, which were actually swapped.
The number of slices is modified to account for such odd width cases.

CC: libav-stable@libav.org
9 years agodashenc: Simplify code by using a local variable
Martin Storsjö [Mon, 2 Mar 2015 12:10:22 +0000 (14:10 +0200)]
dashenc: Simplify code by using a local variable

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoRevert "mov: Change DTS-based seek into CTS-based seek."
Martin Storsjö [Sat, 28 Feb 2015 21:51:16 +0000 (23:51 +0200)]
Revert "mov: Change DTS-based seek into CTS-based seek."

This reverts commit 4abfa387b8234736f6e0e541951e3d5eb60eb843.

This commit broke playback of fragmented mp4 files with b-frames.
While investigating this, it turned out that the general framework
isn't ready for a PTS-based index yet. Revert this change until
a better thought out solution is in place.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agov4l2: Add support for h264
Luca Barbato [Fri, 27 Feb 2015 00:34:52 +0000 (01:34 +0100)]
v4l2: Add support for h264

9 years agov4l2: Use the codec descriptor facility
Luca Barbato [Fri, 27 Feb 2015 01:12:33 +0000 (02:12 +0100)]
v4l2: Use the codec descriptor facility

The encoder or decoder might be disabled but the format would be
supported for at least remuxing.

9 years agoprores: Extend the padding check to 16bit
Luca Barbato [Wed, 25 Feb 2015 14:29:15 +0000 (15:29 +0100)]
prores: Extend the padding check to 16bit

Some files produced by the official encoder have up to 16bit of
padding instead of the expected padding to the byte.

Use a self-explanatory macro instead of a simple number.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agortpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate
Martin Storsjö [Wed, 25 Feb 2015 22:00:39 +0000 (00:00 +0200)]
rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate

Instead check the timestamps while muxing, to avoid buffering a
too long timestamp range into one single packet.

This makes the AMR and AAC packetization slightly less efficient,
since we set a possibly unnecessarily high max_frames_per_packet.
(These packetizers end up doing a memmove of the TOC bytes if
sending a packet before max_frames_per_packet is achieved, and
we end up setting max_frames_per_packet to a value that should
be high enough for most uses.)

All packetizers that use max_frames_per_packet now set it either
to a default value, or to a value calculated based on other
parameters, so none of them rely on the previous default setting.

For iLBC, copy one frame at a time, to allow checking the timestamp
range for each of them - basically doing potentially multiple
loops to simplify the code instead of trying to calculate the
number of frames to buffer while honoring s1->max_delay.

This is in preparation for reducing the coupling between libavformat
and libavcodec, by not having the muxers use the encoder field
frame_size (which may not be available during e.g. stream copy).

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc: Restructure if statements in packetizers to simplify adding more conditions
Martin Storsjö [Fri, 27 Feb 2015 10:32:42 +0000 (12:32 +0200)]
rtpenc: Restructure if statements in packetizers to simplify adding more conditions

Factorize out the s->num_frames check at the start of the if statements,
simplifying adding more alternative causes for sending the buffered
frames.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc: Skip redundant initialization
Martin Storsjö [Thu, 26 Feb 2015 11:37:56 +0000 (13:37 +0200)]
rtpenc: Skip redundant initialization

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc: Always do the default initialization regardless of codecs
Martin Storsjö [Thu, 26 Feb 2015 11:33:59 +0000 (13:33 +0200)]
rtpenc: Always do the default initialization regardless of codecs

This avoids having to jump to the defaultcase in the switch. Manually
override the stream time base back to 90 kHz for the few audio codecs
that don't use the sample rate as time base (mp2, mp3).

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc_xiph: Don't exclude headers from max_payload_size
Martin Storsjö [Thu, 26 Feb 2015 11:39:17 +0000 (13:39 +0200)]
rtpenc_xiph: Don't exclude headers from max_payload_size

This makes things more consistent by using the variable in the same
way as in all other packetizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc_xiph: Use AV_WB16 instead of manual bitshifts
Martin Storsjö [Thu, 26 Feb 2015 11:42:43 +0000 (13:42 +0200)]
rtpenc_xiph: Use AV_WB16 instead of manual bitshifts

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc_aac: Use AV_WB16 instead of manual bitshifts
Martin Storsjö [Wed, 25 Feb 2015 22:25:11 +0000 (00:25 +0200)]
rtpenc_aac: Use AV_WB16 instead of manual bitshifts

This makes the code slightly more readable and understandable.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc_aac: Merge a definition with a declaration
Martin Storsjö [Wed, 25 Feb 2015 22:21:03 +0000 (00:21 +0200)]
rtpenc_aac: Merge a definition with a declaration

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc: Write conditional statements on separate lines
Martin Storsjö [Wed, 25 Feb 2015 21:33:24 +0000 (23:33 +0200)]
rtpenc: Write conditional statements on separate lines

Intentionally keeping some conditional statements on single lines
in rtpenc_h263.c.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc_aac: Set a default value for max_frames_per_packet at init
Martin Storsjö [Wed, 25 Feb 2015 21:34:36 +0000 (23:34 +0200)]
rtpenc_aac: Set a default value for max_frames_per_packet at init

This avoids having to conditionally set the default within the
packetizer function.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc_amr: Use s->num_frames instead of s->buf_ptr - s->buf
Martin Storsjö [Fri, 27 Feb 2015 10:30:54 +0000 (12:30 +0200)]
rtpenc_amr: Use s->num_frames instead of s->buf_ptr - s->buf

This doesn't fix any bug, but makes the code simpler for later
patches, and more straightforward to read as is.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc_aac: Fix sending fragmented frames
Martin Storsjö [Wed, 25 Feb 2015 21:55:58 +0000 (23:55 +0200)]
rtpenc_aac: Fix sending fragmented frames

After sending a fragmented frame, len (s->buf_ptr - s->buf) isn't
zero, while s->num_frames is zero as intended. Using s->num_frames
makes it work as intended, and is less convoluted than keeping track
of (resetting) s->buf_ptr.

This avoids sending stray data after sending a fragmented aac packet.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoAdd a QSV decoding example.
Anton Khirnov [Wed, 11 Feb 2015 23:07:29 +0000 (00:07 +0100)]
Add a QSV decoding example.

9 years agoavcodec/utils: use correct printf specifier in ff_set_sar
Andreas Cadhalpun [Sat, 28 Feb 2015 19:11:36 +0000 (20:11 +0100)]
avcodec/utils: use correct printf specifier in ff_set_sar

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agox11grab: Unbreak building
Christian Hujer [Fri, 27 Feb 2015 09:22:08 +0000 (10:22 +0100)]
x11grab: Unbreak building

The correct macro is DEC not D. Broken in
b31328d008985f87f0a7c83c700847cef1a4f08c

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agolavc: do not compile fmtconvert unconditionally
Anton Khirnov [Sat, 21 Feb 2015 10:24:44 +0000 (11:24 +0100)]
lavc: do not compile fmtconvert unconditionally

Only ac3dec and dcadec use it.

9 years agofmtconvert: drop unused functions
Anton Khirnov [Sat, 21 Feb 2015 10:37:52 +0000 (11:37 +0100)]
fmtconvert: drop unused functions

9 years agolavc: remove unused traces of fmtconvert usage
Anton Khirnov [Sat, 21 Feb 2015 10:00:59 +0000 (11:00 +0100)]
lavc: remove unused traces of fmtconvert usage

Those decoders have been switched to float output and so do not use
fmtconvert anymore.

9 years agotls: Pass AVOptions dictionaries through to the chained protocol
Martin Storsjö [Sat, 28 Feb 2015 00:15:55 +0000 (02:15 +0200)]
tls: Pass AVOptions dictionaries through to the chained protocol

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agotcp: Clarify the units for the timeout avoptions
Martin Storsjö [Fri, 27 Feb 2015 23:37:18 +0000 (01:37 +0200)]
tcp: Clarify the units for the timeout avoptions

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoavio: Rename avclass symbols relating to avio
Martin Storsjö [Fri, 27 Feb 2015 23:06:28 +0000 (01:06 +0200)]
avio: Rename avclass symbols relating to avio

Don't prefix them ffio_url, which is misleading, sounding too
much like the urlprotocol layer (like ffurl_*).

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoconfigure: Move the cross_prefix setting after the toolchain one
Luca Barbato [Sun, 6 Apr 2014 22:47:42 +0000 (00:47 +0200)]
configure: Move the cross_prefix setting after the toolchain one

Makes passing to configure
--toolchain=gcc-asan --cross-prefix=armv7a-hardfloat-linux-gnueabi-
work as intended.

9 years agoxcbgrab: Unbreak parsing filename options
Luca Barbato [Sun, 22 Feb 2015 19:36:09 +0000 (20:36 +0100)]
xcbgrab: Unbreak parsing filename options

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agoxcbgrab: Provide better names for the y and x option
Luca Barbato [Sun, 22 Feb 2015 19:36:08 +0000 (20:36 +0100)]
xcbgrab: Provide better names for the y and x option

Incidentally `-y` also collides with avconv global options.

Update x11grab to match and document the option.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agomatroskaenc: Allow writing track "forced" flag
John Stebbins [Tue, 24 Feb 2015 20:44:48 +0000 (12:44 -0800)]
matroskaenc: Allow writing track "forced" flag

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agortpdec: Rename the free method to close
Martin Storsjö [Tue, 24 Feb 2015 15:01:48 +0000 (17:01 +0200)]
rtpdec: Rename the free method to close

Many of these functions were named foo_free_context, and since
the functions no longer should free the context itself, only
allocated elements within it, the previous naming was slightly
misleading.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agolibavformat: Use ffio_free_dyn_buf where applicable
Martin Storsjö [Tue, 24 Feb 2015 12:07:54 +0000 (14:07 +0200)]
libavformat: Use ffio_free_dyn_buf where applicable

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Use ffio_free_dyn_buf
Martin Storsjö [Tue, 24 Feb 2015 11:37:03 +0000 (13:37 +0200)]
rtpdec: Use ffio_free_dyn_buf

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoavio: Add an internal utility function for freeing dynamic buffers
Martin Storsjö [Tue, 24 Feb 2015 11:23:30 +0000 (13:23 +0200)]
avio: Add an internal utility function for freeing dynamic buffers

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Free depacketizers if the init function failed
Martin Storsjö [Tue, 24 Feb 2015 11:18:10 +0000 (13:18 +0200)]
rtpdec: Free depacketizers if the init function failed

This is different from how it is handled in codecs/demuxers/muxers
though (where the close function isn't called if the open function
failed), but since the number of depacketizers that have an .init
function is quite limited, this is easy to change.

The main point is that if the init function failed, we shouldn't
try to use that depacketizer at all - this makes sure that the
parse function doesn't need to check for the things that were
initialized in the init function.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Don't free the payload context in the .free function
Martin Storsjö [Tue, 24 Feb 2015 11:07:57 +0000 (13:07 +0200)]
rtpdec: Don't free the payload context in the .free function

This makes it more consistent with depacketizers that don't have any
.free function at all, where the payload context is freed by the
surrounding framework. Always free the context in the surrounding
framework, having the individual depacketizers only free any data
they've specifically allocated themselves.

This is similar to how this works for demuxer/muxers/codecs - a
component shouldn't free the priv_data that the framework has
allocated for it.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Remove the now unused .alloc field
Martin Storsjö [Tue, 24 Feb 2015 10:45:15 +0000 (12:45 +0200)]
rtpdec: Remove the now unused .alloc field

Always use the .priv_data_size field instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Use .init instead of .alloc to set default values
Martin Storsjö [Tue, 24 Feb 2015 10:43:07 +0000 (12:43 +0200)]
rtpdec: Use .init instead of .alloc to set default values

The ugly error handling in rdt gets improved in a later commit.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Remove unnecessary inline attributes
Martin Storsjö [Tue, 24 Feb 2015 10:56:51 +0000 (12:56 +0200)]
rtpdec: Remove unnecessary inline attributes

These functions are far from performance critical, so there's no
point in marking them as inline.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Don't pass non-const pointers to fmtp attribute parsing functions
Martin Storsjö [Tue, 24 Feb 2015 10:32:17 +0000 (12:32 +0200)]
rtpdec: Don't pass non-const pointers to fmtp attribute parsing functions

This makes it clear that the individual parsing functions can't
touch the parsed out value.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Add const to string parameters in internal fmtp parsing functions
Martin Storsjö [Tue, 24 Feb 2015 10:31:23 +0000 (12:31 +0200)]
rtpdec: Add const to string parameters in internal fmtp parsing functions

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Remove unnecessary checks
Martin Storsjö [Tue, 24 Feb 2015 11:30:12 +0000 (13:30 +0200)]
rtpdec: Remove unnecessary checks

The free function of a depacketizer won't be called if data is NULL.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc: Merge the h264 and hevc packetizers
Martin Storsjö [Mon, 23 Feb 2015 21:06:01 +0000 (23:06 +0200)]
rtpenc: Merge the h264 and hevc packetizers

They share a great deal of common structure; only a few minor
bits in the headers differ.

This also fixes an off-by-one in sending of the last fragment
of large HEVC nals (where it previously sent len+2 bytes, even
if it should have been len+RTP_HEVC_HEADERS_SIZE aka len+3).

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_hevc: Share the implementation of fragmented packets with h264
Martin Storsjö [Mon, 23 Feb 2015 21:28:34 +0000 (23:28 +0200)]
rtpdec_hevc: Share the implementation of fragmented packets with h264

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_hevc: Reduce indentation level by returning early on errors
Martin Storsjö [Mon, 23 Feb 2015 21:17:54 +0000 (23:17 +0200)]
rtpdec_hevc: Reduce indentation level by returning early on errors

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_hevc: Share the implementation of parsing a=framesize with h264
Martin Storsjö [Mon, 23 Feb 2015 18:59:41 +0000 (20:59 +0200)]
rtpdec_hevc: Share the implementation of parsing a=framesize with h264

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_hevc: Add asterisks at the start of each long comment line
Martin Storsjö [Mon, 23 Feb 2015 21:13:55 +0000 (23:13 +0200)]
rtpdec_hevc: Add asterisks at the start of each long comment line

This is the common style for such comments.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Get rid of all trivial .alloc/.free functions
Martin Storsjö [Mon, 23 Feb 2015 20:18:32 +0000 (22:18 +0200)]
rtpdec: Get rid of all trivial .alloc/.free functions

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Allow allocating and freeing the private data without explicit functions
Martin Storsjö [Mon, 23 Feb 2015 19:57:33 +0000 (21:57 +0200)]
rtpdec: Allow allocating and freeing the private data without explicit functions

This can reduce the amount of boilerplate in simple depacketizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Set need_parsing via a handler field
Martin Storsjö [Mon, 23 Feb 2015 19:51:05 +0000 (21:51 +0200)]
rtpdec: Set need_parsing via a handler field

This avoids implementing a full function just to set this one
field.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandler
Martin Storsjö [Mon, 23 Feb 2015 19:35:48 +0000 (21:35 +0200)]
rtpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandler

This allows getting rid of quite a bit of boilerplate in depacketizers.

The default value (initializing need_parsing to 0, aka
AVSTREAM_PARSE_NONE) is the same as it is initialized to by default
in AVStream.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_mpa_robust: Move .enc_name to the start of the struct
Martin Storsjö [Mon, 23 Feb 2015 19:51:59 +0000 (21:51 +0200)]
rtpdec_mpa_robust: Move .enc_name to the start of the struct

This makes it match the other depacketizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Remove unnecessary _if_needed suffixes on functions
Martin Storsjö [Mon, 23 Feb 2015 20:25:55 +0000 (22:25 +0200)]
rtpdec: Remove unnecessary _if_needed suffixes on functions

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Change enc_name to a pointer instead of a fixed-size buffer
Martin Storsjö [Mon, 23 Feb 2015 19:53:19 +0000 (21:53 +0200)]
rtpdec: Change enc_name to a pointer instead of a fixed-size buffer

This avoids allocating space for a too large buffer for all the
name strings.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_h264: Remove an unnecessary include
Martin Storsjö [Mon, 23 Feb 2015 20:22:28 +0000 (22:22 +0200)]
rtpdec_h264: Remove an unnecessary include

Nothing in this file use any network functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_h264: Remove unnecessary struct padding
Martin Storsjö [Mon, 23 Feb 2015 20:03:44 +0000 (22:03 +0200)]
rtpdec_h264: Remove unnecessary struct padding

There's no point in adding padding in the allocation of a depacketizer
specific context struct.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_amr: Use the common indentation style
Martin Storsjö [Mon, 23 Feb 2015 20:31:29 +0000 (22:31 +0200)]
rtpdec_amr: Use the common indentation style

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortsp: Fix the indentation of a linewrapped statement
Martin Storsjö [Mon, 23 Feb 2015 19:56:28 +0000 (21:56 +0200)]
rtsp: Fix the indentation of a linewrapped statement

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: Add missing trailing commas
Martin Storsjö [Mon, 23 Feb 2015 20:06:41 +0000 (22:06 +0200)]
rtpdec: Add missing trailing commas

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agolibavformat: add T.140 RTP depacketization (RFC 4103)
Gilles Chanteperdrix [Sun, 8 Feb 2015 21:22:41 +0000 (22:22 +0100)]
libavformat: add T.140 RTP depacketization (RFC 4103)

Map this to AV_CODEC_ID_TEXT.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortsp: Interpret the text media type as AVMEDIA_TYPE_DATA
Martin Storsjö [Mon, 23 Feb 2015 15:16:32 +0000 (17:16 +0200)]
rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agofate: Rename fate-dts test to fate-dca-core
Diego Biurrun [Wed, 18 Feb 2015 23:04:33 +0000 (00:04 +0100)]
fate: Rename fate-dts test to fate-dca-core

The codec is referred to as DCA in other parts of libav.

9 years agoqsv: Skip qsv.h compilation if qsv is not enabled
Diego Biurrun [Mon, 23 Feb 2015 12:43:53 +0000 (13:43 +0100)]
qsv: Skip qsv.h compilation if qsv is not enabled

9 years agortsp: punch holes again after pause
Gilles Chanteperdrix [Sun, 22 Feb 2015 06:59:55 +0000 (07:59 +0100)]
rtsp: punch holes again after pause

When a client behind a NAT issues a pause command, and stay paused for a
long time, the router may stop the RTP/RTCP port redirection. Resend the
hole punching packets before each PLAY command to cause the router to
restart the port redirection in that case.

Move the existing code for sending the packets from the SETUP phase
to the PLAY phase.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoeamad: check for out of bounds read
Federico Tomassetti [Wed, 18 Feb 2015 12:11:44 +0000 (12:11 +0000)]
eamad: check for out of bounds read

Bug-Id: CID 1257500
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agomdec: check for out of bounds read
Federico Tomassetti [Wed, 18 Feb 2015 12:11:43 +0000 (12:11 +0000)]
mdec: check for out of bounds read

Bug-Id: CID 1257501
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agortpdec_hevc: Skip 1 byte (DOND) instead of 2 (DONL) between aggregation units
Martin Storsjö [Sun, 22 Feb 2015 21:25:28 +0000 (23:25 +0200)]
rtpdec_hevc: Skip 1 byte (DOND) instead of 2 (DONL) between aggregation units

Only the first aggregation unit has 2 bytes (DONL) prepended, if
such a field is in use.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoCanopus HQX decoder
Vittorio Giovara [Sun, 22 Feb 2015 18:38:31 +0000 (18:38 +0000)]
Canopus HQX decoder

Based on work by Kostya Shishkov <kostya.shishkov@gmail.com>.

9 years agohevc_deblock: Fix compilation with nasm
Carl Eugen Hoyos [Sun, 22 Feb 2015 17:46:49 +0000 (17:46 +0000)]
hevc_deblock: Fix compilation with nasm

CC: libav-stable@libav.org
Bug-Id: 795
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years agolibschroedinger: Check memory allocations
Vittorio Giovara [Sun, 22 Feb 2015 19:49:06 +0000 (19:49 +0000)]
libschroedinger: Check memory allocations

9 years agoconfigure: Properly fail when libcdio/cdparanoia is not found
Vittorio Giovara [Sun, 22 Feb 2015 19:49:52 +0000 (19:49 +0000)]
configure: Properly fail when libcdio/cdparanoia is not found

9 years agoconfigure: Use pkg-config for libdc1394 discovery
Vittorio Giovara [Sun, 22 Feb 2015 20:33:24 +0000 (20:33 +0000)]
configure: Use pkg-config for libdc1394 discovery

Since not all systems need the libraw1394 dependency, let pkg-config
provide the list of libraries actually needed.

The libdc1394-2.pc file has been included since version 2 (2008-01-05),
so it should be safe to use.

9 years agortpenc_hevc: Aggregate multiple NAL units into one RTP packet, if possible
Martin Storsjö [Fri, 20 Feb 2015 19:37:50 +0000 (21:37 +0200)]
rtpenc_hevc: Aggregate multiple NAL units into one RTP packet, if possible

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpenc_h264: Aggregate multiple NAL units into one RTP packet, if possible
Martin Storsjö [Fri, 20 Feb 2015 19:21:27 +0000 (21:21 +0200)]
rtpenc_h264: Aggregate multiple NAL units into one RTP packet, if possible

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: DV depacketizer (RFC 6469)
Thomas Volkert [Sat, 21 Feb 2015 17:35:50 +0000 (18:35 +0100)]
rtpdec: DV depacketizer (RFC 6469)

(tested with live555 RTSP server)

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_mpeg4: reassemble fragmented AAC frames
Gilles Chanteperdrix [Fri, 13 Feb 2015 21:51:32 +0000 (22:51 +0100)]
rtpdec_mpeg4: reassemble fragmented AAC frames

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_mpeg4: add more verbose error logging
Gilles Chanteperdrix [Fri, 20 Feb 2015 21:41:58 +0000 (23:41 +0200)]
rtpdec_mpeg4: add more verbose error logging

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agolibavformat: add robust MPEG audio depacketization (RFC 5219)
Gilles Chanteperdrix [Fri, 13 Feb 2015 21:51:33 +0000 (22:51 +0100)]
libavformat: add robust MPEG audio depacketization (RFC 5219)

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agompegaudio_parser: add MP3 ADU headers parser
Gilles Chanteperdrix [Fri, 13 Feb 2015 21:51:33 +0000 (22:51 +0100)]
mpegaudio_parser: add MP3 ADU headers parser

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agolibavformat: add AC3 RTP depacketization (RFC 4184)
Gilles Chanteperdrix [Fri, 13 Feb 2015 21:51:34 +0000 (22:51 +0100)]
libavformat: add AC3 RTP depacketization (RFC 4184)

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortsp: parse lang attribute in SDP
Gilles Chanteperdrix [Sun, 8 Feb 2015 21:22:45 +0000 (22:22 +0100)]
rtsp: parse lang attribute in SDP

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec: fix issue with conversion from unsigned to signed
Gilles Chanteperdrix [Fri, 20 Feb 2015 06:14:53 +0000 (07:14 +0100)]
rtpdec: fix issue with conversion from unsigned to signed

When receiving an RTCP packet, the difference between the last RTCP
timestamp and the base timestamp may be negative. As these timestamps
are of the uint32_t type, the result becomes a large integer. Cast
the difference to int32_t to avoid this issue.

The result of this issue is very large start times for RTSP
streams, and difficulty to restart correctly after a pause.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_h264: Add a missing closing paren in a log message
Martin Storsjö [Fri, 20 Feb 2015 18:57:17 +0000 (20:57 +0200)]
rtpdec_h264: Add a missing closing paren in a log message

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agolibavresample: NEON optimized FIR audio resampling
Peter Meerwald [Thu, 19 Feb 2015 22:28:26 +0000 (23:28 +0100)]
libavresample: NEON optimized FIR audio resampling

modelled after aarch64 code

on Cortex-A8, s16 and s32 code is about 2x faster,
float code about 7x faster

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_hevc: Implement parsing of aggregated packets
Thomas Volkert [Fri, 13 Feb 2015 21:43:16 +0000 (22:43 +0100)]
rtpdec_hevc: Implement parsing of aggregated packets

With significant changes by Martin Storsjö, to use the shared
function instead of reimplementing it.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_hevc: Initialize variables to silence false positive compiler warnings
Martin Storsjö [Thu, 19 Feb 2015 20:26:40 +0000 (22:26 +0200)]
rtpdec_hevc: Initialize variables to silence false positive compiler warnings

For some reason, clang didn't warn about this prior to using the
shared function.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_hevc: Use a shared function for parsing parameter sets
Martin Storsjö [Thu, 19 Feb 2015 20:22:55 +0000 (22:22 +0200)]
rtpdec_hevc: Use a shared function for parsing parameter sets

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_h264: Make reusable functions non-static
Martin Storsjö [Thu, 19 Feb 2015 20:18:55 +0000 (22:18 +0200)]
rtpdec_h264: Make reusable functions non-static

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_h264: Fix nal type counting after refactoring
Martin Storsjö [Thu, 19 Feb 2015 20:12:21 +0000 (22:12 +0200)]
rtpdec_h264: Fix nal type counting after refactoring

This fixes builds with -DDEBUG after f0a874799.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_h264: Prepare h264_handle_packet_stap_a for sharing with hevc
Martin Storsjö [Thu, 19 Feb 2015 19:40:48 +0000 (21:40 +0200)]
rtpdec_h264: Prepare h264_handle_packet_stap_a for sharing with hevc

Add a parameter for skipping a number of bytes at the start of each nal.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortpdec_h264: Generalize parse_sprop_parameter_sets
Martin Storsjö [Thu, 19 Feb 2015 19:19:29 +0000 (21:19 +0200)]
rtpdec_h264: Generalize parse_sprop_parameter_sets

Don't write directly into an AVCodecContext, write into given
pointers.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agotests: drop bc dependency
Clément Bœsch [Mon, 19 Jan 2015 21:56:59 +0000 (22:56 +0100)]
tests: drop bc dependency

We already have a dependency on awk and bc is sometimes not found in the
base system.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoh264: initialize H264Context.avctx in init_thread_copy
Anton Khirnov [Thu, 12 Feb 2015 12:06:49 +0000 (13:06 +0100)]
h264: initialize H264Context.avctx in init_thread_copy

This prevents using a wrong (first thread's) AVCodecContext if decoding
a frame in the first pass over all threads fails.

9 years agoh264: only ref cur_pic in update_thread_context if it is initialized
Anton Khirnov [Thu, 12 Feb 2015 11:26:58 +0000 (12:26 +0100)]
h264: only ref cur_pic in update_thread_context if it is initialized

It may be empty if the previous thread's decode call did not contain a
valid frame.

9 years agolibavcodec: Make use of av_clip functions
Peter Meerwald [Fri, 20 Feb 2015 00:35:35 +0000 (01:35 +0100)]
libavcodec: Make use of av_clip functions

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agolibavutil: Add ARM av_clip_intp2_arm
Peter Meerwald [Fri, 20 Feb 2015 00:35:34 +0000 (01:35 +0100)]
libavutil: Add ARM av_clip_intp2_arm

add ARM code for implementing av_clip_intp2 using the ssat instruction

on Cortex-A8, av_clip_intp2_arm() is faster than av_clip_intp2_c() and
the generic av_clip(), about -19%

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agolibavutil: Add av_clip_intp2
Peter Meerwald [Fri, 20 Feb 2015 00:35:33 +0000 (01:35 +0100)]
libavutil: Add av_clip_intp2

there already is a function, av_clip_uintp2() that clips a signed integer
to an unsigned power-of-two range, i.e. 0,2^p-1

this patch adds a function av_clip_intp2() that clips a signed integer
to a signed power-of-two range, i.e. -(2^p),(2^p-1)

the new function can be used as a special case for av_clip(), e.g.
av_clip(x, -8192, 8191) can be rewritten as av_clip_intp2(x, 13)

there are ARM instructions, usat and ssat resp., which map nicely to these
functions (see next patch)

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agohlsenc: write playlist into a temp file and replace the original atomically
Hendrik Leppkes [Fri, 20 Feb 2015 11:54:58 +0000 (12:54 +0100)]
hlsenc: write playlist into a temp file and replace the original atomically

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