Commit Graph

17207 Commits

Author SHA1 Message Date
Reimar Döffinger
6fd4b8a6ef Replace a av_fast_malloc with av_fast_padded_malloc.
This one was missed in the previous fraps fix, the
allocation is exactly the same in both cases.
Fixes fraps-v5 under valgrind.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-18 22:04:14 +01:00
Reimar Döffinger
e8b060f7e7 Use av_fast_padded_malloc in mimic and truemotion2 decoders.
Fixes use of uninitialized data errors under valgrind.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-18 22:04:14 +01:00
Reimar Döffinger
f9ced97543 Use av_fast_padded_malloc in fraps and mpc decoders.
Fixes FATE failures due to uninitialized reads under valgrind
for these two codecs.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-18 21:22:01 +01:00
Michael Niedermayer
e49780f749 lavc: call ff_init_buffer_info() from default reget buffer.
This is needed in case the get_buffer() callback doesnt set
width/height.
Ideally all decoders would make calls through some wraper
to the callbacks and that wraper would call ff_init_buffer_info()
But until thats done, the default reget buffer must call this
itself as it needs the values for the changed size check later.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-18 16:25:36 +01:00
Michael Niedermayer
2fb65d3e55 lavc: when w/h changes in reget buffer, print the values.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-18 16:25:36 +01:00
Michael Niedermayer
e191f1f414 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  tta: cast output data pointer to the correct type
  avconv: fix -frames for video encoders with delay.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-18 02:08:12 +01:00
Reimar Döffinger
178f8ea76e Use ff_packet_free_side_data instead of duplicating it.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-17 22:16:07 +01:00
Paul B Mahol
aff9cb8377 lavc: remove unused headers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-17 20:55:19 +01:00
Reimar Döffinger
3b55429d56 Add and use av_fast_padded_malloc.
The same as av_fast_malloc but uses av_mallocz and keeps extra
always-0 padding.
This does not mean the memory will be 0-initialized after each call,
but actually only after each growth of the buffer.
However this makes sure that
a) all data anywhere in the buffer is always initialized
b) the padding is always 0
c) the user does not have to bother with adding the padding themselves
Fixes another valgrind warning about use of uninitialized data,
this time with fate-vsynth1-jpegls.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-17 20:16:35 +01:00
Michael Niedermayer
a129622390 lavc: Check CODEC_CAP_VARIABLE_FRAME_SIZE && !frame
This combination is quite odd and almost certainly a bug if
it happens.

Reviewed-by: Justin Ruggles <justin.ruggles@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-17 20:08:29 +01:00
Michael Niedermayer
af5004b557 lavc: use av_freep() for freeing extended_data
This is safer

Reviewed-by: Justin Ruggles <justin.ruggles@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-17 20:07:50 +01:00
Justin Ruggles
01ed1c390d tta: cast output data pointer to the correct type
fixes "warning: assignment from incompatible pointer type"
2012-01-17 09:41:13 -05:00
Stefano Sabatini
9f7144b44c lavc/mpegvideo_enc: improve log message in case of too large GOP
Change log level from ERROR to WARNING and provide more specific
information in the message itself.
2012-01-17 12:03:30 +01:00
Michael Bradshaw
56af084cb5 libopenjpegenc: Remove two redundant function parameters. 2012-01-17 12:01:42 +01:00
Michael Bradshaw
a02694c926 libopenjpegenc: Simplify gray encoding. 2012-01-17 11:57:36 +01:00
Michael Bradshaw
0abe25aa7b libopenjpegenc: Add error messages. 2012-01-17 11:47:08 +01:00
Michael Bradshaw
ee33eb40fc libopenjpegenc: Rename four conversion functions. 2012-01-17 11:43:44 +01:00
Reimar Döffinger
7e62315c91 Use correct register size.
Fixes compilation with NASM.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-17 08:41:39 +01:00
Michael Niedermayer
67f5650a78 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv34: add NEON rv34_idct_add
  rv34: 1-pass inter MB reconstruction
  add SMJPEG muxer
  avformat: split out common SMJPEG code
  pictordec: Use bytestream2 functions
  avconv: use avcodec_encode_audio2()
  pcmenc: use AVCodec.encode2()
  avcodec: bump minor version and add APIChanges for the new audio encoding API
  avcodec: Add avcodec_encode_audio2() as replacement for avcodec_encode_audio()
  avcodec: add a public function, avcodec_fill_audio_frame().
  rv34: Intra 16x16 handling
  rv34: Inter/intra MB code split

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/pictordec.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/rv34dsp.asm
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-17 02:37:30 +01:00
Michael Niedermayer
905c4dc2b0 dpxenc: Dont store lavc indent when bitexact is set.
This avoids fate breakage from bumping version.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-17 01:37:59 +01:00
Carl Eugen Hoyos
00430075bd Support 64bit pam decoding. 2012-01-17 00:42:17 +01:00
Carl Eugen Hoyos
328e79329a Support gray8a pam decoding. 2012-01-17 00:42:17 +01:00
Carl Eugen Hoyos
dc2f652ae4 Fix pix_fmt_info for yuva420.
This allows correct output pix_fmt auto-selection
if the input pix_fmt is yuva420.

