Commit Graph

17632 Commits

Author SHA1 Message Date
Paul B Mahol
d016d3074c Revert "v210enc: use FFALIGN()"
FFALIGN doesn't work with non-powers-of-2.

This reverts commit 7ad1b612c8.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 19:57:52 +01:00
Diego Biurrun
32f3c541bc doxygen: Do not include license boilerplates in Doxygen comment blocks. 2012-02-06 19:39:24 +01:00
Kieran Kunhya
9814974d2e avcodec: Clarify AVFrame member documentation.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-06 18:08:08 +01:00
Paul B Mahol
3cc0353f8d v210dec: check for coded_frame allocation failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 08:00:31 +01:00
Paul B Mahol
986c1c483b v210enc: use stride as it is already calculated
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 08:00:23 +01:00
Paul B Mahol
7ad1b612c8 v210enc: use FFALIGN()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 08:00:15 +01:00
Paul B Mahol
b5f50da593 v210enc: return proper AVERROR codes instead of -1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 07:59:47 +01:00
Paul B Mahol
66fa2a1fb3 v210enc: do not set coded_frame->key_frame
It is already set in avcodec_alloc_frame().

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 07:59:24 +01:00
Paul B Mahol
d73466f841 v210enc: check for coded_frame allocation failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 07:59:16 +01:00
Paul B Mahol
b8d78175d2 v408: do not unconditionally compile codecs 2012-02-06 00:29:32 +01:00
Carl Eugen Hoyos
bb9c8d9439 Add v408 / AYUV encoder and decoder.
Fixes last part of ticket #470.

Reviewed-by: Paul B Mahol
2012-02-05 20:43:33 +01:00
Michael Niedermayer
bfb5ba8495 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ape: fix seeking
  apedec: 8bit and 24bit support

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-05 03:02:34 +01:00
Michael Niedermayer
7e850f1cd0 dwt: fix about a dozen "warning: assignment from incompatible pointer type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-05 02:08:03 +01:00
Michael Niedermayer
2453ca4931 dwt: fix a dozen or so "warning: initialization from incompatible pointer type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-05 02:00:02 +01:00
Michael Niedermayer
861aa9e7c2 mpegaudiodec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-05 01:34:59 +01:00
Paul B Mahol
b60620bf7e apedec: 8bit and 24bit support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-04 14:03:20 -05:00
Michael Niedermayer
25f35df115 xvid_rc: check that write() succeeded.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-04 05:18:45 +01:00
Michael Niedermayer
3b46daa31f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: remove debug message in dsputil_init().
  movdec: Avoid av_malloc(0) in stss
  build: Drop YASM-OBJS-FFT from SUBDIR_VARS.
  build: Drop unused X86-OBJS variable.
  avconv: remove debugging cruft from do_video_out().
  avconv: factorize setting stream_index for the output packet.
  frame{crc/md5}: set the stream timebase from codec timebase.
  apedec: remove unneeded #include of get_bits.h and associated macro
  apedec: av_fast_malloc() instead of av_realloc()
  apedec: fix handling of packet sizes that are not a multiple of 4 bytes

Conflicts:
	libavcodec/apedec.c
	tests/ref/fate/4xm-1
	tests/ref/fate/4xm-2
	tests/ref/fate/aasc
	tests/ref/fate/armovie-escape124
	tests/ref/fate/bethsoft-vid
	tests/ref/fate/cljr
	tests/ref/fate/creatureshock-avs
	tests/ref/fate/cscd
	tests/ref/fate/cvid-partial
	tests/ref/fate/deluxepaint-anm
	tests/ref/fate/dfa1
	tests/ref/fate/dfa10
	tests/ref/fate/dfa11
	tests/ref/fate/dfa2
	tests/ref/fate/dfa3
	tests/ref/fate/dfa4
	tests/ref/fate/dfa5
	tests/ref/fate/dfa6
	tests/ref/fate/dfa7
	tests/ref/fate/dfa8
	tests/ref/fate/dfa9
	tests/ref/fate/film-cvid-pcm-stereo-8bit
	tests/ref/fate/flic-af11-palette-change
	tests/ref/fate/flic-magiccarpet
	tests/ref/fate/fraps-v2
	tests/ref/fate/fraps-v3
	tests/ref/fate/h264-lossless
	tests/ref/fate/interplay-mve-16bit
	tests/ref/fate/interplay-mve-8bit
	tests/ref/fate/mimic
	tests/ref/fate/motionpixels
	tests/ref/fate/mpeg2-field-enc
	tests/ref/fate/msvideo1-16bit
	tests/ref/fate/mtv
	tests/ref/fate/nuv
	tests/ref/fate/pictor
	tests/ref/fate/prores-alpha
	tests/ref/fate/ptx
	tests/ref/fate/qtrle-16bit
	tests/ref/fate/qtrle-1bit
	tests/ref/fate/quickdraw
	tests/ref/fate/rpza
	tests/ref/fate/sierra-vmd
	tests/ref/fate/targa-conformance-CCM8
	tests/ref/fate/targa-conformance-UCM8
	tests/ref/fate/tiertex-seq
	tests/ref/fate/truemotion1-15
	tests/ref/fate/truemotion1-24
	tests/ref/fate/tscc-15bit
	tests/ref/fate/tscc-32bit
	tests/ref/fate/v210
	tests/ref/fate/vc1-ism
	tests/ref/fate/vc1_sa00040
	tests/ref/fate/vc1_sa00050
	tests/ref/fate/vc1_sa10091
	tests/ref/fate/vc1_sa20021
	tests/ref/fate/vmnc-16bit
	tests/ref/fate/vmnc-32bit
	tests/ref/fate/vp5
	tests/ref/fate/vp8-sign-bias
	tests/ref/fate/vqa-cc
	tests/ref/fate/wmv8-drm
	tests/ref/fate/yop
	tests/ref/fate/zmbv-8bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-04 02:34:14 +01:00
