This commit removes the badly duplicated code between the encoder and
the muxer. That may sound surprising, but the encoder is now responsible
from the encoding of the picture when muxing to a .gif file. It also
does not require anymore a manual user intervention such as a -pix_fmt
rgb24 to work properly. To summarize, output gif are now easier to
generate, code is saner and simpler, and files are smaller (thanks to
the lzw encoding which was unused so far with the default .gif output).
We can certainly make things even better, but this is the first step.
FATE is updated because of the output being produced by the encoder and
not the muxer (no lzw in the muxer), and in the seek test only the size
mismatches.
Fixes Ticket #2262
* qatar/master:
cmdutils: Fix build with lavfi disabled
flvenc: do not mux more than one stream per type
Merged-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>
Correct bit mask for month/day/hour/min/sec values.
For reference the timestamp format specified in S377M is as follow:
year (int16), month (uint8), day (uint8), hour (uint8), sec (uint8),
msec (uint8).
A value of 0 for every fields means timestamp "unknown".
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>
* commit '9e6b5e61a0c91e25e298d0a21b189c4c95443795':
img2enc: add an option for overwriting one file with subsequent images
Conflicts:
doc/muxers.texi
libavformat/img2enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Fixes an overflow of the sample count field within the audio stream header
chunk if audio stream data exceeds 2GB.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes audio packet pts values in some files generated by AVID TRMG 3.01.
Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
srtp: Include rtpdec.h for RTP_MAX_PACKET_LENGTH
rtpdec: Increase max rtp packet size to 8192
lavf: Use RTP_MAX_PACKET_LENGTH instead of 1500
h264pred: Add a few missing const declarations for ff_cropTbl derived pointers
Merged-by: Michael Niedermayer <michaelni@gmx.at>
WAV chunks must be even aligned. This patch skip the extra padding byte
if chunk size is odd.
Fixes ticket #2417.
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd1016dccdcb10486245e5d7c186cc31af54b2a9c':
xmv: check audio track parameters validity.
bmv: check for len being valid in bmv_decode_frame().
Conflicts:
libavformat/xmv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '8d617b11cfc87b2c6056fee029ac5bc760af874a':
id3v2: pad the APIC packets as required by lavc.
dfa: check for invalid access in decode_wdlt().
Conflicts:
libavformat/id3v2.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'bcc94328980e6c56546792ab08b0756abdce310b':
opt: check the return values of av_get_token for ENOMEM.
doc: Fix best_nb_channells typo
matroska: pass the lace size to the matroska_parse_rm_audio
Conflicts:
libavformat/matroskadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '8a96df7b70be509dae9ceec82d2c10a20361356d':
matroska: fix a corner case in ebml-lace parsing
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Each lace must be independent according to the specification.
Fix heap-buffer-overflow in matroska_parse_block for
corrupted real media in mkv files.
Stricter check than fc43c19a56
CC: libav-stable@libav.org
Fix heap-buffer-overflow in matroska_parse_block for
corrupted real media in mkv files.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
The sample rate index is 3 bits even if currently index 5, 6 and 7 are
not supported.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Partial fix for ticket #2412 in that using PIX_FMT_BGR24 fixes the
swapped channels issue when using scripts serving RGB24.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c3d015775388882b8a122afc337ea35108f652be':
flvdec: use the correct audio codec id when parsing metadata
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Fixes double free
Regression since the new buffer references, thus no FFmpeg
releases should be affected
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This solution uses the size of the first RIFF if its valid
to check frame size validity when the filesize could not be determined.
Feedback is welcome, other ideas and improvments as well!
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'cf53704c55378cc0dcfc16637cdac7d58f0b3107':
AVOptions: make av_set_options_string() forward options to child objects
win32: Use 64-bit fstat/lseek variants for MSVC as well
win32: Make ff_win32_open more robust
Conflicts:
libavformat/os_support.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
- Make MultiByteToWideChar fail when it encounters invalid encoding.
Without this, invalid characters might just be skipped
- When MultiByteToWideChar fails, assume the file name is in CP_ACP
and open it via normal open function, even when the file will be
written
- When malloc fails return error instead of crashing
Signed-off-by: Martin Storsjö <martin@martin.st>
In order to match Linux behaviour better our Windows-specific
open() replacement should disable Windows default file locking.
Signed-off-by: Martin Storsjö <martin@martin.st>