Fixes ticket #290.
2012-01-17 00:42:17 +01:00
Maksym Veremeyenko
94bf9ac473 fix av_dlog call with non-AVClass struct
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-16 20:32:16 +01:00
Janne Grunau
9e12002f11 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
2012-01-16 19:26:41 +01:00
Christophe GISQUET
9ba9c34024 rv34: 1-pass inter MB reconstruction
Implement 1-pass inverse transform and reconstruction for inter blocks.
2012-01-16 19:26:41 +01:00
Reimar Döffinger
7594791541 Rework VP8 decoder frame skipping code.
This reworks the frame skipping code such that the reference
buffers are still updated according to the header.
However it also ensures that the current frame will not end
up in any reference buffer.
Also fixes a hang with frame-multithreading, probably because
get_buffer was already called and would have reset the progress,
however the frame could remain in framep due to the missing update
(or it could be assigned to next_framep and a skip_frame skip would
then write it into framep - there might be even more failure modes).
Sample might become available at samples/nsv/vp8.nsv

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-16 19:21:24 +01:00
Carl Eugen Hoyos
203ea375ca Support rgb64 dpx encoding. 2012-01-16 10:59:27 +01:00
Laurentiu Ion
d859191322 pictordec: Use bytestream2 functions
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-01-15 22:44:00 -05:00
Michael Niedermayer
ebc9ff8e7d vorbisdec: Check that the x values of floor1 are unique.
This is required by the spec and fixes video-1frag.ogg.48.ogg. (FPE)

Based on the debuging work of Oana Stratulat and ubitux.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-16 03:30:27 +01:00
Justin Ruggles
05f95443ca pcmenc: use AVCodec.encode2() 2012-01-15 21:24:18 -05:00
Justin Ruggles
a6ccae3f4c avcodec: bump minor version and add APIChanges for the new audio encoding API 2012-01-15 21:24:17 -05:00
Justin Ruggles
b2c75b6e63 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.
2012-01-15 21:24:17 -05:00
Justin Ruggles
5ee5fa021f avcodec: add a public function, avcodec_fill_audio_frame().
This is a convenience function for the user to fill audio AVFrame information.
2012-01-15 21:24:17 -05:00
Michael Niedermayer
4a4c4278b7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: split ADPCM and DPCM test references into separate files.
  mov, mxfdec: Employ more meaningful return values.
  lavc: Relax API strictness in avcodec_decode_audio3 with a custom get_buffer()
  wavpack: fix clipping for 32-bit lossy mode
  vb: Use bytestream2 functions

Conflicts:
	libavcodec/utils.c
	libavcodec/vb.c
	libavformat/mxfdec.c
	tests/fate/dpcm.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-16 01:33:35 +01:00
Christophe GISQUET
d78062386e 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.
2012-01-16 00:41:51 +01:00
Christophe GISQUET
3eeb755763 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>
2012-01-16 00:41:51 +01:00
Carl Eugen Hoyos
f94ce3bcab Support rgb48 and rgba64 png encoding. 2012-01-15 22:04:25 +01:00
Carl Eugen Hoyos
107f55cb01 Simplify RGB32 png encoding. 2012-01-15 22:00:11 +01:00
Carl Eugen Hoyos
fdc013da78 Support gray16 png encoding. 2012-01-15 21:57:02 +01:00
Carl Eugen Hoyos
ed10ca4c76 Support gray8a png encoding. 2012-01-15 21:53:01 +01:00
Reinhard Tartler
e2ff436ef6 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 (c3846e3eba) in FFmpeg.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-01-15 21:40:59 +01:00
Kostya Shishkov
e6e7bfc11e 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.
2012-01-15 15:27:55 +01:00
Peter Ross
69224582da iff: support masking plane feature
Fixes ticket 705.

Reported-by: ami-stuff
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-15 14:13:25 +01:00
Reimar Döffinger
8af6b9711e Fix uninitialized reads for fate-vsynth1-asv2 test.
This is not a real error and memsetting always even when the
size did not change is overkill, but it still should be
an acceptable trade-off.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-15 13:54:19 +01:00
Laurentiu Ion
4fccc7c46c vb: Use bytestream2 functions
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-01-14 22:12:53 -05:00
Michael Niedermayer
d9816cd5df imgconvert: add PIX_FMT_GRAY8A to pix_fmt_info
Fixes selecting gray8a for PAM

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-15 02:40:18 +01:00
Michael Niedermayer
4640da7e58 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sgidec: Use bytestream2 functions to prevent buffer overreads.
  cosmetics: Move static and inline attributes to more standard places.
  configure: provide libavfilter/version.h header to get_version()
  swscale: change yuv2yuvX code to use cpuflag().
  libx264: Don't leave max_b_frames as -1 if the user didn't set it
  FATE: convert output to rgba for the targa tests which currently output pal8
  fate: add missing reference files for targa tests in 9c2f9b0e2
  FATE: enable the 2 remaining targa conformance suite tests
  targa: add support for rgb555 palette
  FATE: fix targa tests on big-endian systems

Conflicts:
	libavcodec/sgidec.c
	libavcodec/targa.c
	libswscale/x86/output.asm
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-15 01:16:54 +01:00
Michael Niedermayer
a91f206665 ljpegdec: reset restart interval for each plane of a non interleaved file.
Fixes Ticket907

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-15 00:53:59 +01:00
Michael Niedermayer
1843e6c8aa thp: Fix handling of restart interval
Fixes Ticket903

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-15 00:53:59 +01:00