Commit Graph

78450 Commits

Author SHA1 Message Date
Michael Niedermayer 817bf8483e avfilter/af_anequalizer: Avoid loss of precision when calculating nyquist frequency
Fixes: CID1351398
Fixes: CID1351400

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 15:59:35 +01:00
Michael Niedermayer f9f684c0fb avfilter/vf_zoompan: Initialize ret
Silences: CID1351394

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 15:59:35 +01:00
Michael Niedermayer 03b26a2514 avfilter/vf_zoompan: Fix use of uninitialized variables
Fixes: CID1351392
Fixes: CID1351393
Fixes: CID1351395

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 15:59:35 +01:00
James Almer 0abdf7030e avcodec/vc2enc_dwt: add missing header
Fixes make checkheaders

Signed-off-by: James Almer <jamrial@gmail.com>
2016-02-12 02:06:05 -03:00
Michael Niedermayer 6973846618 avcodec/h264_slice: Fix dequant table init with field pictures
Fixes regression of Ticket4389

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 04:37:35 +01:00
Michael Niedermayer 873158fd76 avcodec/h264_slice: assert relation between current_slice ans slice_ctx
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 04:37:35 +01:00
Michael Niedermayer 6c6f2e49e4 avcodec/h264_slice: remove duplicate unconditional picture_structure setting code
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 04:37:35 +01:00
Kieran Kunhya 1e2fd57fc0 avcodec/cfhd: Fix errors with valid files. 2016-02-12 01:00:20 +00:00
Michael Niedermayer bbc4d069d0 avcodec/cfhd: Check the number of tag/value pairs
Fixes potentially long loop
Fixes: CID1351382/11

Reviewed-by: Kieran Kunhya <kieran@kunhya.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 01:52:44 +01:00
Michael Niedermayer 156013111a avfilter/avf_ahistogram: assert that variables are initialized by switch()
Silences: CID1351397

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 00:38:45 +01:00
Michael Niedermayer 43bf15d1a4 avfilter/avf_showfreqs: assert that variables are initialized by switch()
Silences: CID1351396

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 00:37:11 +01:00
Michael Niedermayer 9313fb6a3e avfilter/vf_zoompan: Remove dead store
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 00:07:29 +01:00
Michael Niedermayer 62eb935bf9 avfilter/avf_avectorscope: assert that variables are initialized by switch()
Silences: CID1351390
Silences: CID1351391

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-11 23:09:39 +01:00
Michael Niedermayer 03c1129b20 avfilter/vaf_spectrumsynth: assert that variables are initialized by switch()
Silences: CID1351387
Silences: CID1351388
Silences: CID1351389

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-11 23:06:24 +01:00
Paul B Mahol 855d9d29eb doc/filters: fix metadata example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-02-11 16:30:04 +01:00
Tobias Rapp 80026a8ac3 avfilter/f_metadata: rename "string" into "same_str"
Rename function option value "string" into "same_str". Remove obsolete
"length" option.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2016-02-11 16:13:07 +01:00
Tobias Rapp 730da5c207 avfilter/f_metadata: whitespace clean-up
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2016-02-11 13:50:47 +01:00
Tobias Rapp 6889deba68 avfilter/f_metadata: add starts_with string function
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2016-02-11 13:50:46 +01:00
Tobias Rapp 202f978728 avfilter/f_metadata: add support for file output
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2016-02-11 13:50:46 +01:00
Tobias Rapp 8b99c5e8da avfilter/f_metadata: avoid float rounding problems
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2016-02-11 13:47:25 +01:00
Michael Niedermayer ac3a275d1e avfilter/vf_nnedi: Simplify away some trivial mem*()
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-11 02:20:29 +01:00
Michael Niedermayer 8836b8c2a4 fate: Update fate-sub2video for 5486d7fa91
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-11 01:48:35 +01:00
Rostislav Pehlivanov ac5a4deb3d MAINTAINERS: add my name to the parts I'm maintaining
Not updated since the AAC Encoder.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-02-11 00:01:36 +00:00
Timothy Gu 74f8d9aaef x86/vf_blend: Add SSE2 optimization for screen
10x faster than C.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
2016-02-10 11:26:04 -08:00
Timothy Gu c8b1612af0 x86/vf_blend: Move multiplying to a macro
Reviewed-by: Paul B Mahol <onemda@gmail.com>
2016-02-10 11:25:11 -08:00
Paul B Mahol 5486d7fa91 avfilter/dualinput: use pts provided by framesync
This fixes stalled output pts when main stream ends.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-02-10 19:57:23 +01:00
Michael Niedermayer a73b23e3df avformat/hlsenc: Fix filename and options
Regression since bc9a5965c8

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-10 19:14:53 +01:00
Rostislav Pehlivanov 5669aa2a8a vc2enc: use project-standard inclusion guards
This was first reported on the mailing list in an earlier revision of this
encoder but was forgotten from the final commit.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-02-10 18:02:35 +00:00
Rostislav Pehlivanov 135460383e avformat: add vc2 as an allowed rawenc Dirac extension
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-02-10 17:15:59 +00:00
Rostislav Pehlivanov ec9e87c922 avcodec: add a native SMPTE VC-2 HQ encoder
This commit adds a new encoder capable of creating BBC/SMPTE Dirac/VC-2 HQ
profile files.

