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

86052 Commits

Author SHA1 Message Date
Muhammad Faiz
c4be288fdb ffmpeg: count packets when queued
Because write_packet() fakely writes packets to muxer by queueing
them when muxer hasn't been initialized, it should also increment
frame_number fakely.
This is required because code in do_streamcopy() rely on
frame_number.

Should fix Ticket6227

Reviewed-by: James Almer <jamrial@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-05-03 01:47:32 +07:00
Muhammad Faiz
9b4648a2cd avcodec/decode: do not treat discarded frames as eof when draining
Fix fate failures:
    make fate-mov THREADS=32

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-05-03 01:31:48 +07:00
Thomas Mundt
2da5bf4c2f avfilter/interlace: add complex vertical low-pass filter
This complex (-1 2 6 2 -1) filter slightly less reduces interlace 'twitter' but better retain detail and subjective sharpness impression compared to the linear (1 2 1) filter.

Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-05-02 14:09:50 -03:00
Carl Eugen Hoyos
20da413502 lavf/nutdec: Fix an impossible condition, regression since e0c53c34.
Fixes ticket #6362.
2017-05-02 08:43:12 +02:00
James Almer
0a6ca7aa0a avcodec/internal: update FF_CODEC_CAP_SETS_PKT_DTS doxy
The code it refers to was moved to decode.c in 00fb745a10
2017-05-01 20:38:34 -03:00
Michael Niedermayer
56ddb923c6 tools/target_dec_fuzzer: Use avcodec_register_all() instead of register_all()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-02 00:55:19 +02:00
Carl Eugen Hoyos
f4c133c708 lavc/mips/iirfilter_mips: Include config.h.
Fixes the following warning:
libavcodec/mips/iirfilter_mips.c:57:5: warning: "HAVE_INLINE_ASM" is not defined
2017-05-01 23:46:28 +02:00
Carl Eugen Hoyos
a88b0b0ba7 lavc/mips/hevc_idct_msa: Add missing const qualifier.
Fixes many warnings:
initialization discards 'const' qualifier from pointer target type
2017-05-01 23:44:21 +02:00
Michael Niedermayer
b29feec982 avcodec/indeo2: Check remaining bits in ir2_decode_plane()
Fixes: 1290/clusterfuzz-testcase-minimized-5815578902134784
Fixes: timeout

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 18:54:41 +02:00
Michael Niedermayer
2f00300b77 avcodec/vp3: Check remaining bits in unpack_dct_coeffs()
Decreases the time spend decoding junk.

May fix: 1283/clusterfuzz-testcase-minimized-6221126759874560

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 18:48:39 +02:00
Michael Niedermayer
b706ddbae3 doc/developer: Add terse documentation of assumed C implementation defined behavior
Suggested-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 17:59:10 +02:00
Michael Niedermayer
63b8d4146d avcodec/bmp: Use ff_set_dimensions()
Fixes out of memory

Fixes: 1282/clusterfuzz-testcase-minimized-5400131681648640

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 17:55:22 +02:00
Micah Galizia
28b2467074 libavformat/http: Ignore expired cookies
Signed-off-by: Micah Galizia <micahgalizia@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 17:55:22 +02:00
Martin Vignali
89812e423d fate/exr : add test for negative float value
the tested sample contain negative value in the red channel
need to be clip to zero, and not set to MAX_RED

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 11:40:57 +02:00
Martin Vignali
5ad18f279a fate/exr : add tests for piz uncompress
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 11:40:57 +02:00
Martin Vignali
37f4d22075 libavcodec/exr : fix piz uncompress on big endian
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 11:40:57 +02:00
James Almer
cac8de2da5 avcodec/options: do a more thorough clean up in avcodec_copy_context()
Free coded_frame, coded_side_data and unref hw_device_ctx to prevent
potential leaks.

Reviewed-by: Aaron Levinson <alevinsn@aracnet.com>
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-30 23:18:05 -03:00
James Almer
54a4c9b4e9 avcodec/options: factorize avcodec_copy_context() cleanup code
Reviewed-by: Aaron Levinson <alevinsn@aracnet.com>
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-30 23:18:04 -03:00
James Almer
37cc1c1e91 avformat/matroskaenc: add support for writing Content Light Level elements
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-30 20:04:57 -03:00
James Almer
095147ae06 avformat/matroskadec: export Content Light Level metadata
Based on a patch by Hendrik Leppkes

Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-30 20:04:50 -03:00
James Almer
d61f93bf04 Merge commit 'c2fa6bb0e8703a7a6aa10e11f9ab36094416d83f'
* commit 'c2fa6bb0e8703a7a6aa10e11f9ab36094416d83f':
  mpeg12dec: move setting first_field to mpeg_field_start()

