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>
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>
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>
Janne Grunau [Sun, 22 Jan 2012 18:57:13 +0000 (19:57 +0100)]
mxfdec: fix memleak on mxf_read_close()
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.
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
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>
Janne Grunau [Wed, 21 Dec 2011 19:12:24 +0000 (20:12 +0100)]
mxfdec: fix memleak on av_realloc failures
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.
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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>
Joakim Plate [Wed, 14 Sep 2011 17:26:48 +0000 (19:26 +0200)]
mxfdec: check return value of avio_seek
Avoid modifying state if avio_seek fails.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Philip de Nier [Mon, 12 Sep 2011 10:13:44 +0000 (11:13 +0100)]
mxfdec: skip to end of structural sets
This fixes reading of partition packs. The code stops reading after the
operational pattern and should skip the array of essence container
labels that follow.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Tomas Härdin [Mon, 7 Feb 2011 15:07:41 +0000 (16:07 +0100)]
mxfdec: parse MXF partitions
Anton Khirnov [Thu, 12 Jan 2012 08:51:23 +0000 (09:51 +0100)]
avserver: fix build after the next bump.
Now that 0.8 is out we can reapply this commit. It breaks shared
avserver builds due to avserver using internal libavformat symbols,
which are now hidden, so this commit also disables avserver with
--enable-shared.
Dmitry Volyntsev [Wed, 18 Jan 2012 09:46:37 +0000 (13:46 +0400)]
rtsp: Use a random offset for trying to open UDP ports for RTP
This avoids (for all practical cases) the issue of reusing
the same UDP port as for an earlier connection. If the remote
doesn't know the previous session was closed, he might keep
on sending packets to that port. If we always start off trying
to open the same UDP port, we might get those packets intermixed
with the new ones.
This is occasionally an issue when testing RTSP stuff with
DSS, perhaps also with other servers.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sat, 21 Jan 2012 21:28:11 +0000 (23:28 +0200)]
rtsp: Allow specifying the UDP port range via AVOptions
Signed-off-by: Martin Storsjö <martin@martin.st>
Dmitry Volyntsev [Wed, 18 Jan 2012 09:54:16 +0000 (13:54 +0400)]
rtsp: Remove a leftover, currently pointless check
This check isn't relevant in the way the code currently works.
Also change a case of if (x == 0) into if (!x).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sat, 21 Jan 2012 15:20:45 +0000 (17:20 +0200)]
rtpdec: Use our own SSRC in the SDES field when sending RRs
The s->ssrc field is the sender's SSRC, we use ssrc + 1 to get
a collision free "unique" SSRC for ourselves in the RR part.
The SDES block in the RTCP packet should describe ourselves,
not the sender.
This was fixed for the RR part in
952139a3226b, but wasn't
fixed for the SDES part until now.
This could cause some Axis cameras to send RTCP BYE packets
to us due to the SSRC collision.
Signed-off-by: Martin Storsjö <martin@martin.st>
Reinhard Tartler [Sat, 21 Jan 2012 17:37:25 +0000 (18:37 +0100)]
Finalize changelog for 0.8 Release
Reinhard Tartler [Sat, 21 Jan 2012 13:54:31 +0000 (14:54 +0100)]
Prepare for 0.8 Release
Janne Grunau [Wed, 18 Jan 2012 09:53:41 +0000 (10:53 +0100)]
threads: change the default for threads back to 1
Using threaded decoding by default breaks backward compatibility if
AVHWAccel is used or if an appliction sets threadunsafe callbacks.
Avconv and avplay still use -threads auto if not specified.
Janne Grunau [Fri, 20 Jan 2012 12:37:00 +0000 (13:37 +0100)]
threads: update slice_count and slice_offset from user context
They are used to signal the number of slices and offsets of each slice
out of band to the decoder.
Martin Storsjö [Sat, 21 Jan 2012 09:33:35 +0000 (11:33 +0200)]
aviocat: Remove useless includes
Also include stdlib.h explicitly - currently it is used
implicitly via avformat.h.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sat, 21 Jan 2012 07:48:53 +0000 (08:48 +0100)]
doc/APIChanges: fill in missing dates and hashes
Anton Khirnov [Sat, 21 Jan 2012 07:40:47 +0000 (08:40 +0100)]
Revert "avserver: fix build after the next bump."
This temporarily (until 0.8 is released) reverts commit
8e1340abc316e038bb89e5a3b46e92ff58c98a88. That commit breaks shared
builds because of symbol hiding. Reverting it will enable shared builds
for 0.8
Dustin Brody [Mon, 16 Jan 2012 13:25:04 +0000 (08:25 -0500)]
mpegaudiodec: switch error detection check to AV_EF_BUFFER
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Dustin Brody [Fri, 20 Jan 2012 08:53:54 +0000 (03:53 -0500)]
lavf: rename fer option and document resulting (f_)err_detect options
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Dustin Brody [Fri, 20 Jan 2012 08:57:32 +0000 (03:57 -0500)]
lavc: rename err_filter option to err_detect and document it
Signed-off-by: Anton Khirnov <anton@khirnov.net>
John Brooks [Tue, 13 Dec 2011 00:04:14 +0000 (17:04 -0700)]
mpegvideo: fix invalid memory access for small video dimensions
When either video dimension is only one macroblock, subtractions
based on v_edge_pos and the macroblock size may be negative. In
that situation, an unsigned comparison isn't sufficent to test for
MV overruns, because a limit of (unsigned)-1 will let any other
value pass.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Fri, 20 Jan 2012 18:48:19 +0000 (20:48 +0200)]
movenc: Reorder entries in the MOVIentry struct, for tigheter packing
Originally, sizeof(struct MOVIentry) was 48, after the reordering,
it is 40 in my build configuration.
When writing really long mov/mp4 files, this can make a difference
- this saves a bit over 2 MB of memory per hour of video (down to
10.3 MB per hour from 12.3 MB per hour initially) for a video with
75 packets per second - 25 fps + 50 audio packets (which is the
case for AMR audio).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 20 Jan 2012 14:57:23 +0000 (16:57 +0200)]
rtsp: Remove extern declarations for variables that don't exist
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 20 Jan 2012 20:53:18 +0000 (22:53 +0200)]
aviocat: Flush the output before closing
Without this, the end of the file might not be transmitted/written.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 19 Jan 2012 12:01:19 +0000 (14:01 +0200)]
Add a tool that uses avio to read and write, doing a plain copy of data
It also optionally can throttle its operation to a particular
speed, to simulate realtime writing.
Signed-off-by: Martin Storsjö <martin@martin.st>
Felipe Contreras [Fri, 20 Jan 2012 16:01:07 +0000 (16:01 +0000)]
ARM: fix build with FFT enabled and MDCT disabled
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Mans Rullgard <mans@mansr.com>
Janne Grunau [Wed, 18 Jan 2012 19:32:32 +0000 (20:32 +0100)]
lavf: force single-threaded decoding in avformat_find_stream_info
The H.264 decoder needs SPS and PPS for initialization during
multi-threaded decoding. When probed single-threaded SPS and PPS are
copied to extradata and are available for proper initialization of
the decoder before the first frame is decoded.
Dustin Brody [Wed, 18 Jan 2012 09:16:42 +0000 (04:16 -0500)]
avidec: migrate last of lavf from FF_ER_* to AV_EF_*
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Thu, 12 Jan 2012 08:51:23 +0000 (09:51 +0100)]
avserver: fix build after the next bump.
Jindřich Makovička [Wed, 18 Jan 2012 21:07:22 +0000 (22:07 +0100)]
mpeg12: check for available bits to avoid an infinite loop
Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Wed, 11 Jan 2012 12:42:17 +0000 (13:42 +0100)]
fate: add some shorthands to run groups of tests
Diego Biurrun [Wed, 11 Jan 2012 12:37:29 +0000 (13:37 +0100)]
fate: Give some tests more sensible names.
Diego Biurrun [Wed, 18 Jan 2012 22:00:12 +0000 (23:00 +0100)]
cosmetics: Rename ffsink to avsink.
Gaurav Narula [Wed, 18 Jan 2012 19:54:04 +0000 (20:54 +0100)]
avprobe, cmdutils: K&R formatting cosmetics
Gaurav Narula [Wed, 18 Jan 2012 19:51:54 +0000 (20:51 +0100)]
tests: K&R formatting cosmetics for test programs
Anton Khirnov [Wed, 18 Jan 2012 07:07:40 +0000 (08:07 +0100)]
lavf: free packets for muxers implementing interleave_packet().
Fixes a memleak.
Anton Khirnov [Wed, 18 Jan 2012 06:59:02 +0000 (07:59 +0100)]
lavf: fix and extend av_interleaved_write_frame() doxy.
Specify that lavf is responsible for freeing the data.
Alex Converse [Wed, 18 Jan 2012 00:58:16 +0000 (16:58 -0800)]
mov: Remove dead stores for spherical coordinates for channel position.
Donald Ovcharov [Sat, 17 Dec 2011 19:30:01 +0000 (21:30 +0200)]
error_resilience: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Anton Khirnov [Tue, 17 Jan 2012 12:38:35 +0000 (13:38 +0100)]
RELEASE_NOTES: mention hiding private symbols in shared builds.
Anton Khirnov [Tue, 17 Jan 2012 11:42:34 +0000 (12:42 +0100)]
RELEASE_NOTES: mention some notable API changes in 0.8
Justin Ruggles [Sat, 7 Jan 2012 15:25:32 +0000 (10:25 -0500)]
tta: cast output data pointer to the correct type
fixes "warning: assignment from incompatible pointer type"
Anton Khirnov [Mon, 2 Jan 2012 08:22:41 +0000 (09:22 +0100)]
avconv: fix -frames for video encoders with delay.
Frames must be counted when they are passed to the encoder, not when
they come out.
Fixes Bug 202.
Janne Grunau [Sun, 15 Jan 2012 18:16:02 +0000 (19:16 +0100)]
rv34: add NEON rv34_idct_add
Overall almost 4% faster, idct_add down from 350 to 85 cycles, idct_dc_add
down from 83 to 30 cycles.
squash: rv34 idct rearrange partial register loads
Christophe GISQUET [Tue, 3 Jan 2012 19:38:29 +0000 (20:38 +0100)]
rv34: 1-pass inter MB reconstruction
Implement 1-pass inverse transform and reconstruction for inter blocks.
Paul B Mahol [Sat, 14 Jan 2012 19:29:59 +0000 (19:29 +0000)]
add SMJPEG muxer
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Paul B Mahol [Sat, 14 Jan 2012 16:47:07 +0000 (16:47 +0000)]
avformat: split out common SMJPEG code
This is a preparation for adding SMJPEG muxer.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Laurentiu Ion [Mon, 16 Jan 2012 02:47:07 +0000 (04:47 +0200)]
pictordec: Use bytestream2 functions
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Justin Ruggles [Sat, 31 Dec 2011 14:36:25 +0000 (09:36 -0500)]
avconv: use avcodec_encode_audio2()
Justin Ruggles [Sun, 8 Jan 2012 22:37:16 +0000 (17:37 -0500)]
pcmenc: use AVCodec.encode2()
Justin Ruggles [Mon, 19 Dec 2011 00:47:38 +0000 (19:47 -0500)]
avcodec: bump minor version and add APIChanges for the new audio encoding API
Justin Ruggles [Sun, 18 Dec 2011 18:20:15 +0000 (13:20 -0500)]
avcodec: Add avcodec_encode_audio2() as replacement for avcodec_encode_audio()
This allows audio encoders to optionally take an AVFrame as input and write
encoded output to an AVPacket.
This also adds AVCodec.encode2() which will also be usable by video and
subtitle encoders once support is implemented in the public functions.
Justin Ruggles [Thu, 15 Dec 2011 22:56:06 +0000 (17:56 -0500)]
avcodec: add a public function, avcodec_fill_audio_frame().
This is a convenience function for the user to fill audio AVFrame information.
Christophe GISQUET [Mon, 2 Jan 2012 23:22:11 +0000 (00:22 +0100)]
rv34: Intra 16x16 handling
Extract processing of intra 16x16 blocks from intra macroblock
processing.
Also implement a function performing inverse transform and block
reconstruction for DC-only blocks in 1 pass instead of 2.
Christophe GISQUET [Mon, 2 Jan 2012 19:53:54 +0000 (20:53 +0100)]
rv34: Inter/intra MB code split
Split inter/intra macroblock handling code. This will allow further
optimizations such as performing inverse transform and block reconstruction
in a single pass as well as specialize code.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Diego Biurrun [Thu, 12 Jan 2012 23:58:22 +0000 (00:58 +0100)]
fate: split ADPCM and DPCM test references into separate files.
Daniel Huang [Sat, 14 Jan 2012 21:25:12 +0000 (15:25 -0600)]
mov, mxfdec: Employ more meaningful return values.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Reinhard Tartler [Sun, 15 Jan 2012 19:32:11 +0000 (20:32 +0100)]
lavc: Relax API strictness in avcodec_decode_audio3 with a custom get_buffer()
Do not fail audio decoding with avcodec_decode_audio3 if user has set a
custom get_buffer. Strictly speaking, this was never allowed by the API,
but it seems that some software packages did so anyways. In order to
unbreak applications (cf. http://bugs.debian.org/655890), this change
clarifies the API and overrides the custom get_buffer() with the defaults.
This change is inspired by a similar
commit (
c3846e3ebab610be691adb8b40d376dc2f675dc4) in FFmpeg.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
Kostya Shishkov [Sun, 15 Jan 2012 13:23:28 +0000 (14:23 +0100)]
wavpack: fix clipping for 32-bit lossy mode
Reference decoder clips data before shifting it to final range and also
forces 32-bit lossy mode to be actually 24-bit lossy mode in order to be
able to perform proper clipping.
Laurentiu Ion [Sat, 14 Jan 2012 19:04:59 +0000 (21:04 +0200)]
vb: Use bytestream2 functions
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Aneesh Dogra [Fri, 13 Jan 2012 17:35:57 +0000 (23:05 +0530)]
sgidec: Use bytestream2 functions to prevent buffer overreads.
The patch also adds several bytestream macros to deal with native endian.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Diego Biurrun [Fri, 13 Jan 2012 15:35:54 +0000 (16:35 +0100)]
cosmetics: Move static and inline attributes to more standard places.
Fixes several "‘static’ is not at beginning of declaration" warnings.
Stefano Sabatini [Fri, 13 Jan 2012 15:23:55 +0000 (16:23 +0100)]
configure: provide libavfilter/version.h header to get_version()
Fix libavfilter library version numbers generation, which was broken in
3167dc9515810bbdd86d99d773bcf84657d2e72a.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Ronald S. Bultje [Fri, 13 Jan 2012 19:21:15 +0000 (11:21 -0800)]
swscale: change yuv2yuvX code to use cpuflag().
Martin Storsjö [Fri, 13 Jan 2012 21:41:16 +0000 (23:41 +0200)]
libx264: Don't leave max_b_frames as -1 if the user didn't set it
max_b_frames is initialized to -1 for libx264, to allow
distinguishing between an explicit user set 0 and a default not
touched 0 (see
bb73cda2).
If max_b_frames is left as -1, this affects dts generation (where
expressions like max_b_frames != 0 are used), so make sure it is
left at the default 0 after the libx264 init function returns.
This avoids unnecessarily producing dts != pts when using
profile=baseline.
Signed-off-by: Martin Storsjö <martin@martin.st>
Justin Ruggles [Fri, 13 Jan 2012 23:40:12 +0000 (18:40 -0500)]
FATE: convert output to rgba for the targa tests which currently output pal8
fixes the tests on big-endian systems
Janne Grunau [Fri, 13 Jan 2012 22:52:59 +0000 (23:52 +0100)]
fate: add missing reference files for targa tests in
9c2f9b0e2
Fixes fate-targa-conformance-CCM8 and fate-targa-conformance-UCM8.
Justin Ruggles [Fri, 13 Jan 2012 21:41:15 +0000 (16:41 -0500)]
FATE: enable the 2 remaining targa conformance suite tests
Justin Ruggles [Mon, 2 Jan 2012 20:17:12 +0000 (15:17 -0500)]
targa: add support for rgb555 palette
Justin Ruggles [Fri, 13 Jan 2012 21:14:48 +0000 (16:14 -0500)]
FATE: fix targa tests on big-endian systems
Justin Ruggles [Thu, 12 Jan 2012 01:06:46 +0000 (20:06 -0500)]
FATE: add tests for targa
Based on a patch by Oana Stratulat <oanaandreeastratulat@gmail.com>
Mans Rullgard [Fri, 13 Jan 2012 19:03:14 +0000 (19:03 +0000)]
ARM: fix Thumb-mode simple_idct_arm
The alignment directive must obviously precede the label.
This was never noticed in ARM mode since the location is
already aligned there.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Fri, 13 Jan 2012 18:56:36 +0000 (18:56 +0000)]
ARM: 4-byte align start of all asm functions
Due to apprent bugs in the GNU assembler and/or linker, relocations
can be incorrectly processed if the alignment of a Thumb instruction
is changed in the output file compared to the input object.
This fixes crashes in h264 decoding with Thumb enabled. No effect in
ARM mode since everything is 4-byte aligned there.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Paul B Mahol [Thu, 12 Jan 2012 20:28:47 +0000 (20:28 +0000)]
rgb2rgb: rgb12to15()
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Ronald S. Bultje [Thu, 12 Jan 2012 23:38:37 +0000 (15:38 -0800)]
swscale-test: fix stack overread.
Fixes problems in swscale-test where it gives a 3-member array to a
function expecting a 4-member array.
Ronald S. Bultje [Thu, 12 Jan 2012 23:37:58 +0000 (15:37 -0800)]
swscale: fix invalid conversions and memory problems.
Fixes problems where rgbToRgbWrapper() is called even though it doesn't
support this particular conversion (e.g. converting from RGB444 to
anything). Thirdly, fixes issues where rgbToRgbWrapper() is called for
non-native endiannness conversions (e.g. RGB555BE on a LE system).
Fourthly, fixes crashes when converting from e.g. monowhite to
monowhite, which calls planarCopyWrapper() and overwrites/reads because
n_bytes != n_pixels.
Diego Biurrun [Thu, 12 Jan 2012 20:56:02 +0000 (21:56 +0100)]
cabac: split cabac.h into declarations and function definitions
This fixes standalone compilation of some decoders with --disable-optimizations.
cabac.h defines some inline functions that use symbols from cabac.c. Without
optimizations these inline functions are not eliminated and linking fails with
references to non-existing symbols.
Splitting the inline functions off into their own header and only #including
it in the places where the inline functions are used allows #including cabac.h
from anywhere without ill effects.
Diego Biurrun [Thu, 12 Jan 2012 20:35:34 +0000 (21:35 +0100)]
cabac: Mark ff_h264_mps_state array as static, it is only used within cabac.c.
Diego Biurrun [Thu, 12 Jan 2012 20:11:27 +0000 (21:11 +0100)]
cabac: Remove ff_h264_lps_state array.
It was only ever used in the cabac test program, but never initialized.