1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-15 14:13:16 +02:00
Commit Graph

80724 Commits

Author SHA1 Message Date
Martin Storsjö
72d621069f movenc: Add a missed const
This was missed in e1eb0fc960, when ff_interleaved_peek was
changed to include const during the evolution of the patch.

Signed-off-by: Martin Storsjö <martin@martin.st>
2016-05-18 21:59:48 +03:00
Michael Niedermayer
42ee137a0a avcodec/m101: Check BPS value
Fixes null pointer dereference
Fixes Ticket5520

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-18 18:40:22 +02:00
Paul B Mahol
810a8ba5b6 avcodec/iff: add forgotten checks for end of input buffer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-05-18 12:46:43 +02:00
Paul B Mahol
eef2f64294 avcodec/iff: scala anim32 & anim16 decompression
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-05-18 12:32:41 +02:00
Martin Storsjö
a79aafd0b4 movenc: Add a test for VFR with b-frames, with a duration change at a fragment end
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-05-18 10:37:05 +03:00
Martin Storsjö
e1eb0fc960 movenc: Use packets in interleaving queues for the duration at the end of fragments
As long as caller only writes packets using av_interleaved_write_frame
with no manual flushing, this should allow us to always have accurate
durations at the end of fragments, since there should be at least
one queued packet in each stream (except for the stream where the
current packet is being written, but if the muxer itself does the
cutting of fragments, it also has info about the next packet for that
stream).

Signed-off-by: Martin Storsjö <martin@martin.st>
2016-05-18 10:37:03 +03:00
Martin Storsjö
fd4957d9c6 movenc-test: Test write_data_type
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-05-18 10:37:00 +03:00
Martin Storsjö
71852a1ba8 matroskaenc: Provide output bytestream markers
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-05-18 10:36:58 +03:00
Martin Storsjö
dbbaad32e3 movenc: Provide output bytestream markers for fragmented content
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-05-18 10:36:55 +03:00
Martin Storsjö
371df9ba71 flvenc: Provide output bytestream markers
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-05-18 10:36:53 +03:00
Martin Storsjö
db7968bff4 avio: Allow custom IO users to get labels for the output bytestream
This allows callers with avio write callbacks to get the bytestream
positions that correspond to keyframes, suitable for live streaming.

In the simplest form, a caller could expect that a header is written
to the bytestream during the avformat_write_header, and the data
output to the avio context during e.g. av_write_frame corresponds
exactly to the current packet passed in.

When combined with av_interleaved_write_frame, and with muxers that
do buffering (most muxers that do some sort of fragmenting or
clustering), the mapping from input data to bytestream positions
is nontrivial.

This allows callers to get directly information about what part
of the bytestream is what, without having to resort to assumptions
about the muxer behaviour.

One keyframe/fragment/block can still be split into multiple (if
they are larger than the aviocontext buffer), which would call
the callback with e.g. AVIO_DATA_MARKER_SYNC_POINT, followed by
AVIO_DATA_MARKER_UNKNOWN for the second time it is called with
the following data.

Signed-off-by: Martin Storsjö <martin@martin.st>
2016-05-18 10:36:45 +03:00
Michael Niedermayer
936751b652 avformat/avio: Fix null pointer dereference in case of memleak
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-18 00:53:21 +02:00
Yong Lei
7bacf74536 avformat/avio: fix memory leak in url_find_protocol
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-18 00:51:52 +02:00
Chris Cunningham
2875745d35 avformat/utils: Check negative bps before shifting in ff_get_pcm_codec_id()
Fixes: undefined shift.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-17 23:47:24 +02:00
Vittorio Giovara
8e757716c6 avprobe: Print stereo3d information 2016-05-17 12:25:27 -04:00
Vittorio Giovara
0c4468dc18 stereo3d: Add API to get name from value or value from name
Use it in av_dump_format() instead of a huge switch case.
2016-05-17 12:25:27 -04:00
Vladimir Voroshilov
d621b2f795 lavf: Raw G.729 demuxer
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-05-17 12:24:32 -04:00
Derek Buitenhuis
d55568d22a Merge commit '71d3305c2711d4f6ec8b92db09ff64cf4e19a58e'
* commit '71d3305c2711d4f6ec8b92db09ff64cf4e19a58e':
  h264_parse: make sure the ref count is zeroed on all failure paths

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-17 15:18:43 +01:00
Derek Buitenhuis
278dcec28d Merge commit 'a6e27f7add2698fdd89911632b570c3d0c3f2aaa'
* commit 'a6e27f7add2698fdd89911632b570c3d0c3f2aaa':
  h264: factor out parsing the reference count into a separate file

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-17 15:16:38 +01:00
Derek Buitenhuis
6b295bccbb Merge commit '56b17a33f231859cbccbd741b4763617cb4ecf03'
* commit '56b17a33f231859cbccbd741b4763617cb4ecf03':
  h264: stop testing whether the reference count changes in ff_set_ref_count()

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-17 14:55:36 +01:00
Derek Buitenhuis
7ab2c036b9 Merge commit 'e9f884416c76558098fc1f63825b293956e8483c'
* commit 'e9f884416c76558098fc1f63825b293956e8483c':
  h264: move reading direct_spatial_mv_pred out of ff_set_ref_count()

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-17 14:38:14 +01:00
Hendrik Leppkes
15ad023210 Merge commit '8d0cc8ca97678f4ca87948ebabcbaab5a4f4c1f6'
* commit '8d0cc8ca97678f4ca87948ebabcbaab5a4f4c1f6':
  h264_parser: switch to h2645_parse for NAL unescaping

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-05-17 14:21:12 +02:00
Hendrik Leppkes
a9bb4cf87d h2645_parse: support badly muxed mp4 streams
Some streams contain an additional AnnexB NAL inside the mp4/nalff NALU.
This commonly occurs in interlaced streams where both fields are packed
into the same MP4 NAL with an AnnexB startcode in between.

