1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-18 03:19:31 +02:00
Commit Graph

86931 Commits

Author SHA1 Message Date
Yogender Gupta
2e8679373a hwupload_cuda : Add 10/16 bit format support
Signed-off-by: Philip Langdale <philipl@overt.org>
2017-08-03 15:25:35 -07:00
James Almer
cae2f1db10 avcodec/htmlsubtitles: fix format specifier in av_bprintf calls 2017-08-03 17:51:51 -03:00
Steinar H. Gunderson
e67d6c37ee Add myself as speedhq maintainer, per request.
Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-03 16:36:02 -03:00
Steinar H. Gunderson
45ffe4645e speedhq: add FATE tests
Also add simple FATE tests, based on output produced by the NDI SDK.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-03 16:36:02 -03:00
Steinar H. Gunderson
effd2e7291 speedhq: fix behavior of single-field decoding
The height convention for decoding frames with only a single field made sense
for compatibility with legacy decoders, but doesn't really match the convention
used by NDI, which is the primary (only?) user. Thus, change it to simply
assuming that if the two fields overlap, the frame is meant to be a single
field and the frame height matches the field height.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-03 16:36:02 -03:00
Michael Niedermayer
4ff94558f2 avcodec/hevc_cabac: Check for ff_init_cabac_decoder() failure in cabac_reinit()
Fixes: runtime error: left shift of negative value -967831544
Fixes: 2815/clusterfuzz-testcase-minimized-6062914471460864

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-03 15:42:52 +02:00
Michael Niedermayer
d1bfa80ec4 avcodec/h264idct_template: Fix integer overflow in ff_h264_idct_add()
Fixes: runtime error: signed integer overflow: 26215360 + 2121330944 cannot be represented in type 'int'
Fixes: 2809/clusterfuzz-testcase-minimized-4785181833560064

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-08-03 15:31:15 +02:00
Aleksandr Slobodeniuk
50aeb6e4ed avformat/riff: remove useless tag correlation 'mpg2'->MPEG1VIDEO.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-02 15:26:35 +02:00
Aleksandr Slobodeniuk
0aa8fa963f avformat/riff.h : remove unused function parameter "const AVCodecTag *tags" of "void ff_put_bmp_header()"
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-02 15:26:25 +02:00
Paul B Mahol
c79e753471 avfilter: add unpremultiply filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-02 11:13:49 +02:00
Clément Bœsch
1193301758 lavc/htmlsubtitles: reindent after previous commits 2017-08-01 15:50:00 +02:00
Clément Bœsch
479ab8c3f8 lavc/htmlsubtitles: handle colors starting with many '#' 2017-08-01 15:50:00 +02:00
Clément Bœsch
e800371863 lavc/htmlsubtitles: improve line breaks handling 2017-08-01 15:50:00 +02:00
Clément Bœsch
55949e3e51 lavc/tests: add htmlsubtitles 2017-08-01 15:50:00 +02:00
Clément Bœsch
f0f8da545d lavc/htmlsubtitles: improve handling broken garbage
This commit switches off forced correct nesting of tags and only keeps
it for font tags. See long explanations in the code for the rationale.

This results in various FATE changes which I'll explain here:

- various swapping in font attributes, this is mostly noise due to the
  old reverse stack way of printing them. The new one is more correct as
  the last attribute takes over the previous ones.

- unrecognized tags disappears

- invalid tags that were previously displayed aren't anymore (instead,
  we have a warning). This is better for the end user

