Fixes playback of some AAC streams, which are otherwise mangled by the
parser, and stss is typically only valid for video anyway.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The volatile is not required here, and prevents a miscompilation with GCC
4.8.1 when building on x86 with --cpu=i686
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
When using AV_NOPTS_VALUE (which expands to INT64_C(0x8000000000000000))
as union initializer for a double field, the c99 converter needs to
interpret this constant when filling the union initializer, and it is
interpreted as a positive value.
When converting AV_NOPTS_VALUE to a double, MSVC 2010 ends up with
the same positive value as the c99 converter, while MSVC 2012 gets
a negative value.
This results in an infite loop in various FATE tests on MSVC 2012.
Signed-off-by: Martin Storsjö <martin@martin.st>
Previously it was partly only added to central functions called
internally, however if GCC would inline these into the public fuction, the
alignment attribute would not take effect.
Instead, add it to all public entry points to avoid these problems.
Signed-off-by: Martin Storsjö <martin@martin.st>
Previously it was partly only added to central functions called
internally, however if GCC would inline these into the public fuction, the
alignment attribute would not take effect.
Instead, add it to all public entry points to avoid these problems.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avctx->coded_frame is not used for decoders anymore,
and av_frame_alloc does all the frame initialization required.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes scaling in MSVC/ICL, where inline asm is not present, but the
YASM scaling code is.
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The volatile is not required here, and prevents a miscompilation with GCC
4.8.1 when building on x86 with --cpu=i686
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Otherwise the created buffer can be smaller than buf_size, which results
in buffer overreads if the original image has extra padding on every line.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
first_pic_header_flag needs to be set to allow the parsing code to change
some stream parameters, and not error out.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Both strtoll and atoll have different names on MSVC, and strtoll has a
compatibility layer in place for this case.
Fixes compilation on MSVC.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The functions which actually drive the filter graph by pushing
frames through it need to ensure an aligned stack for SIMD functions.
This fixes a crash in YADIF filter when using a mingw build in a MSVC
application.
Signed-off-by: Martin Storsjö <martin@martin.st>
If no decoding error was detected, but still no audio was decoded, the
frame needs to be free'ed, or it will leak.
Fixes part of ticket #2095
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Some implementations of strftime do not like invalid values for
month/day, so ensure it doesn't happen.
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
MSVC lacks support for %T and %F, but the standard specifies them
only as shorthands to the long variants.
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This ensures the hwaccel privdata does not leak when a frame buffer could
not be allocated (and toggle the assert when the frame is re-used).
Having no frame buffer available is quite common when using the DXVA2
hwaccel in situations where the DXVA2 renderer is being re-allocated, for
example when moving between displays.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
This ensures the hwaccel privdata does not leak when a frame buffer could
not be allocated (and toggle the assert when the frame is re-used).
Having no frame buffer available is quite common when using the DXVA2
hwaccel in situations where the DXVA2 renderer is being re-allocated, for
example when moving between displays.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
The functions which actually drive the filter graph by pushing
frames through it need to ensure an aligned stack for SIMD functions.
This fixes a crash in YADIF filter when using a mingw build in a MSVC application.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Since lavfi works natively with AVFrame now, these functions are no longer
necessary and can be removed in a future bump.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Since the conversion to refcounted frames, the tiff decoder
only wrote the metadata into its internal "picture" in its own context,
never exposing the metadata to the user, and eventually leaking the
metadata.
Instead, properly store the metadata directly into the frame being decoded into.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This field was only ever set and freed from avcodec, and not otherwise
used. However, because frames are refcounted now, avcodec cannot make any
assumptions about the lifetime of the frame metadata, which can result in
double-frees or leaked memory.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The mingw win32 atomics appear to be faulty, so they should not be used
if the gcc ones are available.
Signed-off-by: Martin Storsjö <martin@martin.st>
The mingw win32 atomics appear to be faulty, so they should not be used
if the gcc ones are available.
Signed-off-by: Martin Storsjö <martin@martin.st>
Writing into uninitialized hw surfaces is not supported and triggers an assert inside avpriv_color_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This is done in accordance with all other libraries, which no longer access ff_log2_tab from avutil directly for shared builds, and instead obtain their own copy.
This change is required for MSVC DLL builds, as well as avoids accessing a private symbol from another library.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
exp files are created in every build and contain export information
of the libraries. Both pdb and ilk are created during debug builds,
and contain linking and debug information used by MSVC.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Some implementations of sscanf do not handle a space before a trailing %n
properly.
As an example, MSVC's does this for the second insatnce in this patch, for
an input of "0x3:c0=c1:c1=c0":
1) Match the final "c0" or "c1".
2) Realize it's at the end of the string.
3) Check for %n.
4) There is no %n, but a space instead.
5) Leave 'len' unitilialized.
So, move it out of the sscanf format strings, and call skip_spaces instead.
This bug does not affect skip_spaces since %n is the first and only formatting
string.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Running lib.exe without parameters will always result in an error,
and failing the check.
Using the -list paramter results in a success if lib.exe is present.
This fixes decoding of certain 7.1 DTS-HD HRA files, as well as matches the spec better.
Table 6-22 in the DTS spec labels the two channels "Left/Right surround on side", and not rear.
Reviewed-by: Benjamin Larsson <benjamin@southpole.se>
Reviewed-by: Nick Brereton <nick@nbrereton.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The MBAFF flag may only be signaled if we're actually dealing with
a full frame, and not singular fields, as it can happen in mixed content.
Signed-off-by: Martin Storsjö <martin@martin.st>
The MBAFF flag may only be signaled if we're actually dealing with
a full frame, and not singular fields, as it can happen in mixed content.
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
To ensure the full range of values is still used, also adjust all uses of this function to loop from 0
instead of 1. This way only 60.00 is added and nothing lost.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The decoder configuration initializes the sbr mdct, which needs to know about the sample format to properly take the scale factor into account.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The index of the motion vector has to be checked before being
multiplied by 2 for the array index.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Non perceptual color model that aims to have an increase effectiveness
in compression like the normal YCbCr while having near-lossless/lossless
mapping to RGB.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Previously, it would not be read if refdist_flag was not set, however
according to the spec and the reference decoder, it should always be read.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
The index of the motion vector has to be checked before being
multiplied by 2 for the array index.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This matches the spec as well as the reference decoder, and fixes a bug
with interlaced frame decoding.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>