When using the new first_trun flag instead of checking the track id,
we don't need to have a special case for the separate_moof flag
any longer.
This simplifies the complicated codepath ever so slightly.
Signed-off-by: Martin Storsjö <martin@martin.st>
In this case, shift tracks to start from zero instead (potentially
stretching the first sample in tracks that start later than the
first one).
Some software does not support edit lists at all, the adobe flash
player seems to be one of these. This results in AV sync errors when
edit lists are used to adjust AV sync.
Some players, such as QuickTime, don't respect the duration for
audio packets, so if an audio track starts later than the video
track and the first audio sample gets a duration longer than the
actual amount of data in it, the result will be out of sync.
Based on patches by Michael Niedermayer.
Signed-off-by: Martin Storsjö <martin@martin.st>
This is the same logic as is invoked on AVFMT_TS_NEGATIVE,
but which can be enabled manually, or can be enabled
in muxers which only need it in certain conditions.
Also allow using the same mechanism to force streams to start
at 0.
Signed-off-by: Martin Storsjö <martin@martin.st>
There's no benefit from using blendps here except on CPUs with AVX, where
it's faster than shufps according to Intel's documentation.
As such, rename the sse4 functions to sse/sse2 and use shufps instead.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
* commit 'ac4a5e3abd8a022ab32245ad527ffc37eabab8b1':
pthreads_frame: Do not leak on failure path
See: 11679e1b90
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '5d29efe4b0154ce305d66fed2ac23e5842439256':
mpeg12dec: simplify context duplication
Not merged, theres no point in copying data and afterwards zeroing it
Also zeroing is not correct on its own
Merged-by: Michael Niedermayer <michaelni@gmx.at>
We now use 'pixelformat' for V4L2_PIX_FMT_* (as they do in v4l2
documentation) and 'pix_fmt' for AVPixelFormat.
No functional change in the code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '05e59135b3539062465b5005b6d46ec0418a5fc4':
nutdec: do not set has_b_frames
Not merged, this change is not correct
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'acc897e6b15776ed438b88ffe330ec48f6b50e48':
lavc: make avpriv_flac_is_extradata_valid() private on the next bump
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c070a8751597e3aa1b443e88464da785d8966b14':
lavc: make avpriv_flac_parse_streaminfo() private on the next bump
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '56dc46a1893251e74be1ad63e54fb38d754bb1fe':
riffenc: do not fall back on AVCodecContext.frame_size for MP3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '91e8d2eb1f7bf3af949008b106ec1ca037b88b0e':
lavf: use the format context strict_std_compliance instead of the codec one
Conflicts:
libavformat/mux.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2f3fadfbe3c6ad52fad5c614b6067c5401227959':
lavc,lavf: switch to the new vorbis parse API
Conflicts:
libavformat/oggparsevorbis.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '5e80fb7ff226f136dbcf3fed00a2966bf8e9bd70':
lavc: add a public API for parsing vorbis packets.
Conflicts:
doc/APIchanges
libavcodec/Makefile
libavcodec/version.h
libavcodec/vorbis_parser.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '6896f95b2483e52e717e2c75a4fd24fcb0e14b67':
vorbis_parser: add an AV prefix to VorbisParseContext
Conflicts:
libavcodec/vorbis_parser.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '8747926':
vorbis_parser: use a dedicated AVClass for logging
Conflicts:
libavcodec/vorbis_parser.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The only parameters needed by the demuxers are the sample rate and sample
count, which can be trivially extracted manually, without resorting to
an avpriv function.