]> git.sesse.net Git - ffmpeg/log
ffmpeg
12 years agocmdutils: fix options starting with 'no'.
Alexandra Khirnova [Fri, 27 Jan 2012 08:59:00 +0000 (08:59 +0000)]
cmdutils: fix options starting with 'no'.

E.g. non_linear_quant mpeg2video private option.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
12 years agox86inc.asm: fix typo.
Ronald S. Bultje [Fri, 27 Jan 2012 02:50:12 +0000 (10:50 +0800)]
x86inc.asm: fix typo.

Assemblers don't understand ! in %if statements.

12 years agoswscale: convert rgb/bgr24ToY/UV_mmx functions from inline asm to yasm.
Ronald S. Bultje [Fri, 27 Jan 2012 02:52:55 +0000 (10:52 +0800)]
swscale: convert rgb/bgr24ToY/UV_mmx functions from inline asm to yasm.

Also implement sse2/ssse3/avx versions.

12 years agoconfig.asm: change %ifdef directives to %if directives.
Ronald S. Bultje [Mon, 23 Jan 2012 09:45:58 +0000 (17:45 +0800)]
config.asm: change %ifdef directives to %if directives.

This allows combining multiple conditionals in a single statement.

12 years agoRevert "sws/pixfmt/pixdesc: add support for yuva444p"
Alex Converse [Fri, 27 Jan 2012 02:06:57 +0000 (18:06 -0800)]
Revert "sws/pixfmt/pixdesc: add support for yuva444p"

This reverts commit fc115c80b7bf6f1f5a937ee7f6e14630d99eb4dd.

Tests are broken.

12 years agofrwu: check if allocation was successful
Paul B Mahol [Fri, 27 Jan 2012 01:13:48 +0000 (01:13 +0000)]
frwu: check if allocation was successful

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
12 years agovc1dec.c: Don't use uninitialized values of dmv_[x, y]
Mashiat Sarker Shakkhar [Thu, 26 Jan 2012 23:53:24 +0000 (15:53 -0800)]
vc1dec.c: Don't use uninitialized values of dmv_[x, y]

MVDATA may or may not be transmitted. If it is not, both
dmv_x and dmv_y is to be assumed zero.

This may not trigger wrong picture in all systems, but
it's a bug nevertheless. Fixes SA10116.vc1 on my 64-bit
Windows 7.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
12 years agosws/pixfmt/pixdesc: add support for yuva444p
Paul B Mahol [Fri, 27 Jan 2012 00:43:23 +0000 (00:43 +0000)]
sws/pixfmt/pixdesc: add support for yuva444p

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
12 years agomjpegbdec: Fix overflow in SOS.
Alex Converse [Wed, 25 Jan 2012 21:39:24 +0000 (13:39 -0800)]
mjpegbdec: Fix overflow in SOS.

Based in part by a fix from Michael Niedermayer <michaelni@gmx.at>

Fixes CVE-2011-3947

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
12 years agolibavutil: Remove pointless file test program.
Diego Biurrun [Wed, 25 Jan 2012 19:13:17 +0000 (20:13 +0100)]
libavutil: Remove pointless file test program.

12 years ago8bps: K&R formatting cosmetics
Paul B Mahol [Thu, 26 Jan 2012 19:21:15 +0000 (19:21 +0000)]
8bps: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agosmacker: Sanity check huffman tables found in the headers.
Alex Converse [Thu, 26 Jan 2012 00:12:42 +0000 (16:12 -0800)]
smacker: Sanity check huffman tables found in the headers.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years agosmacker: remove dead store
Alex Converse [Thu, 26 Jan 2012 00:22:05 +0000 (16:22 -0800)]
smacker: remove dead store

12 years agoqdm2: Check data block size for bytes to bits overflow.
Alex Converse [Wed, 25 Jan 2012 23:27:11 +0000 (15:27 -0800)]
qdm2: Check data block size for bytes to bits overflow.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years agomxfdec: Fix files with essence containers larger than 2 GiB.
Tomas Härdin [Thu, 26 Jan 2012 12:21:45 +0000 (13:21 +0100)]
mxfdec: Fix files with essence containers larger than 2 GiB.

