Commit Graph

77833 Commits

Author SHA1 Message Date
Clément Bœsch
d64fe951c2 lavc/ccaption_dec: fix always true condition
No idea why this wasn't ever detected by a static analyzer.
2016-01-07 22:42:39 +01:00
Clément Bœsch
04826b7ff0 lavu/common: add an explanation to FF_CEIL_RSHIFT() 2016-01-07 22:34:04 +01:00
Clément Bœsch
5fbe57c027 lavf/uncodedframecrcenc: use FF_CEIL_RSHIFT() 2016-01-07 22:28:08 +01:00
Clément Bœsch
90cd02059b lavfi/deshake: use FF_CEIL_RSHIFT() 2016-01-07 22:27:54 +01:00
Clément Bœsch
84a967df03 lavu/common: fix FF_CEIL_RSHIFT() range comment 2016-01-07 22:20:22 +01:00
James Almer
f4c1a48483 x86/intmath: add sse optimized av_clipf and av_clipd
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-07 14:24:01 -03:00
Paul B Mahol
9f17d4ae7e avfilter/formats: fix leak of formats on error
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-07 09:58:55 +01:00
Ganesh Ajjanagadde
369b161d8e ffmpeg: replace log2 by av_log2
Slight change in output deemed irrelevant here.

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2016-01-06 20:36:24 -08:00
Michael Niedermayer
0869ff7e9d avcodec/utils: Check bits_per_raw_sample on video encoder open
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-07 02:00:34 +01:00
Michael Niedermayer
13f266b50c avcodec/mpegvideo_enc: Clip bits_per_raw_sample within valid range
Fixes out of array read
Fixes: test_case-mdc.264 (b47be15a120979f5a1a945c938cbef33)

Found-by: Tyson Smith <twsmith@mozilla.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-07 00:41:21 +01:00
Aman Gupta
3ec5d8fe0f libavcodec/ccaption_dec: rewrite packet handler as case statement; remove COR3 macro
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-06 22:33:42 +01:00
Aman Gupta
55ca79f526 libavcodec/ccaption_dec: clean up and standardize white space
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-06 22:33:14 +01:00
Michael Niedermayer
23679d82f6 configure: use warn() for mips unknown cpu warning
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-06 22:15:14 +01:00
Vicente Olivert Riera
6282bdc2bf mips: display a warning message when using an unknown CPU
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-06 19:41:38 +01:00
Derek Buitenhuis
72673ad7ea avcodec: Remove libstagefright
It serves absolutely no purpose other than to confuse potentional
Android developers about how to use hardware acceleration properly
on the the platform. The stagefright "API" is not public, and the
MediaCodec API is the proper way to do this.

Furthermore, stagefright support in avcodec needs a series of
magic incantations and version-specific stuff, such that
using it actually provides downsides compared just using the actual
Android frameworks properly, in that it is a lot more work and confusion
to get it even running. It also leads to a lot of misinformation, like
these sorts of comments (in [1]) that are absolutely incorrect.

[1] http://stackoverflow.com/a/29362353/3115956

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-06 16:43:06 +00:00
Andrey Turkin
149b1f7cca avfilter/vf_pad: fix direct padding
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-06 16:41:50 +01:00
Mats Peterson
6a975cb07f lavf/matroskadec: correct codec_tag for "SMI" SVQ3 files
This corrects the codec_tag for some SVQ3 files

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-06 14:45:52 +01:00
Ganesh Ajjanagadde
fc703f53cf lavfi/af_compensationdelay: replace pow(x,0.5) by sqrt(x)
sqrt is faster, and is sometimes more accurate depending on the libm.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2016-01-05 19:07:19 -08:00
Ganesh Ajjanagadde
a956840cbc ffmpeg: check return value of avio_closep for progress report
avio_closep is not guaranteed to succeed, and its return value can
contain information regarding failure of preceding writes and silent
loss of data (man 2 close, man fclose). Users should know when the
progress was not successfully logged, and so a diagnostic is printed
here.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2016-01-05 19:06:21 -08:00
Andreas Cadhalpun
da3c3c446c avpacket: fix size check in packet_alloc
The previous check only caught sizes from -AV_INPUT_BUFFER_PADDING_SIZE
to -1.