The main benefit of this commit is to be more tolerant to error, leading
to a better handling of badly nested tags or random wrong formatting for
the end user.
2017-08-01 15:50:00 +02:00
Michael Niedermayer
b2d9d72269 avcodec/diracdsp: fix integer overflow
Fixes: runtime error: signed integer overflow: 11 * 225726413 cannot be represented in type 'int'
Fixes: 2764/clusterfuzz-testcase-minimized-5382561922547712

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-01 13:54:43 +02:00
Michael Niedermayer
880f5c5913 avcodec/diracdec: Check weight_log2denom
Fixes: runtime error: shift exponent -1 is negative
Fixes: 2742/clusterfuzz-testcase-minimized-5724322402402304
Fixes: 2744/clusterfuzz-testcase-minimized-4672435653705728
Fixes: 2749/clusterfuzz-testcase-minimized-5298741273690112

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-01 13:54:43 +02:00
Michael Niedermayer
46e4075549 avcodec/dirac_vlc: Fix invalid shift
Fixes: runtime error: shift exponent 65 is too large for 64-bit type 'residual' (aka 'unsigned long')
Fixes: 2737/clusterfuzz-testcase-minimized-4968639147016192

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-01 13:54:43 +02:00
James Almer
8f2f166c99 avcodec/atrac3p: use float_dsp in ff_atrac3p_power_compensation
Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-01 00:33:03 -03:00
Paul B Mahol
b664d1f3ff doc/filters.texi: add another lut2 example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-07-31 14:07:27 +02:00
Clément Bœsch
797c232ef8 sws/tests/pixdesc_query: fix use of free() instead of av_free()
Fix CID 1415949
2017-07-30 20:48:57 +02:00
Clément Bœsch
4158fba3cd sws/tests/pixdesc_query: replace rgb based pix fmts with endianess agnostic names
Fixes ticket #6554
2017-07-30 16:05:32 +02:00
Clément Bœsch
d2c70fc887 sws/tests/pixdesc_query: sort pixel formats 2017-07-30 16:04:36 +02:00
Clément Bœsch
ca23d3491d sws/tests/pixdesc_query: save every pix fmts in a list
This will be required for the next commit.
2017-07-30 16:04:36 +02:00
Marton Balint
e433497160 avdevice/decklink_dec: set field order via codecpar
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-07-30 14:00:26 +02:00
Nicolas George
8b2cd8e0e4 lavfi/vf_displace: move to "activate" design. 2017-07-30 12:27:17 +02:00
Nicolas George
5dbb111900 lavfi/vf_hysteresis: move to "activate" design. 2017-07-30 12:27:13 +02:00
Nicolas George
dbc4af862e lavfi/vf_lut2: move to "activate" design. 2017-07-30 12:27:10 +02:00
Nicolas George
27d8af03ae lavfi/vf_maskedclamp: move to "activate" design. 2017-07-30 12:27:06 +02:00
Nicolas George
0bc331bd57 lavfi/vf_mergeplanes: move to "activate" design. 2017-07-30 12:27:03 +02:00
Nicolas George
a5e3b0c193 lavfi/vf_maskedmerge: move to "activate" design. 2017-07-30 12:27:00 +02:00
Nicolas George
620608467f lavfi/vf_midequalizer: move to "activate" design. 2017-07-30 12:26:57 +02:00
Nicolas George
b894415a70 lavfi/vf_premultiply: move to "activate" design. 2017-07-30 12:26:53 +02:00
Nicolas George
dbf7a67094 lavfi/vf_remap: move to "activate" design. 2017-07-30 12:26:50 +02:00
Nicolas George
d07e25de76 lavfi/vf_threshold: move to "activate" design.
Also fix missing dependency.
2017-07-30 12:26:43 +02:00
Nicolas George
0dd8320e16 lavfi/vf_stack: move to "activate" design. 2017-07-30 12:26:34 +02:00
Nicolas George
4e0e9ce2dc lavfi/framesync2: implement "activate" design.
With this helper API, filters that used the first framesync
helper API can easily be changed to use the new and more
extensible design for filters with a single activate() callback.
2017-07-30 12:24:03 +02:00
Nicolas George
ed1c884b9e lavfi: add outlink helper functions.
These wrappers cost nothing, they make the namespace more
consistent and they will be useful if/when locking becomes
necessary.
2017-07-30 12:24:00 +02:00
Nicolas George
b77f041dff lavfi: make FFERROR_NOT_READY available to filters.
I am not entirely sure that this return code is useful,
but having and using it makes no harm.
2017-07-30 12:23:56 +02:00
Nicolas George
873306f265 lavfi/framesync2: rename all conflicting symbols. 2017-07-30 12:23:54 +02:00
Nicolas George
cffea1b483 lavfi: copy framesync into framesync2.
framesync2 will be the base for the version using activate.
Most of the logic will be the same, but the code cannot be shared.
Copying the file initially without change will make the diff
easier to read.
2017-07-30 12:23:52 +02:00
Nicolas George
1daacba91f Revert "Revert "lavfi/buffersrc: push the frame deeper if requested.""
This reverts commit 04aa09c4bc
and reintroduces 0ff5567a30 that
was temporarily reverted due to minor regressions.