For such files, accumulating into an int would cause an overflow.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agomxfdec: Employ correct printf conversion specifiers for POSIX int types.
Jean First [Thu, 26 Jan 2012 12:21:42 +0000 (13:21 +0100)]
mxfdec: Employ correct printf conversion specifiers for POSIX int types.

Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agovc1: always read the bfraction element for interlaced fields
Hendrik Leppkes [Fri, 13 Jan 2012 17:43:08 +0000 (18:43 +0100)]
vc1: always read the bfraction element for interlaced fields

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>
12 years agofate: add XWD image regression test
Paul B Mahol [Wed, 25 Jan 2012 20:15:34 +0000 (20:15 +0000)]
fate: add XWD image regression test

Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agolavf: prevent infinite loops while flushing in avformat_find_stream_info
Janne Grunau [Wed, 18 Jan 2012 09:59:32 +0000 (10:59 +0100)]
lavf: prevent infinite loops while flushing in avformat_find_stream_info

If no data was seen for a stream decoder are returning 0 when fed with
empty packets for flushing. We can stop flushing when the decoder does
not return delayed delayed frames anymore. Changes try_decode_frame()
return value to got_picture or negative error.

CC: libav-stable@libav.org
12 years agomatroskadec: Pad AAC extradata.
Alex Converse [Wed, 25 Jan 2012 22:34:21 +0000 (14:34 -0800)]
matroskadec: Pad AAC extradata.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years agoismindex: Fix build on mingw
Martin Storsjö [Wed, 25 Jan 2012 11:47:38 +0000 (13:47 +0200)]
ismindex: Fix build on mingw

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agowma: Clip WMA1 and WMA2 frame length to 11 bits.
Alex Converse [Wed, 25 Jan 2012 02:43:43 +0000 (18:43 -0800)]
wma: Clip WMA1 and WMA2 frame length to 11 bits.

The MDCT buffers in the decoder are only sized for up to 11 bits. The
reverse engineered documentation for WMA1/2 headers say that that for
all samplerates above 32kHz 11 bits are used. 12 and 13 bit support
were added for WMAPro. I was unable to make any Microsoft tools generate
a test file at a samplerate above 48kHz.

Discovered by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

CC: libav-stable@libav.org
12 years agomovenc: Don't require frame_size to be set for modes other than mov
Martin Storsjö [Mon, 23 Jan 2012 12:56:56 +0000 (14:56 +0200)]
movenc: Don't require frame_size to be set for modes other than mov

The field frame_size isn't written to the output anywhere except
than in mov.

This facilitates stream copy from formats that don't set frame_size.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agodoc: Update APIchanges with info on muxer flushing
Martin Storsjö [Wed, 25 Jan 2012 10:43:19 +0000 (12:43 +0200)]
doc: Update APIchanges with info on muxer flushing

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agomovenc: Reindent a block
Martin Storsjö [Wed, 25 Jan 2012 10:40:05 +0000 (12:40 +0200)]
movenc: Reindent a block

Also add some space around operators and wrap a comment
that extends past the 80 char "limit"/guideline.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agotools: Remove some unnecessary #undefs.
Diego Biurrun [Wed, 25 Jan 2012 19:11:32 +0000 (20:11 +0100)]
tools: Remove some unnecessary #undefs.

12 years agorv20: prevent calling ff_h263_decode_mba() with unset height/width
Janne Grunau [Tue, 24 Jan 2012 20:50:50 +0000 (21:50 +0100)]
rv20: prevent calling ff_h263_decode_mba() with unset height/width

Prevents a crash of VLC during playback of a invalid matroska file,
found by John Villamil <johnv@matasano.com>.

CC: libav-stable@libav.org
12 years agotools: K&R reformatting cosmetics
Diego Biurrun [Wed, 25 Jan 2012 14:03:18 +0000 (15:03 +0100)]
tools: K&R reformatting cosmetics

12 years agoIgnore generated aviocat and ismindex tools.
Diego Biurrun [Wed, 25 Jan 2012 13:56:24 +0000 (14:56 +0100)]
Ignore generated aviocat and ismindex tools.