This fixes ubsan runtime error: signed integer overflow: 2147483647 + 32
cannot be represented in type 'int'

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-05 22:30:50 +01:00
Andreas Cadhalpun
fa74cdc60d parser: add av_assert1 to make sure the codec matches
Otherwise this can have some surprising effects (crashes), so let's
better not allow it.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-05 22:30:32 +01:00
Carl Eugen Hoyos
c3c22bee63 lavf/matroskaenc: Assume 48kHz sample rate for Opus initial padding.
Analyzed by Timothy B. Terriberry in Mozilla bug 1227153.
Fixes ticket #5121.
2016-01-05 21:34:35 +01:00
Michael Niedermayer
5b4da8a38a avcodec/motion_est: Fix mv_penalty table size
Fixes out of array read

Found-by: Tyson Smith <twsmith@mozilla.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-05 18:10:34 +01:00
Aman Gupta
e7271e6d07 libavcodec/ccaption_dec: remove unnecessary include
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-05 18:10:34 +01:00
Paul B Mahol
206f65b06d avfilter/avf_avectorscope: add line drawing support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-05 15:01:55 +01:00
Paul B Mahol
c13216ac08 avfilter/window_func: add tukey window function
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-05 11:37:11 +01:00
Paul B Mahol
c31fa1d7b4 avfilter/avf_showspectrum: use av_clip/lrintf
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-05 10:07:59 +01:00
Paul B Mahol
0d3b31ae89 avfilter/avf_showspectrum: add yet another color map
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-05 10:07:58 +01:00
Michael Niedermayer
68eb20801d avcodec/dxv: Check idx in dxv_decompress_dxt5()
Fixes potential out of array read

No testcase available

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-05 03:08:09 +01:00
Michael Niedermayer
eb8a67de75 avcodec/dxv: Check idx in CHECKPOINT()
Fixes out of array read

Fixes Ticket5098
Fixes Ticket5099

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-05 02:55:49 +01:00
Ganesh Ajjanagadde
43624a669b lavc/pcm_tablegen: slight speedup of table generation
This gets rid of some branches to speed up table generation slightly
(impact higher on mulaw than alaw). Tables are identical to before,
tested with FATE.

Sample benchmark (Haswell, GNU/Linux+gcc):
old:
 313494 decicycles in build_alaw_table,    4094 runs,      2 skips
 315959 decicycles in build_alaw_table,    8190 runs,      2 skips

 323599 decicycles in build_ulaw_table,    4095 runs,      1 skips
 318849 decicycles in build_ulaw_table,    8188 runs,      4 skips

new:
 261902 decicycles in build_alaw_table,    4096 runs,      0 skips
 266519 decicycles in build_alaw_table,    8192 runs,      0 skips

 209657 decicycles in build_ulaw_table,    4096 runs,      0 skips
 232656 decicycles in build_ulaw_table,    8192 runs,      0 skips

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2016-01-04 17:23:24 -08:00
Michael Niedermayer
7cc01c2572 avcodec/h264_slice: Fix integer overflow in implicit weight computation
Fixes mozilla bug 1230423

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-05 01:12:42 +01:00
Michael Niedermayer
1edf129cbc swscale/utils: Use normal bilinear scaler if fast cannot be used due to tiny dimensions
Fixes Ticket4960

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-04 23:54:11 +01:00
Michael Niedermayer
9434ec5f76 avcodec/h264_refs: Fix and add back trace code removed in e1c5170c63 2016-01-04 21:33:13 +01:00
Matthieu Bouron
e4e9b9454e swscale/arm/yuv2rgb: add ff_yuv422p_to_{argb,rgba,abgr,bgra}_neon_{16,32} 2016-01-04 18:56:52 +01:00
Matthieu Bouron
44913d1945 swscale/arm/yuv2rgb: fix typo 2016-01-04 18:56:52 +01:00
Paul B Mahol
6defda1cdb avfilter/avf_showspectrum: add option to set gain for calculating color intensity
Inspired by Sonic Visualizer.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-04 14:06:51 +01:00
Andreas Cadhalpun
1cb2331eca brstm: fix missing closing brace
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-04 13:44:16 +01:00
Andreas Cadhalpun
bcf4ee26a0 brstm: also allocate b->table in read_packet
This fixes NULL pointer dereferencing if the codec is forced to
adpcm_thp even though a different one was detected.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-04 13:20:09 +01:00
Andreas Cadhalpun
d7d37c479f brstm: make sure an ADPC chunk was read for adpcm_thp
This fixes NULL pointer dereferencing.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-04 13:19:59 +01:00
Andreas Cadhalpun
e7a7b3135a vorbisdec: reject rangebits 0 with non-0 partitions
This causes non-unique elements in floor_setup->data.t1.list, which
makes the stream undecodable according to the specification.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-04 13:07:28 +01:00
Hendrik Leppkes
e1c5170c63 Merge commit '2080bea4a74b6b1598caa806a11ea807ba546f94'
* commit '2080bea4a74b6b1598caa806a11ea807ba546f94':
  h264_refs: Remove broken trace debug code

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-04 11:40:34 +01:00
Hendrik Leppkes
3e337f0e40 Merge commit '58170b027144f4840018c7a60fb8d07924cc6242'
* commit '58170b027144f4840018c7a60fb8d07924cc6242':
  lavc: Add missing #includes for ff_dlog()

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-04 11:32:11 +01:00
Hendrik Leppkes
9507f68deb Merge commit '3b6473b43eb69fc3faaf69f7fd0b83b51db7607f'
* commit '3b6473b43eb69fc3faaf69f7fd0b83b51db7607f':
  qsvdec: properly handle the warning from MFXVideoCORE_SyncOperation

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-04 11:31:43 +01:00
Hendrik Leppkes
ad53c94d8f Merge commit 'a43905f4ae261bdde87c300901d867b31961f57b'
* commit 'a43905f4ae261bdde87c300901d867b31961f57b':
  qsvenc_hevc: improve the default settings

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-04 11:31:33 +01:00
Hendrik Leppkes
1fec347ef5 Merge commit '9d74012761bc3ee676fe43321d5699e4877fde5b'
* commit '9d74012761bc3ee676fe43321d5699e4877fde5b':
  h264: improve behaviour with invalid reference lists

