Commit Graph

10975 Commits

Author SHA1 Message Date
Luca Barbato
1731c3530b mm: Skip unexpected audio packets
Bug-Id: 1046
CC: libav-stable@libav.org
2017-04-20 15:39:18 +00:00
Luca Barbato
279e3aaa14 flv: Validate the packet size
Size can be negative at that point.

Bug-Id: 1041
CC: libav-stable@libav.org
2017-04-20 15:39:18 +00:00
Paul B Mahol
4f33d9d41a utvideodec: Support ULY4 and ULH4
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-04-15 15:37:18 +02:00
Paul B Mahol
a93faf30d6 utvideodec: Support UQRA and UQRG 2017-04-15 15:37:18 +02:00
Paul B Mahol
c523095564 utvideodec: Support UQY2
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-04-13 14:09:07 +02:00
Luca Barbato
9e4a5eb51b avformat: Free the internal codec context at the end
Avoid a use after free in avformat_find_stream_info.

CC: libav-stable@libav.org
2017-04-13 13:37:10 +02:00
Paul B Mahol
95a8a03a19 Add FM Screen Capture Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-04-13 12:35:35 +02:00
Anton Khirnov
50a1c66cf6 ac3_parser: add a public function for parsing the data required by the demuxer
Make the current semi-public avpriv_ac3_parse_header() private to lavc.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-04-12 15:39:00 +02:00
Luca Barbato
d32d59bc97 matroska: Read only the data written in the scratch buffer
The private buffer is 20bytes but depending on the type only 12 bytes
are actually filled.
2017-04-10 10:16:40 +02:00
Diego Biurrun
604fbb3132 mov: Move code shared with CAF to a separate file 2017-04-03 13:50:00 +02:00
Diego Biurrun
163cc67beb takdec: Use ISO C printf conversion specifiers where appropriate
libavformat/takdec.c:144:20: warning: format '%X' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t'
2017-03-31 18:41:58 +02:00
Sean McGovern
fe6eea99ef nsvdec: don't ignore the return value of av_get_packet()
Fixes invalid reads with corrupted files.

CC: libav-stable@libav.org
Bug-Id: 1039
2017-03-26 12:43:57 -04:00
Ricardo Constantino
d4f3c26b70 rtmpproto: send swfverify value as swfurl if latter is unused
Replicates lavf/librtmp.c behavior in L145-152 and rtmpdump's
behavior with "--swfVfy <url>" passing the url to swfUrl.

Fixes bug 943.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-03-26 13:29:56 +03:00
Vittorio Giovara
5f90ad99bb spherical: Change types of bounding and pad to uint32_t
These values are defined to be 32bit in the specification,
so it makes more sense to store them as fixed width.

Based on a patch by Micahel Niedermayer <michael@niedermayer.cc>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-23 10:09:18 +01:00
Vittorio Giovara
63fe79a336 lavf: Drop deprecated hint to set muxer timebase
Deprecated in 05/2014.
2017-03-23 10:09:12 +01:00
Vittorio Giovara
263358e0c9 lavf: Drop deprecated AVFract type and related field
Deprecated in 05/2014.
2017-03-23 10:09:12 +01:00
Vittorio Giovara
5e71299758 lavf: Drop deprecated bitexact functionality
Deprecated in 05/2014.
2017-03-23 10:09:11 +01:00
Vittorio Giovara
07a2b15594 Bump major versions of all libraries
This disables everything that was deprecated at least 18 months ago.

Readjust the minimum API version as needed, postponing any
API-incompatible changes until the next bump.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-23 09:56:20 +01:00
Carl Eugen Hoyos
628ce8b8b6 flvdec: Set avg_frame_rate for video streams
Signed-off-by: Martin Storsjö <martin@martin.st>
2017-03-22 14:26:15 +02:00
Luca Barbato
ca960161f0 rtsp: Move message parsing to a separate function
Make easier to handle the polling function before we implement
full threading support.
2017-03-21 04:23:41 +01:00
Diego Biurrun
b864230c49 rtmp: Move RTMP digest calculation to a separate file
The rtmpcrypt protocol requires it.
2017-03-20 13:16:51 +01:00
James Almer
827a05eaa9 matroskaenc: add support for Spherical Video elements
Signed-off-by: James Almer <jamrial@gmail.com>
Minor cosmetic changes by committer.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-15 17:52:12 -04:00
Kieran Kunhya
5f794aa165 Add Cineform HD Decoder
Decodes YUV 4:2:2 10-bit and RGB 12-bit files.
Older files with more subbands, skips, Bayer, alpha not supported.

