ffmpeg.git
8 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>
8 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>
8 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>
8 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.

8 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>
8 years agomxfdec: check return value of avio_seek
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>
8 years agomxfdec: skip to end of structural sets
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>
8 years agomxfdec: parse MXF partitions
Tomas Härdin [Mon, 7 Feb 2011 15:07:41 +0000 (16:07 +0100)]
mxfdec: parse MXF partitions

8 years agoavserver: fix build after the next bump.
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.

8 years agortsp: Use a random offset for trying to open UDP ports for RTP
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>
8 years agortsp: Allow specifying the UDP port range via AVOptions
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>
8 years agortsp: Remove a leftover, currently pointless check
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>
8 years agortpdec: Use our own SSRC in the SDES field when sending RRs
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>
8 years agoFinalize changelog for 0.8 Release
Reinhard Tartler [Sat, 21 Jan 2012 17:37:25 +0000 (18:37 +0100)]
Finalize changelog for 0.8 Release

8 years agoPrepare for 0.8 Release
Reinhard Tartler [Sat, 21 Jan 2012 13:54:31 +0000 (14:54 +0100)]
Prepare for 0.8 Release

8 years agothreads: change the default for threads back to 1
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.

8 years agothreads: update slice_count and slice_offset from user context
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.

8 years agoaviocat: Remove useless includes
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>
8 years agodoc/APIChanges: fill in missing dates and hashes
Anton Khirnov [Sat, 21 Jan 2012 07:48:53 +0000 (08:48 +0100)]
doc/APIChanges: fill in missing dates and hashes

8 years agoRevert "avserver: fix build after the next bump."
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

8 years agompegaudiodec: switch error detection check to AV_EF_BUFFER
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>
8 years agolavf: rename fer option and document resulting (f_)err_detect options
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>
8 years agolavc: rename err_filter option to err_detect and document it
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>
8 years agompegvideo: fix invalid memory access for small video dimensions
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>
8 years agomovenc: Reorder entries in the MOVIentry struct, for tigheter packing
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>
8 years agortsp: Remove extern declarations for variables that don't exist
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>
8 years agoaviocat: Flush the output before closing
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>
8 years agoAdd a tool that uses avio to read and write, doing a plain copy of data
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>
8 years agoARM: fix build with FFT enabled and MDCT disabled
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>
8 years agolavf: force single-threaded decoding in avformat_find_stream_info
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.

8 years agoavidec: migrate last of lavf from FF_ER_* to AV_EF_*
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>
8 years agoavserver: fix build after the next bump.
Anton Khirnov [Thu, 12 Jan 2012 08:51:23 +0000 (09:51 +0100)]
avserver: fix build after the next bump.

8 years agompeg12: check for available bits to avoid an infinite loop
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>
8 years agofate: add some shorthands to run groups of tests
Diego Biurrun [Wed, 11 Jan 2012 12:42:17 +0000 (13:42 +0100)]
fate: add some shorthands to run groups of tests

8 years agofate: Give some tests more sensible names.
Diego Biurrun [Wed, 11 Jan 2012 12:37:29 +0000 (13:37 +0100)]
fate: Give some tests more sensible names.

8 years agocosmetics: Rename ffsink to avsink.
Diego Biurrun [Wed, 18 Jan 2012 22:00:12 +0000 (23:00 +0100)]
cosmetics: Rename ffsink to avsink.

8 years agoavprobe, cmdutils: K&R formatting cosmetics
Gaurav Narula [Wed, 18 Jan 2012 19:54:04 +0000 (20:54 +0100)]
avprobe, cmdutils: K&R formatting cosmetics

8 years agotests: K&R formatting cosmetics for test programs
Gaurav Narula [Wed, 18 Jan 2012 19:51:54 +0000 (20:51 +0100)]
tests: K&R formatting cosmetics for test programs

8 years agolavf: free packets for muxers implementing interleave_packet().
Anton Khirnov [Wed, 18 Jan 2012 07:07:40 +0000 (08:07 +0100)]
lavf: free packets for muxers implementing interleave_packet().

Fixes a memleak.

8 years agolavf: fix and extend av_interleaved_write_frame() doxy.
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.

8 years agomov: Remove dead stores for spherical coordinates for channel position.
Alex Converse [Wed, 18 Jan 2012 00:58:16 +0000 (16:58 -0800)]
mov: Remove dead stores for spherical coordinates for channel position.

8 years agoerror_resilience: K&R formatting cosmetics
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>
8 years agoRELEASE_NOTES: mention hiding private symbols in shared builds.
Anton Khirnov [Tue, 17 Jan 2012 12:38:35 +0000 (13:38 +0100)]
RELEASE_NOTES: mention hiding private symbols in shared builds.

