Luca Barbato
7751e4693d
ogg: check that the expected number of headers had been parsed
...
Not having the header for a codec is a tell-tale of a broken file.
2012-09-24 22:35:29 +02:00
John Van Sickle
a716006a7d
libx264: change default to closed gop to match x264cli
...
open-gop can be enabled with "-flags -cgop"
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-24 19:23:03 +02:00
Anton Khirnov
11d1ca4b2c
Use avcodec_free_frame() to free AVFrames.
2012-09-24 12:31:25 +02:00
Anton Khirnov
9eb296572e
lavf: use a malloced AVFrame in try_decode_frame().
...
This allows using avcodec_free_frame() to free it properly.
2012-09-24 12:31:24 +02:00
Anton Khirnov
a42aadabc6
lavc: add avcodec_free_frame().
...
Since an AVFrame now has malloced members (extended_data), it must have
a destructor.
2012-09-24 12:31:24 +02:00
Anton Khirnov
b437cec143
lavc: ensure extended_data is set properly on decoding
2012-09-24 12:31:24 +02:00
Anton Khirnov
2bc0de3858
lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
2012-09-24 12:31:24 +02:00
Anton Khirnov
c084a975aa
lavc: use av_mallocz to allocate AVFrames.
...
Otherwise the frame is uninitialized, so avcodec_get_frame_defaults()
cannot determine whether to free extended_data.
2012-09-24 12:31:24 +02:00
Anton Khirnov
a83499b13b
lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults
...
AVFrame is used for both audio and video, so calling the argument 'pic'
is misleading.
2012-09-24 12:31:24 +02:00
Samuel Pitoiset
cee1950bbb
rtp: Packetization of JPEG (RFC 2435)
2012-09-23 21:58:41 +03:00
Martin Storsjö
71908f0838
smoothstreamingenc: Copy the SAR on the AVStreams as well
...
This is required in chained muxers, if the SAR happens to be set.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-23 21:28:58 +03:00
Justin Ruggles
0ccf051a9d
avcodec: fix memleak in avcodec_encode_audio2()
...
Ensure that padded_frame is freed before returning when needed.
2012-09-22 09:24:24 -04:00
Reimar Döffinger
c54e00610f
sipr: fall back to setting mode based on bit_rate.
...
Not all applications (e.g. MPlayer) set block_align, and
when using a different demuxer it might not even be
easily available.
So fall back to selecting mode based on bit rate as before
if block_align has not useful value.
It can't be worse than failing to decode completely.
(cherry picked from commit 1d0d63052b
)
CC: libav-stable@libav.org
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-09-21 20:11:23 +02:00
Anton Khirnov
e52e4fe10d
libx264: add forgotten ;
2012-09-21 09:20:09 +02:00
Anton Khirnov
87b017a298
matroskadec: fix a sanity check.
2012-09-21 09:15:07 +02:00
Anton Khirnov
bdb939ad73
matroskadec: only return corrupt packets that actually contain data
...
Fixes bug 372.
2012-09-21 09:15:01 +02:00
Anton Khirnov
1cc569ddda
lavf: zero data/size of the packet passed to read_packet().
2012-09-21 09:14:37 +02:00
Mans Rullgard
8995d34972
ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code
...
The Apple assembler refuses to assemble the 3-operand form
in Thumb2 even though it is valid syntax.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-21 07:07:58 +01:00
Mans Rullgard
cdb7db5acd
ARM: align PIC offset pools to 4 bytes
...
When building Thumb2 code, the end of a function, where the PIC
offsets are placed, need not be aligned. Although the values
are only accessed with instructions allowing unaligned addresses,
keeping them aligned is preferable.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-21 07:07:58 +01:00
Mans Rullgard
a27a690fac
ARM: swap source operands in some add instructions
...
This allows using a 16-bit opcode when generating Thumb2 code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-20 17:07:18 +01:00
Mans Rullgard
0122118ec3
configure: update tms470 detection for latest version
...
v5.0 of the TI ARM compiler changes the version string.
This updates the detection to check for both the old and
the new strings.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-20 14:56:56 +01:00
Janne Grunau
6746cd7f61
lavf probe: prevent codec probe with no data at all seen
...
This occurs with fuzzed mpeg-ts files. set_codec_from_probe_data() is
called with a zeroed AVProbeData since no packet made through for
specific stream.
2012-09-20 14:50:06 +02:00
Mans Rullgard
a34a609fc1
motion_est: fix use of inline on extern functions
...
Inline functions declared without extern do not provide an external
definition in standard C99. This code only works because most
compilers do not implement the inline semantics correctly. With a
stricter compiler, linking fails with unresolved references to these
functions.
Declaring the functions extern inline works correctly with some
compilers while some others still fail to create external definitions.
For maximum portability, create a static inline version with an
externally visible wrapper for ff_get_mb_score. ff_epzs_motion_search
is so large that no sane compiler inlines it anyway, so there the
inline keyword can simply be dropped with no effect.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-20 10:56:30 +01:00
Anton Khirnov
50d1f4437b
mp3dec: read Xing frame TOC index
2012-09-19 20:59:45 +02:00
Anton Khirnov
2d1a1a7f62
mp3dec: use named constants for Xing header flags
2012-09-19 20:59:44 +02:00
John Van Sickle
9bf41210a9
libx264: add support for nal-hrd, required for Blu-ray streams.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-19 20:59:24 +02:00
Yusuke Nakamura
d17d0ec8c2
mov: support random access point grouping
...
Frames described by this grouping are the starter of a closed or
an open GOP.
This is useful for open GOP of H.264 stream which is not described
by sync sample atom.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-19 20:34:15 +02:00
Luca Barbato
7d8431004a
matroskadec: properly support BlockDuration
2012-09-19 20:34:14 +02:00
Luca Barbato
c831ebf616
matroskadec: split frame parsing
2012-09-19 20:34:14 +02:00
Luca Barbato
2d0e7713f9
matroskadec: split laces parsing
2012-09-19 20:34:14 +02:00
Luca Barbato
117d8c6d1f
matroska: implement support for ProRes
...
Support Matroska native formatting.
On demuxing prepend a Frame container atom (32bit big endian encoded
frame size and 'icpf' string).
On muxing remove it.
2012-09-19 20:34:14 +02:00
Moritz Bunkus
8071dca3d5
matroska: implement support for ALAC
...
Support Matroska native formatting.
On demuxing reconstruct the 36-bytes QuickTime atom that the ALAC
decoder expects by prepending the "atom size", "tag" and
"tag version" fields missing from the Matroska's CodecPrivate
element.
On muxing remove the initial 12 bytes
Sample files are available:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska.mka
and the CoreAudio file it was created from with today's mkvmerge:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska-source.caf
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-19 20:34:14 +02:00
Luca Barbato
870e75524a
matroskadec: validate lace_size when parsed
...
Stricter validation, explicitly exit on misparsing and some error
forwarding from the ebml parsing functions used.
2012-09-19 20:34:14 +02:00
Luca Barbato
c9a39cec70
matroskadec: return meaningful errors in matroska_decode_buffer
2012-09-19 20:34:14 +02:00
Dale Curtis
df1d84121b
matroskadec: fix incorrect unsigned->signed conversion
2012-09-19 20:34:14 +02:00
Luca Barbato
8d4dd55c37
matroskadec: refactor matroska_decode_buffer
...
Make MATROSKA_TRACK_ENCODING_COMP_HEADERSTRIP behave like
the other encodings and spare few lines of boilerplate code.
2012-09-19 20:34:14 +02:00
Luca Barbato
581281e242
matroskadec: check realloc in lzo encoding
...
Make all the compression encodings behave the same way.
2012-09-19 20:34:13 +02:00
Luca Barbato
cd4739c4f2
matroska: honor error_recognition on unknown doctypes
2012-09-19 20:34:13 +02:00
Alex Converse
df6c3f9fb3
tiffdec: Add support for GRAY16LE.
...
Tested with the GraphicsMagick TIFF archive and Libav generated files.
2012-09-19 11:05:36 -07:00
Alex Converse
298ed797e1
tiffenc: Add support for little endian RGB48 and GRAY16
2012-09-19 11:05:36 -07:00
Janne Grunau
8701f4f8e8
mpeg4: support frame parameter changes with frame-mt
...
Adds a flag context_reinit to MpegEncContext to relieable keep track
of frame parameter changes which require a context reinitialization.
This is required for broken inputs which change the frame size but
error out before the context can be reinitialized.
2012-09-19 19:58:15 +02:00
Janne Grunau
01fc5d6609
mpegvideo: check ff_find_unused_picture() return value for errors
2012-09-19 19:58:15 +02:00
Janne Grunau
32c7589bb7
mpegvideo: release frame buffers before freeing them
...
Fixes triggering an assert in avcodec_default_release_buffer()
introduced in 1b3439b30
.
2012-09-19 19:58:15 +02:00
Mans Rullgard
ac3a9b51f7
configure: msvc: default to 'lib' as 'ar' tool
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-19 14:09:50 +01:00
Mans Rullgard
3dbc777c7f
build: support some non-standard ar variants
...
This adds support for the TI and Microsoft (lib.exe) variants of
the ar utility.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-19 14:09:50 +01:00
Janne Grunau
b16d001b62
rv34: use ff_MPV_common_frame_size_change()
...
Specialised functionality for size changes with the advantage of
supporting frame size changes during frame-based multithreading.
2012-09-19 11:06:40 +02:00
Janne Grunau
435c0b87d2
mpegvideo: add reinit function for frame parameter changes
...
This is mainly required for frame parameter changes during frame based
multithreading but single threaded usage profits too from avoiding
ff_MPV_common_end()/ff_MPV_common_init() cycles.
2012-09-19 11:06:39 +02:00
Janne Grunau
1b3439b305
mpegvideo: move frame size dependent memory management to separate functions
...
This is a preparation for supporting frame size changes during
frame-based multithreading.
2012-09-19 11:06:31 +02:00
Mans Rullgard
aeeb782c2a
configure: add --toolchain option
...
This allows creating canned shorthands for common combinations
of cc, ld etc.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-18 23:43:05 +01:00
Martin Storsjö
e772f9faec
configure: Make the smoothstreaming muxer enable the ismv muxer
...
This doesn't fix any build failure, but the smoothstreaming muxer
opens a chained ismv muxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-18 17:59:59 +03:00