Port handling of this format from the previous h264 nal handling.

Fixes trac #5529
2016-05-17 14:03:21 +02:00
Martin Storsjö
34effe816f fate: Update fate-lavf-ts after commit 393596f9d5
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-05-17 12:41:38 +03:00
Diego Biurrun
b8de14bcdf tools: Port to codec parameters API 2016-05-17 11:16:26 +02:00
Paul B Mahol
95b20ad7b2 avcodec/iff: fix artifacts with uncompressed ham ANIMs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-05-17 11:02:44 +02:00
Francois Cartegnie
393596f9d5 mpegtsenc: stop impersonating ses in sdt
Unless specified, users must use non registered
range for network id

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-05-17 10:29:36 +02:00
Alexandra Hájková
ffa190d047 Move VLC and RL_VLC_ELEM structure definitions to a separate header
Use the newly created vlc.h directly instead of including get_bits when needed.
The VLC and RL_VLC_ELEM structures are independent from the bitreader.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-05-17 10:29:27 +02:00
Anton Khirnov
b23613268c avconv_dxva2: use the hwcontext API 2016-05-17 09:11:34 +02:00
Anton Khirnov
c46db38cde hwcontext: add a dxva2 implementation 2016-05-17 09:11:25 +02:00
ZhouXiaoyong
af3e944e7e avcodec/mips/h264dsp_mmi: Version 2 of the optimizations for loongson mmi
1. no longer use the register names directly and optimized code format
2. to be compatible with O32, specify type of address variable with mips_reg and handle the address variable with PTR_ operator
3. optimize some unaligned loads and stores
4. use uld and mtc1 to workaround cpu 3A2000 gslwlc1 bug (gslwlc1 instruction extension bug in O32 ABI)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-17 04:18:42 +02:00
James Almer
60c2e38dcb avformat/dtshddec: implement AUPR_HDR chunk parsing
Use it to get stream duration, sample rate, channel count and initial padding

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-05-16 19:29:59 -03:00
James Almer
ab3c04c458 avformat/dtshddec: parse chunks stored after audio data
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-05-16 19:29:55 -03:00
Paul B Mahol
72e33eec3a avcodec/iff: add support for ANIMs with keyframes and concatenated ANIMs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-05-16 22:39:03 +02:00
Paul B Mahol
8767470fb5 avcodec/iff: check if there is enough bytes left
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-05-16 15:39:28 +02:00
Michael Niedermayer
635b2ec5f2 avformat/utils: Do not compute the bitrate from duration == 0
Fixes division by 0 in fate-acodec-ra144

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-16 14:23:49 +02:00
Michael Niedermayer
6085d6b2ae ffmpeg: Check that r_frame_rate is set before attempting to use it
Avoids unexpected occurance and dependency on NaN behavior and divisions by 0

Testcase: fate-lavf-fate-avi_cram

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-16 14:23:49 +02:00
Alexandra Hájková
d338abb664 mpeg4videodec: Call av_log() in check_marker() with AVCodecContext instead of NULL
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-05-16 10:51:17 +02:00
Alexandra Hájková
e4b38878da Move check_marker() from get_bits to mpeg4videodec
MPEG-4 is the only decoder which uses check_marker().

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-05-16 10:51:01 +02:00
Anton Khirnov
31f6a4b4b8 lavc: mark the old audio/video encoding API as deprecated 2016-05-16 10:31:26 +02:00
Anton Mitrofanov
2fb1d17a5a x86inc: Enable AVX emulation in additional cases
Allows emulation to work when dst is equal to src2 as long as the
instruction is commutative, e.g. `addps m0, m1, m0`.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-05-16 10:31:24 +02:00
Anton Mitrofanov
300fb0df84 x86inc: Improve handling of %ifid with multi-token parameters
The yasm/nasm preprocessor only checks the first token, which means that
parameters such as `dword [rax]` are treated as identifiers, which is
generally not what we want.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-05-16 10:31:20 +02:00
Anton Mitrofanov
8d02579fae x86inc: Fix AVX emulation of some instructions
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-05-16 10:31:17 +02:00
Henrik Gramner
ba3eb745cc x86inc: Fix AVX emulation of scalar float instructions
Those instructions are not commutative since they only change the first
element in the vector and leave the rest unmodified.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-05-16 10:31:13 +02:00
Anton Khirnov
8996515b13 avpacket: fix setting AVPacket.data in av_packet_ref()
The data field does not necessarily point to the beginning of the
underlying AVBuffer.

CC: libav-stable@libav.org
2016-05-16 10:31:08 +02:00
Anton Khirnov
e62ff72fc1 lavc: make avcodec_open2() fail when the timebase is not set for encoding
Many encoders use it. There is also a divide by the timebase lower in
this function, which would crash when it is not set.
2016-05-16 10:30:57 +02:00
Michael Niedermayer
feeb3a9261 swresample/resample: Fix division by 0 with tap_count=1
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-16 05:10:21 +02:00
Michael Niedermayer
2f76157eb0 swresample/rematrix: Use clipping s16 rematrixing if overflows are possible
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-15 22:25:34 +02:00
Paul B Mahol
5afecff1ef avformat/adxdec: set bit_rate, fixes duration calculation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-05-15 19:05:19 +02:00
Michael Niedermayer
7fe81bc4f8 swresample/rematrix: Use error diffusion to avoid error in the DC component of the matrix
This fixes the sum of the integer coefficients ending up summing to a value
larger than the value representing unity.

This issue occurs with qN0.dts when converting to stereo

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-15 18:36:53 +02:00