Dirac is a wavelet based codec created by the BBC a little more than 10
years ago. Since then, wavelets have mostly gone out of style as they
did not provide adequate encoding gains at lower bitrates. Dirac was a
fully featured video codec equipped with perceptual masking, support for
most popular pixel formats, interlacing, overlapped-block motion
compensation, and other features. It found new life after being stripped
of various features and standardized as the VC-2 codec by the SMPTE with
an extra profile, the HQ profile that this encoder supports, added.

The HQ profile was based off of the Low-Delay profile previously
existing in Dirac. The profile forbids DC prediction and arithmetic
coding to focus on high performance and low delay at higher bitrates.
The standard bitrates for this profile vary but generally 1:4
compression is expected (~525 Mbps vs the 2200 Mbps for uncompressed
1080p50). The codec only supports I-frames, hence the high bitrates.

The structure of this encoder is simple: do a DWT transform on the
entire image, split it into multiple slices (specified by the user) and
encode them in parallel. All of the slices are of the same size, making
rate control and threading very trivial. Although only in C, this encoder
is capable of 30 frames per second on an 4 core 8 threads Ivy Bridge.
A lookup table is used to encode most of the coefficients.

No code was used from the GSoC encoder from 2007 except for the 2
transform functions in diracenc_transforms.c. All other code was written
from scratch.

This encoder outperforms any other encoders in quality, usability and in
features. Other existing implementations do not support 4 level
transforms or 64x64 blocks (slices), which greatly increase compression.

As previously said, the codec is meant for broadcasting, hence support
for non-broadcasting image widths, heights, bit depths, aspect ratios,
etc. are limited by the "level". Although this codec supports a few
chroma subsamplings (420, 422, 444), signalling those is generally
outside the specifications of the level used (3) and the reference
decoder will outright refuse to read any image with such a flag
signalled (it only supports 1920x1080 yuv422p10). However, most
implementations will happily read files with alternate dimensions,
framerates and formats signalled.

Therefore, in order to encode files other than 1080p50 yuv422p10le, you
need to provide an "-strict -2" argument to the command line. The FFmpeg
decoder will happily read any files made with non-standard parameters,
dimensions and subsamplings, and so will other implementations. IMO this
should be "-strict -1", but I'll leave that up for discussion.

There are still plenty of stuff to implement, for instance 5 more
wavelet transforms are still in the specs and supported by the decoder.

