A failure in segment_end() or segment_start() would lead to freeing
a dangling pointer and in general further calls to seg_write_packet()
or to seg_write_trailer() would have the same faulty behaviour.
CC: libav-stable@libav.org
Reported-By: luodalongde@gmail.com
* commit 'ed97963bdbf3bb17fca4f9ea0aa1a97722dec907':
ulti: invert the order of parameters of ulti_decode_frame()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '4438c256387a5845e5cdc5c14c43f4047b68301b':
vf_interlace: remove the warning tag in the message
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '696141e898193311c994b399a8dc60713709092f':
vf_interlace: use image width rather than linesize
Conflicts:
libavfilter/vf_interlace.c
See: f043965cd5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2cef68da69a17ed09c313ba3c3850ec1cc0a80e0':
vda: error out if decoded CVPixelBuffer is empty
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ca09effb01e126b0ac74ff3de70a475423ddee82':
ffv1: Drop unnecessary casts and const qualifiers to match function signatures
Conflicts:
libavcodec/ffv1dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Compared to existing, common opensource H264 encoders, this can be
useful since it has got a different license (BSD instead of GPL).
Performance- and qualitywise it is comparable to x264 in ultrafast
mode.
Hooking it up as an encoder in libavcodec also simplifies comparing
it against other common encoders.
This requires OpenH264 1.3 or newer. Since the OpenH264 API and ABI
changes frequently, only releases are supported.
To take advantage of the OpenH264 patent offer, the OpenH264 library
must not be redistributed, but downloaded at runtime at the end-user's
system.
Signed-off-by: Martin Storsjö <martin@martin.st>
This is the order that the caller uses in the rest of the file.
Variables are modified to reflect the order above too and their
initialization is merged with their declarationt. No behavioral
change.
Bug-Id: CID 732286
I think this turned out pretty terrible. There's no good way to add new
custom tags that write to AVFormatContext->metadata.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The previous code assumed if an atom was marked with a 64-bit
size extension, it actually had that data available. The new
code verfies there's enough data in the atom for this to be
done.
Failure to verify causes total_size > atom.size which will
result in negative size calculations later on.
Found-by: Paul Mehta <paul@paulmehta.com>
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Under abnormal conditions the item_count may exceed the max
allocation size on 32-bit systems, this causes the allocated
size to overflow and become too small for the given count.
Additionally, if av_reallocp() fails its allocation, the
fragment_index_count is not correctly decremented.
Ensuring further havoc may be wrought, the error code for
read_tfra() is not checked upon return.
Found-by: Paul Mehta <paul@paulmehta.com>
positive return code and use of _array functions by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This should allow us to insert idet before scale and let scale have interl=-1 as default in that case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ID3v1 fields have a fixed size, and they are padded either with zeros,
or with spaces. Handle the latter case, instead of putting strings with
trailing spaces into the AVDictionary.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
x86inc can translate r*m into a register or stack on its own
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>