Michael Niedermayer
670229ef43 apedec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-04 01:12:04 +01:00
Michael Niedermayer
f57ab7ed37 zmbv: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-04 01:12:04 +01:00
Reimar Döffinger
58dabf7bf2 Fix png decoding on x86.
Line sizes are only 8-byte aligned, so use unaliged loads
for add_bytes_l2 pointers.
Increasing the alignment requirement to 16 seemed a bit extreme
(png may be used for rather small sizes).
Also fix a mov that had its arguments swapped, leading
add_bytes_l2 being applied on up to 8 bytes too few.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-03 23:12:10 +01:00
Justin Ruggles
6f1a5e8d6b dsputil: remove debug message in dsputil_init().
AVCodecContext.bits_per_raw_sample is used for audio too, and values other
than 8, 9, and 10 are valid.
2012-02-03 16:00:30 -05:00
Reimar Döffinger
da1ba4e88b Fix NASM compilation.
movd needs explicit register size prefix for NASM.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-03 20:42:30 +01:00
Michael Niedermayer
d77294c5e4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx264: fix indentation.
  vorbis: fix overflows in floor1[] vector and inverse db table index.
  win64: add a XMM clobber test configure option.
  movdec: Parse the dvc1 atom
  ARM: ac3: fix ac3_bit_alloc_calc_bap_armv6
  swscale: K&R formatting cosmetics for Blackfin code
  frwu: lowercase the FRWU codec name
  movdec: fix dts generation in fragmented files
  fate: make acodec-ac3_fixed test output raw AC3
  APIchanges: add missing commit hashes
  swscale: implement MMX, SSE2 and AVX functions for RGB32 input.
  ra144enc: drop pointless "encoder" from .long_name
  bethsoftvideo: fix palette reading.
  mpc7: use av_fast_padded_malloc()
  mpc7: simplify handling of packet sizes that are not a multiple of 4 bytes
  doc: decoding Forward Uncompressed is supported
  Fix a typo in the x86 asm version of ff_vector_clip_int32()
  pcmenc: Do not set avpkt->size.
  ff_alloc_packet: modify the size of the packet to match the requested size

Conflicts:
	doc/APIchanges
	libavcodec/libx264.c
	libavcodec/mpc7.c
	libavformat/isom.h
	libswscale/Makefile
	libswscale/bfin/yuv2rgb_bfin.c
	tests/ref/fate/bethsoft-vid
	tests/ref/seek/ac3_ac3

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-03 03:51:32 +01:00
Justin Ruggles
22c0babbb2 apedec: remove unneeded #include of get_bits.h and associated macro 2012-02-02 21:07:01 -05:00
Justin Ruggles
e4169612a1 apedec: av_fast_malloc() instead of av_realloc()
av_realloc() does not guarantee alignment, which is required for
DSPContext.bswap_buf().
2012-02-02 21:07:01 -05:00
Justin Ruggles
0759c8eb10 apedec: fix handling of packet sizes that are not a multiple of 4 bytes 2012-02-02 21:07:01 -05:00
Anton Khirnov
e15e2a6d2a libx264: fix indentation. 2012-02-02 22:23:17 +01:00
KO Myung-Hun
c853124fb0 Use SECTION_TEXT instead of section .text for the compatibility
aout does not support 'align='.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-02 21:11:36 +01:00
Paul B Mahol
9b9bf5ab73 ffv1: cosmetics: indentation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-02 21:11:36 +01:00
Ronald S. Bultje
24947d4988 vorbis: fix overflows in floor1[] vector and inverse db table index. 2012-02-02 12:05:08 -08:00
Ronald S. Bultje
7e4d9d5d45 win64: add a XMM clobber test configure option.
This will be useful to test more aggressively for failures to mark XMM
registers as clobbered in Win64 builds, and prevent regressions thereof.