It also reverts e5bce8b4ce that fixed FATE refs.
The fate-ffm change is caused by field_order now being set
on the output format because the first frame arrives earlier.
The fate-mxf change is assumed to be the same.
2017-07-30 12:22:41 +02:00
Rostislav Pehlivanov
70eb77b34e mdct15: add inverse transform postrotation SIMD
2.5ms frames:
Before   (c):  2638 decicycles in postrotate, 2097040 runs,    112 skips
After (sse3):  1467 decicycles in postrotate, 2097083 runs,     69 skips
After (avx2):  1244 decicycles in postrotate, 2097085 runs,     67 skips

5ms frames:
Before   (c):  4987 decicycles in postrotate, 1048371 runs,    205 skips
After (sse3):  2644 decicycles in postrotate, 1048509 runs,     67 skips
After (avx2):  2031 decicycles in postrotate, 1048523 runs,     53 skips

10ms frames:
Before   (c):  9153 decicycles in postrotate,  523575 runs,    713 skips
After (sse3):  5110 decicycles in postrotate,  523726 runs,    562 skips
After (avx2):  3738 decicycles in postrotate,  524223 runs,     65 skips

20ms frames:
Before   (c): 17857 decicycles in postrotate,  261866 runs,    278 skips
After (sse3): 10041 decicycles in postrotate,  261746 runs,    398 skips
After (avx2):  7050 decicycles in postrotate,  262116 runs,     28 skips

Improves total decoding performance for real world content by 9% with avx2.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-07-30 07:38:39 +01:00
Matt Oliver
b0c61209cd lavc/makefile: Add missing file dependencies.
ac3dsp.c uses tables from ac3.c
ac3.c uses tables from ac3tab.c
hevc_ps uses tables from hevc_data.c
intrax8.c uses tables from msmpeg4data.c

Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2017-07-30 14:31:12 +10:00
Matt Oliver
6cc677c0e8 lavf/os_support: Use existing WinRT config value.
Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2017-07-30 14:31:04 +10:00
Matt Oliver
a3833bee94 win32_dlfcn: Support WinRT/UWP.
This only enables dlls that are packaged with the application to be
loaded. Due to the limitations of WinRT/UWP it is not allowed to load
external/system dlls so this cannot be used as a complete replacement
for normal win32 dll loading.

Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2017-07-30 14:30:43 +10:00
Jun Zhao
1e0c75ea16 examples/hw_decode: Add a HWAccel decoding example.
Works with VAAPI, VDPAU, DXVA2 and D3D11VA.

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-07-30 00:15:05 +01:00
Michael Niedermayer
bf8ab72ae9 avcodec/dirac_dwt: Fix multiple integer overflows in COMPOSE_DD97iH0()
Fixes: runtime error: signed integer overflow: 9 * 335544320 cannot be represented in type 'int'
Fixes: 2739/clusterfuzz-testcase-minimized-6737297955356672

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-07-29 16:28:22 +02:00
Michael Niedermayer
c0220c768c avcodec/diracdec: Fix integer overflow in divide3()
Fixes: runtime error: signed integer overflow: -1073746548 * 21845 cannot be represented in type 'int'
Fixes: 2729/clusterfuzz-testcase-minimized-5902915464069120

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-07-29 04:05:53 +02:00
Michael Niedermayer
2c630d159f avcodec/takdec: Fix integer overflow in decode_subframe()
Fixes: runtime error: signed integer overflow: -536870912 - 1972191120 cannot be represented in type 'int'
Fixes: 2711/clusterfuzz-testcase-minimized-4975142398590976

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-07-29 04:05:53 +02:00