12 years agobuild: Automatically include architecture-specific library Makefile snippets.
Diego Biurrun [Wed, 25 Jan 2012 12:35:19 +0000 (13:35 +0100)]
build: Automatically include architecture-specific library Makefile snippets.

12 years agoindeo5: prevent null pointer dereference on broken files
Janne Grunau [Mon, 23 Jan 2012 20:33:34 +0000 (21:33 +0100)]
indeo5: prevent null pointer dereference on broken files

Found by John Villamil <johnv@matasano.com>

12 years agopktdumper: Use usleep instead of sleep
Martin Storsjö [Wed, 25 Jan 2012 11:47:47 +0000 (13:47 +0200)]
pktdumper: Use usleep instead of sleep

MinGW doesn't have sleep, only _sleep (which is deprecated),
Sleep (which is defined in winbase.h and not in the standard
C headers) and usleep.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agocosmetics: Remove some unnecessary block braces.
Diego Biurrun [Wed, 18 Jan 2012 17:47:59 +0000 (18:47 +0100)]
cosmetics: Remove some unnecessary block braces.

12 years agoDrop unnecessary prefix from *sink* variable and struct names.
Diego Biurrun [Thu, 19 Jan 2012 15:10:13 +0000 (16:10 +0100)]
Drop unnecessary prefix from *sink* variable and struct names.

12 years agoAdd a tool for creating smooth streaming manifests
Martin Storsjö [Mon, 9 Jan 2012 16:27:33 +0000 (18:27 +0200)]
Add a tool for creating smooth streaming manifests

It can also optionally split the file into individual fragments,
which allows it to be served from any web server without any
server side support.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agomovdec: Calculate an average bit rate for fragmented streams, too
Martin Storsjö [Fri, 13 Jan 2012 12:40:24 +0000 (14:40 +0200)]
movdec: Calculate an average bit rate for fragmented streams, too

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agomovenc: Write the sample rate instead of time scale in the stsd atom
Martin Storsjö [Mon, 9 Jan 2012 09:05:33 +0000 (11:05 +0200)]
movenc: Write the sample rate instead of time scale in the stsd atom

For ismv/isma, the time scale might not be the same as the sample
rate.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agomovenc: Add a separate ismv/isma (smooth streaming) muxer
Martin Storsjö [Mon, 9 Jan 2012 15:58:26 +0000 (17:58 +0200)]
movenc: Add a separate ismv/isma (smooth streaming) muxer

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agomovenc: Allow the caller to decide on fragmentation
Martin Storsjö [Fri, 20 Jan 2012 17:29:33 +0000 (19:29 +0200)]
movenc: Allow the caller to decide on fragmentation

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agolibavformat: Add a flag for muxers that support write_packet(NULL) for flushing
Martin Storsjö [Fri, 20 Jan 2012 17:27:33 +0000 (19:27 +0200)]
libavformat: Add a flag for muxers that support write_packet(NULL) for flushing

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agomovenc: Add support for writing fragmented mov files
Martin Storsjö [Thu, 5 Jan 2012 11:57:05 +0000 (13:57 +0200)]
movenc: Add support for writing fragmented mov files

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agomovenc: Add a separate start_pts
Martin Storsjö [Fri, 6 Jan 2012 23:32:53 +0000 (01:32 +0200)]
movenc: Add a separate start_pts

This fixes calculation of trackDuration if the MOVIentry array
is cleared. This is required by the fragmentation support in the
next patch.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agodsputil: use vertical component for drawing bottom edge.
Ronald S. Bultje [Wed, 25 Jan 2012 09:17:52 +0000 (17:17 +0800)]
dsputil: use vertical component for drawing bottom edge.

Current code only writes 8 pixels of vertical edge for YUV422, which
causes MC artifacts when subsequent frames use data from that edge.

12 years agoaacenc: Fix identification padding when the bitstream is already aligned.
Alex Converse [Mon, 23 Jan 2012 21:08:32 +0000 (13:08 -0800)]
aacenc: Fix identification padding when the bitstream is already aligned.

