1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

95761 Commits

Author SHA1 Message Date
Paul B Mahol
315a4496ea avfilter/f_loop: switch aloop to activate 2019-11-17 16:20:58 +01:00
Paul B Mahol
2e7ccd493a avfilter/f_loop: fix pts handling when timebase and 1/samplerate differ 2019-11-17 16:19:07 +01:00
Paul B Mahol
f7ad9a6c16 avfilter/af_sidechaincompress: fix pts handling when timebase and 1/samplerate differ 2019-11-17 12:30:10 +01:00
Paul B Mahol
b66acf4a34 avfilter/af_anlmdn: fix pts handling when timebase and 1/samplerate differ 2019-11-17 12:25:54 +01:00
Paul B Mahol
0a17a30150 avfilter/af_agate: fix pts handling when timebase and 1/samplerate differ 2019-11-17 12:23:48 +01:00
Paul B Mahol
115537f487 avfilter/af_afftdn: fix pts handling when timebase and 1/samplerate differ 2019-11-17 12:21:10 +01:00
Paul B Mahol
c588a0f528 avfilter/af_afftfilt: fix pts handling when timebase and 1/samplerate differ 2019-11-17 12:19:39 +01:00
Paul B Mahol
7db61bf0e3 avfilter/af_adeclick: fix pts handling when timebase and 1/samplerate differ 2019-11-17 12:17:51 +01:00
Paul B Mahol
90622f9e8f avfilter/af_aecho: switch to activate 2019-11-17 11:57:52 +01:00
Gyan Doshi
b741a84a15 doc/APIchanges: update for av_expr_count_vars 2019-11-17 11:09:13 +05:30
Gyan Doshi
1c23abc88f avutil/eval: add function to track variable use
1)Some filters allow cross-referenced expressions e.g. x=y+10. In
such cases, filters evaluate expressions multiple times for
successful evaluation of all expressions. If the expression for one or
more variables contains a RNG, the result may vary across evaluation
leading to inconsistent values across the cross-referenced expressions.

2)A related case is circular expressions e.g. x=y+10 and y=x+10 which
cannot be succesfully resolved.

3)Certain filter variables may only be applicable in specific eval modes
and lead to a failure of evaluation in other modes e.g. pts is only
relevant for frame eval mode.

At present, there is no reliable means to identify these occurrences and
thus the error messages provided are broad or inaccurate. The helper
function introduced - av_expr_count_vars - allows developers to identify
the use and count of variables in expressions and thus tailor the error
message, allow for a graceful fallback and/or decide evaluation order.
2019-11-17 11:07:05 +05:30
Jun Zhao
487e7e9670 lavf/rtmpproto: fix the playpath truncation if the len > 512
fix the playpath truncation if the len > 512

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Found-by: liuwenhuang <liuwenhuang@tencent.com>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-11-17 09:09:38 +08:00
Timo Rothenpieler
4fb6ce27f0 avcodec/nvenc: make sure newly allocated packets are refcounted
Fixes ticket 8383

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2019-11-17 01:37:34 +01:00
Carl Eugen Hoyos
eeab18329f lavc/libopencore-amr: Silence a warning about an unused function. 2019-11-17 00:35:14 +01:00
Paul B Mahol
9498ce0c23 avfilter/vf_framepack: really fix ef466a8b29 2019-11-17 00:23:03 +01:00
Paul B Mahol
9db24ee26d avfilter/vf_framepack: switch to activate 2019-11-17 00:23:03 +01:00
Limin Wang
c22665ae69 avformat/mp3dec: Check for occurances of headers within frames during probing
Fixes misdetection of zYLx.wav

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-16 23:40:39 +01:00
Michael Niedermayer
e9a335150a avformat/mp3dec: Check that the frame fits within the probe buffer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-16 23:38:43 +01:00
Paul B Mahol
ef466a8b29 avfilter/vf_framepack: fix timestamps for frameseq format 2019-11-16 23:33:02 +01:00
Paul B Mahol
d52342a563 avfilter/vf_framepack: add missing filtering flag 2019-11-16 23:33:02 +01:00
Michael Niedermayer
ec3d8a0e69 avcodec/mjpeg_parser: Make parser a bit more robust with unclean input
Helps: test_roman.mjpeg (note this is not really just mjpeg)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-16 22:04:54 +01:00
Andreas Rheinhardt
27522fb64c avcodec/put_bits: Relax requirements to rebase PutBitContext
The earlier requirement was for the new buffer to be bigger than the old
one. This has been relaxed to only demand that the new buffer can hold
all the data written so far. This is in preparation for further commits.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-16 20:57:45 +01:00
Zhao Zhili
57db9f488f avformat/mov: fix typo in help text
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-16 20:57:45 +01:00
James Almer
81d54531f7 avformat/av1dec: simplify annexb_probe()
Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-16 15:56:36 -03:00
James Almer
2703068110 avcodec/cbs_av1: fix reading reference order hint in skip_mode_params()
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-16 15:56:36 -03:00
Paul B Mahol
d7ffa4bd3e avcodec/codec_desc: add mising .type for acelp.kelvin 2019-11-16 15:06:20 +01:00
Michael Niedermayer
bfa8272f40 vcodec/agm: Alloc based on coded dimensions
Fixes: out of array read
Fixes: 18715/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5659333417500672

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-15 21:31:43 +01:00
James Almer
73ee53f317 avcodec/encode: add missing assert to avcodec_receive_packet()
Encoders must return reference counted packets.