Further fixes and refactorings by Anton Khirnov <anton@khirnov.net>,
Diego Biurrun <diego@biurrun.de>, Vittorio Giovara <vittorio.giovara@gmail.com>

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-03-09 18:37:29 +01:00
Vittorio Giovara
0429f01e47 mkv: Export bounds and padding from spherical metadata
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-07 11:07:03 -05:00
James Almer
251849f06c mkv: Add support for Spherical Video elements
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-07 11:07:03 -05:00
Vittorio Giovara
a825980f9f mov: Export bounds and padding from spherical metadata
Update the fate test as needed.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-07 11:07:02 -05:00
Vittorio Giovara
6bce6aa17d spherical: Add tiled equirectangular type and projection-specific properties
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-07 11:07:02 -05:00
Vittorio Giovara
114324b9e0 mov: Validate cubemap layout 2017-03-07 11:07:02 -05:00
Vittorio Giovara
0f8512c4a8 mov: Validate spherical metadata version 2017-03-07 11:07:02 -05:00
Vittorio Giovara
2365772300 mov: Ignore old spherical metadata when newer version is present 2017-03-07 11:07:02 -05:00
Aaron Colwell
17adcc40ad mov: Fix spherical metadata_source parsing
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-07 11:07:01 -05:00
Paul B Mahol
aba5b94859 Add Apple Pixlet decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-01 11:52:29 -05:00
Luca Barbato
79331df362 rtsp: Lazily set up the pollfd array once 2017-02-28 12:54:04 +01:00
Luca Barbato
5263f464db rtsp: Lazily allocate the pollfd array
And use av_malloc_array.
2017-02-27 13:51:53 +01:00
Luca Barbato
b9b82151a1 rtsp: Move the pollfd setup out of the for loop 2017-02-27 13:51:53 +01:00
Luca Barbato
150e99d694 rtsp: Factor out packet reading 2017-02-27 13:51:53 +01:00
James Almer
4cc0227040 apetag: account for header size if present when returning the start position
The size field in the header/footer accounts for the entire APE tag
structure except the 32 bytes from header, for compatibility with
APEv1.

Signed-off-by: James Almer <jamrial@gmail.com>

CC: libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2017-02-25 09:57:44 +01:00
James Almer
3f258f5ee0 apetag: fix flag value to signal footer presence
According to the spec[1], a value of 0 means the footer is present and a value
of 1 means it's absent, the exact opposite of header presence flag where 1
means present and 0 absent.
The reason for this is compatibility with APEv1 tags, where there's no header,
footer presence was mandatory for all files, and the flags field was a zeroed
reserved field.

[1] http://wiki.hydrogenaud.io/index.php?title=Ape_Tags_Flags

Signed-off-by: James Almer <jamrial@gmail.com>

CC: libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2017-02-25 09:57:43 +01:00
John Stebbins
cd7a2e1502 asfdec: fix reading files larger than 2GB
avio_skip returns file position and overflows int
2017-02-24 11:41:33 -07:00
John Stebbins
5d3953a5dc matroskaenc: factor ts_offset into block timecode computation
ts_offset was added to cluster timecode, but then effectively subtracted
back off the block timecode

When setting initial_padding for an audio stream, the timestamps are
written incorrectly to the mkv file.  cluster timecode gets written
as pts0 + ts_offset which is correct, but then block timecode gets
written as pts - cluster timecode which expanded is
pts - (pts0 + ts_offset).  Adding cluster and block tc back together:
cluster + block = (pts0 + ts_offset) + (pts - (pts0 + ts_offset)) = pts
But the result should be pts + ts_offset since demux will subtract the
CodecDelay element from pts and set initial_padding to CodecDelay.
This patch gives the correct result.
2017-02-21 14:20:31 -07:00
John Stebbins
42cf7f91f1 dv: Don't return EIO upon EOF 2017-02-19 21:03:09 -07:00
Alexandra Hájková
0539d84d98 asfdec: Account for different Format Data sizes
Some muxers may use the BMP_HEADER Format Data size instead
of the ASF-specific one.

Bug-Id: 1020
CC: libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-02-15 11:21:11 +01:00
Luca Barbato
b446f0e98f mov: Do not try to parse multiple stsd for the same track
Bug-Id: 1017
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-02-15 00:40:00 +01:00
Anton Khirnov
6f554521af Use the new AVIOContext destructor. 2017-02-11 11:37:45 +01:00
Anton Khirnov
99684f3ae7 avio: add a destructor for AVIOContext
Before this commit, AVIOContext is to be freed with a plain av_free(),
which prevents us from adding any deeper structure to it.
2017-02-11 11:37:44 +01:00
Vittorio Giovara
53ea595eec mov: Rework stsc index validation
In order to avoid potential integer overflow change the comparison
and make sure to use the same unsigned type for both elements.
2017-02-10 16:26:16 -05:00
Luca Barbato
b6093e8c72 hlsenc: Correctly write down all 16 bytes in hex
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-02-10 14:12:16 +01:00
Diego Biurrun
a25dac976a Use bitstream_init8() where appropriate 2017-02-07 18:27:21 +01:00
John Stebbins
8e67039c63 asfdec: Use the ASF stream count when iterating
The AVFormat stream count can be larger due external factors, such as
an id3 tag appended.

Avoid an out of bound read.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-02-04 15:21:12 +01:00
Martin Storsjö
15a92e0c40 rtmp: Correctly handle the Window Acknowledgement Size packets
This swaps which field is set when the Window Acknowledgement Size
and Set Peer BW packets are received, renames the fields in
order to clarify their role further and adds verbose comments
explaining their respective roles and how well the code currently
does what it is supposed to.

The Set Peer BW packet tells the receiver of the packet (which
can be either client or server) that it should not send more data
if it already has sent more data than the specified number of bytes,
without receiving acknowledgement for them. Actually checking this
limit is currently not implemented.

In order to be able to check that properly, one can send the
Window Acknowledgement Size packet, which tells the receiver of the
packet that it needs to send Acknowledgement packets
(RTMP_PT_BYTES_READ) at least after receiving a given number of bytes
since the last Acknowledgement.

Therefore, when we receive a Window Acknowledgement Size packet,
this sets the maximum number of bytes we can receive without sending
an Acknowledgement; therefore when handling this packet we should set
the receive_report_size field (previously client_report_size).

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-02-03 09:27:41 +02:00