Based on a patch by Ramiro Polla <ramiro.polla@gmail.com>
2012-02-02 12:00:48 -08:00
Clément Bœsch
8c48652ff0 dct-test: remove odivx_idct_c dead prototype. 2012-02-02 20:44:22 +01:00
Mans Rullgard
cd2f98f365 ARM: ac3: fix ac3_bit_alloc_calc_bap_armv6
This function was broken when the start bin was not at the start
of a band.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-02-02 18:50:42 +00:00
Piotr Bandurski
3f57bde1f2 frwu: lowercase the FRWU codec name
This is more consistent with all the other codec names.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-02 18:44:52 +01:00
Clément Bœsch
b90d79ec1f timecode: drop lavc timecode on next bump. 2012-02-02 14:31:17 +01:00
Clément Bœsch
d8804905eb mpeg12enc: use new public timecode API. 2012-02-02 14:31:17 +01:00
Clément Bœsch
ed67dac093 mpeg12: use av_mpegtc_to_timecode_string(). 2012-02-02 14:31:17 +01:00
Paul B Mahol
b8b77abe92 cosmetics: realign vertically
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-02 04:36:13 +01:00
Michael Niedermayer
6462d28dcc apedec: Fix alignment and fate.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-02 04:34:28 +01:00
Michael Niedermayer
4c677df27c Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  frwu: Employ more meaningful return values.
  fraps: Use av_fast_padded_malloc() instead of av_realloc()
  mjpegdec: use av_fast_padded_malloc()
  eatqi: use av_fast_padded_malloc()
  asv1: use av_fast_padded_malloc()
  avcodec: Add av_fast_padded_malloc().
  swscale: enable dithering in MMX functions.
  swscale: make rgb24 function macros slightly smaller.
  avcodec.h: Remove some disabled cruft.
  swscale: remove obsolete comment.
  swscale-test: Drop unused argc and argv arguments from main().
  zmbv: Employ more meaningful return values.
  zmbvenc: Employ more meaningful return values.
  vc1: prevent null pointer dereference on broken files
  zmbv: check av_realloc() return values and avoid memleaks on ENOMEM
  truespeech: align buffer
  ac3: Do not read past the end of ff_ac3_band_start_tab.
  dv: Fix small stack overread related to CVE-2011-3929 and CVE-2011-3936.
  dv: Fix null pointer dereference due to ach=0
  dv: check stype
  ...

Conflicts:
	doc/APIchanges
	libavcodec/asv1.c
	libavcodec/avcodec.h
	libavcodec/eatqi.c
	libavcodec/fraps.c
	libavcodec/frwu.c
	libavcodec/zmbv.c
	libavformat/dv.c
	libswscale/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-02 02:24:09 +01:00
Paul B Mahol
38c6bbc118 ra144enc: drop pointless "encoder" from .long_name
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-01 20:17:25 -05:00
Justin Ruggles
c3a06615bd bethsoftvideo: fix palette reading.
Return the correct number of consumed bytes and set *data_size = 0.
Returned size is 1 too small, leading to that 1 byte being read as the next
frame, which results in an extra blank frame at the beginning of the stream.
2012-02-01 19:41:39 -05:00
Justin Ruggles
83ce51cc7d mpc7: use av_fast_padded_malloc()
Avoids doing malloc/free for each frame.
Also fixes valgrind errors due to use of uninitialized padding bytes.

Based on a patch by Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-01 19:35:59 -05:00
Justin Ruggles
b5b825c381 mpc7: simplify handling of packet sizes that are not a multiple of 4 bytes 2012-02-01 19:35:59 -05:00
Michael Niedermayer
5cd8afee99 diracdec: Check for negative quants which would cause out of array reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-02 01:12:46 +01:00
Michael Niedermayer
0065080320 proresdec: Fix read via negative index in a global array.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-02 01:12:46 +01:00
Justin Ruggles
236a550c3f Fix a typo in the x86 asm version of ff_vector_clip_int32()
Specifies the correct number of xmm registers used so that they can be saved
and restored on Win64 if necessary.
2012-02-01 19:02:32 -05:00
Justin Ruggles
3c432631e9 pcmenc: Do not set avpkt->size.
It is already the correct size as set by ff_alloc_packet().
2012-02-01 16:33:27 -05:00
Justin Ruggles
1a670973a7 ff_alloc_packet: modify the size of the packet to match the requested size
This will simplify encoders which use this function to request the exact
packet size rather than the maximum size.
2012-02-01 16:33:27 -05:00
Paul B Mahol
5ff88020ac frwu: Employ more meaningful return values.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-01 16:17:47 -05:00
Reimar Döffinger
f54ae2f8e7 fraps: Use av_fast_padded_malloc() instead of av_realloc()
Ensures alignment and avoids using uninitialized data.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-01 14:37:47 -05:00
Reimar Döffinger
0880503fbb mjpegdec: use av_fast_padded_malloc()
also check for allocation failure

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-01 14:37:47 -05:00
Reimar Döffinger
2f4b9021a1 eatqi: use av_fast_padded_malloc()
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-01 14:37:47 -05:00
Reimar Döffinger
00db4d4ad5 asv1: use av_fast_padded_malloc()
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-01 14:37:46 -05:00
Paul B Mahol
ec09230c9a ffv1dec: PIX_FMT_YUV440P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 19:25:58 +01:00
Paul B Mahol
917803babd ffv1enc: PIX_FMT_YUV440P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 19:25:58 +01:00
Janne Grunau
316fc7443b avcodec: Add av_fast_padded_malloc().
Wrapper around av_fast_malloc() that keeps FF_INPUT_BUFFER_PADDING_SIZE
zero-padded bytes at the end of the used buffer.