12 years agoaacenc: Write correct length for long identification strings.
Michael Niedermayer [Mon, 23 Jan 2012 21:05:03 +0000 (13:05 -0800)]
aacenc: Write correct length for long identification strings.

When the length is the escape value (15), the new length is calculated by
15 + get_bits(8) - 1.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaud: remove unneeded field, audio_stream_index from context
Justin Ruggles [Tue, 24 Jan 2012 16:46:58 +0000 (11:46 -0500)]
aud: remove unneeded field, audio_stream_index from context

There is only one stream, so it will always be index 0.
This also allows for removal of the private context.

12 years agoaud: fix time stamp calculation for ADPCM IMA WS
Justin Ruggles [Tue, 24 Jan 2012 16:43:54 +0000 (11:43 -0500)]
aud: fix time stamp calculation for ADPCM IMA WS

also allows for removing some unused context fields

12 years agoaud: simplify header parsing
Justin Ruggles [Tue, 24 Jan 2012 16:40:23 +0000 (11:40 -0500)]
aud: simplify header parsing

also allows for removing some unused context fields

12 years agoaud: set pts_wrap_bits to 64.
Justin Ruggles [Tue, 24 Jan 2012 16:28:02 +0000 (11:28 -0500)]
aud: set pts_wrap_bits to 64.

Time stamps are not read from the bitstream, so no wrapping is needed.

12 years agocosmetics: indentation
Justin Ruggles [Tue, 24 Jan 2012 16:41:37 +0000 (11:41 -0500)]
cosmetics: indentation

12 years agoaud: support Westwood SND1 audio in AUD files.
Justin Ruggles [Tue, 24 Jan 2012 16:09:05 +0000 (11:09 -0500)]
aud: support Westwood SND1 audio in AUD files.

Fixes decoding of the handful of "death scream" samples from
"Command and Conquer" that use SND1. e.g.
http://samples.libav.org/game-formats/westwood-aud/nuyell1.aud
http://samples.libav.org/game-formats/westwood-aud/nuyell7.aud

12 years agoadpcm_ima_ws: fix stereo decoding
Justin Ruggles [Mon, 23 Jan 2012 17:23:27 +0000 (12:23 -0500)]
adpcm_ima_ws: fix stereo decoding

Stereo ADPCM IMA WS is planar for VQA version 3 and 2-sample interleaved for
VQA version 2.

12 years agoavcodec: add a new codec_id for CRYO APC IMA ADPCM.
Justin Ruggles [Mon, 23 Jan 2012 19:57:32 +0000 (14:57 -0500)]
avcodec: add a new codec_id for CRYO APC IMA ADPCM.

The stereo layout and extradata is significantly different from that in
Westwood IMA ADPCM, so a separate codec_id is warranted.

12 years agovqa: remove unused context fields, audio_samplerate and audio_bits
Justin Ruggles [Mon, 23 Jan 2012 18:43:54 +0000 (13:43 -0500)]
vqa: remove unused context fields, audio_samplerate and audio_bits

12 years agovqa: clean up audio header parsing
Justin Ruggles [Mon, 23 Jan 2012 18:28:20 +0000 (13:28 -0500)]
vqa: clean up audio header parsing

Fix setting of bit_rate and bits_per_coded_sample.
Ask for sample for unsupported VQA versions.

12 years agovqa: set time base to frame rate as coded in the header.
Justin Ruggles [Mon, 23 Jan 2012 16:38:00 +0000 (11:38 -0500)]
vqa: set time base to frame rate as coded in the header.

According to Multimedia Wiki documentation, the frame rate is not always 15,
and the actual value can be found in the header.

12 years agovqa: set packet duration.
Justin Ruggles [Mon, 23 Jan 2012 16:06:35 +0000 (11:06 -0500)]
vqa: set packet duration.

Also remove unused context field, audio_frame_counter.

12 years agovqa: use 1/sample_rate as the audio stream time base
Justin Ruggles [Mon, 23 Jan 2012 15:55:28 +0000 (10:55 -0500)]
vqa: use 1/sample_rate as the audio stream time base

