summaryrefslogtreecommitdiffstats
path: root/libavcodec
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'e280fe13291e9c712a5f4aa13b5263f3e8afed45'Derek Buitenhuis2016-02-163-11/+21
|\ | | | | | | | | | | | | * commit 'e280fe13291e9c712a5f4aa13b5263f3e8afed45': v210: Use separate sample_factors Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * v210: Use separate sample_factorsLuca Barbato2016-02-013-9/+20
| | | | | | | | | | | | | | The 10bit and the 8bit functions can now be implemented to process a different amount of samples. And while at it simplify a little the code.
| * v210: Add avx2 version of the 10-bit line encoderJames Darnley2016-02-013-9/+32
| | | | | | | | | | | | Around 25% faster than the ssse3 version. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * v210: Add avx2 version of the 8-bit line encoderJames Darnley2016-02-014-23/+47
| | | | | | | | | | | | | | Around 35% faster than the avx version. Signed-off-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * flacenc: Restore defaults and range for {min, max}_prediction_orderDerek Buitenhuis2016-02-011-2/+2
| | | | | | | | | | | | This was broken in 243df1351d2d928caa084a5704ed783f0b83f072. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * libx264: Make sure to preserve default option valuesVittorio Giovara2016-02-011-11/+12
| | | | | | | | | | | | | | | | The private options chromaoffset, sc_threshold, and noise_reduction were set to 0 rather than -1, and were always initializing values in libx264 rather than letting the library use its default. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'eafb05fcf37cd19a910ca3b17824384f9006bc0a'Derek Buitenhuis2016-02-161-0/+6
|\ \ | |/ | | | | | | | | | | * commit 'eafb05fcf37cd19a910ca3b17824384f9006bc0a': v210: x86: Add the correct guards around the asm code Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * v210: x86: Add the correct guards around the asm codeLuca Barbato2016-01-261-0/+6
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '9cac1b4b4f1532fb2aeef54799285360656be5eb'Derek Buitenhuis2016-02-162-2/+10
|\ \ | |/ | | | | | | | | | | * commit '9cac1b4b4f1532fb2aeef54799285360656be5eb': qsvenc: Add private option to replace coder_type Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * qsvenc: Add private option to replace coder_typeVittorio Giovara2016-01-252-2/+10
| | | | | | | | Missing from be00ec832c519427cd92218abac77dafdc1d5487.
| * qsvenc: fix a typoAnton Khirnov2016-01-231-1/+1
| | | | | | | | Introduced in 0e6c8532215790bbe560a9eea4f3cc82bb55cf92.
| * x86inc: Add debug symbols indicating sizes of compiled functionsGeza Lore2016-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | Some debuggers/profilers use this metadata to determine which function a given instruction is in; without it they get can confused by local labels (if you haven't stripped those). On the other hand, some tools are still confused even with this metadata. e.g. this fixes `gdb`, but not `perf`. Currently only implemented for ELF. Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * libavcodec: Add missing AVClass pointersMartin Storsjö2016-01-223-0/+3
| | | | | | | | | | | | This fixes crashes since 243df1351. Signed-off-by: Martin Storsjö <martin@martin.st>
* | lavc/rawdec: Retrieve nut palette from packetsMats Peterson2016-02-161-1/+7
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | vc2enc: print the average quantization index at the endRostislav Pehlivanov2016-02-151-0/+2
| | | | | | | | | | | | | | | | Similar to how the AAC encoder does it. 0 means the video's been compressed losslessly/almost losslessly thoughout. Generally, the higher, the worse. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | vc2enc: fix use of uninitialized variables in the rate control systemRostislav Pehlivanov2016-02-151-5/+5
| | | | | | | | | | | | | | Fixes: CID1352550 Fixes: CID1352549 Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | hevc: support Main10 decoding through dxva2Hendrik Leppkes2016-02-152-2/+13
| |
* | x86: use the new helper macros where usefulJames Almer2016-02-149-9/+18
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec/h264_cabac: Check decode_cabac_mb_mvd() for failureMichael Niedermayer2016-02-141-2/+6
| | | | | | | | | | | | | | | | | | Fixes harmless integer overflow Fixes Ticket5150 No speedloss measured, actually its slightly faster, but please benchmark & double check this Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | x86/vc1dsp: Port vc1_*_hor_16b_shift2 to NASM formatTimothy Gu2016-02-142-53/+98
| | | | | | | | Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
* | libavcodec/dnxhd_parser: add parser and probe support raw 444 and dnxhr formatsMark Reid2016-02-144-13/+32
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec: Fix a typo.Carl Eugen Hoyos2016-02-141-1/+1
| |
* | avcodec: only warn about hwaccel with frame threadsAndreas Cadhalpun2016-02-141-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | VLC uses hwaccel with frame threads and it works fine, but returning an error here made it fail. This regression was introduced in commit 31741ae. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Warning message text by nevcairiel Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavc/hevc Parse SEI_TYPE_MASTERING_DISPLAY_INFO and propagate content into ↵Neil Birkbeck2016-02-143-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | the AVMasteringDisplayMetadata side data. Add support for parsing SEI_TYPE_MASTERING_DISPLAY_INFO and propagate contents into the AVMasteringDisplayMetadata side data. Primaries are ordered in RGB order and the values are converted to rationals ([0,1] for CEI 1931 Chroma coords, and cd/m^2 for luma). Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | vp9: only call ff_get_format on stream format changes.Ronald S. Bultje2016-02-131-25/+35
| | | | | | | | | | | | In practice, this means we don't call it N times for N-threaded decoding. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | aacenc: temporarily disable Mid/Side coding with multichannel filesRostislav Pehlivanov2016-02-131-0/+4
| | | | | | | | | | | | | | | | Results in dropping out in channels, usually on EIGHT_SHORT windows. Will be reenabled once the cause has been investigated and a fix has been made. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | avcodec/h264: Fix memleak of a53_captionMichael Niedermayer2016-02-131-0/+3
| | | | | | | | | | | | Fixes Ticket5111 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/rawdec: Print stride and packet size at debug levelMats Peterson2016-02-131-0/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/rawdec: Fix nut pal8 testMats Peterson2016-02-131-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/rawdec: Initialize default mono palette only for ↵Mats Peterson2016-02-131-1/+1
| | | | | | | | | | | | bits_per_coded_sample == 1 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | aacenc: make a better estimate for the audio bitrate if not providedRostislav Pehlivanov2016-02-121-15/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Takes into account whether there's pairing and if there's an LFE channel. An SCE has more bits than CPE/2 since IS and M/S save quite a lot of bits when channels are paired. And most of the SCEs we have are in surround layouts which map it to the center channel, which usually carries all of the dialogue and compression artifacts there are easily audiable. Also refactors the init function a little bit and labels some parts of it. Fixes bug #5233 Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | avcodec/vc2enc_dwt: add missing headerJames Almer2016-02-121-0/+1
| | | | | | | | | | | | Fixes make checkheaders Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec/h264_slice: Fix dequant table init with field picturesMichael Niedermayer2016-02-121-1/+1
| | | | | | | | | | | | Fixes regression of Ticket4389 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/h264_slice: assert relation between current_slice ans slice_ctxMichael Niedermayer2016-02-121-0/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/h264_slice: remove duplicate unconditional picture_structure setting ↵Michael Niedermayer2016-02-121-1/+0
| | | | | | | | | | | | code Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/cfhd: Fix errors with valid files.Kieran Kunhya2016-02-121-3/+3
| |
* | avcodec/cfhd: Check the number of tag/value pairsMichael Niedermayer2016-02-121-0/+5
| | | | | | | | | | | | | | | | Fixes potentially long loop Fixes: CID1351382/11 Reviewed-by: Kieran Kunhya <kieran@kunhya.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | vc2enc: use project-standard inclusion guardsRostislav Pehlivanov2016-02-101-3/+3
| | | | | | | | | | | | | | 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>
* | avcodec: add a native SMPTE VC-2 HQ encoderRostislav Pehlivanov2016-02-106-1/+1482
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-101-1/+1
| | | | | | | | | | | | | | 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>
* | nut: Add PAL8 supportMichael Niedermayer2016-02-091-0/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/dirac: Fix memleak of dsh on errorMichael Niedermayer2016-02-091-2/+4
| | | | | | | | | | | | Fixes CID1351360 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | diractab: Fix header guard nameTimothy Gu2016-02-071-3/+3
| |
* | huffyuvencdsp: Undefine "i" macro after each useTimothy Gu2016-02-071-0/+3
| |
* | libvpxenc: Allow setting tune parameterTimothy Gu2016-02-071-0/+8
| |
* | diracdec: Pass DWTPlane to dwt initTimothy Gu2016-02-073-13/+11
| |
* | diracdec: Split DWTPlane struct from PlaneTimothy Gu2016-02-072-26/+30
| |
* | dirac_dwt: Rename init2 to initTimothy Gu2016-02-074-16/+16
| | | | | | | | The functions are all private.
* | dirac_dwt: Don't pass information in context as argumentsTimothy Gu2016-02-072-19/+19
| |
* | avcodec/utils: Add AV_PIX_FMT_GBRAP16?E to avcodec_align_dimensions2()Michael Niedermayer2016-02-071-0/+2
| | | | | | | | | | Found-by: kierank Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
OpenPOWER on IntegriCloud