Based on a patch by Reimar Döffinger <Reimar.Doeffinger@gmx.de>.
2012-02-01 19:19:35 +01:00
Diego Biurrun
3b637dca72 avcodec.h: Remove some disabled cruft. 2012-02-01 17:27:17 +01:00
Michael Bradshaw
d76864d9ce Support decoding rgba64 with libopenjpeg. 2012-02-01 15:51:18 +01:00
Michael Bradshaw
ec0d02e441 Support decoding gray8a with libopenjpeg. 2012-02-01 15:47:28 +01:00
Paul B Mahol
8ca8e4a846 zmbv: Employ more meaningful return values.
Also use av_log_ask_for_sample() where it makes sense.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-01 14:24:25 +01:00
Paul B Mahol
013a677fb6 zmbvenc: Employ more meaningful return values.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-01 14:23:20 +01:00
Janne Grunau
510ef04a46 vc1: prevent null pointer dereference on broken files
CC: libav-stable@libav.org
2012-02-01 12:54:39 +01:00
Janne Grunau
cb0b284381 zmbv: check av_realloc() return values and avoid memleaks on ENOMEM 2012-02-01 12:54:39 +01:00
Paul B Mahol
d4eeadcbbf truespeech: align buffer
DSPContext.bswap_buf() requires aligned output

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-01-31 21:42:33 -08:00
Michael Niedermayer
4e2b0c5785 snowdata: Fix project name, this file has not been developed in libav
or by any libav developers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 04:43:06 +01:00
Michael Niedermayer
72fc4f0cce gsm.h: Fix project reference
The code in this file is copy and pasted from FFmpegs libavcodec/libgsm.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 04:43:06 +01:00
Michael Niedermayer
9096a2760f simpleidct: fix project name.
"Copyright (c) 2001 Michael Niedermayer" and "part of Libav" is not likely
not only am i not a libav developer there also was no libav in 2001

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 04:43:06 +01:00
Michael Niedermayer
4b4d3d7249 aacenc: fix library references
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 04:43:06 +01:00
Michael Niedermayer
ada28b7f72 h264 golomb: Fix copyright violation.
Copy and paste does not change authorship
See 0da71265 for the original checkin

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 03:34:12 +01:00
Mans Rullgard
034b03e7a0 ac3: Do not read past the end of ff_ac3_band_start_tab.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-01-31 18:32:14 -08:00
Michael Niedermayer
a369a6b858 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  fate: add golomb-test
  golomb-test: K&R formatting cosmetics
  h264: Split h264-test off into a separate file - golomb-test.c.
  h264-test: cleanup: drop timer invocations, commented out code and other cruft
  h264-test: Remove unused DSP and AVCodec contexts and related init calls.
  adpcm: Add missing stdint.h #include to fix standalone header compilation.
  lavf: add functions for accessing the fourcc<->CodecID mapping tables.
  lavc: set AVCodecContext.codec in avcodec_get_context_defaults3().
  lavc: make avcodec_close() work properly on unopened codecs.
  lavc: add avcodec_is_open().
  lavf: rename AVInputFormat.value to raw_codec_id.
  lavf: remove the pointless value field from flv and iv8
  lavc/lavf: remove unnecessary symbols from the symbol version script.
  lavc: reorder AVCodec fields.
  lavf: reorder AVInput/OutputFormat fields.
  mp3dec: Fix a heap-buffer-overflow
  adpcmenc: remove some unneeded casts
  adpcmenc: use int16_t and uint8_t instead of short and unsigned char.
  adpcmenc: fix adpcm_ms extradata allocation
  adpcmenc: return proper AVERROR codes instead of -1
  ...

