summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* avfilter/vf_nnedi: Simplify away some trivial mem*()Michael Niedermayer2016-02-11
| | | | | Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* fate: Update fate-sub2video for 5486d7fa91f7233e6d9aa9ba8de7fe9287402637Michael Niedermayer2016-02-11
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* MAINTAINERS: add my name to the parts I'm maintainingRostislav Pehlivanov2016-02-11
| | | | | | Not updated since the AAC Encoder. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* x86/vf_blend: Add SSE2 optimization for screenTimothy Gu2016-02-10
| | | | | | 10x faster than C. Reviewed-by: Paul B Mahol <onemda@gmail.com>
* x86/vf_blend: Move multiplying to a macroTimothy Gu2016-02-10
| | | | Reviewed-by: Paul B Mahol <onemda@gmail.com>
* avfilter/dualinput: use pts provided by framesyncPaul B Mahol2016-02-10
| | | | | | This fixes stalled output pts when main stream ends. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/hlsenc: Fix filename and optionsMichael Niedermayer2016-02-10
| | | | | | Regression since bc9a5965c815cf7fd998d8ce14a18b8e861dd9ce Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* vc2enc: use project-standard inclusion guardsRostislav Pehlivanov2016-02-10
| | | | | | | 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>
* avformat: add vc2 as an allowed rawenc Dirac extensionRostislav Pehlivanov2016-02-10
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avcodec: add a native SMPTE VC-2 HQ encoderRostislav Pehlivanov2016-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* options_table: update maximum bitrate limitRostislav Pehlivanov2016-02-10
| | | | | | | 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>
* avformat/segment: Fix header_filename handlingMichael Niedermayer2016-02-10
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* sws/output: fix ordered dither threshold for mono outputMichael Niedermayer2016-02-10
| | | | | | This makes sure that white stays white and black black Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '9f61abc8111c7c43f49ca012e957a108b9cc7610'Derek Buitenhuis2016-02-10
|\ | | | | | | | | | | | | | | | | This also deprecates our old duplicated callbacks. * commit '9f61abc8111c7c43f49ca012e957a108b9cc7610': lavf: allow custom IO for all files Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavf: allow custom IO for all filesAnton Khirnov2016-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some (de)muxers open additional files beyond the main IO context. Currently, they call avio_open() directly, which prevents the caller from using custom IO for such streams. This commit adds callbacks to AVFormatContext that default to avio_open2()/avio_close(), but can be overridden by the caller. All muxers and demuxers using AVIO are switched to using those callbacks instead of calling avio_open()/avio_close() directly. (de)muxers that use the URLProtocol layer directly instead of AVIO remain unconverted for now. This should be fixed in later commits.
* | ffmpeg_filter: Factor get_compliance_unofficial_pix_fmts() outMichael Niedermayer2016-02-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | ffmpeg_filter: Add missing pixel formats to strict_std_compliance case for ljpegMichael Niedermayer2016-02-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | ffmpeg_filter: Add YUV 444 to strict_std_compliance case for mjpegMichael Niedermayer2016-02-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/f_metadata: fix few logic errorsPaul B Mahol2016-02-10
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | tests: Add test for proper header guardTimothy Gu2016-02-10
| | | | | | | | Reviewed-by: Clément Bœsch <u@pkh.me>
* | avfilter: add metadata filtersPaul B Mahol2016-02-10
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avfilter/vf_nnedi: Fix memleakMichael Niedermayer2016-02-10
| | | | | | | | | | | | | | Fixes CID1351359 Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | nut: Add PAL8 supportMichael Niedermayer2016-02-09
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/dirac: Fix memleak of dsh on errorMichael Niedermayer2016-02-09
| | | | | | | | | | | | Fixes CID1351360 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavf/mov: Extend extracting XMP in mov files using UUID BoxThierry Foucu2016-02-09
| | | | | | | | | | | | | | | | | | 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>
* | configure: Enable GCC vectorization on ≥4.9 on x86Timothy Gu2016-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | avfilter/af_agate: fix memleak of out frameMichael Niedermayer2016-02-08
| | | | | | | | | | | | Fixes CID1351358 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | vf_blend: Add SSE2 optimization for multiplyTimothy Gu2016-02-08
| | | | | | | | 5 times faster than C, 3 times overall.
* | ffmpeg_opt: Fix memleaks in "manually set programs" loopMichael Niedermayer2016-02-08
| | | | | | | | | | | | Fixes CID1351356, CID1351357 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/vf_swaprect: add timeline supportPaul B Mahol2016-02-08
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avfilter/af_anequalizer: Fix memleak of argsMichael Niedermayer2016-02-08
| | | | | | | | | | | | Fixes CID1351355 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/vaf_spectrumsynth: Move "break" upMichael Niedermayer2016-02-07
| | | | | | | | | | | | | | Fixes CID1351347 Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/af_aformat: remove deprecated syntax from options descriptionPaul B Mahol2016-02-07
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | x86/cpu: set avxslow cpuflag on btver2 CPUsJames Almer2016-02-07
| | | | | | | | | | | | | | They are also slow when using 256 bit wide registers Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | avfilter/vf_blend: add multiply128 modePaul B Mahol2016-02-07
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | diractab: Fix header guard nameTimothy Gu2016-02-07
| |
* | huffyuvencdsp: Undefine "i" macro after each useTimothy Gu2016-02-07
| |
* | libvpxenc: Allow setting tune parameterTimothy Gu2016-02-07
| |
* | diracdec: Pass DWTPlane to dwt initTimothy Gu2016-02-07
| |
* | diracdec: Split DWTPlane struct from PlaneTimothy Gu2016-02-07
| |
* | dirac_dwt: Rename init2 to initTimothy Gu2016-02-07
| | | | | | | | The functions are all private.
* | dirac_dwt: Don't pass information in context as argumentsTimothy Gu2016-02-07
| |
* | lavfi/fieldmatch: fix fields copy when plane height is oddClément Bœsch2016-02-07
| | | | | | | | Fixes Ticket 5187
* | avfilter: add swaprect filterPaul B Mahol2016-02-07
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/utils: Add AV_PIX_FMT_GBRAP16?E to avcodec_align_dimensions2()Michael Niedermayer2016-02-07
| | | | | | | | | | Found-by: kierank Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mp3enc: Assert that the header we assembled is validMichael Niedermayer2016-02-07
| | | | | | | | | | | | | | | | | | | | Silences: CID1351343 The header is calculated by the code above the changed hunk, it is thus asserted that the header is always correct. Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter: add streamselect and astreamselect filterPaul B Mahol2016-02-06
| | | | | | | | | | Signed-off-by: Clément Bœsch <u@pkh.me> Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | build: use intermediate lcov coverage fileAndreas Cadhalpun2016-02-06
| | | | | | | | | | | | | | Otherwise the 'lcov -q --remove' run fails with the following error: lcov: ERROR: cannot write to coverage.info! Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | build: fix lcov with src linkAndreas Cadhalpun2016-02-06
| | | | | | | | | | | | | | When out-of-tree builds now use a relative path, the '-b' option of lcov is not needed, so just pass the current directory to it in this case. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | configure: fall back to using full path if src is a directoryAndreas Cadhalpun2016-02-06
| | | | | | | | | | | | | | Or when building in-tree. Also don't try to remove src on distclean in these cases. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>