12 years agovqa: set stream start_time to 0.
Justin Ruggles [Mon, 23 Jan 2012 15:52:49 +0000 (10:52 -0500)]
vqa: set stream start_time to 0.

The format has no coded timestamps and must use packet durations to generate
them.

12 years agolavc: postpone the removal of AVCodecContext.request_channels.
Anton Khirnov [Thu, 12 Jan 2012 10:16:38 +0000 (11:16 +0100)]
lavc: postpone the removal of AVCodecContext.request_channels.

Although it has been deprecated for a long time, its intended
replacement (request_channel_layout) is not actually used anywhere, so
request_channels is currently the only way to access that functionality.

12 years agolavf: postpone removing av_close_input_file().
Anton Khirnov [Sun, 22 Jan 2012 09:43:40 +0000 (10:43 +0100)]
lavf: postpone removing av_close_input_file().

It has been deprecated only recently.

12 years agolavc: postpone removing old audio encoding and decoding API
Anton Khirnov [Sun, 22 Jan 2012 09:43:40 +0000 (10:43 +0100)]
lavc: postpone removing old audio encoding and decoding API

It has been deprecated only recently.

12 years agoavplay: remove the -er option.
Anton Khirnov [Sun, 22 Jan 2012 09:51:26 +0000 (10:51 +0100)]
avplay: remove the -er option.

Error recognition flags can and should be set directly with AVOptions.

12 years agolavd: remove deprecated v4l grab device.
Anton Khirnov [Thu, 12 Jan 2012 10:22:59 +0000 (11:22 +0100)]
lavd: remove deprecated v4l grab device.

12 years agoChangelog: restore version <next> header
Paul B Mahol [Mon, 23 Jan 2012 23:28:50 +0000 (23:28 +0000)]
Changelog: restore version <next> header

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
12 years agorv10: verify slice offsets against buffer size
Janne Grunau [Mon, 23 Jan 2012 19:57:04 +0000 (20:57 +0100)]
rv10: verify slice offsets against buffer size

Found by John Villamil <johnv@matasano.com> in fuzzed rv20 in mkv files.

12 years agoRemove ffmpeg.
Anton Khirnov [Thu, 12 Jan 2012 10:12:15 +0000 (11:12 +0100)]
Remove ffmpeg.

12 years agoaacenc: Simplify windowing
Nathan Caldwell [Sat, 24 Dec 2011 00:36:15 +0000 (17:36 -0700)]
aacenc: Simplify windowing

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaacenc: Move saved overlap samples to the beginning of the same buffer as incoming...
Nathan Caldwell [Sat, 24 Dec 2011 22:24:16 +0000 (15:24 -0700)]
aacenc: Move saved overlap samples to the beginning of the same buffer as incoming samples.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaacenc: Deinterleave input samples before processing.
Nathan Caldwell [Thu, 15 Dec 2011 02:43:56 +0000 (19:43 -0700)]
aacenc: Deinterleave input samples before processing.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaacenc: Store channel count in AACEncContext.
Nathan Caldwell [Wed, 7 Dec 2011 22:20:10 +0000 (15:20 -0700)]
aacenc: Store channel count in AACEncContext.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaacenc: Move Q^3/4 calculation to it's own table
Nathan Caldwell [Fri, 6 Jan 2012 21:24:37 +0000 (14:24 -0700)]
aacenc: Move Q^3/4 calculation to it's own table

This should be moved to tablegen at some point.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaacenc: Request normalized float samples instead of converting s16 samples to float.
Nathan Caldwell [Sun, 18 Dec 2011 01:45:55 +0000 (18:45 -0700)]
aacenc: Request normalized float samples instead of converting s16 samples to float.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaacpsy: Replace an if with FFMAX in LAME windowing.
Nathan Caldwell [Sat, 7 Jan 2012 21:21:35 +0000 (14:21 -0700)]
aacpsy: Replace an if with FFMAX in LAME windowing.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaacenc: cosmetics, replace 'rd' with 'bits' in codebook_trellis_rate to make it more...
Nathan Caldwell [Mon, 9 Jan 2012 01:38:39 +0000 (18:38 -0700)]
aacenc: cosmetics, replace 'rd' with 'bits' in codebook_trellis_rate to make it more clear what is being calculated.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaacpsy: cosmetics, change a FIXME to a NOTE about subshort comparisons
Nathan Caldwell [Sat, 7 Jan 2012 21:16:10 +0000 (14:16 -0700)]
aacpsy: cosmetics, change a FIXME to a NOTE about subshort comparisons

