* qatar/master:
lavc: Move vector_fmul_window to AVFloatDSPContext
rtpdec_mpeg4: Check the remaining amount of data before reading
Conflicts:
libavcodec/dsputil.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '977d4a3b8a2dbc2fb5e747c7072485016c9cdfaa':
rtpdec_mpeg4: Check the return value from malloc
srtp: Mark a few variables as uninitialized
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0eecafc948b74c247ebbc59f18f508db5d590d0b':
configure: Make the new srtp protocol depend on the rtp protocol
lavf: Add a fate test for the SRTP functions
lavu: Add a fate test for the HMAC API
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Attempting to re-parse the headers at demuxer level is a
pandora box the way its done currently.
This allows full reconfiguration of vorbis streams
Fixes Ticket2117
Fixes Ticket2121
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Untested, due to lack of rtp stream with CSRCs, but the code as
is does not work with multiple CSRCs
Reviewed-by: Luca Abeni <lucabe72@email.it>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '094a7405e5d8463d7d167d893e04934ec1a84ecd':
x86: ABSB: port to cpuflags
sdp: Include SRTP crypto params if using the srtp protocol
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2f3bada63e57345329c4f9b48e9b81b5cfc03d05':
lavf: Add a protocol for SRTP encryption/decryption
rtsp: Support decryption of SRTP signalled via RFC 4568 (SDES)
Conflicts:
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ab2ad8bd56882c0ea160b154e8b836eb71abc49d':
lavf: Add functions for SRTP decryption/encryption
lavu: Add an API for calculating HMAC (RFC 2104)
Conflicts:
doc/APIchanges
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3f111804eb5c603a344706b84b7164cbf7b4e0df':
libvpx: make vp8 and vp9 selectable
libvpx: support vp9
nut: support vp9 tag
mkv: support vp9 tag
rtpdec: Make variables that should wrap unsigned
Conflicts:
configure
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ba0c72a9ae1e2954e5dcf920f7b4e9a8f8a22f3e':
build: Remove stray Makefile entry for non-existent VCR1 encoder
rtpdec: Handle more received packets than expected when sending RR
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd0fe217e3990b003b3b3f2c2daaadfb2af590def':
rtpdec: Simplify insertion into the linked list queue
rtpdec: Remove a woefully misplaced comment
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is mostly useful for encryption together with the RTP muxer,
but could also be set up as IO towards the peer with the SDP
demuxer with custom IO.
Signed-off-by: Martin Storsjö <martin@martin.st>
This only takes care of decrypting incoming packets; the outgoing
RTCP packets are not encrypted. This is enough for some use cases,
and signalling crypto keys for use with outgoing RTCP packets
doesn't fit as simply into the API. If the SDP demuxer is hooked
up with custom IO, the return packets can be encrypted e.g. via the
SRTP protocol.
If the SRTP keys aren't available within the SDP, the decryption
can be handled externally as well (when using custom IO).
Signed-off-by: Martin Storsjö <martin@martin.st>
This supports the AES_CM_128_HMAC_SHA1_80 and
AES_CM_128_HMAC_SHA1_32 cipher suites (from RFC 4568) at the
moment. The main missing features are replay protection (which can be
added later without changing the internal API), and the F8 and null
ciphers.
Signed-off-by: Martin Storsjö <martin@martin.st>
The function is a callback that is called by ff_gen_search with
a constant stream index.
Avoid a false positive on older gcc version.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This makes the behaviour defined when they wrap around. The value
assigned to expected_prior was a uint32_t already.
Signed-off-by: Martin Storsjö <martin@martin.st>
Without this, we'd signal a huge loss rate (due to unsigned
wraparound) if we had received one packet more than expected (that
is, one seq number sent twice). The code has a check for lost_interval
<= 0, but that doesn't do what was intended as long as the variable is
unsigned.
Signed-off-by: Martin Storsjö <martin@martin.st>
The code below the comment does not at all relate to statistics,
and even if moved to the right place, the comment adds little
value.
Signed-off-by: Martin Storsjö <martin@martin.st>
"analyzeduration" is not used to detect the input duration, but to
specify the max probe data duration. Fix option description and related
doc entry accordingly.
* commit 'abae27ed3acd0a7c54f11760c5be2d2653c4edf8':
rtpdec: Fix the calculation of expected number of packets
fate: vp3: Fix fate-vp3-coeff-level64 test dependencies
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Previously, we always signalled a zero time since the last RTCP
SR, which is dubious.
The code also suggested that this would be the difference in
RTP NTP time units (32.32 fixed point), while it actually is
in in 1/65536 second units. (RFC 3550 section 6.4.1)
Signed-off-by: Martin Storsjö <martin@martin.st>
This brings back some code that was added originally in 4a6cc061
but never was used, and was removed as unused in 4cc843fa. The
code is updated to actually work and is tested to return sane
values.
Signed-off-by: Martin Storsjö <martin@martin.st>
The base_seq variable is set to first_seq - 1 (in
rtp_init_sequence), so no + 1 is needed here.
This avoids reporting 1 lost packet from the start.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '54cb096ee4558b3bfc28c2fcd6418ce82dc39fe1':
rtsp: Remove an outdated comment
rtsp: Remove references to weirdly named variables in other files
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c44784c9bb9d0ddf5d39d0dfa640816a57b8f457':
rtp: Rename a static variable to normal naming conventions
rtp: Cosmetic cleanup
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The question can be answered: No, we do not know the initial sequence
number from the SDP. In certain cases, it can be known from the
RTP-Info response header in RTSP though. (In that case, we use it as
timestamp origin, but not for rtp receiver statistics.)
Signed-off-by: Martin Storsjö <martin@martin.st>
It is unclear what the bug exactly was and if it ever was fixed,
and we don't even support decoding via faad any longer. The
comment has been present since d0deedcb in 2006.
Signed-off-by: Martin Storsjö <martin@martin.st>
One of them is renamed now, but mentioning it by name serves
no purpose here. The other table mentioned ceased to exist
under that name in 4934884a1 in 2006.
Signed-off-by: Martin Storsjö <martin@martin.st>
Fixes division by zero
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7b8c5b263bc680eff5710bee5994de39d47fc15e':
vc1dec: prevent a crash due missing pred_flag parameter
matroska: Fix use after free
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
rtpdec_vp8: Don't trim too much data from broken frames
rtpdec_vp8: Simplify code by using an existing helper function
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ed79093222ceb42f0c3a39095a69af0b32be5450':
rtpdec: Add a terminating null byte at the end of the SDES/CNAME
yuv4mpeg: do not use deprecated functions
oggdec: fix faulty cleanup prototype
idcin: return 0 from idcin_read_packet() on success.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7040e479a1530b2eda4b89a182d5eb50a77bd907':
idcin: allow seeking back to the first packet
idcin: set AV_PKT_FLAG_KEY for video packets with a palette
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ccc0ffb1ba3fc1adb05a9f56dfc26131e61db3fb':
idcin: set start_time and packet duration instead of manually tracking pts.
idcin: set channel_layout
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '12c2530b1d87fa94f81ea97df575b77c825e6f4f':
idcin: fix check for presence of an audio stream
idcin: validate header parameters
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c88d245c9866e48cb8a238b7564964c1fcf3315f':
au: use ff_raw_write_packet()
au: set stream start time and packet durations
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'af68a2baae6761044cbed95575e8bcfebf55c6f1':
au: use %u when printing id and channels since they are unsigned
au: validate sample rate
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c837b38dd33a11c3810e988a60193a858eb4f58c':
au: move skipping of unused data to before parameter validation
au: do not arbitrarily limit channel count
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9a7b56883d1333cdfcdf0fa7584a333841b86114':
au: set bit rate
au: validate bits-per-sample separately from codec tag
rtpdec_vp8: Mark broken packets with AV_PKT_FLAG_CORRUPT
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Previously, for broken frames, we only returned the first partition
of the frame (we would append all the received packets to the packet
buffer, then set pkt->size to the size of the first partition, since
the rest of the frame could have lost data inbetween) - now instead
return the full buffered data we have, but don't append anything more
to the buffer after the lost packet discontinuity. Decoding the
truncated packet should hopefully get better quality than trimming out
everything after the first partition.
Signed-off-by: Martin Storsjö <martin@martin.st>
This is required by RFC 3550 (section 6.5):
The list of items in each chunk MUST be terminated by one or more
null octets, the first of which is interpreted as an item type of
zero to denote the end of the list.
This was implicitly added as padding before, unless the host name
length matched up so no padding was added.
This makes wireshark parse the packets properly if other RTCP items
are appended to the same packet.
Signed-off-by: Martin Storsjö <martin@martin.st>
Add some additional checks for EOF and print error messages on an incomplete
header or packet.
FATE reference updated for id-cin-video due to the demuxer no longer
returning a partial video packet at EOF.
* commit '1fb8f6a44f06e48386450fe0363aefc02583d24a':
x86: lavr: add SSE2 quantize() for dithering
doc/APIchanges: fill in missing dates and hashes.
rtpdec_vp8: Request a keyframe if RTP packets are lost
Conflicts:
doc/APIchanges
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '42805eda554a7fc44341282771531e7837ac72b7':
rtpdec: Store the dynamic payload handler in the rtpdec context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9c80ed836a511293f4cc3a858060969d32f2b1ce':
rtpdec_vp8: Avoid a warning about a possibly unused variable
rtpdec_vp8: Make sure the previous packet is returned
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '92e354b655613b88c3c202a7e19e7037daed37eb':
rtpdec_vp8: Set the timestamp when returning a deferred packet
hlsenc: Make the start_number option set the right variable
Conflicts:
libavformat/hlsenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This allows the caller to either include them (and get more packets
decoded, but possibly some nonperfect frames), or discard them (by
setting fflags=discardcorrupt).
Signed-off-by: Martin Storsjö <martin@martin.st>
Sometimes the muxer modifies the packet, like for instance lavf/mp3enc
changing pkt->destruct in order to keep a copy. These changes must be
kept, even though the muxer behaviour is questionable. Regression since
0072116.
Fixes#2124.
This uses page duration instead of byte size to determine when to buffer
the page. Also, it tries to avoid continued pages by buffering the current
page if there are already packets in the page and adding the next packet
would require it to be continued on a new page. This can improve seeking
performance.
The default page duration is 1 second, which is much saner than filling
all page segments by default.
This sends NACK for missed packets and PLI (picture loss indication)
if a depacketizer indicates that it needs a new keyframe, according
to RFC 4585.
This is only enabled if the SDP indicated that feedback is supported
(via the AVPF or SAVPF profile names).
The feedback packets are throttled to a certain maximum interval
(currently 250 ms) to make sure the feedback packets don't eat up
too much bandwidth (which might be counterproductive). The RFC
specifies a more elaborate feedback packet scheduling.
The feedback packets are currently sent independently from normal
RTCP RR packets, which is not totally spec compliant, but works
fine in the environments I've tested it in. (RFC 5506 allows this,
but requires a SDP attribute for enabling it.)
Signed-off-by: Martin Storsjö <martin@martin.st>
The warning is a false positive, but I prefer actually initializing
it over masking it with av_uninit, since the code is not performance
critical.
Signed-off-by: Martin Storsjö <martin@martin.st>
This is a bug from c7d4de3d73 - if the previous frame wasn't
returned yet (due to missing the final packets), but we have
enough data of it to return the first partition, we write that into
pkt and set returned_old_frame. That commit forgot returning 0 for
the case where this current packet didn't have the end_packet flag
set.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '8729698d50739524665090e083d1bfdf28235724':
rtsp: Recheck the reordering queue if getting a new packet
lavr: log channel conversion description for any-to-any functions
lavr: mix: reduce the mixing matrix when possible
lavr: cosmetics: reindent
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9a00374cb4512a58a1fee366b850dfa87c76e1f3':
doc: Fix a few typos in the developer documentation
xwma: Remove unused variable
asfdec: Fix printf format string length modifier
Conflicts:
doc/developer.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
If we timed out and consumed a packet from the reordering queue,
but didn't return a packet to the caller, recheck the queue status.
Otherwise, we could end up in an infinite loop, trying to consume
a queued packet that has already been consumed.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '89b51b570daa80e6e3790fcd449fe61fc5574e07':
oggdec: free the ogg streams on read_header failure
Conflicts:
libavformat/oggdec.c
Original commit this was based on: (this merge just moves the function up)
commit 07a866282f
Author: Michael Niedermayer <michaelni@gmx.at>
Date: Tue Nov 20 15:12:37 2012 +0100
oggdec: fix memleak on header parsing failure
Fixes Ticket1931
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The following out-of-memory check is broken.
*sorted_segments = av_mallocz(...);
if (!sorted_segments) { ... }
The correct NULL check should use *sorted_segments.
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* qatar/master:
lavr: fix missing " in header documentation
aviobuf: Discard old buffered, previously read data in ffio_read_partial
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e96406eda4f143f101bd44372f7b2d542183000a':
rtsp: Add support for depacketizing RTP data via custom IO
Conflicts:
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3f95f0dda55fca74b646937095a02a8fa9776622':
rtpdec: Move the URLContext used for RTCP RR out from the context, to a parameter
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Followup to http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/151321
patch by Reimar and Thomas Mundt fixes some AVC-Intra files from
different tickets.
It does not fix http://samples.ffmpeg.org/ffmpeg-
bugs/trac/ticket524/AVCI50.mov
Authors of this commit are: Reimar and Thomas Mundt
Patch and commit message mostly taken from ffmpeg-devel, mail by Carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
To use this, set sdpflags=custom_io to the sdp demuxer. During
the avformat_open_input call, the SDP is read from the AVFormatContext
AVIOContext (ctx->pb) - after the avformat_open_input call,
during the av_read_frame() calls, the same ctx->pb is used for reading
packets (and sending back RTCP RR packets).
Normally, one would use this with a read-only AVIOContext for the
SDP during the avformat_open_input call, then close that one and
replace it with a read-write one for the packets after the
avformat_open_input call has returned.
This allows using the RTP depacketizers as "pure" demuxers, without
having them tied to the libavformat network IO.
Signed-off-by: Martin Storsjö <martin@martin.st>
So far, aviocontexts are used either in pure-read or pure-write
mode - full read/write mode doesn't work well (and implementing it
is a much larger, not totally trivial change).
This patch allows using avio_read and ffio_read_partial on
read/write aviocontexts, where the read operations are passed
through directly unbuffered, while writes are buffered as usual.
This is enough to support the operations needed by packet based
data transfer like in udp/rtp, where aviocontext is the only
public API for hooking up custom IO.
Signed-off-by: Martin Storsjö <martin@martin.st>
The function find_things() in configure is confused by component
registration calls as part of multiline macros defining combined
component registration. Coalesce those macros into one line to
work around the issue.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
The data does not contain timing or trailing line breaks anymore. In
addition to being less idiotic, it is consistent with other codecs and
thus allows more switches between formats and codecs. It also fixes the
issue of the trailing line returns being simple \n instead of CRLF in
the ASS rectangle dialogue (this is the reason of the FATE update).
"que" sounds like a slang word to me. This commit renames a few
variables, fix the comments and the logging messages (sometimes along
with small other typo fixes).
* qatar/master:
rtmp: Add support for limelight authentication
rtmp: Add support for adobe authentication
Conflicts:
Changelog
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '33f28a3be3092f642778253d9529dd66fe2a014a':
rtmp: Add a function for writing AMF strings based on two substrings
rtmp: Return a proper error code in handle_invoke_error
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Limelight is a not too uncommon CDN. The authentication scheme is
pretty similar to the adobe authentication, but is even closer to
normal http digest authentication (but not close enough to warrant
sharing code) than the adobe version.
Signed-off-by: Martin Storsjö <martin@martin.st>
This is mostly used to authenticate the client when publishing.
Tested with wowza and akamai.
Some but not all servers support resending a new connect invoke
within the same connection, so always reconnect for sending a new
connection attempt. This matches what other applications do as well.
The authentication scheme is structurally pretty similar to http
digest authentication, but uses base64 instead of hex strings.
Signed-off-by: Martin Storsjö <martin@martin.st>
Current MicroDVD AVPackets contain timing information and trailing line
breaks. The data is now only composed of the markup data. Doing this
consistently between text subtitles decoders allows to use different
codec for various formats. For instance, MicroDVD markup is sometimes
found in some VPlayer files. Also, generally speaking, the subtitles
text decoders have no use of these timings (and they must not use them
since it would break any user timing adjustment).
Technically, this is a major ABI break. In practice, a mismatching
lavf/lavc will now error out for MicroDVD decoding. Supporting both
formats requires unnecessary complex and fragile code.
FATE needs update because line breaks in the ASS file were "\n" (because
that's what is used in the original file). ASS format expect "\r\n" line
breaks; this commit fixes this issue. Also note that this "\r\n"
trailing need to be moved at some point from the decoders to the ASS
muxer.
Note that the linebreaks text codec option (but not the feature) has
been removed; its main goal was to allow demuxers to configure the text
decoder (and not meant to be used by users), but the AVOption are not a
viable solution. This is solved differently in this commit.
This commit also makes sure the extradata and subtitle_header are NUL
terminated, without taking into account the trailing '\0' in account in
the size.
At the same time, it should fix 'warning: dereferencing type-punned
pointer will break strict-aliasing rules' warning for compilers who
don't consider uint8_t** and char** compatibles.
* commit '30a76487304e7250294c9c0e9fa179bf07fd822a':
hlsenc: make segment number unsigned
hlsenc: make EXT-X-MEDIA-SEQUENCE always increase
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9b1370aced385698bc783747917544ab69ecb373':
hlsenc: do not add timestamps in different timebases
hlsenc: use the correct AV_TIME_BASE macro
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0448f26c97c5ab4858d31e456a4f1738ae783242':
hlsenc: keep the playlist to the correct number of items
hlsenc: use the segment filename in the playlist entry
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '6dd93ee6f1b050ad7c4b247899e83efa293ee405':
hlsenc: check append_entry return value
hlsenc: use the basename to generate the list entries
avstring: add av_basename and av_dirname
Conflicts:
Changelog
doc/APIchanges
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some wav files report a data size that is bigger than the actual file size.
Fall back to estimation from bitrate in such cases.
Fixes ticket #2065.
Signed-off-by: James Almer <jamrial@gmail.com>
Also fixes linking in various configs with only individual parts enabled
because the RTP muxer chaining code depends on the general RTP code,
which is now accounted for.
Since 83cab07 audio stream time bases are based on SampleRate, not EditRate.
This fixes trac ticket #2029 and a few seeking issues.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
If s->filename doesn't contain any period/filename extension to strip
away, the buffer will be too small to fit both strings. This isn't
any buffer overflow since the concatenation uses av_strlcat with
the right buffer size.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59':
rtpdec: Pass the sequence number to depacketizers
configure: Make avconv depend on null, anull and resample filters
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'a925f723a915bc0255e2673f8817af5212131763':
rtp: Don't read priv_data unless it is allocated
flvenc: Check whether seeking back to the header succeeded
sapenc: Pass the title on to the chained muxers
Conflicts:
libavformat/flvenc.c
libavformat/sapenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is built on the assumption that the first partition of each
VP8 packet is essential for decoding any later packet - if this
partition is broken/missed, the arithmetic coder gets out of sync
and decoding the bitstream in further packet ends up with total
garbage. If packets of a frame are lost, make sure the first
partition is intact (return only this part of the packet, nothing
else), otherwise stop returning data until the next keyframe is
received.
Alternatively, one would simply not return any packets at all
until the next keyframe, if packet loss is detected.
Signed-off-by: Martin Storsjö <martin@martin.st>
it causes problems (incorrectly detect TS discontinuities)
with a brokan TS file (test-audio-broken.ts)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
After demuxing, data and side are merged. Before decoding, they are
split. Encoder will perform with data and side split. This means that a
muxer can receive split data (after encoding) but also merged data (if
called directly after demuxing). This commit makes sure data and side
are split for the muxer.
This makes all users of rtpenc_chain (rtsp muxer, sapenc, mov
rtp hinting) work again, broken since 8034130e0.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'c661cb6672af5ebcb900ec8766b24761bd2ab011':
cmdutils: pass number of groups to split_commandline().
mov: handle h263 and flv1 for codec_tag 'H','2','6','3'
h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles
Conflicts:
libavcodec/h264_ps.c
libavformat/isom.c
libavformat/mov.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The FLV muxer tries to update the header in write_trailer, which is
impossible if writing to a pipe or network stream. Don't write header
data if seeking to the header fails.
Signed-off-by: Martin Storsjö <martin@martin.st>
They are completely superfluous when using av_rescale_q_rnd().
Call av_rescale_rnd() using what used to be the numerators instead.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The sample in https://bugzilla.libav.org/show_bug.cgi?id=393 and
samples/F4V/H263_NM_f.mp4 both have codec_tag H263 for different
codecs. H263 is apparently used by Flash Media Server for Sorensen
Spark videos.
Patch based on commit 5442083b1c by
Carl Eugen Hoyos. Fixes bug 393.
* commit 'c35f0e8495e34c2082dcde805e9323c9f6a4cb0a':
au: Reorder code so that both muxer and demuxer are under #ifdefs
fate: Move RALF test into lossless audio group
cosmetics: Use consistent names for multiple inclusion guards.
Conflicts:
libavformat/au.c
tests/fate/lossless-audio.mak
tests/fate/real.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Pass "title" metadata field to av_sdp_create (as in RTP muxer) in SAP
muxer for correct
session name in SAP SDP announcements.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f322b2073581119de5da74f92a03309a36891cfa':
lavr: only save/restore the mixing matrix if mixing is being done
rtpdec_vp8: Cosmetics: Fix bad alignment/indentation
rtpenc: Allow including a SDES/CNAME block in RTCP SR packets
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '65e053271a98f7acf3ef6b412998cfcb44a8eef8':
rtpenc_vp8: Include the picture number in VP8 packets
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This makes it easier for receivers to decide what to do if data
is lost.
Refactor calculating the max payload size, to avoid hardcoding the
header size in too many places, reducing the number of lines that
have to be touched if the header is adjusted further.
Signed-off-by: Martin Storsjö <martin@martin.st>
The FLV muxer tries to update the header in write_trailer, which is
impossible if writing to a pipe or network stream. Don't write header
data if seek to header fails.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
aacdec: Fix an off-by-one overwrite when switching to LTP profile from MAIN.
x86inc: fix stack alignment on win64
rtpproto: Remove unused defines
Conflicts:
libavcodec/aacdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f3f60dcbdd6ff2201526a603fe28293975bb7667':
rtpdec_mpeg4: Cosmetic cleanup
rtpdec: Cosmetic cleanup of the header
rtpdec: Get rid of a useless _s suffix on a struct name
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e70c5b034c4787377e82cab2d5565486baec0c2a':
swfdec: do better validation of tag length
Make LOCAL_ALIGNED syntactically similar on all systems
Conflicts:
libavformat/swfdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Avoids trying to read a packet with 0 or negative size.
Avoids a potential infinite loop due to seeking backwards.
Partially based on a patch by Michael Niedermayer.
The new options reset the timestamps at each new segment, so that the
generated segments will have timestamps starting close to 0.
It is meant to address trac ticket #1425.
* qatar/master:
rtpdec: Remove an outdated todo comment
rtpdec: Rename a static variable to normal naming conventions
sh4: dsputil: remove duplicate of ff_gmc_c()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This comment was added in e309128f, in 2002, and has been brought
along since then more or less unmodified.
The first point of the todo was implemented in dbf30963 in 2006,
the second one is not relevant to rtpdec.c (brought along from
rtp.c in 8eb793c4 in 2008) but would be more relevant to the
rtp muxer, although it isn't a good idea anyway.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '18e6f087c4a50bede8449ee164778945480be50c':
img2: document the options available
hls: improve options description
hls: use a meaningful long name
hls: add start_number option
h264: check for invalid zeros_left before writing
Conflicts:
doc/demuxers.texi
doc/muxers.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>