This commit is a noop, see 2f6f2f4f73

Merged-by: James Almer <jamrial@gmail.com>
2017-04-30 10:23:50 -03:00
Michael Niedermayer
a9b5b6a97f tools: Eliminate codec_type complexity from fuzzer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-30 14:24:51 +02:00
Michael Niedermayer
7796f29065 libswscale/tests/swscale: Fix uninitialized variables
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-30 14:23:27 +02:00
Paul B Mahol
8dd3a53dbf avfilter/af_crystalizer: add support for more sample formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-30 13:00:01 +02:00
Muhammad Faiz
d535e0c140 avcodec/pthread_frame, decode: allow errors to happen on draining
So, all frames and errors are correctly reported in order.
Also limit the numbers of error during draining to prevent infinite loop.

This fix fate failure with THREADS>=4:
  make fate-h264-attachment-631 THREADS=4
This also reverts a755b725ec.

Suggested-by: wm4, Ronald S. Bultje, Marton Balint
Reviewed-by: w4 <nfxjfg@googlemail.com>
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-04-30 05:48:21 +07:00
Paul B Mahol
399c7ab9c6 avfilter: add video oscilloscope filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-29 19:12:34 +02:00
Paul B Mahol
8341d0dd0e avfilter: add pixscope filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-29 18:47:41 +02:00
Clément Bœsch
85452f9ab7 Merge commit 'e807491fc6a336e4becc0cbc981274a8fde18aba'
* commit 'e807491fc6a336e4becc0cbc981274a8fde18aba':
  mpeg12dec: avoid signed overflow in bitrate calculation
  mpegvideo_parser: avoid signed overflow in bitrate calculation

This merge is a noop.

2017-04-29 12:54:15     @ubitux michaelni: is 740959fdbf enough to fix the overflow fixed in 58405de0951a843765625159402870c1eea3c3b1?
2017-04-29 12:55:53     @ubitux same question with e807491fc6
2017-04-29 13:21:45     michaelni       ubitux, the libav code refered to is wrong for us and i doubt the problem it fixes applies to us.
2017-04-29 13:24:29     @ubitux michaelni: ok, for both commits?
2017-04-29 13:33:55     michaelni       yes, they do more or less the same thing

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-29 13:49:06 +02:00
Clément Bœsch
e166fe2e1f Merge commit '46191a2da16f751e53d93646ae1388d421d12bee'
* commit '46191a2da16f751e53d93646ae1388d421d12bee':
  mov: fix a possible invalid read in mov_read_mac_string()

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-29 12:46:48 +02:00
Clément Bœsch
5729acee82 Merge commit 'cfa4eb4fba782f3f37a33be997b27a91a07053c9'
* commit 'cfa4eb4fba782f3f37a33be997b27a91a07053c9':
  vaapi_decode: use the correct logging context

This commit is a noop, see 79307ae563

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-29 12:46:00 +02:00
Clément Bœsch
b893f3f543 Merge commit 'ea8b730d8e67152107d7fcdd5590bbb51ec236b1'
* commit 'ea8b730d8e67152107d7fcdd5590bbb51ec236b1':
  hevcdec: add a VAAPI hwaccel

This commit is a noop, see adb54e59c1

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-29 12:45:21 +02:00
Clément Bœsch
fe86fa7c0a Merge commit '1783d7ec03d730c5bd96c07bc5fa7aa566f85c66'
* commit '1783d7ec03d730c5bd96c07bc5fa7aa566f85c66':
  Changelog: add some missing entries

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-29 12:43:37 +02:00
Paul B Mahol
b8b0cece79 doc/filters: add one lowpass filter example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-29 11:44:21 +02:00
Lucas Cooper
77bc507f6f avformat/movenc: Explicitly address potential division by zero.
find_fps attempts to infer framerate from AVCodec's timebase. When this
results in a frame rate that isn't explicitly marked as supported in
av_timecode_check_frame_rate, find_fps returns the AVStream's
avg_frame_rate, which, per avformat.h, _may_ be set (or not).

