Commit Graph

76168 Commits

Author SHA1 Message Date
Timothy Gu
ab5f43e634 vc1dsp: Port ff_vc1_put_ver_16b_shift2_mmx to yasm
This function is only used within other inline asm functions, hence the
HAVE_MMX_INLINE guard. Per recent discussions, we should not worry about
the performance of inline asm-only builds.
2015-10-21 20:01:52 -07:00
Alexis Ballier
12628e3369 libavformat/mxfdec.c: Report dark metadata keys only when they match no parser at all, not everytime they fail to match one.
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-22 00:53:35 +02:00
Alexis Ballier
94ec82f14a libavformat/mxfdec.c: cosmetics: Add missing space after '?' in log message.
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-22 00:53:35 +02:00
Andreas Cadhalpun
a4680e7170 avcodec: rename avpriv_color_frame to ff_color_frame
It is only used inside libavcodec.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-22 00:38:50 +02:00
Andreas Cadhalpun
957f92729a avcodec: drop 2 suffix from avpriv_ac3_parse_header2
avpriv_ac3_parse_header was removed in commit 3dfb643.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-22 00:34:54 +02:00
Tobias Rapp
18e8fac531 avfilter/vf_ssim: Add support for writing stats to stdout
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-21 22:11:33 +02:00
Timothy Gu
98da061461 huffyuvencdsp: Cherry pick changes left out in the last commit
Oops.
2015-10-21 12:42:33 -07:00
Timothy Gu
5e586e1bef huffyuvencdsp: Add ff_diff_bytes_{sse2,avx2}
SSE2 version 4%-35% faster than MMX depending on the width.
AVX2 version 1%-13% faster than SSE2 depending on the width.
2015-10-21 12:25:32 -07:00
Julian Scheel
da43e9e157 mmaldec: Fix avpriv_atomic_get usage
There is no avpriv_atomic_get, instead avpriv_atomic_int_get is to be used for
integers. This fixes building mmaldec.

Signed-off-by: Julian Scheel <julian@jusst.de>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-21 15:01:36 +02:00
Hendrik Leppkes
4da52e3630 aacdec: fix strict prototype warning
Function protoypes without arguments require a void argument in C,
instead of an empty list.
2015-10-21 14:28:08 +02:00
Rostislav Pehlivanov
0f87cbdd51 lavf: add oggparsedaala and bump micro
This commit introduces a parser for the current bitstream produced by
Daala. It currently bears a large similarity with Theora, another
codec produced by Xiph. While likely to change in the future, its basic
format of packet parsing should remain fairly identical with its current
structure.
Once the bitstream freezes, there are a few probable simplifications
that could be made. Also, the current version (major, minor and micro)
is stuck at zero so it's unusable as a way to warn about possible
incompatibilities. This will change once the bitstream freezes,
however until then this file is strictly targeting the current git
master of the reference encoder, libdaala.

This file was developed independently at the same time by both myself
and Vittorio Giovara, who used libav as a starting point. For fairness,
and to prevent confusion and allegations, his name has been added to the
copyright in the license header as well, and vice versa.
2015-10-21 06:02:47 +01:00
Rostislav Pehlivanov
b7c9873bed lavc: add AV_CODEC_ID_DAALA to the list of codec IDs and bump minor
This commit shall introduce the first step of adding support for the
Daala next generation video codec to FFmpeg. Although still in
development, the codec is showing good progress and exchanging work
through IETF drafts. The companies behind Daala are also participating
in the Alliance for Open Media, so it's likely that whatever the result
any of these collaborations produce it's probable that elements from
Daala could be used in them, or perhaps this codec itself could be the
result.
2015-10-21 06:02:47 +01:00
James Zern
6540fe04a3 libvpxenc: remove some unused ctrl id mappings
VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE, VP8E_USE_REFERENCE were removed
from libvpx and the remaining values were never used here

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Zern <jzern@google.com>
2015-10-20 20:25:53 -07:00
Timothy Gu
6b41b44149 huffyuvencdsp: Convert ff_diff_bytes_mmx to yasm
Heavily based upon ff_add_bytes by Christophe Gisquet.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2015-10-20 18:24:54 -07:00
Tobias Rapp
1ec8c1554e avfilter/vf_psnr: Add support for writing stats to stdout
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-21 00:39:50 +02:00
Andreas Cadhalpun
451b6a990a avutil: merge avpriv_float_dsp_init into avpriv_float_dsp_alloc
Also replace the last two usages of avpriv_float_dsp_init with
avpriv_float_dsp_alloc.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-21 00:24:58 +02:00
Andreas Cadhalpun
3dfb643cd4 avcodec: remove unused avpriv_ac3_parse_header
It was replaced by avpriv_ac3_parse_header2.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-21 00:23:31 +02:00
Andreas Cadhalpun
95687dc310 avutil: install des.h, rc4.h and tree.h as public headers
These headers contain functions supposed to be public.