Conflicts:
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/adpcmenc.c
	libavcodec/avcodec.h
	libavcodec/h264.c
	libavcodec/libavcodec.v
	libavcodec/mpc7.c
	libavcodec/mpegaudiodec.c
	libavcodec/options.c
	libavformat/Makefile
	libavformat/avformat.h
	libavformat/flvdec.c
	libavformat/libavformat.v

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 02:36:09 +01:00
Janne Grunau
e67e3a3f4a fate-golomb: extend golomb-test to get_ue_golomb_long()
get_ue_golomb_long() is only tested for values up to 2^15 - 2 since
we can not write larger values.
Silence the test on success and return a non-zero value on error.
Use an heap scratch buffer instead of large stack buffer.
Remove unneeded includes.
2012-02-01 01:18:55 +01:00
Paul B Mahol
0a3a69e8d7 ffv1dec: use correct linesize
Apparently this did not break anything.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 23:24:32 +01:00
Michael Niedermayer
0d17477e2c Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Cosmetics: Fix some whitespace errors and indentation
  Use correct variable type for 32-bit samples buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 22:55:15 +01:00
Paul B Mahol
c8eba9f9d5 ffv1dec: PIX_FMT_YUVA444P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:45:34 +01:00
Paul B Mahol
b0a30ea7c8 ffv1enc: PIX_FMT_YUVA444P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:44:59 +01:00
Paul B Mahol
ab7da16ea4 ffv1dec: PIX_FMT_YUVA420P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:44:26 +01:00
Paul B Mahol
7054629f04 ffv1enc: PIX_FMT_YUVA420P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:43:41 +01:00
Michael Niedermayer
05ebe51e00 mpeg/h264: update thread context even if it is not initialized.
Fixes decoding of Ticket952

Tested-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:43:04 +01:00
Michael Niedermayer
e4a714f65a h264: Return the correct number of bytes for mid strea, extradata.
Fixes the hang with Ticket952

Tested-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:42:42 +01:00
Michael Niedermayer
146ef3f37c pngdec: fix warning about pointer types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:40:53 +01:00
Diego Biurrun
9e3a2736bd golomb-test: K&R formatting cosmetics 2012-01-31 19:56:13 +01:00
Diego Biurrun
631f96f959 h264: Split h264-test off into a separate file - golomb-test.c.
The new name is more appropriate as only golomb functions are tested.
2012-01-31 19:56:12 +01:00
Diego Biurrun
4ff46af039 h264-test: cleanup: drop timer invocations, commented out code and other cruft 2012-01-31 19:56:11 +01:00
Diego Biurrun
3856a2aaa6 h264-test: Remove unused DSP and AVCodec contexts and related init calls.
This also avoids a segfault on startup.
2012-01-31 19:56:09 +01:00
Diego Biurrun
b010178e84 adpcm: Add missing stdint.h #include to fix standalone header compilation. 2012-01-31 19:13:00 +01:00
Anton Khirnov
bc90199848 lavc: set AVCodecContext.codec in avcodec_get_context_defaults3().
This way, if the AVCodecContext is allocated for a specific codec, the
caller doesn't need to store this codec separately and then pass it
again to avcodec_open2().

It also allows to set codec private options using av_opt_set_* before
opening the codec.
2012-01-31 16:53:35 +01:00
Anton Khirnov
0e72ad95f9 lavc: make avcodec_close() work properly on unopened codecs.
I.e. free the priv_data and other stuff allocated in
avcodec_alloc_context3() and not segfault.
2012-01-31 07:56:21 +01:00
Anton Khirnov
af08d9aeea lavc: add avcodec_is_open().
It allows to check whether an AVCodecContext is open in a documented
way. Right now the undocumented way this check is done in lavf/lavc is
by checking whether AVCodecContext.codec is NULL. However it's desirable
to be able to set AVCodecContext.codec before avcodec_open2().
2012-01-31 07:55:24 +01:00
Anton Khirnov
afa4069e3b lavc/lavf: remove unnecessary symbols from the symbol version script. 2012-01-31 07:26:31 +01:00
Anton Khirnov
f5f49a66a2 lavc: reorder AVCodec fields.
Put all private fields at the end and mark them as such so they can be
easily changed/removed.

