OSDN Git Service
Rostislav Pehlivanov [Tue, 14 Feb 2017 06:14:15 +0000 (06:14 +0000)]
doc/encoders: add documentation for the Opus encoder
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Rostislav Pehlivanov [Sat, 11 Feb 2017 00:25:08 +0000 (00:25 +0000)]
opus: add a native Opus encoder
This marks the first time anyone has written an Opus encoder without
using any libopus code. The aim of the encoder is to prove how far
the format can go by writing the craziest encoder for it.
Right now the encoder's basic, it only supports CBR encoding, however
internally every single feature the CELT layer has is implemented
(except the pitch pre-filter which needs to work well with the rest of
whatever gets implemented). Psychoacoustic and rate control systems are
under development.
The encoder takes in frames of 120 samples and depending on the value of
opus_delay the plan is to use the extra buffered frames as lookahead.
Right now the encoder will pick the nearest largest legal frame size and
won't use the lookahead, but that'll change once there's a
psychoacoustic system.
Even though its a pretty basic encoder its already outperforming
any other native encoder FFmpeg has by a huge amount.
The PVQ search algorithm is faster and more accurate than libopus's
algorithm so the encoder's performance is close to that of libopus
at zero complexity (libopus has more SIMD).
The algorithm might be ported to libopus or other codecs using PVQ in
the future.
The encoder still has a few minor bugs, like desyncs at ultra low
bitrates (below 9kbps with 20ms frames).
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Rostislav Pehlivanov [Sat, 11 Feb 2017 00:25:07 +0000 (00:25 +0000)]
opus_celt: rename structures to better names and reorganize them
This is meant to be applied on top of my previous patch which
split PVQ into celt_pvq.c and made opus_celt.h
Essentially nothing has been changed other than renaming CeltFrame
to CeltBlock (CeltFrame had absolutely nothing at all to do with
a frame) and CeltContext to CeltFrame.
3 variables have been put in CeltFrame as they make more sense
there rather than being passed around as arguments.
The coefficients have been moved to the CeltBlock structure
(why the hell were they in CeltContext and not in CeltFrame??).
Now the encoder would be able to use the exact context the decoder
uses (plus a couple of extra fields in there).
FATE passes, no slowdowns, etc.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Rostislav Pehlivanov [Sat, 11 Feb 2017 00:25:06 +0000 (00:25 +0000)]
opus_celt: move quantization and band decoding to opus_pvq.c
A huge amount can be reused by the encoder, as the only thing
which needs to be done would be to add a 10 line celt_icwrsi,
a wrapper around it (celt_alg_quant) and templating the
ff_celt_decode_band to replace entropy decoding functions
with entropy encoding.
There is no performance loss but in fact a performance gain of
around 6% which is caused by the compiler being able to optimize
the decoding more efficiently.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Rostislav Pehlivanov [Wed, 1 Feb 2017 03:13:06 +0000 (03:13 +0000)]
imdct15: rename to mdct15 and add a forward transform
Handles strides (needed for Opus transients), does pre-reindexing and folding
without needing a copy.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Rostislav Pehlivanov [Wed, 1 Feb 2017 03:13:05 +0000 (03:13 +0000)]
opus_rc: add entropy encoding functions
Mostly used the RFC document, the decoding functions and
the reference encoder's implmenentation as a reference.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Michael Niedermayer [Mon, 13 Feb 2017 11:47:49 +0000 (12:47 +0100)]
avformat/http: Check for truncated buffers in http_connect()
Reported-by: SleepProgger <security@gnutp.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Lou Logan [Tue, 14 Feb 2017 00:26:43 +0000 (15:26 -0900)]
doc/ffmpeg: document trailing "?" in map option
This feature was added in
2375a85c36c4941042e6ee58a31d6560bde91d37.
Signed-off-by: Lou Logan <lou@lrcd.com>
Mark Thompson [Thu, 9 Feb 2017 00:23:36 +0000 (00:23 +0000)]
lavc: Add device context field to AVCodecContext
For use by codec implementations which can allocate frames internally.
Paul B Mahol [Mon, 13 Feb 2017 21:49:41 +0000 (22:49 +0100)]
avfilter/vf_lut: make it possible to clip pixel values that are out of valid range
Previous behavior was not useful at all as such pixels where all mapped to 0.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 13 Feb 2017 20:52:51 +0000 (21:52 +0100)]
avfilter/vf_lut: do not always explicitly clip pixels
Old behaviour was not useful at all. New behaviour only emulate
old behaviour with default options.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Lou Logan [Mon, 13 Feb 2017 21:23:03 +0000 (12:23 -0900)]
doc/protocols: add option usage description
Fixes ticket #6148.
Signed-off-by: Lou Logan <lou@lrcd.com>
Alex Converse [Thu, 9 Feb 2017 16:58:47 +0000 (08:58 -0800)]
aac_latm: Align inband PCE to the start of the payload
A strict reading of the spec seems to imply that it should be aligned to
the start of the element instance tag, but that would break all of the
samples with PCEs.
It seems like a well formed LATM stream should have its PCE in the ASC
rather than inband.
Fixes ticket 4544
Alex Converse [Thu, 9 Feb 2017 16:28:30 +0000 (08:28 -0800)]
aacsbr: Associate SBR data with AAC elements on init
Quiets some log spam on pure upsampling mode.
Fixes ticket 5163.
Alex Converse [Thu, 9 Feb 2017 16:57:33 +0000 (08:57 -0800)]
aac_latm: Copy whole AudioSpecificConfig when it is sized.
This preserves sync extensions.
Alex Converse [Thu, 9 Feb 2017 16:22:20 +0000 (08:22 -0800)]
aac_latm: Allow unaligned AudioSpecificConfig
Fixes ticket 4730
Timo Rothenpieler [Fri, 10 Feb 2017 14:00:21 +0000 (15:00 +0100)]
avcodec/nvenc: set frame buffer format for mapped frames
wm4 [Fri, 10 Feb 2017 11:17:24 +0000 (12:17 +0100)]
hwcontext_dxva2: support D3D9Ex
D3D9Ex uses different driver paths. This helps with "headless"
configurations when no user logs in. Plain D3D9 device creation will
fail if no user is logged in, while it works with D3D9Ex.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Merges Libav commit
c2f97f0508708.
wm4 [Thu, 2 Feb 2017 10:27:54 +0000 (11:27 +0100)]
AVFrame: add an opaque_ref field
This is an extended version of the AVFrame.opaque field, which can be
used to attach arbitrary user information to an AVFrame.
The usefulness of the opaque field is rather limited, because it can
store only up to 32 bits of information (or 64 bit on 64 bit systems).
It's not possible to set this field to a memory allocation, because
there is no way to deallocate it correctly.
The opaque_ref field circumvents this by letting the user set an
AVBuffer, which makes the user data refcounted.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Merges Libav commit
04f3bd349651.
Bela Bodecs [Sun, 12 Feb 2017 23:33:48 +0000 (07:33 +0800)]
avformat/hlsenc: fix stream level metadata handling
hls-encoder currenlty does not provide stream level metadata to mpegts
muxer. This patch fixes track #3848 bug.
Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
Josh de Kock [Sat, 11 Feb 2017 23:23:24 +0000 (23:23 +0000)]
lavc/libzvbi: remove deprecated API usage
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Josh de Kock <josh@itanimul.li>
Michael Niedermayer [Sun, 12 Feb 2017 19:40:47 +0000 (20:40 +0100)]
doc/muxers: Fix typo, causing warnings during build
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Jan Ekström [Fri, 10 Feb 2017 23:21:14 +0000 (01:21 +0200)]
movenc: add support for track names in ISML manifests
This enables having multiple tracks of the same type which would
be treated as different things by the media server (as opposed to
different bit rate versions of the same track). According to the
smooth streaming specification, just setting the systemLanguage
tag is not enough to note that a track with the same attributes
differs from another one.
Reviewed-by: Martin
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Carl Eugen Hoyos [Sat, 11 Feb 2017 15:53:34 +0000 (16:53 +0100)]
lavf/mpegts: Make a pointer cast explicit.
Silences an "assignment discards ‘const’ qualifier" warning.
Reviewed-by: Marton Balint
Paul B Mahol [Sun, 12 Feb 2017 12:26:28 +0000 (13:26 +0100)]
avcodec/iff: support for byterun1 ACBM compression
This is apparently same as no compression.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Sat, 11 Feb 2017 21:25:04 +0000 (22:25 +0100)]
doc/general: mention Newtek SpeedHQ decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 6 Feb 2017 08:17:29 +0000 (09:17 +0100)]
avcodec: add FM Screen Capture Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Sat, 11 Feb 2017 19:07:39 +0000 (20:07 +0100)]
avformat/flic: fix handling of EOF case
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Sat, 11 Feb 2017 18:56:42 +0000 (19:56 +0100)]
avcodec/flicvideo: add support for 24bit flic files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Sat, 11 Feb 2017 17:31:05 +0000 (18:31 +0100)]
avcodec/flicvideo: fix some indentation issues
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Carl Eugen Hoyos [Sat, 11 Feb 2017 17:53:18 +0000 (18:53 +0100)]
lavf/omadec: Fix packet duration for Atrac 3 lossless.
Carl Eugen Hoyos [Sat, 11 Feb 2017 15:38:56 +0000 (16:38 +0100)]
lavfi/minterpolate: Remove an unused variable.
Carl Eugen Hoyos [Sat, 11 Feb 2017 15:35:22 +0000 (16:35 +0100)]
lavc/atrac3: Constify a pointer declaration.
Silences an "assignment discards ‘const’ qualifier" warning.
Carl Eugen Hoyos [Sat, 11 Feb 2017 15:18:28 +0000 (16:18 +0100)]
lavf/rtpdec_mpeg4: Constify a function parameter.
Silences an "assignment discards ‘const’ qualifier" warning.
Carl Eugen Hoyos [Sat, 11 Feb 2017 12:17:20 +0000 (13:17 +0100)]
lavf/omadec: Remove an unsed variable.
Paul B Mahol [Wed, 25 Jan 2017 12:33:52 +0000 (13:33 +0100)]
avcodec: add ATRAC Advanced Lossless decoders
Only lossy part is decoded for now.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Steven Liu [Sat, 11 Feb 2017 04:32:31 +0000 (12:32 +0800)]
avformat/hlsenc: deprecate hls_wrap option
When user use the hls_wrap, there have many problem:
1. some platform refersh the old but usefull segment
2. CDN(Content Delivery Network) Deliver HLS not friendly
The hls_wrap is used to wrap segments for use little space,
now user can use hls_list_size and hls_flags delete_segments
instead it.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
James Almer [Fri, 10 Feb 2017 22:47:54 +0000 (19:47 -0300)]
fate: add WavPack muxer test
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
Mulvya [Fri, 10 Feb 2017 11:40:14 +0000 (17:10 +0530)]
doc: Add muxers/demuxers list option
Signed-off-by: Mulvya <mulvya@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
James Almer [Sat, 11 Feb 2017 00:03:24 +0000 (21:03 -0300)]
avformat/apetag: bump micro version
In case parsers care about the version that started writing
correct flags.
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Fri, 10 Feb 2017 19:01:37 +0000 (16:01 -0300)]
avformat/apetag: reorder some code to improve readability
This way it's clear the size field accounts for the footer length plus every
tag entry, but not the header.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Fri, 10 Feb 2017 04:24:27 +0000 (01:24 -0300)]
avformat/apetag: account for header size if present when returning the start position
The size field in the header/footer accounts for the entire APE tag
structure except the 32 bytes from header, for compatibility with
APEv1.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Fri, 10 Feb 2017 03:53:39 +0000 (00:53 -0300)]
avformat/apetag: fix flag value to signal footer presence
According to the spec[1], a value of 0 means the footer is present and a value
of 1 means it's absent, the exact opposite of header presence flag where 1
means present and 0 absent.
The reason for this is compatibility with APEv1 tags, where there's no header,
footer presence was mandatory for all files, and the flags field was a zeroed
reserved field.
[1] http://wiki.hydrogenaud.io/index.php?title=Ape_Tags_Flags
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
Paul B Mahol [Fri, 10 Feb 2017 16:02:56 +0000 (17:02 +0100)]
avcodec/qdmc: silence gcc 6.2.0 warning
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Carl Eugen Hoyos [Fri, 10 Feb 2017 11:40:43 +0000 (12:40 +0100)]
lavf/movenc: Remove two unused variables.
Carl Eugen Hoyos [Fri, 10 Feb 2017 11:34:36 +0000 (12:34 +0100)]
lavc/mjpegenc_common: Remove an unused variable.
Matt Wolenetz [Wed, 14 Dec 2016 23:27:49 +0000 (15:27 -0800)]
lavf/mov.c: Avoid heap allocation wraps in mov_read_{senc,saiz}()
Core of patch is from paul@paulmehta.com
Reference https://crbug.com/643952 (senc,saiz portions)
Signed-off-by: Matt Wolenetz <wolenetz@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Matt Wolenetz [Wed, 8 Feb 2017 23:40:46 +0000 (15:40 -0800)]
lavf/mov.c: Avoid OOB in mov_read_udta_string()
Core of patch is from paul@paulmehta.com
Reference https://crbug.com/643952 (udta_string portion)
Signed-off-by: Matt Wolenetz <wolenetz@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Thu, 9 Feb 2017 23:18:34 +0000 (00:18 +0100)]
avcodec/mjpegenc: Simplify by moving assert into ff_mjpeg_encode_huffman_close()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Thu, 9 Feb 2017 22:24:15 +0000 (23:24 +0100)]
avcodec/mjpegenc: Bypass the 2 pass encoding when optimal tables are not requested
This limits the bugs, speedloss and extra memory allocation to the case when
optimal tables are needed.
Fixes regressions with slice multi-threading
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Thu, 9 Feb 2017 22:07:11 +0000 (23:07 +0100)]
avcodec/mjpegenc: Revert some differences in ff_mjpeg_encode_mb() relative to pre optimal huffman
The changes are not needed anymore and the return code was never used
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Thu, 9 Feb 2017 22:03:57 +0000 (23:03 +0100)]
avcodec/mjpegenc_huffman: remove unneeded header include
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Thu, 9 Feb 2017 21:56:19 +0000 (22:56 +0100)]
avcodec/tests/mjpegenc_huffman: Remove static in main() table
Avoids false positives when greping for non constant statics
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Thu, 9 Feb 2017 21:10:43 +0000 (22:10 +0100)]
avcodec/mjpegenc: Drop i_tex misuse, set itex/header bits correctly, fix 2pass encoding
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Thu, 9 Feb 2017 20:11:51 +0000 (21:11 +0100)]
avcodec/mjpegenc: Remove non functional huffman reallocation and error handling
If this is wanted iam not against it but it must be designed to work with all cases
like slice threads, and a single growing buffer does not work very well with slices.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Rostislav Pehlivanov [Thu, 9 Feb 2017 03:08:50 +0000 (03:08 +0000)]
tests/mjpegenc_huffman: align static tables
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Rostislav Pehlivanov [Thu, 9 Feb 2017 03:01:58 +0000 (03:01 +0000)]
mjpegenc: use s->avctx as a context for av_log rather than NULL
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Rostislav Pehlivanov [Thu, 9 Feb 2017 02:59:22 +0000 (02:59 +0000)]
tests/mjpegenc_huffman: replace assert() with av_assert0()
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Rostislav Pehlivanov [Thu, 9 Feb 2017 02:56:13 +0000 (02:56 +0000)]
mjpegenc_common: add missing ff_ prefix to init_uni_ac_vlc
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Marton Balint [Sun, 5 Feb 2017 00:16:29 +0000 (01:16 +0100)]
ffplay: change keyboard volume control to logarithmic
The command line parameter remains linear.
Signed-off-by: Marton Balint <cus@passwd.hu>
Mark Thompson [Tue, 29 Nov 2016 20:38:29 +0000 (20:38 +0000)]
vaapi_encode: Add VP8 support
Fixes ticket #6116.
(cherry picked from commit
ca62236a89f47bd871eaf69d8d9e837c93c55a6c)
Mark Thompson [Tue, 29 Nov 2016 22:12:46 +0000 (22:12 +0000)]
vaapi_encode: Pass framerate parameters to driver
Only do this when building for a recent VAAPI version - initial
driver implementations were confused about the interpretation of the
framerate field, but hopefully this will be consistent everywhere
once 0.40.0 is released.
(cherry picked from commit
ff35aa8ca4069bf1543adeec4c28e51e4a012eee)
Mark Thompson [Sun, 29 Jan 2017 14:12:20 +0000 (14:12 +0000)]
vaapi_h264: Enable VBR mode
Default to using VBR when a target bitrate is set, unless the max rate
is also set and matches the target. Changes to the Intel driver mean
that min_qp is also respected in this case, so set a codec default to
unset the value rather than using the current default inherited from
the MPEG-4 part 2 encoder.
(cherry picked from commit
eddfb57210298a0a94472794485400a3a6c76196)
Mark Thompson [Sun, 29 Jan 2017 14:11:03 +0000 (14:11 +0000)]
vaapi_encode: Support VBR mode
This includes a backward-compatibility hack to choose CBR anyway on
old drivers which have no CBR support, so that existing programs will
continue to work their options now map to VBR.
(cherry picked from commit
f033ba470fbab1ff6838666d4d86411effa97b27)
Mark Thompson [Mon, 9 Jan 2017 19:17:37 +0000 (19:17 +0000)]
vaapi_encode: Add MPEG-2 support
(cherry picked from commit
ca6ae3b77a7e6600e517723b90e57527a47809de)
Mark Thompson [Wed, 4 Jan 2017 23:05:10 +0000 (23:05 +0000)]
vaapi_h264: Scale log2_max_pic_order_cnt_lsb with max_b_frames
Before this change, it was possible to overflow pic_order_cnt_lsb and
generate a stream with invalid POC numbering. This makes sure that
the field is large enough that a single IDR B* P sequence uses fewer
than half the available POC lsb values.
(cherry picked from commit
89725a8512721fffd190021ded2d3f5b42e20e2a)
Mark Thompson [Mon, 12 Dec 2016 21:25:28 +0000 (21:25 +0000)]
vaapi_encode: Support forcing IDR frames via AVFrame.pict_type
(cherry picked from commit
a3c3a5eac20a51d402c332cdf5220fff40a7943f)
Mark Thompson [Wed, 4 Jan 2017 23:17:23 +0000 (23:17 +0000)]
vaapi_encode: Fix GOP sizing
This change makes the configured GOP size be respected exactly -
previously the value could be exceeded slightly due to flaws in the
frame type selection logic.
(cherry picked from commit
37fab0661a760b2a9d727939d72e629acee1a6ef)
Mark Thompson [Tue, 29 Nov 2016 22:13:58 +0000 (22:13 +0000)]
vaapi_h265: Fix CFR mode with framerate set in AVCodecContext
Same issue as
17a0f9481cf07af0feb3838ca315b970117e8000.
(cherry picked from commit
7d81698b89172d2dcf1b78d4b42ba86262360559)
Mark Thompson [Fri, 30 Sep 2016 10:48:43 +0000 (11:48 +0100)]
vaapi_h265: Add main 10 encode support
(cherry picked from commit
5a5df90d9c05d86d9b0564b8b40b6d64a324df5e)
(cherry picked from commit
d08e02d929ff8be5f56bb1da0e439bf1ae557552)
Michael Niedermayer [Wed, 8 Feb 2017 16:55:41 +0000 (17:55 +0100)]
avcodec/h264_slice: Clear ref_counts on redundant slices
Fixes reading freed memory
Fixes: 568/clusterfuzz-testcase-
6107186067406848
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Ricardo Constantino [Wed, 8 Feb 2017 15:53:20 +0000 (15:53 +0000)]
doc/encoders: fix broken build with
884506dfe2e
Jerry Jiang [Thu, 2 Feb 2017 07:23:04 +0000 (23:23 -0800)]
Implement optimal huffman encoding for (M)JPEG.
> seems to break
> make fate-vsynth1-mjpeg-444
Fixed.
Matt Wolenetz [Wed, 14 Dec 2016 23:26:19 +0000 (15:26 -0800)]
lavf/mov.c: Avoid heap allocation wrap in mov_read_uuid
Core of patch is from paul@paulmehta.com
Reference https://crbug.com/643951
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Check value reduced as the code does not support values beyond INT_MAX
Also the check is moved to a more common place and before integer truncation
Matt Wolenetz [Wed, 14 Dec 2016 23:24:42 +0000 (15:24 -0800)]
lavf/mov.c: Avoid heap allocation wrap in mov_read_hdlr
Core of patch is from paul@paulmehta.com
Reference https://crbug.com/643950
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Check value reduced as the code does not support larger lengths
Rl [Sun, 29 Jan 2017 17:28:25 +0000 (18:28 +0100)]
libavcodec/cinepak.c: fix a wrong (inverted) misleading comment
Make the comment message understandable and correct.
Derek Buitenhuis [Tue, 7 Feb 2017 16:36:38 +0000 (16:36 +0000)]
avcodec: Mark some codecs with threadsafe init as such
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Maksym Veremeyenko [Mon, 6 Feb 2017 15:03:17 +0000 (17:03 +0200)]
avfilter/vf_scale: Fix chroma positioning for 4:2:0 pixel format
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Tue, 7 Feb 2017 14:49:09 +0000 (15:49 +0100)]
avcodec/pictordec: Fix logic error
Fixes: 559/clusterfuzz-testcase-
6424225917173760
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Petri Hintukainen [Mon, 6 Feb 2017 07:41:03 +0000 (09:41 +0200)]
matroska: demux BluRay text subtitles
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Paul B Mahol [Tue, 7 Feb 2017 09:09:18 +0000 (10:09 +0100)]
doc/filters: extend midequalizer description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Aman Gupta [Tue, 7 Feb 2017 03:58:43 +0000 (11:58 +0800)]
avformat/hlsenc: add hls_flag option to write segments to temporary file until complete
Adds a `-hls_flags +temp_file` which will write segment data to
filename.tmp, and then rename to filename when the segment is complete.
This patch is similar in spirit to one used in Plex's ffmpeg fork, and
allows a transcoding webserver to ensure incomplete segment files are
never served up accidentally.
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Reviewed-by: Bodecs Bela <bodecsb@vivanet.hu>
Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
Hendrik Leppkes [Mon, 6 Feb 2017 18:45:54 +0000 (19:45 +0100)]
configure: use dashes instead of slashes in lib.exe invocation
This avoids issues with wrong parameter translation by msys on some systems,
and the Windows SDK tools accept both forms equally.
Michael Niedermayer [Mon, 6 Feb 2017 10:17:10 +0000 (11:17 +0100)]
avcodec/movtextdec: Fix decode_styl() cleanup
Fixes: null pointer dereference
Fixes: 555/clusterfuzz-testcase-
5986646595993600
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Mon, 6 Feb 2017 00:53:56 +0000 (01:53 +0100)]
avfilter/vf_midequalizer: Remove duplicate include
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Chris Cunningham [Fri, 3 Feb 2017 22:42:44 +0000 (14:42 -0800)]
lavf/matroskadec: fix is_keyframe for early Blocks
Blocks are marked as key frames whenever the "reference" field is
zero. This breaks for non-keyframe Blocks with a reference timestamp
of zero.
The likelihood of reference timestamp being zero is increased by a
longstanding bug in muxing that encodes reference timestamp as the
absolute time of the referenced frame (rather than relative to the
current Block timestamp, as described in MKV spec).
Now using INT64_MIN to denote "no reference".
Reported to chromium at http://crbug.com/497889 (contains sample)
Michael Niedermayer [Sun, 5 Feb 2017 23:00:56 +0000 (00:00 +0100)]
ffmpeg: Remove redundant null check
Fixes CID1396245
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Sun, 5 Feb 2017 14:09:52 +0000 (15:09 +0100)]
avcodec/pthread_frame: Check av_packet_ref() for failure
Fixes CID1396242
Marton Balint [Sun, 5 Feb 2017 01:25:04 +0000 (02:25 +0100)]
avfilter/af_pan: fix null pointer dereference on empty token
Fixes Coverity CID
1396254.
Signed-off-by: Marton Balint <cus@passwd.hu>
Mark Thompson [Mon, 9 Jan 2017 00:59:50 +0000 (00:59 +0000)]
vf_scale_vaapi: Add missing return value checks
Fixes CID
1374119.
Mark Thompson [Sun, 22 Jan 2017 18:25:53 +0000 (18:25 +0000)]
ffmpeg_vaapi: Always set hwaccel_ctx, so it gets properly cleaned up on error
Fixes CID
1398954.
Mark Thompson [Sun, 5 Feb 2017 14:58:06 +0000 (14:58 +0000)]
Revert "avutil/hwcontext_vaapi: fix SEGV in vaTerminate when vaInitialize fails"
The original code is correctly following the API - vaTerminate() must
be called to free the resources of a VADisplay after it is created by
any of the vaGetDisplay*() calls; it is not necessary to have
successfully called vaInitialize() on it. The segfaults which
prompted this change must therefore be bugs in libva or the driver it
loads.
This reverts commit
3606602f1137552ea54f2c259eb140c1e3c026d4.
Mark Thompson [Sun, 22 Jan 2017 18:48:51 +0000 (18:48 +0000)]
ffmpeg_vaapi: Unreference global device before setting it
This currently leaks if multiple device options are specified on the
command line.
Marton Balint [Wed, 25 Jan 2017 00:44:31 +0000 (01:44 +0100)]
avfilter/ebur128: fix relative threshold calculation for multiple contexts
This reworks the code a bit and also disallows NULL contexts.
Fixes Coverity CID
1396273,
1396279.
Signed-off-by: Marton Balint <cus@passwd.hu>
Marton Balint [Wed, 25 Jan 2017 00:06:42 +0000 (01:06 +0100)]
avfilter/ebur128: do not allow null ebur128 context in ff_ebur128_relative_threshold
The user should supply a proper context.
Fixes Coverity CID
1396246.
Signed-off-by: Marton Balint <cus@passwd.hu>
Marton Balint [Fri, 27 Jan 2017 00:56:30 +0000 (01:56 +0100)]
doc/muxers: remove confusing example for segment muxer option clocktime_wrap_duration
Detecting a leap second depends on a lot of things, segment time, segment
offset, system leap second implementation, the removed part is a huge
simplification which can be misleading, so it is best to remove it.
Signed-off-by: Marton Balint <cus@passwd.hu>
Marton Balint [Thu, 26 Jan 2017 02:04:57 +0000 (03:04 +0100)]
avformat/segment: remove last_cut check when detecting a new segment
Not starting a new segment if the elapsed microsecs since the start of the day
equals the the elapsed microsecs since the start of the day at the time of the
last cut seems plain wrong to me, Deti do you remember the original reason
behind this check?
Signed-off-by: Marton Balint <cus@passwd.hu>
Marton Balint [Fri, 3 Feb 2017 00:31:30 +0000 (01:31 +0100)]
ffplay: fix borderless mode on Windows
Signed-off-by: Marton Balint <cus@passwd.hu>
Paul B Mahol [Thu, 2 Feb 2017 12:10:37 +0000 (13:10 +0100)]
avfilter: add midequalizer filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Michael Niedermayer [Sat, 4 Feb 2017 11:24:14 +0000 (12:24 +0100)]
avcodec/pngdec: Check trns more completely
Fixes out of array access
Fixes: 546/clusterfuzz-testcase-
4809433909559296
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>