8 years agoRELEASE_NOTES: mention some notable API changes in 0.8
Anton Khirnov [Tue, 17 Jan 2012 11:42:34 +0000 (12:42 +0100)]
RELEASE_NOTES: mention some notable API changes in 0.8

8 years agotta: cast output data pointer to the correct type
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"

8 years agoavconv: fix -frames for video encoders with delay.
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.

8 years agorv34: add NEON rv34_idct_add
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

8 years agorv34: 1-pass inter MB reconstruction
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.

8 years agoadd SMJPEG muxer
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>
8 years agoavformat: split out common SMJPEG code
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>
8 years agopictordec: Use bytestream2 functions
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>
8 years agoavconv: use avcodec_encode_audio2()
Justin Ruggles [Sat, 31 Dec 2011 14:36:25 +0000 (09:36 -0500)]
avconv: use avcodec_encode_audio2()

8 years agopcmenc: use AVCodec.encode2()
Justin Ruggles [Sun, 8 Jan 2012 22:37:16 +0000 (17:37 -0500)]
pcmenc: use AVCodec.encode2()

8 years agoavcodec: bump minor version and add APIChanges for the new audio encoding API
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

8 years agoavcodec: Add avcodec_encode_audio2() as replacement for avcodec_encode_audio()
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.

8 years agoavcodec: add a public function, avcodec_fill_audio_frame().
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.

8 years agorv34: Intra 16x16 handling
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.

8 years agorv34: Inter/intra MB code split
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>
8 years agofate: split ADPCM and DPCM test references into separate files.
Diego Biurrun [Thu, 12 Jan 2012 23:58:22 +0000 (00:58 +0100)]
fate: split ADPCM and DPCM test references into separate files.

8 years agomov, mxfdec: Employ more meaningful return values.
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>
8 years agolavc: Relax API strictness in avcodec_decode_audio3 with a custom get_buffer()
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>
8 years agowavpack: fix clipping for 32-bit lossy mode
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.

8 years agovb: Use bytestream2 functions
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>
8 years agosgidec: Use bytestream2 functions to prevent buffer overreads.
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>
8 years agocosmetics: Move static and inline attributes to more standard places.
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.

8 years agoconfigure: provide libavfilter/version.h header to get_version()
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>
8 years agoswscale: change yuv2yuvX code to use cpuflag().
Ronald S. Bultje [Fri, 13 Jan 2012 19:21:15 +0000 (11:21 -0800)]
swscale: change yuv2yuvX code to use cpuflag().

8 years agolibx264: Don't leave max_b_frames as -1 if the user didn't set it
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>
8 years agoFATE: convert output to rgba for the targa tests which currently output pal8
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

8 years agofate: add missing reference files for targa tests in 9c2f9b0e2
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.

8 years agoFATE: enable the 2 remaining targa conformance suite tests
Justin Ruggles [Fri, 13 Jan 2012 21:41:15 +0000 (16:41 -0500)]
FATE: enable the 2 remaining targa conformance suite tests

8 years agotarga: add support for rgb555 palette
Justin Ruggles [Mon, 2 Jan 2012 20:17:12 +0000 (15:17 -0500)]
targa: add support for rgb555 palette

8 years agoFATE: fix targa tests on big-endian systems
Justin Ruggles [Fri, 13 Jan 2012 21:14:48 +0000 (16:14 -0500)]
FATE: fix targa tests on big-endian systems

8 years agoFATE: add tests for targa
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>

8 years agoARM: fix Thumb-mode simple_idct_arm
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>
8 years agoARM: 4-byte align start of all asm functions
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>
8 years agorgb2rgb: rgb12to15()
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>
8 years agoswscale-test: fix stack overread.
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.

8 years agoswscale: fix invalid conversions and memory problems.
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.

8 years agocabac: split cabac.h into declarations and function definitions
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.

8 years agocabac: Mark ff_h264_mps_state array as static, it is only used within cabac.c.
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.

8 years agocabac: Remove ff_h264_lps_state array.
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.

8 years agoutils: Check for extradata size overflows.
Alex Converse [Thu, 12 Jan 2012 19:12:24 +0000 (11:12 -0800)]
utils: Check for extradata size overflows.

8 years agoARM: rv34: fix asm syntax in dc transform functions
Mans Rullgard [Thu, 12 Jan 2012 19:37:31 +0000 (19:37 +0000)]
ARM: rv34: fix asm syntax in dc transform functions

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
8 years agoavio: Fix the value of the deprecated URL_FLAG_NONBLOCK
Martin Storsjö [Thu, 12 Jan 2012 15:06:04 +0000 (17:06 +0200)]
avio: Fix the value of the deprecated URL_FLAG_NONBLOCK