This breaks ABI.
2012-01-31 07:26:18 +01:00
Michael Niedermayer
151ecc2aec Merge remote-tracking branch 'qatar/master'
* qatar/master: (26 commits)
  avconv: deprecate the -deinterlace option
  doc: Fix the name of the new function
  aacenc: make sure to encode enough frames to cover all input samples.
  aacenc: only use the number of input samples provided by the user.
  wmadec: Verify bitstream size makes sense before calling init_get_bits.
  kmvc: Log into a context at a log level constant.
  mpeg12: Pad framerate tab to 16 entries.
  kgv1dec: Increase offsets array size so it is large enough.
  kmvc: Check palsize.
  nsvdec: Propagate errors
  nsvdec: Be more careful with av_malloc().
  nsvdec: Fix use of uninitialized streams.
  movenc: cosmetics: Get rid of camelCase identifiers
  swscale: more generic check for planar destination formats with alpha
  doc: Document mov/mp4 fragmentation options
  build: Use order-only prerequisites for creating FATE reference file dirs.
  x86 dsputil: provide SSE2/SSSE3 versions of bswap_buf
  rtsp: Remove some unused variables from ff_rtsp_connect().
  avutil: make intfloat api public
  avformat_write_header(): detail error message
  ...

Conflicts:
	doc/APIchanges
	doc/ffmpeg.texi
	doc/muxers.texi
	ffmpeg.c
	libavcodec/kmvc.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_yasm.asm
	libavcodec/x86/pngdsp-init.c
	libavformat/movenc.c
	libavformat/movenc.h
	libavformat/mpegtsenc.c
	libavformat/nsvdec.c
	libavformat/utils.c
	libavutil/avutil.h
	libswscale/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 02:46:26 +01:00
Alex Converse
f372ce119b mp3dec: Fix a heap-buffer-overflow
In some cases, what is left to read from ptr is smaller than EXTRABYTES.

Based on a patch by Thierry Foucu <tfoucu@gmail.com>.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-01-30 16:49:15 -08:00
Justin Ruggles
a3a0691bde adpcmenc: remove some unneeded casts 2012-01-30 19:12:55 -05:00
Justin Ruggles
149f2058a4 adpcmenc: use int16_t and uint8_t instead of short and unsigned char. 2012-01-30 19:12:55 -05:00
Justin Ruggles
dd88ae831a adpcmenc: fix adpcm_ms extradata allocation
Add FF_INPUT_BUFFER_PADDING_SIZE.
If allocation fails, also free memory which was allocated previously in
adpcm_encode_init().
2012-01-30 19:12:55 -05:00
Justin Ruggles
877a1d409c adpcmenc: return proper AVERROR codes instead of -1 2012-01-30 19:12:55 -05:00
Justin Ruggles
cb023d9afe adpcmenc: check for coded_frame allocation failure 2012-01-30 19:12:55 -05:00
Justin Ruggles
ddf70db6d7 adpcmenc: Do not set coded_frame->key_frame.
It is already set in avcodec_alloc_frame().
2012-01-30 19:12:54 -05:00
Justin Ruggles
3c4add27f7 mpc7: check for allocation failure 2012-01-30 19:11:29 -05:00
Justin Ruggles
eac31dd163 mpc7: align local temp buffer
DSPContext.bswap_buf() requires aligned output
2012-01-30 19:11:29 -05:00
Carl Eugen Hoyos
97da38c99b Allow decoding of 64bit png images.
Fixes a part of ticket #639.
2012-01-31 00:13:24 +01:00
Carl Eugen Hoyos
ea604de91e Simplify "deloco" and support decoding of 48bit loco png. 2012-01-31 00:03:26 +01:00
Christophe Gisquet
e5c9de2ab7 rv40: x86 SIMD for biweight
Provide MMX, SSE2 and SSSE3 versions, with a fast-path when the weights are
multiples of 512 (which is often the case when the values round up nicely).

*_TIMER report for the 16x16 and 8x8 cases:
C:
9015 decicycles in 16, 524257 runs, 31 skips
2656 decicycles in 8, 524271 runs, 17 skips
MMX:
4156 decicycles in 16, 262090 runs, 54 skips
1206 decicycles in 8, 262131 runs, 13 skips
MMX on fast-path:
2760 decicycles in 16, 524222 runs, 66 skips
995 decicycles in 8, 524252 runs, 36 skips
SSE2:
2163 decicycles in 16, 262131 runs, 13 skips
832 decicycles in 8, 262137 runs, 7 skips
SSE2 with fast path:
1783 decicycles in 16, 524276 runs, 12 skips
711 decicycles in 8, 524283 runs, 5 skips
SSSE3:
2117 decicycles in 16, 262136 runs, 8 skips
814 decicycles in 8, 262143 runs, 1 skips
SSSE3 with fast path:
1315 decicycles in 16, 524285 runs, 3 skips
578 decicycles in 8, 524286 runs, 2 skips