Not merged, as we have a different solution.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-04 11:30:58 +01:00
Mats Peterson
b6c61b7d43 lavf/qtpalette: Ignore greyscale bit in certain cases
The QuickTime File Format Specification states the following:

"Depth: A 16-bit integer that indicates the pixel depth of the
compressed image. Values of 1, 2, 4, 8 ,16, 24, and 32 indicate the
depth of color images. The value 32 should be used only if the image
contains an alpha channel. Values of 34, 36, and 40 indicate 2-, 4-, and
8-bit grayscale, respectively, for grayscale images."

There is no mention of value 33, i.e. 1-bit video (0x01) with the
greyscale bit (0x20) set. I therefore suggest that we ignore the
greyscale bit when processing 1-bit video. Another reason to do this is
that the first 1-bit sample file below will be displayed properly with
blue colors in QuickTime in Windows or Mac *in spite of* the greyscale
bit being set.

Also, QuickTime in Windows or Mac ignores the greyscale bit if the
video sample description contains a palette, regardless of bit depth.
This is undocumented behaviour, but I think we should do the same, and
it seems pretty logical after all, since one wouldn't really bother
putting a customized palette into a grayscale file anyway. See the
second 8-bit sample file below, which has the greyscale bit set, and
which contains a palette in the video sample description. In Windows or
Mac, it will be displayed with the palette in the sample description, in
spite of the greyscale bit being set.

Sample file 1 (1-bit QuickTime Animation):
https://drive.google.com/open?id=0B3_pEBoLs0faTThSek1EeXQ0ZHM
Earth Spin 1-bit qtrle orig.mov

Sample file 2 (8-bit QuickTime Animation):
https://drive.google.com/open?id=0B3_pEBoLs0fad2s0V1YzUWo5aDA
quiz-palette+gs.mov

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-04 03:31:49 +01:00
Mats Peterson
bf42a7ef6d lavc/qtrle: Use AV_PIX_FMT_PAL8 for 1-bit video
This commit fixes the lack of palettized display of 1-bit video
in the qtrle decoder. It is related to my commit of
lavf/qtpalette, which added 1-bit video to the "palettized video"
category. As far as I can see, everything works fine, but comments are
of course welcome.

Below are links to sample files, which should now be displayed properly
with bluish colors, but which were previously displayed in black &
white.

Matroska:
https://drive.google.com/open?id=0B3_pEBoLs0faNjI0cHBMWDhYY2c
Earth Spin 1-bit qtrle.mkv

QuickTime (mov):
https://drive.google.com/open?id=0B3_pEBoLs0faUlItWm9KaGJSTEE
Earth Spin 1-bit qtrle.mov

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-04 03:31:35 +01:00
Michael Niedermayer
4da2ac5c7a avcodec/h264: Fix regression caused by removial of default_ref_list
This fixes a regression of the sample from Ticket 2371

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-04 02:30:48 +01:00
Andreas Cadhalpun
b4b13848de vorbisdec: reject channel mapping with less than two channels
It causes the angle channel number to equal the magnitude channel
number, which makes the stream undecodable according to the
specification.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-03 23:44:47 +01:00