1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-12 19:18:44 +02:00
Commit Graph

78469 Commits

Author SHA1 Message Date
Michael Niedermayer
4c920ce777 avutil/imgutils: only align the palette in av_image_copy_to_buffer() if there is enough space
This allows disabling the alignment by using a compact buffer

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-13 19:49:34 +01:00
Ronald S. Bultje
5307adadeb vp9: only call ff_get_format on stream format changes.
In practice, this means we don't call it N times for N-threaded decoding.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-13 19:49:34 +01:00
Timothy Gu
94a1c7491b fate/source: Do not use GNU extensions in sed 2016-02-13 07:59:00 -08:00
Michael Niedermayer
a9b81bfd1c avutil/avstring: add a "ALL" entry and the possibility to negate matches to av_match_name()
This will extend the whitelist features to allow blacklisting individual protocols and to
explicitly force everything to be enabled.

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-13 16:40:11 +01:00
Michael Niedermayer
d18df8beb0 avutil/imgutils: do not ignore align parameter for pseudo-pal in av_image_get_buffer_size()
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-13 16:22:45 +01:00
Michael Niedermayer
dab493c89e doc/APIchanges: fill in more missing things
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-13 16:20:59 +01:00
Michael Niedermayer
50a960673d doc/APIchanges: Fill in some missing values
also fix some inconsistencies

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-13 16:16:29 +01:00
Rostislav Pehlivanov
0fe0e213c0 aacenc: temporarily disable Mid/Side coding with multichannel files
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>
2016-02-13 12:23:22 +00:00
Michael Niedermayer
588e2e3387 avcodec/h264: Fix memleak of a53_caption
Fixes Ticket5111

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-13 02:06:22 +01:00
Mats Peterson
4e5db87174 avcodec/rawdec: Print stride and packet size at debug level
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-13 01:22:38 +01:00
Mats Peterson
efcea77996 avcodec/rawdec: Fix nut pal8 test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-13 01:21:12 +01:00
Mats Peterson
bbb45773b0 avcodec/rawdec: Initialize default mono palette only for bits_per_coded_sample == 1
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-13 00:58:29 +01:00
Paul B Mahol
f80b4750b9 doc/filters: add one more blend example
This is faster than geq example below.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-02-12 22:21:07 +01:00
Lou Logan
0b0121d7f2 doc/filters: add geq diagonal split screen example
Also remove similar but confusing and less useful example.

Based on geq expression by Patrick Race <raceink at gmail>.

Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-12 09:58:11 -09:00
Rostislav Pehlivanov
f0a8212436 aacenc: make a better estimate for the audio bitrate if not provided
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>
2016-02-12 18:42:24 +00:00
Rostislav Pehlivanov
d119268ed2 doc/encoders: fix typos in the vc2 encoder documentation
Thanks to RiCON for pointing these out.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-02-12 18:42:24 +00:00
Derek Buitenhuis
5da6bed1e0 MAINTAINERS: Remove myself as libutvideo maintainer
I don't want to touch it, ever again.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-12 17:57:34 +00:00
Rostislav Pehlivanov
0384e3d5df doc/encoders: add documentation for the VC-2 encoder
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-02-12 16:50:07 +00:00
Paul B Mahol
13ea7c9780 avfilter/avf_showspectrum: improve pts handling
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-02-12 17:14:30 +01:00
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