This means around a 4% speedup for some sequences.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-01-30 23:58:25 +01:00
Diego Biurrun
91bafb52ae x86: Give RV40 init file a more suitable name. 2012-01-30 23:58:24 +01:00
Diego Biurrun
c30b198381 x86: Place mm_flags variable declaration below the appropriate #ifdef.
This fixes some unused variable warnings with YASM disabled.
2012-01-30 23:58:23 +01:00
Michael Bradshaw
f0d6828dbe Supoort decoding of gray16 images with libopenjpeg. 2012-01-30 23:53:25 +01:00
Clément Bœsch
cc7342f712 assdec: fix wrong alloc pointer check. 2012-01-30 23:28:36 +01:00
Clément Bœsch
7c0d30b57b ass: use av_asprintf() instead of a temporary stack buffer. 2012-01-30 23:28:26 +01:00
Michael Niedermayer
9729f140ae diracdec: Fix integer overflow leading to out of global array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-30 20:35:09 +01:00
Justin Ruggles
89eea6df28 aacenc: make sure to encode enough frames to cover all input samples.
Currently, any samples in the final frame are not decoded because they are
only represented by one frame instead of two. So we encode two final frames to
cover both the analysis delay and the MDCT delay.
2012-01-30 14:20:24 -05:00
Justin Ruggles
f44005b610 aacenc: only use the number of input samples provided by the user.
Fixes handling of CODEC_CAP_SMALL_LAST_FRAME.
2012-01-30 14:20:24 -05:00
Alex Converse
48f1e5212c wmadec: Verify bitstream size makes sense before calling init_get_bits.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-01-30 10:54:24 -08:00
Alex Converse
ae35210a5d kmvc: Log into a context at a log level constant. 2012-01-30 10:54:24 -08:00
Alex Converse
dfa37fe8a3 mpeg12: Pad framerate tab to 16 entries.
There are many places where we read an unchecked 4-bit index into it.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-01-30 10:19:01 -08:00
Michael Niedermayer
a02e8df973 kgv1dec: Increase offsets array size so it is large enough.
Fixes CVE-2011-3945

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 807a045ab7)

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-01-30 10:16:23 -08:00
Alex Converse
386741f887 kmvc: Check palsize.
Fixes: CVE-2011-3952

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Based on fix by Michael Niedermayer
2012-01-30 10:16:17 -08:00
Reimar Döffinger
2ab5feafe1 huffman: use a simple assignment instead of FFSWAP.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-30 18:39:08 +01:00
Reimar Döffinger
6166bf3cbe Deobfuscate ff_huff_build_tree.
I have no idea what the idea was behind the original code,
but the new code is equivalent to it.
In that loop that places the new node nodes[j] contains
always the data of the new node (since the steps are always
in order: FFSWAP copies node[j] to node[j-1], j is decremented).
Thus nodes[j].no == i and nodes[j].sym == HNODE.
make fate still passes and contains VP6 samples which use
FF_HUFFMAN_FLAG_HNODE_FIRST.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-30 18:39:08 +01:00
Carl Eugen Hoyos
36436a4032 Add option forced_subs_only for Bluray subtitles. 2012-01-30 11:25:59 +01:00
Carl Eugen Hoyos
6838df0488 Add pix_fmt_info for yuva444.
Reviewed-by: Paul B Mahol
2012-01-30 11:24:02 +01:00
Christophe Gisquet
6b03900382 x86 dsputil: provide SSE2/SSSE3 versions of bswap_buf
While pshufb allows emulating bswap on XMM registers for SSSE3, more
shuffling is needed for SSE2. Alignment is critical, so specific codepaths
are provided for this case.

For the huffyuv sequence "angels_480-huffyuvcompress.avi":
C (using bswap instruction): ~ 55k cycles
SSE2:                        ~ 40k cycles
SSSE3 using unaligned loads: ~ 35k cycles
SSSE3 using aligned loads:   ~ 30k cycles

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-01-30 10:19:55 +01:00
Ronald S. Bultje
af79a0c48a png: add support for bpp>4 to paeth x86 SIMD code.
This fixes playback of e.g. RGB48 (bpp=6) content on x86 CPUs. Fixes
bug 214.
2012-01-29 21:22:50 -08:00
Michael Niedermayer
e1492151fb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  png: add missing #if HAVE_SSSE3 around function pointer assignment.
  imdct36: mark SSE functions as using all 16 XMM registers.
  png: move DSP functions to their own DSP context.
  sunrast: Add a sample request for TIFF, IFF, and Experimental Rastfile formats.
  sunrast: Cosmetics
  sunrast: Remove if (unsigned int < 0) check.
  sunrast: Replace magic number by a macro.

Conflicts:
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/pngdec.c
	libavcodec/sunrast.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-30 05:20:58 +01:00