This isn't used in practice anywhere within libav at the moment,
but change it for consistency until it is removed.
URL_RDONLY/WRONLY were fixed in commit 5b81e295931 (after the
values that actually were used were changed at the major bump,
in commit cbea3ac8), but this flag was unintentionally left unfixed.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agorv34: fix and optimise frame dependency checking
Janne Grunau [Wed, 11 Jan 2012 19:10:23 +0000 (20:10 +0100)]
rv34: fix and optimise frame dependency checking

The sporadic threading errors during fate-rv30 were caused by calling
ff_thread_await_progress with mb row -1 as argument. That returns
immediately since progress is initialized to -1. Not yet computed
motion vectors from the reference could be used for the first
macroblocks.

8 years agorv34: NEON optimised dc only inverse transform
Janne Grunau [Thu, 12 Jan 2012 16:21:48 +0000 (17:21 +0100)]
rv34: NEON optimised dc only inverse transform

30-50% faster than the C implementation, 0.5% overall speedup on
bourne.rmvb.

8 years agoavprobe: use avio_size() instead of deprecated AVFormatContext.file_size.
Anton Khirnov [Thu, 12 Jan 2012 08:45:13 +0000 (09:45 +0100)]
avprobe: use avio_size() instead of deprecated AVFormatContext.file_size.

8 years agoffmenc: remove references to deprecated AVFormatContext.timestamp.
Anton Khirnov [Thu, 12 Jan 2012 08:38:13 +0000 (09:38 +0100)]
ffmenc: remove references to deprecated AVFormatContext.timestamp.

8 years agolavf: undeprecate read_seek().
Anton Khirnov [Thu, 12 Jan 2012 08:36:11 +0000 (09:36 +0100)]
lavf: undeprecate read_seek().

The "new seeking API" was never finished and nobody is working on it.

8 years agoavserver: remove code using deprecated CODEC_CAP_PARSE_ONLY.
Anton Khirnov [Thu, 12 Jan 2012 08:33:16 +0000 (09:33 +0100)]
avserver: remove code using deprecated CODEC_CAP_PARSE_ONLY.

8 years agolavc: replace some remaining FF_I_TYPE with AV_PICTURE_TYPE_I
Anton Khirnov [Thu, 12 Jan 2012 08:29:43 +0000 (09:29 +0100)]
lavc: replace some remaining FF_I_TYPE with AV_PICTURE_TYPE_I

8 years agolavc: ifdef out parse_only AVOption
Anton Khirnov [Thu, 12 Jan 2012 08:28:15 +0000 (09:28 +0100)]
lavc: ifdef out parse_only AVOption

8 years agonellymoserdec: SAMPLE_FMT -> AV_SAMPLE_FMT
Anton Khirnov [Thu, 12 Jan 2012 08:26:11 +0000 (09:26 +0100)]
nellymoserdec: SAMPLE_FMT -> AV_SAMPLE_FMT

8 years agompegvideo_enc: ifdef out/replace references to deprecated codec flags.
Anton Khirnov [Thu, 12 Jan 2012 08:25:05 +0000 (09:25 +0100)]
mpegvideo_enc: ifdef out/replace references to deprecated codec flags.

8 years agoriff: remove references to sonic codec ids
Anton Khirnov [Thu, 12 Jan 2012 08:12:59 +0000 (09:12 +0100)]
riff: remove references to sonic codec ids

They are deprecated and will be purged on next major bump.

8 years agoindeo4: add some missing static and const qualifiers
Kostya Shishkov [Thu, 12 Jan 2012 09:01:33 +0000 (10:01 +0100)]
indeo4: add some missing static and const qualifiers

From the patch by Reimar Döffinger.

8 years agorv34: DC-only inverse transform
Christophe GISQUET [Sun, 1 Jan 2012 17:33:22 +0000 (18:33 +0100)]
rv34: DC-only inverse transform

When decoding coefficients, detect whether the block is DC-only, and take
advantage of this knowledge to perform DC-only inverse transform.

This is achieved by:
- first, changing the 108x4 element modulo_three_table into a 108 element
  table (kind of base4), and accessing each value using mask and shifts.
- then, checking low bits for 0 (as they represent the presence of higher
  frequency coefficients)

Also provide x86 SIMD code for the DC-only inverse transform.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
8 years agoavconv: use AVFrame.width/height/format instead of corresponding AVCodecContext fields
Anton Khirnov [Sat, 31 Dec 2011 16:15:50 +0000 (17:15 +0100)]
avconv: use AVFrame.width/height/format instead of corresponding AVCodecContext fields

8 years agolavfi: move version macros to a new installed header version.h
Anton Khirnov [Sat, 31 Dec 2011 15:20:10 +0000 (16:20 +0100)]
lavfi: move version macros to a new installed header version.h