Also fix a typo.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaacenc: cosmetics: move init() and end() to the bottom of the file.
Nathan Caldwell [Thu, 15 Dec 2011 02:50:23 +0000 (19:50 -0700)]
aacenc: cosmetics: move init() and end() to the bottom of the file.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoaacenc: aac_encode_init() cleanup
Nathan Caldwell [Fri, 2 Dec 2011 22:08:55 +0000 (15:08 -0700)]
aacenc: aac_encode_init() cleanup

Macroify sanity checks and check return values of allocs and other functions.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
12 years agoXWD encoder and decoder
Paul B Mahol [Sat, 21 Jan 2012 17:45:52 +0000 (17:45 +0000)]
XWD encoder and decoder

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
12 years agovc1: don't read the interpfrm and bfraction elements for interlaced frames
Hendrik Leppkes [Fri, 13 Jan 2012 17:41:21 +0000 (18:41 +0100)]
vc1: don't read the interpfrm and bfraction elements for interlaced frames

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>
12 years agomxfdec: fix memleak on mxf_read_close()
Janne Grunau [Sun, 22 Jan 2012 18:57:13 +0000 (19:57 +0100)]
mxfdec: fix memleak on mxf_read_close()

12 years agowestwood: split the AUD and VQA demuxers into separate files.
Justin Ruggles [Fri, 20 Jan 2012 18:56:51 +0000 (13:56 -0500)]
westwood: split the AUD and VQA demuxers into separate files.

They have no code in common.

12 years agoriff: fix invalid av_freep() calls on EOF in ff_read_riff_info
Janne Grunau [Thu, 5 Jan 2012 19:15:53 +0000 (20:15 +0100)]
riff: fix invalid av_freep() calls on EOF in ff_read_riff_info

12 years agopam: Fix a typo that broke writing and reading PAM files.
Carl Eugen Hoyos [Wed, 28 Dec 2011 04:54:59 +0000 (05:54 +0100)]
pam: Fix a typo that broke writing and reading PAM files.

Reported and reviewed by Derek Buitenhuis.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: fix memleak on av_realloc failures
Janne Grunau [Wed, 21 Dec 2011 19:12:24 +0000 (20:12 +0100)]
mxfdec: fix memleak on av_realloc failures

12 years agomxfdec: Do not parse slices or DeltaEntryArrays.
Tomas Härdin [Fri, 16 Dec 2011 10:02:04 +0000 (11:02 +0100)]
mxfdec: Do not parse slices or DeltaEntryArrays.

The most recent demuxing/seeking code does not need them.

12 years agomxfdec: hybrid demuxing/seeking solution
Janne Grunau [Thu, 8 Dec 2011 19:28:49 +0000 (20:28 +0100)]
mxfdec: hybrid demuxing/seeking solution

This uses the old demuxing code for OP1a and separate demuxing code for OPAtom.
Timestamp output is added to the old demuxing code.

The seeking code is made to seek to the start of the desired EditUnit only,
from which the normal demuxing code takes over (if OP1a). This means we
do not use delta entries or slices, only StreamOffsets. OPAtom seeking
basically works like before.

This also makes D-10 seeking behave the same way as OP1a and OPAtom. In other
words, we allow seeking before the start or past the end for D-10 too.

Based on several patches by Tomas Härdin <tomas.hardin@codemill.se> and
Reimar Döffinger <Reimar.Doeffinger@gmx.de>.

Changed av_calloc to av_mallocz, added overflow checks.