The encoder can be lossless, given a high enough bitrate.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-02-10 17:15:59 +00:00
Rostislav Pehlivanov 4701be7198 options_table: update maximum bitrate limit
The type of the option has been changed but the limit was apparently forgotten.
Some video codes can handle bitrates of over ~2.2 Gbps (like VC-2).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-02-10 17:15:59 +00:00
Michael Niedermayer 21b459e4bb avformat/segment: Fix header_filename handling
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-10 17:59:58 +01:00
Michael Niedermayer 23261e6001 sws/output: fix ordered dither threshold for mono output
This makes sure that white stays white and black black

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-10 17:22:26 +01:00
Derek Buitenhuis bc9a5965c8 Merge commit '9f61abc8111c7c43f49ca012e957a108b9cc7610'
This also deprecates our old duplicated callbacks.

* commit '9f61abc8111c7c43f49ca012e957a108b9cc7610':
  lavf: allow custom IO for all files

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-10 14:42:41 +00:00
Michael Niedermayer d94b11a721 ffmpeg_filter: Factor get_compliance_unofficial_pix_fmts() out
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-10 13:28:23 +01:00
Michael Niedermayer 82d2aa2b32 ffmpeg_filter: Add missing pixel formats to strict_std_compliance case for ljpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-10 13:28:23 +01:00
Michael Niedermayer a82ff49bb8 ffmpeg_filter: Add YUV 444 to strict_std_compliance case for mjpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-10 13:28:23 +01:00
Paul B Mahol 408ea50ca6 avfilter/f_metadata: fix few logic errors
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-02-10 11:47:52 +01:00
Timothy Gu 5f1aad68c4 tests: Add test for proper header guard
Reviewed-by: Clément Bœsch <u@pkh.me>
2016-02-10 01:21:39 -08:00
Paul B Mahol 4ca8879d19 avfilter: add metadata filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-02-10 09:55:39 +01:00
Michael Niedermayer 674cc26f25 avfilter/vf_nnedi: Fix memleak
Fixes CID1351359

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-10 01:00:08 +01:00
Michael Niedermayer 331a33d74a nut: Add PAL8 support
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-09 19:19:43 +01:00
Michael Niedermayer 43a6965569 avcodec/dirac: Fix memleak of dsh on error
Fixes CID1351360

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-09 14:59:36 +01:00
Thierry Foucu 020b75806f lavf/mov: Extend extracting XMP in mov files using UUID Box
The UUID is based on http://www.adobe.com/devnet/xmp.html

The patch is made according to XMP SPECIFICATION PART 3 - STORAGE IN
FILES See Table 8

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-09 01:31:15 +01:00
Timothy Gu cb8646af24 configure: Enable GCC vectorization on ≥4.9 on x86
4.9 was released precisely nine years after the first GCC version with
autovectorizer (4.0) and six years after the first GCC version with
`-ftree-vectorize` default to enabled on `-O3` (4.3). We've given GCC
enough time to fix those bugs.

FATE passes here on a x86-64 machine with both GCC 4.9.2 and 5.3.1.

Some optimization hotspots benefit greatly from this change, especially
those without handwritten assembly. For instance, the main function in
vf_phase is now 1.6x faster (1.2x overall) on my machine.
2016-02-08 16:25:44 -08:00
Michael Niedermayer 8e46c7c1e7 avfilter/af_agate: fix memleak of out frame
Fixes CID1351358

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-08 22:51:32 +01:00
Timothy Gu 253209ac44 vf_blend: Add SSE2 optimization for multiply
5 times faster than C, 3 times overall.
2016-02-08 13:35:24 -08:00
Michael Niedermayer a25c5dbb5e ffmpeg_opt: Fix memleaks in "manually set programs" loop
Fixes CID1351356, CID1351357

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-08 15:57:24 +01:00
Paul B Mahol 35d9441f7b avfilter/vf_swaprect: add timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-02-08 15:43:09 +01:00
Michael Niedermayer 05924e1440 avfilter/af_anequalizer: Fix memleak of args
Fixes CID1351355

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-08 00:39:15 +01:00