This was checked only for encoders using the AVCodec->encode2() API, while
blindly accepting whatever encoders using the AVCodec->receive_packet() API
were returning.

Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-14 12:30:51 -03:00
Andreas Rheinhardt
f01f9f1793 avformat/av1dec: Redo flushing of bsf
The current approach has two different calls to av_bsf_send_packet():
A normal one, sending a packet; and an extraordinary one just for
flushing. These can be unified into one by making use of the newly
documented fact that av_bsf_send_packet() allows to signal flushing via
empty packets (i.e. packets without data and side-data).

This also fixes CID 1455685 which resulted from the fact that the call
for flushing was not checked given that it couldn't fail.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-14 12:02:51 -03:00
Andreas Rheinhardt
41b05b849f avcodec/avcodec: Adapt the doc of av_bsf_send_packet to match its actual implementation.
Explicitly allowing empty packets to signal flushing helps getting rid
of special cases. It does not hinder the ability to send i.e.
timing-only packets, because one can send packets with zero size and
pkt->data set.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-14 12:02:41 -03:00
Andreas Rheinhardt
a7245adee3 avformat/id3v2: Avoid av_strdup for key and value of dict
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-13 23:35:21 +01:00
Michael Niedermayer
8d5f9daacd tests/ref/vsynth: add missing reference files, fix build 2019-11-13 23:34:56 +01:00
Derek Buitenhuis
1354c39c78 librav1e: Don't make users explicitly set -qp -1 to use bit rate mode
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2019-11-13 18:00:51 +00:00
Baptiste Coudurier
a1403032c8 avcodec/dvenc: support encoding dvcprohd 2019-11-13 09:08:43 -08:00
Baptiste Coudurier
11a38be99c avformat/mxfenc: correctly set width values for dvcprohd 2019-11-13 08:53:27 -08:00
Paul B Mahol
45f03cdd20 avfilter/vf_colorbalance: add support for commands 2019-11-13 13:07:42 +01:00
Paul B Mahol
bffd0f7b69 avfilter/vf_colorbalance: switch to floats 2019-11-13 13:07:42 +01:00
Paul B Mahol
d19fdc83b3 avfilter/vf_colorbalance: add option to preserve lightness 2019-11-13 13:07:42 +01:00
Limin Wang
09afddf04e avformat/hlsenc: free the original malloc pointer to avoid error when system function used in the following patch
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2019-11-13 17:01:34 +08:00
Steven Liu
4e0860e363 avformat/hls: continue to play enabled playlist when have failed playlist
fix ticket: 7811

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-11-13 16:40:09 +08:00
James Almer
cc61466058 avformat: add an AV1 Annex B demuxer
Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-12 22:21:51 -03:00
James Almer
97d9cff251 avcodec/libdav1d: export bitstream timing info when available
Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-12 22:21:45 -03:00
James Almer
0b8742521f avcodec/av1_parser: export bitstream timing info when available
Based on h264_parser code.

Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-12 22:21:40 -03:00
James Almer
72ec3358f4 avcodec: add an AV1 frame merge bitstream filter
This BSF takes Temporal Units split across different AVPackets and merges them
by looking for Temporal Delimiter OBUs.

Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-12 22:21:25 -03:00
James Almer
245cbab556 avcodec/cbs_av1: support one byte long OBUs when the size is not set in the bitstream
This will be needed by the next commit, where packets with a single Temporal
Delimiter OBU with no size will need to be parsed

Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-12 22:04:29 -03:00
Paul B Mahol
08c46e40fb avfilter/vF_colorbalance: rewrite, fixes filtering 2019-11-13 00:22:13 +01:00
Zhao Zhili
20c5f4d835 avutil/frame: fix remove_side_data
remove_side_data is supposed to remove a single instance by design.
Since new_side_data() doesn't forbid add multiple instances of the
same type, remove_side_data should deal with that.

Signed-off-by: Marton Balint <cus@passwd.hu>
2019-11-11 22:15:45 +01:00
Aman Gupta
0e49560806 avcodec/arm/mlpdsp: add missing dependency for truehd
Signed-off-by: Aman Gupta <aman@tmm1.net>
2019-11-11 11:29:55 -08:00
Limin Wang
72915ca8ba avformat/mp3dec: replace SAME_HEADER_MASK with MP3_MASK
mp3 header bitstream syntax:
header()
{
    syncword   12bits bslsf
    id         1bit    bslsf
    layer      2bit    bslsf
    protection_bit 1bit bslsf
    bitrate_index 4bits bslsf
    sampling_frequency 2bits bslsf
    padding_bit  1bit bslsf
    private_bit 1bit bslsf
    mode 2bits bslsf
    mode_extension 2bits bslsf
    copyright 1bit bslsf
    original/home 1bit bslsf
    emphasis 2bits bslsf
}

if the header is masking with MP3_MASK(0xFFFE0CCF), below fields will be cleared:
protection_bit, bitrate_index, sampling_freqency, mode

with SAME_HEADER_MASK(0xFFFE0C00), extra below fields will be cleared which didn't make
sense:
mode_extension, copyright, original/home, emphasis

As the MP3_MASK is good for same mp3 header masking and is defined in the
header, so it's preferable to remove SAME_HEADER_MASK to keep the masking same.

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-11 20:13:36 +01:00
Limin Wang
529145168b avformat/mp3dec: cosmetics
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-11 20:13:36 +01:00