12 years agomxfdec: Add Avid's essence element key.
Tomas Härdin [Sat, 10 Dec 2011 11:11:11 +0000 (12:11 +0100)]
mxfdec: Add Avid's essence element key.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomfxdec: Separate mxf_essence_container_uls for audio and video.
Carl Eugen Hoyos [Sat, 10 Dec 2011 13:58:57 +0000 (14:58 +0100)]
mfxdec: Separate mxf_essence_container_uls for audio and video.

It is a really bad idea to assign a video codec id
when we have set codec_type to audio and vice versa.

Prevents detection of mp2 in mxf as mpeg2video.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: Compute packet offsets properly.
Tomas Härdin [Thu, 8 Dec 2011 11:23:36 +0000 (12:23 +0100)]
mxfdec: Compute packet offsets properly.

This replaces the old essence_offset code.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: Use MaterialPackage - Track - TrackID instead of the system_item hack.
Tomas Härdin [Thu, 8 Dec 2011 10:53:57 +0000 (11:53 +0100)]
mxfdec: Use MaterialPackage - Track - TrackID instead of the system_item hack.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: use av_dlog() for 'no corresponding source package found'
Tomas Härdin [Thu, 8 Dec 2011 10:21:58 +0000 (11:21 +0100)]
mxfdec: use av_dlog() for 'no corresponding source package found'

This is not an error and expected behavior for OPAtom files.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: Make mxf->partitions sorted by offset.
Tomas Härdin [Thu, 8 Dec 2011 10:06:23 +0000 (11:06 +0100)]
mxfdec: Make mxf->partitions sorted by offset.

This also zeroes new entries for good measure (used by future patches).

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: parse ThisPartition
Tomas Härdin [Wed, 7 Dec 2011 16:43:36 +0000 (17:43 +0100)]
mxfdec: parse ThisPartition

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: Speed up metadata and index parsing.
Tomas Härdin [Mon, 14 Mar 2011 16:00:21 +0000 (17:00 +0100)]
mxfdec: Speed up metadata and index parsing.

Specifically, this means parsing as before until we run into essence.
At that point we seek to the footer and parse until EOF. After that we start
seeking backward to the previous partition and parse that until we run into
essence or the next partition. This procedure is repeated until we encounter
the last partition we parsed in the forward direction.

The end result of all this is that large essence containers are not needlessly
parsed. This speeds up parsing large files a lot.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: Make sure DataDefinition is consistent between material track and source...
Tomas Härdin [Mon, 28 Nov 2011 09:51:00 +0000 (10:51 +0100)]
mxfdec: Make sure DataDefinition is consistent between material track and source track.

This fixes 0001GL.MXF.V1.mxf_opatom.mxf and 0001GL00.MXF.A1.mxf_opatom.mxf
getting two streams each due to both using the same SourcePackageID.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: add EssenceContainer UL found in 0001GL00.MXF.A1.mxf_opatom.mxf
Tomas Härdin [Mon, 28 Nov 2011 08:53:10 +0000 (09:53 +0100)]
mxfdec: add EssenceContainer UL found in 0001GL00.MXF.A1.mxf_opatom.mxf

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: Add hack that adjusts the n_delta calculation when system items are present.
Tomas Härdin [Fri, 11 Nov 2011 14:01:34 +0000 (15:01 +0100)]
mxfdec: Add hack that adjusts the n_delta calculation when system items are present.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
12 years agomxfdec: Parse IndexTableSegments and convert them into AVIndexEntry arrays.
Janne Grunau [Wed, 9 Nov 2011 10:47:57 +0000 (11:47 +0100)]
mxfdec: Parse IndexTableSegments and convert them into AVIndexEntry arrays.

Based on patch from Tomas Härdin <tomas.hardin@codemill.se>
and work by Georg Lippitsch <georg.lippitsch@gmx.at>

Changed av_calloc to av_mallocz and added overflow checks.

12 years agomxfdec: Move FooterPartition to MXFContext and make sure it is never zero.
Tomas Härdin [Fri, 7 Oct 2011 13:48:00 +0000 (15:48 +0200)]
mxfdec: Move FooterPartition to MXFContext and make sure it is never zero.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>