libavutil/des.h:
 av_des_alloc
 av_des_crypt
 av_des_init
 av_des_mac
libavutil/rc4.h:
 av_rc4_alloc
 av_rc4_crypt
 av_rc4_init
libavutil/tree.h
 av_tree_destroy
 av_tree_enumerate
 av_tree_find
 av_tree_insert
 av_tree_node_alloc
 av_tree_node_size

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-21 00:23:10 +02:00
Timothy Gu
bc22cd244e dnxhdenc: Optimize get_pixels_8x4_sym for 10-bit
This reverts commit 628e6d0164 and uses
a better fix.

Before:
4483 decicycles in get_pixels_8x4_sym,  131032 runs,     40 skips

After:
2569 decicycles in get_pixels_8x4_sym,  131054 runs,     18 skips
2015-10-20 12:36:29 -07:00
Hendrik Leppkes
00ae5b401b dca_parser: don't overwrite the sample rate, it may not be correct
The parser only reads the dca core sample rate, which is limited to a
maximum of 48000 Hz, while X96 and HD extensions can increase the sample
rate up to 192000 Hz.

This change prevents the parser and decoder fighting over the sample rate,
potentially confusing user applications. This also fixes sample rate
display of >48000Hz files with ffmpeg/ffprobe when using libdcadec.

Fixes ticket #4397
2015-10-20 13:02:18 +02:00
wm4
de1b1a7da9 avformat/mp3dec: improve junk skipping heuristic
Commit 2b3e9bbfb5 caused problems for a
certain API user:

https://code.google.com/p/chromium/issues/detail?id=537725
https://code.google.com/p/chromium/issues/detail?id=542032

The problem seems rather arbitrary, because if there's junk, anything
can happen. In this case, the imperfect junk skipping just caused it to
read different junk, from what I can see.

We can improve the accuracy of junk detection by a lot by checking if 2
consecutive frames use the same configuration. While in theory it might
be completely fine for the 1st frame to have a different format than the
2nd frame, it's exceedingly unlikely, and I can't think of a legitimate
use-case.

This is approximately the same mpg123 does for junk skipping. The
set of compared header bits is the same as the libavcodec mp3 parser
uses for similar purposes.
2015-10-20 12:17:21 +02:00
Paul B Mahol
35564318ad avformat: add wve demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-20 09:41:11 +02:00
Paul B Mahol
0e08d6ca14 avformat: add msf demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-20 09:40:08 +02:00
Michael Niedermayer
e91cd8a9c4 compat/solaris/make_sunver.pl: Use /usr/bin/env perl instead of /usr/bin/perl
This is how the other perl scripts in git call perl

Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-20 02:21:34 +02:00
Timothy Gu
068e6cb732 huffyuvencdsp: Use intptr_t for width
It is done this way in huffyuvdsp as well.
2015-10-19 16:57:33 -07:00
Timothy Gu
a079cbf458 x86: vc1dsp_mmx: Move yasm initiation steps to vc1dsp_init
That's where all yasm initiation steps are. Also removes the overlap
between the two files.
2015-10-19 16:52:52 -07:00
Timothy Gu
607f820ec7 x86: fpel: Remove erroneous ff_put_pixels8_mmxext prototype
This function does not exist.
2015-10-19 16:52:37 -07:00
Timothy Gu
cb6f1f8bf9 x86: fpel: Move prototypes for 4-px block functions 2015-10-19 16:52:33 -07:00
Michael Niedermayer
fb4d350ff3 avcodec/mpegaudio_parser: Update comment to match code
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-19 22:16:20 +02:00
James Zern
7b4367d93e vp9_parser: fix endless loop w/0-sized frame
treat this the same as an over-sized superframe packet to break out of
the parser loop and allow the decoder to fail.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Zern <jzern@google.com>
2015-10-19 12:10:52 -07:00
Matt Oliver
b0bb1dc62d lavu/intmath.h: Move x86 only msvc/icl functions to x86 specific header.
Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2015-10-19 13:40:51 +11:00
Matt Oliver
216cc1f6fe lavu/intmath.h: Add msvc/icl ctzll optimisations.
Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2015-10-19 13:40:27 +11:00
Clément Bœsch
ce0a117ed4 avutil/opt: display a better default value for int/int64 options
Example:

% ./ffmpeg -h encoder=aac
  -aac_coder         <int>        E...A... Coding algorithm (from -1 to 3) (default twoloop)
     faac                         E...A... FAAC-inspired method
     anmr                         E...A... ANMR method
     twoloop                      E...A... Two loop searching method
     fast                         E...A... Constant quantizer
[...]
2015-10-19 00:04:33 +02:00
Kyle Swanson
32403d1fab avfilter/af_flanger: free frame on ENOMEM
Signed-off-by: Kyle Swanson <k@ylo.ph>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-18 21:27:00 +02:00
Ganesh Ajjanagadde
07d4fe3a87 avutil: use EINVAL instead of -1 for the return code of crypto related init functions
These functions return an error typically when the key size is an
incorrect number. AVERROR(EINVAL) is more specific than -1.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-18 15:17:58 -04:00
Michael Niedermayer
94f7c97e05 avformat/vag: Remove unused variable pos
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-18 20:43:02 +02:00
Paul B Mahol
416e35e5aa avfilter: add zscale filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-18 18:01:56 +02:00
Ganesh Ajjanagadde
e11e32686f avcodec/bitstream: replace qsort with AV_QSORT
Commit 3a0a2f33a6 claims large performance
advantages for AV_QSORT over libc's qsort. The reason is that I suspect
that libc's qsort (at least on non LTO builds, like the typical FFmpeg config)
can't inline the comparison callback:
https://stackoverflow.com/questions/5290695/is-there-any-way-a-c-c-compiler-can-inline-a-c-callback-function.
AV_QSORT has two things going for it:
1. The guaranteed inlining of qsort itself. This yields a negligible
boost that may be ignored.
2. The more serious possibility of potentially allowing the comparison
function to be inlined - this is likely responsible for the large boosts
reported.

There is a comment explaining that this is a place that could use some
performance improvement. Thus AV_QSORT is used to achieve that.

Benchmarks deemed unnecessary due to existing claims about AV_QSORT.
Tested with FATE.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-18 09:22:49 -04:00
Carl Eugen Hoyos
9496f565dc configure: Simplify using --disable-all.
libavutil was always built, allow its dependencies to be enabled.
2015-10-18 14:27:51 +02:00
Paul B Mahol
7bbd060324 avcodec/adpcm: increase max channels for ADPCM PSX to 8
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-18 14:17:15 +02:00
Paul B Mahol
bb1d3f1078 avformat/rsd: add VAG support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-18 14:17:14 +02:00
Alexis Ballier
6e8d856ad6 libavcodec/mpegvideo_enc.c: Fix encoding videos with less frames than the delay of the encoder.
When the encoder is fed with less frames than its delay, the picture list looks like { NULL, NULL, ..., frame, frame, frame }. When flushing the encoder (input frame == NULL), we need to ensure the picture list is shifted enough so that we do not return an empty packet, which would mean the encoder has finished, while it has not encoded any frame.

Before the patch, the command:
'./ffmpeg_g -loglevel debug -f lavfi -i "testsrc=d=0.01" -bf 2 -vcodec mpeg2video out.mxf' prints:

Output stream #0:0 (video): 1 frames encoded; 0 packets muxed (0 bytes);

After:

Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (8058 bytes);

Relates to ticket #4817.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-18 11:55:40 +02:00
Michael Niedermayer
fd46d6deac avcodec/mpegvideo_enc: Merge ifs with identical conditions
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-18 11:44:42 +02:00
Michael Niedermayer
b379e1d6df avcodec/mpegvideo_enc: Factor new_picture unref out
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-18 11:42:32 +02:00
Paul B Mahol
002b0499b6 avfilter/af_ladspa: check functions return value in query_formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-18 02:01:44 +02:00
Ganesh Ajjanagadde
62144b225d avfilter/internal: Doxygen for ff_fmt_is_in
This clarifies and adds Doxygen for ff_fmt_is_in.

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-17 18:58:38 -04:00
Rostislav Pehlivanov
7303962f14 aacenc_ltp: adjust and speed up autocorrelation calculations
There were some errors in the calculation as well as an entire
unnecessary loop to find the gain coefficient. Merge the
two loops.
Thanks to @ubitux for the suggestions and testing.
2015-10-17 22:53:11 +01:00
Derek Buitenhuis
4ffdba2418 mpegts: Make the sdt_period a double
Having it as a float didn't even allow enough precision to check
for INT_MAX/2.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-10-17 15:02:40 -04:00
Derek Buitenhuis
516d34de42 mpegts: Make the pat_period a double
Having it as a float didn't even allow enough precision to check
for INT_MAX/2.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-10-17 15:02:06 -04:00
Paul B Mahol
c37d2cd01c avformat/vag: fix demuxing stereo files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-17 20:02:09 +02:00