c82bf15dca
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 >
2015-02-24 16:25:43 +02:00
3567b91e49
rtpdec_hevc: Share the implementation of fragmented packets with h264
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:25:28 +02:00
f3449062a8
rtpdec_hevc: Reduce indentation level by returning early on errors
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:25:21 +02:00
8633fb47db
rtpdec_hevc: Share the implementation of parsing a=framesize with h264
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:24:36 +02:00
5956f489d0
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 >
2015-02-24 16:24:27 +02:00
5d8cae4573
rtpdec: Get rid of all trivial .alloc/.free functions
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:24:19 +02:00
e72605f80b
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 >
2015-02-24 16:23:37 +02:00
2b982e92f4
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 >
2015-02-24 16:22:41 +02:00
b7a4c319fd
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 >
2015-02-24 16:22:21 +02:00
b651c9139e
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 >
2015-02-24 16:22:04 +02:00
db158f0dd2
rtpdec: Remove unnecessary _if_needed suffixes on functions
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:21:54 +02:00
353b492d0f
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 >
2015-02-24 16:21:18 +02:00
0752f700d6
rtpdec_h264: Remove an unnecessary include
...
Nothing in this file use any network functions.
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:20:54 +02:00
247764a592
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 >
2015-02-24 16:20:44 +02:00
fe414059ec
rtpdec_amr: Use the common indentation style
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:20:23 +02:00
74d318f138
rtsp: Fix the indentation of a linewrapped statement
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:20:10 +02:00
3cd5828fc0
rtpdec: Add missing trailing commas
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:20:02 +02:00
04a1be8e28
libavformat: add T.140 RTP depacketization (RFC 4103)
...
Map this to AV_CODEC_ID_TEXT.
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:19:44 +02:00
26524e3581
rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-24 16:19:37 +02:00
ce52869c22
fate: Rename fate-dts test to fate-dca-core
...
The codec is referred to as DCA in other parts of libav.
2015-02-23 16:26:32 +01:00
cb4cb7b0ea
qsv: Skip qsv.h compilation if qsv is not enabled
2015-02-23 16:26:32 +01:00
cdcc370293
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 >
2015-02-23 16:55:56 +02:00
061c489895
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 >
2015-02-23 15:06:18 +01:00
161442ff2c
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 >
2015-02-23 15:06:18 +01:00
fe208ca54b
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 >
2015-02-23 15:33:20 +02:00
35c6ce76b1
Canopus HQX decoder
...
Based on work by Kostya Shishkov <kostya.shishkov@gmail.com >.
2015-02-22 22:42:27 +00:00
36a6fb989b
hevc_deblock: Fix compilation with nasm
...
CC: libav-stable@libav.org
Bug-Id: 795
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-02-22 22:34:20 +00:00
e570f895cd
libschroedinger: Check memory allocations
2015-02-22 22:32:18 +00:00
521979e6b1
configure: Properly fail when libcdio/cdparanoia is not found
2015-02-22 22:31:54 +00:00
f7cc6627c0
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.
2015-02-22 22:30:35 +00:00
a388e72d1a
rtpenc_hevc: Aggregate multiple NAL units into one RTP packet, if possible
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-22 23:27:03 +02:00
e2220e734f
rtpenc_h264: Aggregate multiple NAL units into one RTP packet, if possible
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-22 23:26:57 +02:00
c99915f7c7
rtpdec: DV depacketizer (RFC 6469)
...
(tested with live555 RTSP server)
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-22 23:01:55 +02:00
44dc138ed2
rtpdec_mpeg4: reassemble fragmented AAC frames
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-21 23:38:07 +02:00
dcf969e98d
rtpdec_mpeg4: add more verbose error logging
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-21 23:37:58 +02:00
96084251e5
libavformat: add robust MPEG audio depacketization (RFC 5219)
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-21 23:37:50 +02:00
5cbae5651d
mpegaudio_parser: add MP3 ADU headers parser
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-21 23:37:42 +02:00
5e5583efe4
libavformat: add AC3 RTP depacketization (RFC 4184)
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-21 23:37:32 +02:00
4438d1c6ed
rtsp: parse lang attribute in SDP
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-21 23:37:24 +02:00
1ec28a66f2
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 >
2015-02-21 23:37:15 +02:00
ff394ca087
rtpdec_h264: Add a missing closing paren in a log message
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-21 23:36:56 +02:00
12655c4804
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 >
2015-02-21 22:08:39 +02:00
cbdd1806ea
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 >
2015-02-21 11:32:50 +02:00
b878ba03e7
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 >
2015-02-21 11:32:47 +02:00
10e2d8b556
rtpdec_hevc: Use a shared function for parsing parameter sets
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-21 11:32:44 +02:00
0de0751084
rtpdec_h264: Make reusable functions non-static
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-21 11:32:41 +02:00
16163e6bf2
rtpdec_h264: Fix nal type counting after refactoring
...
This fixes builds with -DDEBUG after f0a874799
.
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-02-21 11:32:38 +02:00
a3cc519d1f
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 >
2015-02-21 11:32:36 +02:00
48183b3ad4
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 >
2015-02-21 11:32:31 +02:00
a982c5d74f
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 >
2015-02-21 11:17:45 +02:00