mov_get_mpeg2_xdcam_codec_tag, mov_get_h264_codec_tag and
find_compressor attempt to call av_q2d on the return value of find_fps,
which in the above case, may result in division by zero and therefore,
an undefined frame rate when NaN is converted to int.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-29 03:54:31 +02:00
James Zern
1bee78a019 libvpxenc: allow aq-mode 4 (equator360)
this was added in 1.6.0

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Zern <jzern@google.com>
2017-04-28 17:56:09 -07:00
Muhammad Faiz
e061826eb2 avfilter/lavfutils: use image2pipe demuxer on ff_load_image
allow protocols other than file to be used
for example, use data protocol to embed a file in script

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-04-29 01:23:25 +07:00
Steven Liu
cbfd44a922 avformat/hlsenc: fix CID 1405135
Fixes Coverity CID: 1405135

Reviewed-by: Rodger Combs <rodger.combs@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-04-28 10:18:44 +08:00
Steven Liu
363e4f0810 avformat/hlsenc: hold old key info when append list
fix ticket id: #6353

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-04-28 10:17:40 +08:00
Rostislav Pehlivanov
f7542d7e35 opus_pvq: use function pointers for recursion
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-27 05:50:39 +01:00
James Almer
453f8ea242 avcodec/opus_pvq: fix recursive inlining compilation failures
They were introduced by f16180f448
2017-04-27 00:33:24 -03:00
Michael Niedermayer
6ca82975b7 avcodec/mdec: Fix runtime error: left shift of negative value -127
Fixes undefined behavior
Fixes: 1275/clusterfuzz-testcase-minimized-6718162017976320

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-27 04:25:31 +02:00
Michael Niedermayer
966cbfbc83 tools/target_dec_fuzzer: Fix return code on open failure
Fixes: 1271/clusterfuzz-testcase-minimized-6095220498235392

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-27 04:25:31 +02:00
Michael Niedermayer
fa8fd0808f avcodec/x86/vc1dsp_init: Fix build failure with --disable-optimizations and clang
compilers doing DCE at -O0 do not necessarily understand "complex" boolean expressions
Build succeeds with this change, this was the only failure

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-27 04:25:31 +02:00
Martin Vignali
e46d637452 libavcodec/exr : fix float to uint16 conversion for negative float value
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-27 04:25:31 +02:00
Rostislav Pehlivanov
f16180f448 opus_pvq: merge band encoding and decoding into one function
Most code between the 2 functions was duplicated which made keeping
both in sync difficult.

This also fixes some discovered issues with encoding (incorrect
TF switching buffers) and reduces stack usage (reuse the already
allocated CeltFrame->scratch buffer for the quantized coefficients).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-27 02:18:32 +01:00
Rostislav Pehlivanov
18a0d9d7ad opus_pvq: remove outdated/incorrect comments and redundant variables
Removes the last style issues with opus_pvq.c

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-26 23:54:21 +01:00
Rostislav Pehlivanov
4d59de3991 opus_pvq: minor cleanups
Removes unneeded variables, renames confusing and innacurate variables
and rewrites and slightly optimizes hadamard interleave/deinterleave
functions.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-26 23:22:25 +01:00
Ben Chang
8de3458a07 avcodec/nvenc: surface allocation reduction
This patch aims to reduce the number of input/output surfaces
NVENC allocates per session. Previous default sets allocated surfaces to 32
(unless there is user specified param or lookahead involved). Having large
number of surfaces consumes extra video memory (esp for higher resolution
encoding). The patch changes the surfaces calculation for default, B-frames,
lookahead scenario respectively.

The other change involves surface selection. Previously, if a session
allocates x surfaces, only x-1 surfaces are used (due to combination
of output delay and lock toggle logic). To prevent unused surfaces,
changing surface rotation to using predefined fifo.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-04-26 21:57:54 +02:00
Clément Bœsch
78a5fc4579 lavc/hevcdec: fix invalid use of ff_get_format()
Regression since 76cc100afb.

Spotted-by: James Almer <jamrial@gmail.com>
2017-04-26 17:35:28 +02:00
Clément Bœsch
540b8760e8 Merge commit 'd4a91e65343be5d79a4afa61c791191e1b57499a'
* commit 'd4a91e65343be5d79a4afa61c791191e1b57499a':
  pthread_frame: do not run hwaccel decoding asynchronously unless it's safe

This commit is a noop, see e0cd598bc4

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 17:32:40 +02:00