Ronald S. Bultje
f91c4b7824 png: add SSE2 version for add_bytes_l2. 2012-01-29 18:52:17 -08:00
Ronald S. Bultje
59f474b49d png: convert DSP functions to yasm. 2012-01-29 18:47:50 -08:00
Mans Rullgard
3715d841a6 Fix non-C89 declarations in for loops
Some compilers still do not support this syntax.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-01-29 23:26:04 +00:00
Reimar Döffinger
f9eb622944 Fix offset validity checks.
Offsets are relative to the end of the header, not the
start of the buffer, thus the buffer size needs to be subtracted.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 21:52:55 +01:00
Reimar Döffinger
cd3ced1bb9 fraps: frame threading support.
Codec is too simple to gain much from it at lower resolutions,
but should help at very high resolutions, particularly for
v3 and v5 where a not too optimized pseudo-YUV to RGB
is done in the codec.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 21:52:55 +01:00
Reimar Döffinger
0efdb942a6 fraps: Deduplicate some code.
Also moves it before the get_buffer call so that most error exits
happen before it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 21:52:54 +01:00
Reimar Döffinger
3469c88804 fraps: Minor simplification, use local variable.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 21:52:54 +01:00
Ronald S. Bultje
20a7d3178f png: add missing #if HAVE_SSSE3 around function pointer assignment. 2012-01-29 12:31:59 -08:00
Paul B Mahol
371946bc27 r210enc: don't write uninitialized data
Also fix r210 fate decoding test.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 21:00:19 +01:00
Paul B Mahol
668a0b152b libvpxenc: update after FF_API_X264_GLOBAL_OPTS removal
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 18:11:40 +01:00
Carl Eugen Hoyos
a915618a29 Improve decoding quality for lossy wavpack.
This reverts e6e7bfc1 and 365e1ec2.
The code may be incorrect both before and after the revert, but we
do not have any samples that were fixed by the original commits.

Fixes ticket #871.
2012-01-29 17:50:17 +01:00
Reimar Döffinger
7fabef1f01 fraps: optimize pseudo-YUV to RGB conversion.
With gcc 4.6 this part of the code is ca. 4x faster, resulting
in an overall speedup of around 5% for fate-fraps-v5 sample.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 17:34:22 +01:00
Ronald S. Bultje
331e7c4cb3 imdct36: mark SSE functions as using all 16 XMM registers.
On x86-64, it indeed uses all 16 registers (and on x86-32, this gets
clipped to 8). Not marking it properly causes callers of this function
to fail randomly because of XMM register clobbering.
2012-01-29 08:14:05 -08:00
Ronald S. Bultje
e92003514d png: move DSP functions to their own DSP context. 2012-01-29 08:11:18 -08:00
Aneesh Dogra
f9708e9a0e sunrast: Add a sample request for TIFF, IFF, and Experimental Rastfile formats.
Signed-off-by: Aneesh Dogra <lionaneesh@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-01-29 08:11:18 -08:00
Aneesh Dogra
415f358a1f sunrast: Cosmetics
Signed-off-by: Aneesh Dogra <lionaneesh@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-01-29 08:11:18 -08:00
Aneesh Dogra
4ffb8e2c14 sunrast: Remove if (unsigned int < 0) check.
Note: This fixes the following GCC warning :-
libavcodec/sunrast.c:94: warning: comparison of unsigned expression < 0 is always false.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-01-29 08:11:18 -08:00
Aneesh Dogra
fef3771778 sunrast: Replace magic number by a macro.
Signed-off-by: Aneesh Dogra <lionaneesh@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-01-29 08:11:06 -08:00
Paul Kendall
7df9937fcc Fix dvb subtitle decoding when display segment is missing. 2012-01-29 14:52:56 +01:00
Reimar Döffinger
f4e8292eb7 fraps: Add release_buffer forgotten when reget_buffer was removed.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 14:48:36 +01:00
Reimar Döffinger
95e873bb14 fraps: fix indentation.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 14:21:36 +01:00
Reimar Döffinger
6a9b565e0a FRAPS: Do not needlessly use reget_buffer.
Codec has only I- and skip-frames, so there is no
need for reget_buffer, change it so it works with
get_buffer.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 14:17:12 +01:00
Paul B Mahol
6bcc8275a1 r210enc: fix encoding for unaligned widths
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 02:41:56 +01:00
Michael Niedermayer
c065255bba Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacenc: Fix LONG_START windowing.
  aacenc: Fix a bug where deinterleaved samples were stored in the wrong place.
  avplay: use the correct array size for stride.
  lavc: extend doxy for avcodec_alloc_context3().
  APIchanges: mention avcodec_alloc_context()/2/3
  avcodec_align_dimensions2: set only 4 linesizes, not AV_NUM_DATA_POINTERS.
  aacsbr: ARM NEON optimised sbrdsp functions
  aacsbr: align some arrays
  aacsbr: move some simdable loops to function pointers
  cosmetics: Remove extra newlines at EOF

Conflicts:
	libavcodec/utils.c
	libavfilter/formats.c
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 00:34:59 +01:00