Commit Graph

21148 Commits

Author SHA1 Message Date
Justin Ruggles
7e5f045039 pcmdec: use planar sample format for pcm_lxf 2012-10-09 09:03:51 -04:00
Justin Ruggles
c1a9cfd1fe mace: use planar sample format 2012-10-09 09:03:51 -04:00
Justin Ruggles
23d53c5473 atrac1: use planar sample format 2012-10-09 09:03:51 -04:00
Diego Biurrun
ac56ff9cc9 build: non-x86: Only compile mpegvideo optimizations when necessary 2012-10-09 14:45:59 +02:00
Janne Grunau
3fbda309e5 avcodec: free extended_data instead address of it
Fixes CID732173.
2012-10-09 14:04:46 +02:00
Michael Niedermayer
ef9fe5bedd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mingw/cygwin: Stop adding -fno-common to gcc CFLAGS
  Restructure av_log_missing_feature message
  rtp: Support packetization/depacketization of opus
  file: Set the return value type for lseek to int64_t.
  ppc: fix Altivec build with old compilers
  build: add LTO support for PGI compiler
  build: add -Mdse to PGI optimisation flags
  rtpenc_vp8: Update the packetizer to the latest spec version
  rtpdec_vp8: Make the depacketizer implement the latest spec draft
  doc: allow building with old texi2html versions
  avutil: skip old_pix_fmts.h since it is just a list

Conflicts:
	libavcodec/aacdec.c
	libavcodec/h264.c
	libavcodec/ppc/fmtconvert_altivec.c
	libavcodec/utils.c
	libavformat/file.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 13:06:04 +02:00
Diego Biurrun
f75f4194d1 Restructure av_log_missing_feature message
Some invocations include a verb in the log message, others do not.  Yet
av_log_missing_feature expects callers to provide a verb.  Change the
function to include a verb instead and update the callers accordingly.
The result is a more natural function API and correct English in the
function invocations.
2012-10-09 11:39:26 +02:00
Carl Eugen Hoyos
61a9f099b7 Write 32bit palette to Targa files.
Current ImageMagick fails to read such files,
therefore only write the 32bit palette if the
palette actually contains any transparency
information.
2012-10-09 10:13:14 +02:00
Michael Niedermayer
1e83e6ad7a ra144: fix code with ftrapv.
A better solution is welcome!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 06:02:34 +02:00
Bobby Bingham
b56f94cc36 targa: cosmetics - add some whitespace
Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-10-08 22:49:23 -05:00
Bobby Bingham
50787fe350 targa: remove unused context members
Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-10-08 22:47:58 -05:00
Bobby Bingham
c2eec3df89 targa: support 2-way and 4-way interleaved files
Fixes ticket #701

Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-10-08 22:47:57 -05:00
Bobby Bingham
3d9cdfdce7 targa: use named constants for flag values
Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-10-08 22:47:57 -05:00
Michael Niedermayer
d07940b76d motion_est: switch asserts to av_asserts
note, the asserts where enabled by default before this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 05:06:39 +02:00
Michael Niedermayer
72c2d8a346 dsputil: convert asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 04:07:30 +02:00
Michael Niedermayer
8da7907a4a adpcmenc: switch to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 04:00:55 +02:00
Carl Eugen Hoyos
b49d94e4f2 Support decoding of targa files with 32bit palette. 2012-10-09 01:58:48 +02:00
Mans Rullgard
f79364b2c3 ppc: fix Altivec build with old compilers
The vec_splat() intrinsic requires a constant argument for the
element number, and the code relies on the compiler unrolling
the loop to provide this.  Manually unrolling the loop avoids
this reliance and works with all compilers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-08 23:14:51 +01:00
Michael Niedermayer
52dc18d414 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86)
  x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86)
  x86: call most of the x86 dsp init functions under if (ARCH_X86)
  doc: support the new website layout
  doc: remove a warning from filters.texi
  doc: initial nut documentation
  segment: drop global headers setting
  lavu: fix typo in Makefile

Conflicts:
	doc/Makefile
	doc/filters.texi
	doc/t2h.init
	libavcodec/fmtconvert.c
	libavcodec/proresdsp.c
	libavcodec/x86/Makefile
	libavcodec/x86/vc1dsp_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:46:34 +02:00
Michael Niedermayer
ac627b3d38 Merge commit '716d413c13981da15323c7a3821860536eefdbbb'
* commit '716d413c13981da15323c7a3821860536eefdbbb':
  Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat

Conflicts:
	doc/examples/muxing.c
	ffmpeg.h
	ffmpeg_filter.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	libavcodec/8bps.c
	libavcodec/aasc.c
	libavcodec/aura.c
	libavcodec/avcodec.h
	libavcodec/avs.c
	libavcodec/bfi.c
	libavcodec/bmp.c
	libavcodec/bmpenc.c
	libavcodec/c93.c
	libavcodec/cscd.c
	libavcodec/cyuv.c
	libavcodec/dpx.c
	libavcodec/dpxenc.c
	libavcodec/eatgv.c
	libavcodec/escape124.c
	libavcodec/ffv1.c
	libavcodec/flashsv.c
	libavcodec/fraps.c
	libavcodec/h264.c
	libavcodec/huffyuv.c
	libavcodec/iff.c
	libavcodec/imgconvert.c
	libavcodec/indeo3.c
	libavcodec/kmvc.c
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libx264.c
	libavcodec/ljpegenc.c
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc.c
	libavcodec/motionpixels.c
	libavcodec/mpeg12.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pamenc.c
	libavcodec/pcxenc.c
	libavcodec/pgssubdec.c
	libavcodec/pngdec.c
	libavcodec/pngenc.c
	libavcodec/pnm.c
	libavcodec/pnmdec.c
	libavcodec/pnmenc.c
	libavcodec/ptx.c
	libavcodec/qdrw.c
	libavcodec/qpeg.c
	libavcodec/qtrleenc.c
	libavcodec/raw.c
	libavcodec/rawdec.c
	libavcodec/rl2.c
	libavcodec/sgidec.c
	libavcodec/sgienc.c
	libavcodec/snowdec.c
	libavcodec/snowenc.c
	libavcodec/sunrast.c
	libavcodec/targa.c
	libavcodec/targaenc.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/tmv.c
	libavcodec/truemotion2.c
	libavcodec/utils.c
	libavcodec/vb.c
	libavcodec/vp3.c
	libavcodec/wnv1.c
	libavcodec/xl.c
	libavcodec/xwddec.c
	libavcodec/xwdenc.c
	libavcodec/yop.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/drawutils.c
	libavfilter/formats.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_format.c
	libavfilter/vf_hflip.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_transpose.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/movenc.c
	libavformat/mxf.h
	libavformat/utils.c
	libavformat/yuv4mpeg.c
	libavutil/imgutils.c
	libavutil/pixdesc.c
	libswscale/input.c
	libswscale/output.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	libswscale/x86/yuv2rgb.c
	libswscale/x86/yuv2rgb_template.c
	libswscale/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:06:57 +02:00
Michael Niedermayer
43c157f4a4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_resample: avoid conversion of identical sample formats for 1 channel
  avcodec: allow either planar or interleaved sample format when encoding mono
  adpcmenc: ensure calls to adpcm_ima_compress_sample() are in the right order
  timefilter: De-doxygenize normal code comments and drop silly ones
  gxf: Include the right header for the avpriv_frame_rate_tab declaration

Conflicts:
	libavcodec/adpcmenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 13:11:11 +02:00
Janne Grunau
7e522859fc x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86) 2012-10-08 11:54:05 +02:00
Janne Grunau
cb36febcbc x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86) 2012-10-08 11:54:05 +02:00
Janne Grunau
f101eab1be x86: call most of the x86 dsp init functions under if (ARCH_X86)
Rename the called dsp init functions to *_init_x86.
2012-10-08 11:54:05 +02:00
Paul B Mahol
d7a4739265 TAK demuxer, decoder and parser
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-08 09:06:25 +00:00
Anton Khirnov
716d413c13 Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat 2012-10-08 07:13:26 +02:00
Pavel Koshevoy
9425dc3dba Fix build failure on osx 10.5.8 ppc
Second parameter to vec_splat must be a literal, not a variable
value.  Therefore the second nested for-loop in
float_to_int16_stride_altivec had to be unrolled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 05:40:26 +02:00
Michael Niedermayer
89074e9066 wmalosslessdec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 03:12:44 +02:00
Michael Niedermayer
b9a7719828 tscc: fix "assignment discards qualifiers from pointer target type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 03:11:02 +02:00
Michael Niedermayer
c5fdd0696a tiff: fix "assignment discards qualifiers from pointer target type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 03:09:16 +02:00
Michael Niedermayer
bd2613a322 rangecoder: fix "incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 03:06:04 +02:00
Michael Niedermayer
106790a4e9 ffv1: fix array data types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 02:11:25 +02:00
Michael Niedermayer
fc6860a3eb 8svx: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 02:09:28 +02:00
Michael Niedermayer
2714e841bc x86/motion_est: assert->av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 23:31:27 +02:00
Michael Niedermayer
f9b0694cc8 motion-test: fix height parameter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 23:31:27 +02:00
Justin Ruggles
37f701f1c3 avcodec: allow either planar or interleaved sample format when encoding mono
When there is only 1 channel, the planar and interleaved formats of the same
data type should be treated as identical.
2012-10-07 16:45:50 -04:00
Justin Ruggles
5364327186 adpcmenc: ensure calls to adpcm_ima_compress_sample() are in the right order
Should fix fate-acodec-adpcm-ima_wav with several compilers.
2012-10-07 16:45:50 -04:00
Justin Ruggles
d58b25aaa2 adpcmenc: ensure calls to adpcm_ima_compress_sample() are in the right order
Should fix fate-acodec-adpcm-ima_wav with several compilers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 22:29:42 +02:00
Michael Niedermayer
979b9b1f47 h264: switch some asserts to av_assert1/2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 19:39:49 +02:00
Michael Niedermayer
1822aee7e6 dsputil_template: replace assert() by av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 19:31:15 +02:00
Michael Niedermayer
79d30321a2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmaenc: use float planar sample format
  (e)ac3enc: use planar sample format
  aacenc: use planar sample format
  adpcmenc: use planar sample format for adpcm_ima_wav and adpcm_ima_qt
  adpcmenc: move 'ch' variable to higher scope
  adpcmenc: fix 3 instances of variable shadowing
  adpcm_ima_wav: simplify encoding
  libvorbis: use planar sample format
  libmp3lame: use planar sample formats
  vorbisenc: use float planar sample format
  ffm: do not write or read the audio sample format
  parseutils: fix parsing of invalid alpha values
  doc/RELEASE_NOTES: update for the 9 release.
  smoothstreamingenc: Add a more verbose error message
  smoothstreamingenc: Ignore the return value from mkdir
  smoothstreamingenc: Try writing a manifest when opening the muxer
  smoothstreamingenc: Move the output_chunk_list and write_manifest functions up
  smoothstreamingenc: Properly return errors from ism_flush to the caller
  smoothstreamingenc: Check the output UrlContext before accessing it

Conflicts:
	doc/RELEASE_NOTES
	libavcodec/aacenc.c
	libavcodec/ac3enc_template.c
	libavcodec/wmaenc.c
	tests/ref/lavf/ffm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 11:28:38 +02:00
Michael Niedermayer
c6c560deed mpeg4videodec: fix integer avoption types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 03:20:36 +02:00
Michael Niedermayer
57e1553e9f libvpcenc: fix flags voption types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 03:20:36 +02:00
Michael Niedermayer
3c9502b0f6 h264: fix integer avoption types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 03:20:36 +02:00
Michael Niedermayer
19a4e10360 gmc_mmx: enable also for large pictures when emu edge isnt needed.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 23:12:57 +02:00
Michael Niedermayer
e063ffbf4b dsputil_mmx: put optimized gmc code back and avoid a VLA without loosing features.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 23:04:31 +02:00
Michael Niedermayer
094a82c7de get_bits: get_bits_long() support n=0 as the docs allow it
also the 0 case is indeed used in some code pathes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 23:04:10 +02:00
Justin Ruggles
31b2262dca wmaenc: use float planar sample format 2012-10-06 13:23:13 -04:00
Justin Ruggles
b1540fc884 (e)ac3enc: use planar sample format 2012-10-06 13:23:13 -04:00
Justin Ruggles
f3e2d68df6 aacenc: use planar sample format 2012-10-06 13:23:13 -04:00
Justin Ruggles
095be4fbf6 adpcmenc: use planar sample format for adpcm_ima_wav and adpcm_ima_qt 2012-10-06 12:25:33 -04:00
Justin Ruggles
d9a13c2f56 adpcmenc: move 'ch' variable to higher scope
It is used for multiple codecs.
2012-10-06 12:25:33 -04:00
Justin Ruggles
9606f19b4e adpcmenc: fix 3 instances of variable shadowing 2012-10-06 12:25:33 -04:00
Justin Ruggles
1e35574bad adpcm_ima_wav: simplify encoding 2012-10-06 12:25:33 -04:00
Justin Ruggles
cfc0a80a1d libvorbis: use planar sample format 2012-10-06 12:25:32 -04:00
Justin Ruggles
473b297f26 libmp3lame: use planar sample formats 2012-10-06 12:25:32 -04:00
Justin Ruggles
233783e2c1 vorbisenc: use float planar sample format 2012-10-06 12:25:32 -04:00
Michael Niedermayer
56d7f7d955 snowenc: get rid of VLA (well it wasnt really variable anyway)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 13:59:35 +02:00
Michael Niedermayer
55c49afc42 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  yuv4mpeg: return proper error codes.
  Give all anonymously typedeffed structs in headers a name
  fate: Add parseutils test
  parseutils-test: Drop random colors from parsing test
  vf_pad/scale: use double precision for aspect ratios.
  build: error on variable-length arrays
  ppc: swscale: rework yuv2planeX_altivec()
  ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec()
  x86: dsputil: kill VLA in gmc_mmx()
  libspeexenc: Updated commentary to reflect recent changes
  libspeexenc: Add an option for enabling DTX
  doc/APIchanges: fill in missing dates and hashes.
  lavr: bump major to 1 and declare it stable.
  lavr: change the type of the data buffers to uint8_t**.
  lavc: deprecate the audio resampling API.

Conflicts:
	cmdutils.h
	configure
	doc/APIchanges
	ffplay.c
	libavcodec/dwt.h
	libavcodec/libspeexenc.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavformat/asf.h
	tests/fate/libavutil.mak
	tests/ref/fate/parseutils

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 13:45:08 +02:00
Michael Niedermayer
2c34367b4a libvorbisenc: fix afq delay setting
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 11:51:18 +02:00
Diego Biurrun
e4cbf7529b Give all anonymously typedeffed structs in headers a name
Anonymous structs cannot be forward declared and have no benefit.
2012-10-06 09:27:11 +02:00
Carl Eugen Hoyos
7548c80acc Pinnacle TARGA CineWave YUV16 decoder (fourcc Y216).
Fixes ticket #1354
2012-10-06 06:20:52 +02:00
Michael Niedermayer
5de75336a1 mpegvideo_armv5te: change asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 04:45:57 +02:00
Michael Niedermayer
ed015f67a2 ffv1enc: fix assert in put_vlc_symbol() and update to av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 03:29:37 +02:00
Michael Niedermayer
856834a77f ffv1: change w/h asserts to check as the condition can likely happen
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 03:16:24 +02:00
Michael Niedermayer
5709e20199 ffv1: remove commented asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 03:16:24 +02:00
Mans Rullgard
642b4efaf7 ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-05 22:33:32 +01:00
Mans Rullgard
bcf07a15a0 x86: dsputil: kill VLA in gmc_mmx()
Instead of using an evil VLA, fall back to C version when edge
emulation is needed.  MPEG4 GMC is a rarely used fringe feature
so the speed loss is an acceptable cost for safer code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-05 22:33:32 +01:00
Dmitry Samonenko
f1c6a740fc libspeexenc: Updated commentary to reflect recent changes
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-05 23:29:24 +03:00
Dmitry Samonenko
978d5bd2a7 libspeexenc: Add an option for enabling DTX
Discontinuous transmission is an addition to VAD/VBR operation, that
allows to greatly reduce bitrate for silent chunks or stationary
noises.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-05 23:29:24 +03:00
Michael Niedermayer
2a77d4f70b Merge commit '65d12900432ac880d764edbbd36818431484a76e'
* commit '65d12900432ac880d764edbbd36818431484a76e':
  configure: add --enable-lto option
  x86: cpu: Break out test for cpuid capabilities into separate function
  x86: ff_get_cpu_flags_x86(): Avoid a pointless variable indirection
  build: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIO
  segment: Add comments about calls that only are relevant for some muxers
  segment: Add an option for omitting the first header and final trailer

Conflicts:
	configure
	libavcodec/Makefile
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 16:52:13 +02:00
Anton Khirnov
30223b3bf2 lavc: deprecate the audio resampling API.
It has been superseded by lavr.
2012-10-05 13:47:56 +02:00
Ronald S. Bultje
2e59210edf lavc/h264: don't touch H264Context->ref_count[] during MB decoding.
The variable is copied to subsequent threads at the same time, so this
may cause wrong ref_count[] values to be copied to subsequent threads.

This bug was found using TSAN and Helgrind.

Original patch by Ronald, adapted with a local_ref_count by Clément,
following the suggestion of Michael Niedermayer.

Signed-off-by: Clément Bœsch <clement.boesch@smartjog.com>
2012-10-05 07:35:58 +02:00
Michael Niedermayer
cf5a98b9e3 mpeg2videodec: fix list of supported frame rates to include sane ext rates.
This only adds a subset of the frame rates that can be stored, a full list
would be more than 500 entries. Such full list could (and should) be added
if it has a usecase but the number of users of even the now added rates
seem rather small.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 02:51:19 +02:00
Ronald S. Bultje
f6f7d15041 h264: don't touch H264Context->ref_count[] during MB decoding
The variable is copied to subsequent threads at the same time, so this
may cause wrong ref_count[] values to be copied to subsequent threads.

This bug was found using TSAN.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-05 02:49:45 +02:00
Dmitry Samonenko
66a4ac5182 libspeexenc: Updated commentary to reflect recent changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 00:17:38 +02:00
Dmitry Samonenko
038325ac05 libspeexenc: Add an option for enabling DTX
Discontinuous transmission is an addition to VAD/VBR operation, that
allows to greatly reduce bitrate for silent chunks or stationary
noises.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 00:18:01 +02:00
Michael Niedermayer
d56834201b aacenc: fix out of array writes
The value used in allocation is based on a estimate of the
maximum size of the spectral coefficients multiplied with 2
and rounded up. The exact or a tighter limit should be
found and used instead. But this issue shouldnt be left
open until someone works on that.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 00:18:01 +02:00
Diego Biurrun
1e164c0bcc build: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIO
A new hidden config variable is added for the codecs that depend on the
mpegaudio parts.
2012-10-04 17:58:42 +02:00
Michael Niedermayer
e214306775 mpeg2enc: support and use frame_rate_ext when needed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 15:25:30 +02:00
Michael Niedermayer
0f1446a4d0 Merge commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b'
* commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b':
  vf_overlay: get rid of pointless messing with timebase.
  samplefmt: make av_samples_alloc() initialize the data to silence.
  libspeexdec: handle NULL return value from speex_packet_to_header()
  h264probe: Don't error out on bits that no longer are reserved
  mpegvideo: set extended_data in ff_update_duplicate_context()
  libspeexdec: properly handle DTX for multiple frames-per-packet
  libspeexdec: move the SpeexHeader from LibSpeexContext to where it is used
  libspeexdec: simplify setting of frame_size
  libspeexdec: set channel_layout

Conflicts:
	libavfilter/vf_overlay.c
	libavformat/h264dec.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 13:11:45 +02:00
Michael Niedermayer
741f5b021a Merge commit '29abb04e73b0580ebe38703cadb988d26df6a76a'
* commit '29abb04e73b0580ebe38703cadb988d26df6a76a':
  libspeexdec: If the channel count is not valid, decode as stereo.
  libspeexdec: improve setting of Speex mode and sample rate
  libspeex: Add a private option for enabling VAD
  xtea: Test inplace decryption
  xtea: Fix CBC decryption when src==dst
  xtea: Factorize testing into a separate function
  configure: Refactor HAVE_ options available on the command line
  avconv/avprobe: Add missing 'void' to exit_program() definition
  Allow use of strncpy()
  blowfish: Add more tests
  blowfish: Fix CBC decryption with dst==src
  blowfish: Factorize testing into a separate function

Conflicts:
	configure
	libavcodec/libspeexdec.c
	libavutil/xtea.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 12:30:25 +02:00
Michael Niedermayer
047dcfabc7 afq: sanity assert on remaining_samples
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 03:01:36 +02:00
Michael Niedermayer
b27e2b6e12 afq: update remaining samples variable.
Fixes Ticket1785 (opusenc used this variable)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 02:41:41 +02:00
Justin Ruggles
c9df48909e libspeexdec: handle NULL return value from speex_packet_to_header()
This will happen when the extradata is not a valid Speex header.
2012-10-03 18:26:25 -04:00
Janne Grunau
1481e19825 mpegvideo: set extended_data in ff_update_duplicate_context()
AVFrame.extended_data has to reset to the AVFrame.data of the current
thread context after copying the frame contents.
Fixes crashes with frame-threading after 2bc0de3858.
2012-10-03 22:08:49 +02:00
Justin Ruggles
29abb04e73 libspeexdec: If the channel count is not valid, decode as stereo.
When initialized as stereo, libspeex can decode either mono or stereo packets
and will output stereo.
2012-10-03 16:03:32 -04:00
Justin Ruggles
45e5d0c3ac libspeexdec: properly handle DTX for multiple frames-per-packet 2012-10-03 16:03:32 -04:00
Justin Ruggles
908e22b93a libspeexdec: move the SpeexHeader from LibSpeexContext to where it is used 2012-10-03 16:03:32 -04:00
Justin Ruggles
892695c851 libspeexdec: simplify setting of frame_size 2012-10-03 16:03:32 -04:00
Justin Ruggles
27c3f9c03e libspeexdec: set channel_layout 2012-10-03 16:03:32 -04:00
Justin Ruggles
3b061c5e10 libspeexdec: improve setting of Speex mode and sample rate
If there is no extradata and the sample rate given by the user is not valid,
decode as ultra-wideband.
2012-10-03 16:03:31 -04:00
Dmitry Samonenko
ad11681acd libspeex: Add a private option for enabling VAD
Speex detects non-speech periods and encodes them with just enough bits
to reproduce the background noise, aka ``comfort noise generation''.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:23:39 +03:00
Michael Niedermayer
05e5a24f79 tiffenc: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 18:20:28 +02:00
Michael Niedermayer
6a697b42d0 parser: fix large overreads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 16:14:59 +02:00
Clément Bœsch
1e2e2c8095 lavc/h264: move ff_init_cabac_states() from decode_slice() to ff_h264_decode_init().
This fixes one of the potential races spotted by Helgrind.
2012-10-03 15:38:22 +02:00
Michael Niedermayer
7e5496fc41 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: use numeric ID for Tag_ABI_align_preserved
  segment: Pass the interrupt callback on to the chained AVFormatContext, too
  ARM: bswap: drop armcc version of av_bswap16()
  ARM: set Tag_ABI_align_preserved in all asm files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 13:35:02 +02:00
Michael Niedermayer
695f086939 ffv1dec: print bps for pict debug too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 05:43:32 +02:00
Justin Ruggles
df824548d0 8svx: Fixing header size, move decoding to per call instead of the first call.
The fate checksum change is due to the header size having been wrong.

Credit&Authorship for the code belongs to Justin Ruggles
Blame for bugs in this merging of the code belong to the Commiter
Commit message by Commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 03:49:24 +02:00
Michael Niedermayer
26d1c7d9c3 8svx: avoid custom clip, avoid +128 for compressed data.
Based on:
	commit e371878416
	Author: Justin Ruggles <justin.ruggles@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 02:50:10 +02:00
Michael Niedermayer
6eed92a2b7 8svx: fix delta_decode cliping limits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 01:52:29 +02:00
Nicolas George
72f10d5473 8svx: copy start value in output samples.
Otherwise, the last byte of each stream is left uninitialized.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 01:45:27 +02:00
Michael Niedermayer
d4e82a341e 8svx: remove malloc and memcpy that have become unneeded
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 22:44:09 +02:00
Mans Rullgard
5e826fd65e ARM: set Tag_ABI_align_preserved in all asm files
All our ARM asm preserves alignment so setting this attribute
in a common location is simpler.  This removes numerous warnings
when linking with armcc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-02 19:47:56 +01:00
Michael Niedermayer
032ba74ed2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: fix Thumb PIC on Apple
  nut: add do {} while (0) to GET_V
  tiffenc: Check av_malloc() results.
  tiffenc: Simplify pixel format setup using AVPixFmtDescriptor.
  Use atexit() instead of defining a custom exit_program() interface.
  msvc: Fix detection of VFW & Avisynth required libs

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	ffserver.c
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 19:48:54 +02:00
Michael Niedermayer
f5b31daa5e libopusenc: use more specific and correct name for the channel order
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 17:34:10 +02:00
Michael Niedermayer
e88ca80dc3 Merge commit 'bfcd4b6a1691d20aebc6d2308424c2a88334a9f0'
* commit 'bfcd4b6a1691d20aebc6d2308424c2a88334a9f0':
  adpcmdec: set AVCodec.sample_fmts
  twinvq: use planar sample format
  ralf: use planar sample format
  mpc7/8: use planar sample format
  iac/imc: use planar sample format
  dcadec: use float planar sample format
  cook: use planar sample format
  atrac3: use float planar sample format
  apedec: output in planar sample format
  8svx: use planar sample format

Conflicts:
	libavcodec/8svx.c
	libavcodec/dcadec.c
	libavcodec/mpc7.c
	libavcodec/mpc8.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 17:27:52 +02:00
Michael Niedermayer
82db8ee321 Merge commit 'fd41cb43702498948ff14ba8c284fd5c15fc729d'
* commit 'fd41cb43702498948ff14ba8c284fd5c15fc729d':
  avconv: improve sample format negotiation for decoder request
  Opus encoder using libopus
  mpegts: Drop pointless casting of hex_dump_debug arguments
  avformat: const correctness for av_hex_dump / av_hex_dump_log
  wmadec: Adjust debug printf argument length modifier

Conflicts:
	Changelog
	ffmpeg.c
	libavcodec/libopusdec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 14:58:19 +02:00
Alex Converse
b92dfb56d4 tiffenc: Check av_malloc() results. 2012-10-01 17:46:44 -07:00
Alex Converse
9bc055e358 tiffenc: Simplify pixel format setup using AVPixFmtDescriptor. 2012-10-01 17:46:44 -07:00
Dmitry Samonenko
c785b6db73 Libspeex VAD support
Option for Voice Activity Detection is added to speex encoder.

Speex detects non-speech periods and encodes them with just enough bits
to reproduce the background noise, aka ``comfort noise generation''.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 02:24:55 +02:00
Clément Bœsch
81bbce9cf3 Move xGA font data from lavc to lavu.
This needs to be accessible for libavfilter in the next commit.
2012-10-01 22:24:17 +02:00
Justin Ruggles
bfcd4b6a16 adpcmdec: set AVCodec.sample_fmts 2012-10-01 13:42:44 -04:00
Justin Ruggles
1478a3601e twinvq: use planar sample format 2012-10-01 13:42:44 -04:00
Justin Ruggles
a34be78546 ralf: use planar sample format 2012-10-01 13:42:44 -04:00
Justin Ruggles
1a3459033d mpc7/8: use planar sample format 2012-10-01 13:42:44 -04:00
Justin Ruggles
3fca0d7210 iac/imc: use planar sample format 2012-10-01 13:42:43 -04:00
Justin Ruggles
64c312aa29 dcadec: use float planar sample format 2012-10-01 13:42:43 -04:00
Justin Ruggles
cbf6ee7823 cook: use planar sample format 2012-10-01 13:42:43 -04:00
Justin Ruggles
9af4eaa8ea atrac3: use float planar sample format 2012-10-01 13:42:43 -04:00
Justin Ruggles
461ba7e97a apedec: output in planar sample format 2012-10-01 13:42:43 -04:00
Justin Ruggles
cf8c93ada4 8svx: use planar sample format 2012-10-01 13:42:43 -04:00
Michael Niedermayer
c39916bc2f jpeglsdec: move pict debug log under correct if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 16:45:59 +02:00
Michael Niedermayer
31ab1575e5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: Convert some commented-out printf/av_log instances to av_dlog
  avcodec: Drop silly and/or broken printf debug output
  avcodec: Drop some silly commented-out av_log() invocations
  avformat: Convert some commented-out printf/av_log instances to av_dlog
  avformat: Remove non-compiling and/or silly commented-out printf/av_log statements
  Remove some silly disabled code.
  ac3dec: ensure get_buffer() gets a buffer for the correct number of channels

Conflicts:
	libavcodec/dnxhddec.c
	libavcodec/ffv1.c
	libavcodec/h264.c
	libavcodec/h264_parser.c
	libavcodec/mjpegdec.c
	libavcodec/motion_est_template.c
	libavcodec/mpegaudiodec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/put_bits.h
	libavcodec/ratecontrol.c
	libavcodec/wmaenc.c
	libavdevice/timefilter.c
	libavformat/asfdec.c
	libavformat/avidec.c
	libavformat/avienc.c
	libavformat/flvenc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 16:12:38 +02:00
Nathan Caldwell
6cb8c85409 Opus encoder using libopus
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-01 14:42:40 +02:00
Diego Biurrun
d25fe4cc65 wmadec: Adjust debug printf argument length modifier 2012-10-01 12:46:41 +02:00
Diego Biurrun
1218777ffd avcodec: Convert some commented-out printf/av_log instances to av_dlog 2012-10-01 10:24:28 +02:00
Diego Biurrun
9c6cf7f2c9 avcodec: Drop silly and/or broken printf debug output 2012-10-01 10:24:28 +02:00
Diego Biurrun
6f6b0311a3 avcodec: Drop some silly commented-out av_log() invocations 2012-10-01 10:24:28 +02:00
Diego Biurrun
14d3e7ad11 Remove some silly disabled code. 2012-10-01 10:24:28 +02:00
Paul B Mahol
adc5539e7b smacker: read escape codes in single get_bits() call
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-01 07:51:47 +00:00
Justin Ruggles
56b6a43056 ac3dec: ensure get_buffer() gets a buffer for the correct number of channels
If there is an error during frame parsing, but AVCodecContext.channels was
changed and AC3DecodeContext.out_channels was set previously, the two may not
match.

Fixes CVE-2012-2802
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

CC: libav-stable@libav.org
2012-10-01 00:10:59 -04:00
Michael Niedermayer
29619f47c1 fft-test: fix order of operations for calculating the average error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 20:10:07 +02:00
Paul B Mahol
857797bc14 vima: check packet size before initializing bitstream reader
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-09-30 17:29:37 +00:00
Paul B Mahol
06f5edc9be vima: fix typo in license header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-09-30 17:29:37 +00:00
Paul B Mahol
3fa100244f flac: use get_bits_longlong()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-09-30 14:05:04 +00:00
Paul B Mahol
01c9ffa913 tta: let samples declaration match cast
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-09-30 13:39:38 +00:00
Michael Niedermayer
f51c4bfe3f bitstream: add get_bits_longlong() to support more than 32bits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 15:20:40 +02:00
Michael Niedermayer
20bd921082 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: avoid stuck buffer pointer in decode_nal_units
  mpeg12: fix the semantics of the int* parameter of decode()

Conflicts:
	libavcodec/mpeg12.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 14:28:35 +02:00
Michael Niedermayer
853a93804d Merge commit 'd9a2e87b1ce44cce23801e7ec6810f8bf994fa23'
* commit 'd9a2e87b1ce44cce23801e7ec6810f8bf994fa23':
  mpeg12: move mpeg_decode_frame() lower
  avsdec: Set dimensions instead of relying on the demuxer.
  wmalosslessdec: Reset put bit buffer when num_saved_bits is reset.

Conflicts:
	libavcodec/avs.c
	libavcodec/mpeg12.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 14:10:25 +02:00
Michael Niedermayer
e5ce6d447b Merge commit 'd05f72c75445969cd7bdb1d860635c9880c67fb6'
* commit 'd05f72c75445969cd7bdb1d860635c9880c67fb6':
  dfa: improve boundary checks in decode_dds1()
  wmalosslessdec: Fix reading too many bits in decode_channel_residues()
  wmalosslessdec: fix a get_bits(0) in decode_ac_filter
  wmalosslessdec: make MCLMS arrays big enough for what is written into them.
  indeo4/5: check empty tile size in decode_mb_info().
  ivi_common: make ff_ivi_process_empty_tile() static.
  indeo5: check tile size in decode_mb_info().
  indeo3: fix out of cell write.

Conflicts:
	libavcodec/dfa.c
	libavcodec/indeo3.c
	libavcodec/indeo5.c
	libavcodec/ivi_common.c
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 13:52:48 +02:00
Michael Niedermayer
5f1c3c785c get_bits_long: fix variable type
This fixes a theoretical signed overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 02:37:40 +02:00
Michael Niedermayer
01aa664f21 cyuv: implement raw cyuv
Fixes Ticket1620

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 00:13:54 +02:00
Jindřich Makovička
1a8c6917f6 h264: avoid stuck buffer pointer in decode_nal_units
When decode_nal_units() previously encountered a NAL_END_SEQUENCE,
and there are some junk bytes left in the input buffer, but no start codes,
buf_index gets stuck 3 bytes before the end of the buffer.

This can trigger an infinite loop in the caller code, eg. in
try_decode_trame(), as avcodec_decode_video() then keeps returning zeroes,
with 3 bytes of the input packet still available.

With this change, the remaining bytes are skipped so the whole packet gets
consumed.

CC:libav-stable@libav.org

Signed-off-by: Jindřich Makovička <makovick@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:31:17 +02:00
Anton Khirnov
0f583d20d5 mpeg12: fix the semantics of the int* parameter of decode()
It is got_output, not data_size.
2012-09-29 19:18:39 +02:00
Anton Khirnov
d9a2e87b1c mpeg12: move mpeg_decode_frame() lower
Avoids a forward declaration of decode_chunks().
2012-09-29 19:18:24 +02:00
Michael Niedermayer
85f477935c avsdec: Set dimensions instead of relying on the demuxer.
The decode function assumes that the video will have those dimensions.

Fixes CVE-2012-2801

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:18:07 +02:00
Michael Niedermayer
d65d834731 wmalosslessdec: Reset put bit buffer when num_saved_bits is reset.
Fixes CVE-2012-2799

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:17:38 +02:00
Anton Khirnov
d05f72c754 dfa: improve boundary checks in decode_dds1()
Fixes CVE-2012-2798

CC:libav-stable@libav.org
2012-09-29 19:17:07 +02:00
Anton Khirnov
6a99310fce wmalosslessdec: Fix reading too many bits in decode_channel_residues()
Fixes a part of CVE-2012-2795

CC:libav-stable@libav.org

Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-09-29 19:16:32 +02:00
Michael Niedermayer
f48fbf2eb5 wmalosslessdec: fix a get_bits(0) in decode_ac_filter
Fixes a part of CVE-2012-2795

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:15:27 +02:00
Michael Niedermayer
607f57152c wmalosslessdec: make MCLMS arrays big enough for what is written into them.
Fixes a part of CVE-2012-2795

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:14:25 +02:00
Anton Khirnov
ae3da0ae55 indeo4/5: check empty tile size in decode_mb_info().
This prevents writing into a too small array if some parameters changed
without the tile being reallocated.

Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Fixes CVE-2012-2800

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-09-29 19:13:45 +02:00
Anton Khirnov
5d2170c53b ivi_common: make ff_ivi_process_empty_tile() static.
It's not used outside of ivi_common.c
2012-09-29 19:12:57 +02:00
Michael Niedermayer
2d09cdbaf2 indeo5: check tile size in decode_mb_info().
This prevents writing into a too small array if some parameters changed
without the tile being reallocated.

Fixes CVE-2012-2794

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:12:36 +02:00
Anton Khirnov
e4d4044339 indeo3: fix out of cell write.
Fixes CVE-2012-2776.

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-09-29 19:12:04 +02:00
Michael Niedermayer
f049729e61 ffv1enc: fix integer overflow with high resolutions and lots of slices.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 19:11:25 +02:00
Michael Niedermayer
acfe69669c bink: reindent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 16:25:29 +02:00
Michael Niedermayer
897d336984 bink: remove unneeded special case in the init code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 16:25:25 +02:00
Michael Niedermayer
574e87943e bink: get rid of double precision float use
Add a small table of integers instead as this is simpler and
avoid rounding issues (though such rounding issues are unlikely in this case)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 16:23:57 +02:00
Michael Niedermayer
6fcd4f3c72 dfa: replace redundant check by assert
The values are checked in the wraper function used to call this code.

This was introduced by: ee715f49a0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 15:34:22 +02:00
Michael Niedermayer
b96dc093ea Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmalosslessdec: increase channel_coeffs/residues size
  wmalosslessdec: increase WMALL_BLOCK_MAX_BITS to 14.
  lagarith: check count before writing zeros.
  wmaprodec: check num_vec_coeffs for validity
  avidec: use actually read size instead of requested size
  avidec: return 0, not packet size from read_packet().

Conflicts:
	libavcodec/lagarith.c
	libavcodec/wmalosslessdec.c
	libavcodec/wmaprodec.c
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 15:11:34 +02:00
Michael Niedermayer
8672fc7b04 Merge commit 'b146d74730ab9ec5abede9066f770ad851e45fbc'
* commit 'b146d74730ab9ec5abede9066f770ad851e45fbc':
  indeo4: update AVCodecContext width/height on size change
  dfa: check that the caller set width/height properly.
  indeo5dec: Make sure we have had a valid gop header.
  cavsdec: check for changing w/h.
  lavc: set channel count from channel layout in avcodec_open2().
  doc/platform: Rework the Visual Studio linking section
  doc/faq: Change the Visual Studio entry to reflect current status
  doc/platform: Replace Visual Studio section with build instructions
  doc/platform: Nuke section on linking static MinGW-built libs with MSVC
  doc/platform: Remove false claim about MinGW installer
  doc/platform: Mention MinGW-w64
  dsputil_mmx: fix reading prior of the src array in sub_hfyu_median_prediction()
  mpegaudiodec: fix short_start calculation

Conflicts:
	doc/faq.texi
	doc/platform.texi
	libavcodec/cavsdec.c
	libavcodec/indeo5.c
	libavcodec/ivi_common.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 14:45:55 +02:00
Anton Khirnov
065b3a1cfa wmalosslessdec: increase channel_coeffs/residues size
Fixes CVE-2012-2792

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-09-29 10:29:53 +02:00
Anton Khirnov
4a969030e4 wmalosslessdec: increase WMALL_BLOCK_MAX_BITS to 14. 2012-09-29 10:29:52 +02:00
Michael Niedermayer
b631e4ed64 lagarith: check count before writing zeros.
Fixes CVE-2012-2793

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:28:32 +02:00
Michael Niedermayer
99f392a584 wmaprodec: check num_vec_coeffs for validity
Fixes CVE-2012-2789

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:28:15 +02:00
Michael Niedermayer
b146d74730 indeo4: update AVCodecContext width/height on size change
Fixes CVE-2012-2787

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:27:32 +02:00
Anton Khirnov
ee715f49a0 dfa: check that the caller set width/height properly.
Fixes CVE-2012-2786.
2012-09-29 09:27:08 +02:00
Michael Niedermayer
891918431d indeo5dec: Make sure we have had a valid gop header.
This prevents decoding happening on a half initialized context.

Fixes CVE-2012-2779

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:26:30 +02:00
Michael Niedermayer
c20a696306 cavsdec: check for changing w/h.
Our decoder does not support changing w/h.

Fixes CVE-2012-2777 and CVE-2012-2784.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:26:04 +02:00
Anton Khirnov
12e1e83461 lavc: set channel count from channel layout in avcodec_open2().
Some decoders (e.g. nellymoser) only set channel_layout and do not set
channel count.
2012-09-29 09:25:40 +02:00
Michael Niedermayer
bfe735b582 aacdec: detect faac and skip correct amount of startup samples
This also fixes aac in adts and other containers than mov.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 20:30:37 +02:00
Michael Niedermayer
791b5954bc dsputil_mmx: fix reading prior of the src array in sub_hfyu_median_prediction()
This should fix the utvideoenc valgrind failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 12:25:07 -04:00
Luca Barbato
97cfa55eea mpegaudiodec: fix short_start calculation
The value should be always 3, as it follows from the specification.

Fix a stack buffer overflow in exponents_from_scale_factors as reported
by asan. Thanks to Dale Curtis for the sample vector.
2012-09-28 16:02:39 +02:00
jamal
35e09036c4 avcodec: Add missing include to version.h
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:06:08 +02:00
Michael Niedermayer
2acb5cd907 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopus: Remap channels using libopus' internal remapping.
  Opus decoder using libopus
  avcodec: document the use of AVCodecContext.delay for audio decoding
  vc1dec: add flush function for WMV9 and VC-1 decoders
  http: Increase buffer sizes to cope with longer URIs
  nutenc: const correctness for ff_put_v_trace/put_s_trace function arguments
  h264_refs: Fix debug tprintf argument types
  golomb: const correctness for get_ue()/get_se() function arguments
  get_bits: const correctness for get_bits_trace()/get_xbits_trace() arguments

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/version.h
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 13:54:40 +02:00
Nathan Caldwell
d16860a237 libopus: Remap channels using libopus' internal remapping.
This way we can directly remap channels from Opus' channel order to
libav's internal channel order, instead of mapping channels from
Opus' order to Vorbis' order then to libav's order.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-28 11:03:32 +02:00
Nicolas George
44617d6ec9 Opus decoder using libopus
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-28 11:03:20 +02:00
Nathan Caldwell
e4aa3831b7 avcodec: document the use of AVCodecContext.delay for audio decoding
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-28 10:50:07 +02:00
Kostya Shishkov
4dc8c8386e vc1dec: add flush function for WMV9 and VC-1 decoders
CC: libav-stable@libav.org
2012-09-28 07:08:54 +02:00
Michael Niedermayer
7ed9ec033f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dwt: Drop unused functions spatial_compose{53|97}i()
  nutdec: Remove unused and broken debug function stub
  avcodec: Drop long-deprecated imgconvert.h header
  Add Opus support to the Ogg muxer.
  Add Opus codec id and codec description.
  avformat: Identify anonymous AVIO typedef structs.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/imgconvert.h
	libavcodec/version.h
	libavformat/oggenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 05:11:19 +02:00
Michael Niedermayer
ac7d0c79c3 mp3dec: ask for 8khz switch point mp3s
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 04:39:10 +02:00
Michael Niedermayer
94041febc5 mp3dec: Fix possibly exploitable crash
I was sadly unable to find a non fuzzed mp3 that uses the
feature that contained the bug (and i searched hard ...), thus
while this fixes the security issue. It may or may not fix
mixed blocks in 8khz mp3s, i cant say due to lack of samples to test.

Security issue exists since: b37d945dd4

Reported-by: Dale Curtis <dalecurtis@google.com>
(Probably) Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 01:45:53 +02:00
Michael Niedermayer
9e9b5159e9 mpegvideo_enc: reduce QMAT_SHIFT to avoid overflow in dnxhd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 19:43:31 +02:00
Diego Biurrun
6c5b0517e0 h264_refs: Fix debug tprintf argument types 2012-09-27 19:10:10 +02:00
Diego Biurrun
80412997c8 golomb: const correctness for get_ue()/get_se() function arguments 2012-09-27 19:10:10 +02:00
Diego Biurrun
e00215040a get_bits: const correctness for get_bits_trace()/get_xbits_trace() arguments 2012-09-27 19:10:10 +02:00
Michael Niedermayer
7e9830d123 dsputil_mmx: fix reading prior of the src array in sub_hfyu_median_prediction()
This should fix the utvideoenc valgrind failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 16:43:39 +02:00
Michael Niedermayer
e760424ddd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  nutdec: const correctness for get_v_trace/get_s_trace function arguments
  truemotion2: Request samples for old TM2 headers
  rtpdec: Remove a useless ff_ prefix from a static symbol
  rtpdec: Support depacketizing speex
  rtpenc: Add support for packetizing speex

Conflicts:
	libavformat/rtpdec.c
	libavformat/sdp.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 14:29:03 +02:00
Diego Biurrun
4e5b7f31f7 dwt: Drop unused functions spatial_compose{53|97}i() 2012-09-27 12:08:09 +02:00
Diego Biurrun
0ae3ba8daa avcodec: Drop long-deprecated imgconvert.h header 2012-09-27 12:02:33 +02:00
Andrew D'Addesio
2a3d82ab46 Add Opus codec id and codec description.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-27 10:48:35 +02:00
Diego Biurrun
2dc1310484 truemotion2: Request samples for old TM2 headers 2012-09-26 19:10:13 +02:00
Michael Niedermayer
3b92075e6c Revert "arm/h264: fix overreads in h264_chroma_mc8-and-h264_chroma_mc4"
This reverts commit d25f87f517.

This breaks decoding of some h264 files
I have tested the original patch with fate but by mistake have
forgotten to specify the fate samples so testing was limited to
the internal regression tests.
2012-09-26 17:31:25 +02:00
Michael Niedermayer
55a6f705ac ffv1dec: support decoding older 1.3 bitstream variant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 17:04:29 +02:00
Michael Niedermayer
ff0c628268 ffv1:update copyright year
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 17:00:15 +02:00
Michael Niedermayer
ae0449314c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  xsub: feed init_get_bits the whole buffer
  libfdk-aac: Allow setting VBR modes via a private option
  libfdk-aac: Warn the user that the VBR modes are unsupported
  Revert "cbrt_tablegen: Include libm.h"

Conflicts:
	libavcodec/xsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 13:51:39 +02:00
Michael Niedermayer
f75c5f07a9 diracyasm: fix win64
Fixes Ticket1412

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 01:56:01 +02:00
Michael Niedermayer
5fe808578c libx264: fix open GOP
Found-by: relaxed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 01:56:01 +02:00
Michael Niedermayer
c5e2347373 mlpdec: supress layout mismatch warnings for 2 ch upmixed mono
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 22:45:52 +02:00
Michael Niedermayer
eda5db6bd1 mlpdec: discard a 2nd substream if the stream is mono
This fixes the rest of Ticket1726

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 22:36:45 +02:00
Michael Niedermayer
2a672652bb mlp_parser: dont override existing channel geometry.
This prevents race conditions
And partly fixes Ticket1726

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 22:35:26 +02:00
Alexandre Colucci
92d2b909a0 xsub: feed init_get_bits the whole buffer
Do not use rlelen field for buffer size in init_get_bits, it is
only the size of the data for the first field.
Since it is not reliable, just use the size of the whole buffer.

Additional comments add removal of unused rlelen variable by
Reimar Döffinger.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-25 22:28:53 +02:00
bruce-wu
d25f87f517 arm/h264: fix overreads in h264_chroma_mc8-and-h264_chroma_mc4
Fixes Ticket1227
2012-09-25 20:09:30 +02:00
Martin Storsjö
375bff7084 libfdk-aac: Allow setting VBR modes via a private option
This avoids using the global_quality field and QSCALE flag for
passing the VBR modes, since the value range of the global_quality
field doesn't really map cleanly to this codec's VBR modes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-25 20:51:47 +03:00
Martin Storsjö
a10190dcd8 libfdk-aac: Warn the user that the VBR modes are unsupported
These modes were not originally exposed by the library at all.
In practice, only a few of them work for each sample rate/profile
combination, and they don't work at all for the more uncommon
sample rates.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-25 20:51:46 +03:00
Derek Buitenhuis
b62d4c16c9 Revert "cbrt_tablegen: Include libm.h"
This code runs on the host and should not use libm.h, which is meant
for the target.

This reverts commit 2768b71798.
2012-09-25 12:54:26 -04:00
Michael Niedermayer
49331f7ba3 dnxhdenc: fix speed regression
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 18:10:11 +02:00
Michael Niedermayer
6b33e91899 mpegvideo: factorize ff_dct_encode_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 18:10:11 +02:00
Michael Niedermayer
71d6eb2208 dnxhdenc: remove redundant call to ff_dsputil_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 18:10:11 +02:00
Michael Niedermayer
8deddc6961 avcodec_alloc_frame: dont zero the whole struct twice
cleaning it up is already done in avcodec_get_frame_defaults()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 18:10:10 +02:00
Michael Niedermayer
abcaacf1ac Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pthread: make sure AVFrame.extended_data is set properly.
  libfdk-aac: reindent after last commit
  libfdk-aac: Limit to supported sample rates.
  cbrt_tablegen: Include libm.h
  oggparsetheora: make it more robust
  ogg: prevent NULL pointer deference in theora gptopts

Conflicts:
	libavformat/oggparsetheora.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 16:11:34 +02:00
Michael Niedermayer
46a35959d8 Merge commit '7751e4693dd10ec98c20fbd9887233b575034272'
* commit '7751e4693dd10ec98c20fbd9887233b575034272':
  ogg: check that the expected number of headers had been parsed
  libx264: change default to closed gop to match x264cli
  Use avcodec_free_frame() to free AVFrames.
  lavf: use a malloced AVFrame in try_decode_frame().
  lavc: add avcodec_free_frame().
  lavc: ensure extended_data is set properly on decoding
  lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
  lavc: use av_mallocz to allocate AVFrames.
  lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	libavcodec/utils.c
	libavcodec/version.h
	libavfilter/src_movie.c
	libavformat/oggdec.c
	libavformat/oggdec.h
	libavformat/oggparsetheora.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:15:16 +02:00
Anton Khirnov
7a1a9dd56c pthread: make sure AVFrame.extended_data is set properly.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-25 12:03:23 +02:00
Nathan Caldwell
c8ba8be27e libfdk-aac: reindent after last commit
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-25 08:08:05 +03:00
Nathan Caldwell
94a69dee64 libfdk-aac: Limit to supported sample rates.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-25 08:08:05 +03:00
Derek Buitenhuis
2768b71798 cbrt_tablegen: Include libm.h
Needed for cbrtf fallback on systems which lack it.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-24 22:47:47 -04:00
Michael Niedermayer
aea15df3b4 ffv1dec: change bitstream end check to a exact check instead of a +-1 check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 03:43:23 +02:00
Michael Niedermayer
d8676140de ffv1: inject sentinels for RC->VLC transitions begining with 1.3
This breaks bitstream compatibility of 1.3 VLC streams
This fixes very rare errors in the RC stream at the transition point
to VLC.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 03:43:22 +02:00
Michael Niedermayer
ad9371ef24 ffv1enc: fix RC slice sentinel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 03:43:21 +02:00
John Van Sickle
a716006a7d libx264: change default to closed gop to match x264cli
open-gop can be enabled with "-flags -cgop"

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-24 19:23:03 +02:00
Stefano Sabatini
f3bd6fa7a8 lavc/mmvideo: forward reget_buffer return value in mm_decode_frame() 2012-09-24 14:57:49 +02:00
Anton Khirnov
11d1ca4b2c Use avcodec_free_frame() to free AVFrames. 2012-09-24 12:31:25 +02:00
Anton Khirnov
a42aadabc6 lavc: add avcodec_free_frame().
Since an AVFrame now has malloced members (extended_data), it must have
a destructor.
2012-09-24 12:31:24 +02:00
Anton Khirnov
b437cec143 lavc: ensure extended_data is set properly on decoding 2012-09-24 12:31:24 +02:00
Anton Khirnov
2bc0de3858 lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults() 2012-09-24 12:31:24 +02:00
Anton Khirnov
c084a975aa lavc: use av_mallocz to allocate AVFrames.
Otherwise the frame is uninitialized, so avcodec_get_frame_defaults()
cannot determine whether to free extended_data.
2012-09-24 12:31:24 +02:00
Anton Khirnov
a83499b13b lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults
AVFrame is used for both audio and video, so calling the argument 'pic'
is misleading.
2012-09-24 12:31:24 +02:00
Stefano Sabatini
efa3d5af1e lavc/roqvideodec: fix error message
Remove redundant reference to codec name, it is already mentioned in the
log header.
2012-09-24 12:02:38 +02:00
Stefano Sabatini
b1fee1be61 lavc/roqvideodec: propagate reget_buffer() error code 2012-09-24 12:02:31 +02:00
Stefano Sabatini
d2c70ec07f lavc/roqvideodec: remove useless headers 2012-09-24 12:02:23 +02:00
Michael Niedermayer
127b70e423 ra144: factor division out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 21:12:23 +02:00
Reimar Döffinger
3905caf251 Document that the MPEG12 "fast" functions can read out of bounds.
This is intentional (and a reason why fast usually should not be used),
but a few people sent patches to "fix" this recently so it would be
better to document this.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-09-23 15:40:17 +02:00
Clément Bœsch
2599541b3d WebVTT demuxer and decoder. 2012-09-23 15:24:08 +02:00
Michael Niedermayer
fecfdf6e72 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: fix memleak in avcodec_encode_audio2()

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 13:55:43 +02:00
Justin Ruggles
0ccf051a9d avcodec: fix memleak in avcodec_encode_audio2()
Ensure that padded_frame is freed before returning when needed.
2012-09-22 09:24:24 -04:00
Michael Niedermayer
8364bde02b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sipr: fall back to setting mode based on bit_rate.

Conflicts:
	libavcodec/sipr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 14:04:44 +02:00
Michael Niedermayer
79bf1f0ad0 rawdec: fix "warning: assignment from incompatible pointer type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 13:48:40 +02:00
Michael Niedermayer
07cdd39478 pnmdec: use explicit casts to remove const to avoid warning with clang
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 04:51:47 +02:00
Michael Niedermayer
8d45c001a8 flac_parser: fix fifo ptr wrap check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 04:40:10 +02:00
Reimar Döffinger
c54e00610f sipr: fall back to setting mode based on bit_rate.
Not all applications (e.g. MPlayer) set block_align, and
when using a different demuxer it might not even be
easily available.
So fall back to selecting mode based on bit rate as before
if block_align has not useful value.
It can't be worse than failing to decode completely.

(cherry picked from commit 1d0d63052b)

CC: libav-stable@libav.org
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-09-21 20:11:23 +02:00
Michael Niedermayer
406cdddbdd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx264: add forgotten ;
  matroskadec: fix a sanity check.
  matroskadec: only return corrupt packets that actually contain data
  lavf: zero data/size of the packet passed to read_packet().
  ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code
  ARM: align PIC offset pools to 4 bytes
  ARM: swap source operands in some add instructions
  configure: update tms470 detection for latest version
  lavf probe: prevent codec probe with no data at all seen
  motion_est: fix use of inline on extern functions

Conflicts:
	libavcodec/motion_est_template.c
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 14:44:32 +02:00
Anton Khirnov
e52e4fe10d libx264: add forgotten ; 2012-09-21 09:20:09 +02:00
Andrey Utkin
cc07a7925e Add av_copy_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 01:03:31 +02:00
Andrey Utkin
d33908a5fc Move av_dup_packet() copy logic to separate procedure
Done to simplify next commit introducing av_copy_packet()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 00:49:12 +02:00
Michael Niedermayer
5864ce13d1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mp3dec: read Xing frame TOC index
  mp3dec: use named constants for Xing header flags
  libx264: add support for nal-hrd, required for Blu-ray streams.
  mov: support random access point grouping
  matroskadec: properly support BlockDuration

Conflicts:
	libavcodec/libx264.c
	libavformat/isom.h
	libavformat/matroskadec.c
	libavformat/mov.c
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 21:46:35 +02:00
Mans Rullgard
a27a690fac ARM: swap source operands in some add instructions
This allows using a 16-bit opcode when generating Thumb2 code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-20 17:07:18 +01:00
Mans Rullgard
a34a609fc1 motion_est: fix use of inline on extern functions
Inline functions declared without extern do not provide an external
definition in standard C99.  This code only works because most
compilers do not implement the inline semantics correctly.  With a
stricter compiler, linking fails with unresolved references to these
functions.

Declaring the functions extern inline works correctly with some
compilers while some others still fail to create external definitions.

For maximum portability, create a static inline version with an
externally visible wrapper for ff_get_mb_score.  ff_epzs_motion_search
is so large that no sane compiler inlines it anyway, so there the
inline keyword can simply be dropped with no effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-20 10:56:30 +01:00
Michael Niedermayer
16e52c86ba error_resilience: guess_dc: check malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 05:38:53 +02:00
Michael Niedermayer
d2981b8ef1 h263dec: disable coded dimensions = 0 handling
This code causes infinite loops

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 04:38:46 +02:00
Michael Niedermayer
61ced71d79 Merge commit '581281e242609a222233a2e5538b89dfb88fb18e'
* commit '581281e242609a222233a2e5538b89dfb88fb18e':
  matroskadec: check realloc in lzo encoding
  matroska: honor error_recognition on unknown doctypes
  tiffdec: Add support for GRAY16LE.
  tiffenc: Add support for little endian RGB48 and GRAY16
  mpeg4: support frame parameter changes with frame-mt
  mpegvideo: check ff_find_unused_picture() return value for errors
  mpegvideo: release frame buffers before freeing them
  configure: msvc: default to 'lib' as 'ar' tool
  build: support some non-standard ar variants

Conflicts:
	libavcodec/h263dec.c
	libavcodec/mpegvideo.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 03:20:29 +02:00
Michael Niedermayer
d1974e05d1 j2k: fix "static is not at beginning of declaration" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 02:13:52 +02:00
Michael Niedermayer
36c2694d83 dcadec: fix "set but not used" variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 23:29:37 +02:00
John Van Sickle
9bf41210a9 libx264: add support for nal-hrd, required for Blu-ray streams.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-19 20:59:24 +02:00
Alex Converse
df6c3f9fb3 tiffdec: Add support for GRAY16LE.
Tested with the GraphicsMagick TIFF archive and Libav generated files.
2012-09-19 11:05:36 -07:00
Alex Converse
298ed797e1 tiffenc: Add support for little endian RGB48 and GRAY16 2012-09-19 11:05:36 -07:00
Janne Grunau
8701f4f8e8 mpeg4: support frame parameter changes with frame-mt
Adds a flag context_reinit to MpegEncContext to relieable keep track
of frame parameter changes which require a context reinitialization.
This is required for broken inputs which change the frame size but
error out before the context can be reinitialized.
2012-09-19 19:58:15 +02:00
Janne Grunau
01fc5d6609 mpegvideo: check ff_find_unused_picture() return value for errors 2012-09-19 19:58:15 +02:00
Janne Grunau
32c7589bb7 mpegvideo: release frame buffers before freeing them
Fixes triggering an assert in avcodec_default_release_buffer()
introduced in 1b3439b30.
2012-09-19 19:58:15 +02:00
Michael Niedermayer
d5fd610dab wmavoice: initialize best_hist_ptr to NULL to prevent (incorrect) warning.
As a sideeffect this makes the code more robust if a future change leaves
a path where it may be uninitialized otherwise.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 18:33:30 +02:00
Michael Niedermayer
8846115b1a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv34: use ff_MPV_common_frame_size_change()
  mpegvideo: add reinit function for frame parameter changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 15:30:34 +02:00
Michael Niedermayer
67d501b4f1 Merge commit '1b3439b3055b083df51d7f7838ecc6b3f708b15c'
* commit '1b3439b3055b083df51d7f7838ecc6b3f708b15c':
  mpegvideo: move frame size dependent memory management to separate functions
  configure: add --toolchain option
  configure: Make the smoothstreaming muxer enable the ismv muxer
  smoothstreaming: Export the mp4 codec tags
  mov: check for EOF in long lasting loops
  avcodec: cleanup utils.c
  binkaudio: remove unneeded GET_BITS_SAFE macro
  binkaudio: use float sample format
  binkaudio: use a different value for the coefficient scale for the DCT codec

Conflicts:
	configure
	libavcodec/mpegvideo.c
	libavcodec/utils.c
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 15:13:53 +02:00
Janne Grunau
b16d001b62 rv34: use ff_MPV_common_frame_size_change()
Specialised functionality for size changes with the advantage of
supporting frame size changes during frame-based multithreading.
2012-09-19 11:06:40 +02:00
Janne Grunau
435c0b87d2 mpegvideo: add reinit function for frame parameter changes
This is mainly required for frame parameter changes during frame based
multithreading but single threaded usage profits too from avoiding
ff_MPV_common_end()/ff_MPV_common_init() cycles.
2012-09-19 11:06:39 +02:00
Janne Grunau
1b3439b305 mpegvideo: move frame size dependent memory management to separate functions
This is a preparation for supporting frame size changes during
frame-based multithreading.
2012-09-19 11:06:31 +02:00
Michael Niedermayer
0b2ac679e2 sonic: factorize tail_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 17:37:41 +02:00
Michael Niedermayer
512beea529 sonicenc: limit quant so that golomb codes are less than 32 bits long
before they could become 33 bits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 17:33:55 +02:00
Michael Niedermayer
efac6f7472 x86/mpegaudiodec: drop likely now unneeded #if HAVE_AVX_EXTERNAL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 16:15:17 +02:00
Michael Niedermayer
c0dfc720ef mpegaudiodec: add prototypes for all functions that may need them
fixes compile failure

Found-by: kriegerod
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 16:10:09 +02:00
Michael Niedermayer
36e5c472c8 allcodecs: re-enable sonic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 15:45:20 +02:00
Michael Niedermayer
a44cbc1cbc sonic: update to encode2() API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 15:45:07 +02:00
Luca Barbato
419ffb2390 avcodec: cleanup utils.c 2012-09-18 15:32:52 +02:00
Justin Ruggles
ee90119e9e binkaudio: remove unneeded GET_BITS_SAFE macro
Normal get_bits() already has overread protection.
2012-09-18 09:27:23 -04:00
Justin Ruggles
7bfd1766d1 binkaudio: use float sample format
Use planar for DCT codec, interleaved for RDFT codec.
2012-09-18 09:27:23 -04:00
Justin Ruggles
0801b5979b binkaudio: use a different value for the coefficient scale for the DCT codec
Eliminates the need for vector_fmul_scalar() in each frame.
2012-09-18 09:26:56 -04:00
Michael Niedermayer
4cdc337b5d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flvenc: silence bogus warning
  configure: include flags in nm variable
  alsdec: fix misplaced parentheses.
  alsdec: check return values.
  alsdec: fix number of decoded samples in first sub-block in BGMC mode.
  alsdec: Fix out of ltp_gain_values read.
  alsdec: Check that quantized parcor coeffs are within range.
  alsdec: check opt_order.

Conflicts:
	configure
	libavcodec/alsdec.c
	libavformat/flvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 15:06:43 +02:00
Michael Niedermayer
91af76099e Merge commit '23aae62c2cb4504a09ceb8cd0cabc1c8b260f521'
* commit '23aae62c2cb4504a09ceb8cd0cabc1c8b260f521':
  alsdec: Check k used for rice decoder.
  avfiltergraph: silence an uninitialized variable warning
  xsubenc: reindent
  lavc: replace AVCodecContext.encode with subtitle-specific callback
  lavc: add const to private codec class initialization.
  avconv: don't pass a bogus parameter to avfilter_graph_create_filter().
  id3v2: strdup the genre name explicitly.
  lavf/id3v2: do not export empty fields.
  buffersrc: add const to the AVFrame* argument of av_buffersrc_write_frame()
  lavfi: replace empty input/output lists with null pointers

Conflicts:
	ffmpeg_filter.c
	libavcodec/alsdec.c
	libavcodec/dvdsubenc.c
	libavcodec/utils.c
	libavcodec/v210dec.h
	libavfilter/af_channelsplit.c
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 14:45:44 +02:00
Bobby Bingham
4aade44c4a targaenc: Use named TGA_RLE constant instead of magic number 2012-09-18 10:45:09 +02:00
Bobby Bingham
8e59062597 Fix typo in targa encoder comment 2012-09-18 10:44:32 +02:00
Michael Niedermayer
70a9734544 dsputil: change assert(8) to av_assert2(8)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 05:27:23 +02:00
Michael Niedermayer
66bdc58550 get_cabac_inline_x86: workaround clang bug with disabled optimizations
gcc produces binary identical output relative to before this change

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 00:45:29 +02:00
Andrey Utkin
b0fabed20f When copying pkt side_data, don't forget size, type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 22:36:28 +02:00
Lyubomir Marinov
63951aec2b libx264: feed x264_param_apply_profile from AVCodecContext.profile in absence of other information
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 21:31:57 +02:00
Lyubomir Marinov
fd9cd8cd5a libx264: connect AVCodecContext.rtp_payload_size to x264_params_t.i_slice_max_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 21:31:57 +02:00
Derek Buitenhuis
5c95a93411 dirac_arith: Fix unprotected inline asm
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-17 15:00:40 -04:00
Clément Bœsch
ee0f53e966 alsdec: fix misplaced parentheses.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:27 -04:00
Thilo Borgmann
ac3f5a6879 alsdec: check return values.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:27 -04:00
Thilo Borgmann
66197988b1 alsdec: fix number of decoded samples in first sub-block in BGMC mode.
Fixes CVE-2012-2790

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:27 -04:00
Thilo Borgmann
97f0efbfb8 alsdec: Fix out of ltp_gain_values read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:27 -04:00
Michael Niedermayer
5b051ec3bd alsdec: Check that quantized parcor coeffs are within range.
ALS spec:
	11.6.3.1.1 Quantization and encoding of parcor coefficients
	...
	In all cases the resulting quantized values ak are restricted to the range [-64,63].

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:27 -04:00
Michael Niedermayer
23aae62c2c alsdec: Check k used for rice decoder.
Values that fail this check will cause failure of decode_rice()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:26 -04:00
Michael Niedermayer
9853e41aa0 alsdec: check opt_order.
Fixes out of array write in quant_cof.
Also make sure no invalid opt_order stays in the context.

Fixes CVE-2012-2775

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:26 -04:00
Anton Khirnov
34ebbbfeec xsubenc: reindent 2012-09-17 15:48:20 +02:00
Anton Khirnov
466b39efaf lavc: replace AVCodecContext.encode with subtitle-specific callback
AVCodecContext.encode is currently used only for subtitles, encode2 is
used for audio and video.
2012-09-17 15:48:20 +02:00
Anton Khirnov
9f64c8219a lavc: add const to private codec class initialization.
Silences a warning about discarding const.
2012-09-17 15:48:20 +02:00
Michael Niedermayer
a593f5bd9d arm/dca: Fix compilation of decode_blockcodes() with --enable-thumb
Fix Suggested-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 19:06:11 +02:00
Carl Eugen Hoyos
6fa2532dd3 vda_h264.c: Change header inclusion order.
Fixes compilation with XCode 3.2.6.
Fixes ticket #1736.
2012-09-16 16:43:27 +02:00
Michael Niedermayer
e80cbdbc57 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: drop unnecessary arguments to hpel_motion()
  mpegvideo: drop 'inline' from some functions
  nellymoserdec: drop support for s16 output.
  bmpdec: only initialize palette for pal8.
  build: Properly remove object files while cleaning
  flacdsp: arm optimised lpc filter
  compat/vsnprintf: return number of bytes required on truncation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 14:55:00 +02:00
Michael Niedermayer
f276a490f0 Merge commit '3f7fd59d151a2773f0e2e93e56b6b13ec6e5334b'
* commit '3f7fd59d151a2773f0e2e93e56b6b13ec6e5334b':
  avformat: fix typo in avformat_close_input
  mp3enc: write Xing TOC
  mp3enc: support MPEG-2 and MPEG-2.5 in Xing header.
  mp3enc: downgrade some errors in writing Xing frame to warnings
  lavf: flush the output AVIOContext in av_write_trailer().
  lavf: cosmetics, reformat av_write_trailer().
  avio: flush the internal buffer in avio_close()
  Enhance doc on asyncts audiofilter
  cmdutils: avoid setting data pointers to invalid values in alloc_buffer()
  libavcodec: remove av_destruct_packet_nofree()

Conflicts:
	libavcodec/avpacket.c
	libavformat/mp3enc.c
	libavformat/nutenc.c
	libavformat/utils.c
	libavformat/version.h
	tests/ref/lavf/voc
	tests/ref/lavf/voc_s16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 14:24:11 +02:00
Mans Rullgard
2568646abb mpegvideo: drop unnecessary arguments to hpel_motion()
These arguments are either constants or copies of MpegEncContext
fields just as easily accessed within the function.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-16 11:18:21 +01:00
Mans Rullgard
66f5a6b419 mpegvideo: drop 'inline' from some functions
These functions do not benefit from being inlined.  They are large,
and there are no opportunities for constant propagation.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-16 11:18:21 +01:00
Anton Khirnov
66f52d0c3d nellymoserdec: drop support for s16 output.
It internally decodes as float and then converts to s16 by a call to
float_to_int16(). The caller can do this just as well by using lavr.
2012-09-16 09:44:26 +02:00
Anton Khirnov
8b78c2969a bmpdec: only initialize palette for pal8.
Gray8 is not considered to be paletted, so this would cause an invalid
write.

Fixes bug 367.

CC: libav-stable@libav.org
2012-09-16 09:43:17 +02:00
Clément Bœsch
d214e5cfb4 lavc/ass_split: add ff_ prefix to ass_style_get(). 2012-09-16 03:05:01 +02:00
Mans Rullgard
7689eea49a flacdsp: arm optimised lpc filter 2012-09-15 23:54:21 +01:00
Michael Niedermayer
0da0b5e0f8 pngdec: av_log() zlib errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 22:13:21 +02:00
Ben Jackson
374c17c8fc lavc/vp56: Re-indent functions affected by threading refactor
All whitespace plus a curly brace.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:52 +02:00
Ben Jackson
39a3894ad5 lavc/vp6: Implement "slice" threading for VP6A decode
The YUV channels of VP6 are encoded in a highly linear fashion which does
not have any slice-like concept to thread.  The alpha channel of VP6A is
fairly independent of the YUV and comprises 40% of the work.  This patch
uses the THREAD_SLICE capability to split the YUV and A decodes into
separate threads.

Two bugs are fixed by splitting YUV and alpha state:
- qscale_table from VP6A decode was for alpha channel instead of YUV
- alpha channel filtering settings were overwritten by YUV header parse

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:47 +02:00
Ben Jackson
1c20fcf0b0 lavc/vp56: Simplify get/release_buffer code
Rather than cleverly managing frame pointers with swaps to avoid
re-using "golden" frames, just do brute-force management of the
4 AVFrames.  New strategy is probably no more costly and is easier
to adapt to threaded usage.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:40 +02:00
Ben Jackson
eebc11ebc8 lavc/vp56: Move golden_frame into VP56Context
Makes golden_frame more like other frame data, paves way for threading
alpha channel decode.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:35 +02:00
Ben Jackson
6e86d6af6b lavc/vp6: Refactor vp6_decode_init into vp6_decode_init/vp6_decode_init_context
Pave the way for per-thread context initialization.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:29 +02:00
Ben Jackson
23503cadd1 lavc/vp56: Refactor ff_vp56_init into ff_vp56_init/ff_vp56_init_context
Pave the way for per-thread context initialization.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:22 +02:00
Michael Niedermayer
47277c4153 x86/v210: fix xmm clobbers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 16:26:00 +02:00
Nicolas George
37bbc9eb8b lavc/pgssubdec: use the PTS from the presentation segment.
According to the sample for trac ticket #1722, PGS subtitles
are decoded from several packets at the same DTS and varying PTS.
The PTS from the presentation segment seem to be the valid one;
in particular, clear subtitles are too early with the other PTS.
2012-09-15 16:14:33 +02:00
Nicolas George
9dd8272431 lavc: set AVSubtitle.pts if possible.
If the packet has a PTS and the corresponding time base is known,
set the pts field of the decoded subtitle structure before the
call to the decoder. The decoder is still allowed to change the
PTS if necessary.
2012-09-15 15:58:42 +02:00
Mans Rullgard
cb6632809d libavcodec: remove av_destruct_packet_nofree()
This function was deprecated two major versions ago (2009).

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-15 13:50:35 +01:00
Michael Niedermayer
f1ca40ee00 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  riff: Add SVQ3 fourcc
  fate: ac3: add 4.0 and downmix tests
  configure: x86: improve ebp availability check
  vorbisdec: ensure FASTDIV denominator is never 1
  avformat: refactor avformat_close_input
  avformat: simplify avformat_close_input

Conflicts:
	configure
	libavcodec/vorbisdec.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 10:35:26 +02:00
Michael Niedermayer
ab94d1be7a bintext: mark hscroll() as unused
This fixes a warning about a unused function
Alternatively the function could be removed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 04:06:32 +02:00
Akihiro Tsukada
c3c646a868 aacdec: add support for dual mono in Japanese DTV
Japanese DTV uses some non standard extensions in AAC audio.
One example is 'dual mono', which combines two independent
audio into one stereo stream, storing them in left and right channels
respectively.  Historically, dual mono audio has been used for
multi-lingual audio, one for local/native language, and another for english,
and usually the "main" (local language) channel should be output without
any user interactions.

The frames of those dual mono audio are allowed to set
ADTS channel_config field to 0, and just contain two SCE's *WITHOUT* PCE,
which is a non standard extension by Japanese DTV standard.
(ref. ARIB STD-B32 PartII 5.2.3)

This patch adds an AVPacket side data, AV_PKT_DATA_JP_DUALMONO,
which indicates that the AVPacket is likely to contain an audio frame
with the above dual mono extension, and has the parameter to specify
the desired channel selection in that case.
It also makes aacdec to detect dual mono and output just the desired
channel when this side data is attached.

Signed-off-by: Akihiro Tsukada <atsukada@users.sourceforge.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 03:50:04 +02:00
Stefano Sabatini
8bdba0b3e9 tools: move raw-test program to tools, with the name fourcc2pixfmt 2012-09-14 23:04:38 +02:00
Luca Barbato
714508bcb9 vorbisdec: ensure FASTDIV denominator is never 1
In both usages of FASTDIV the denominator might be 1.

Using a branch could make the function slower than using a normal
division.

Both denominator and numerator can be multiplied by 2 safely and
using shifts is faster than using a branch.
2012-09-14 14:26:27 +02:00
Michael Niedermayer
509f502902 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Move Xvid IDCT put/add functions to a more suitable place
  trasher: Include all the necessary headers
  x86: Remove some leftover declarations for non-existent functions
  ARM: libavresample: NEON optimised generic fltp to s16 conversion
  ARM: libavresample: NEON optimised stereo fltp to s16 conversion
  ARM: libavresample: NEON optimised flat float to s16 conversion

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 14:13:38 +02:00
Ben Jackson
e3329474a3 pthread: Avoid crashes/odd behavior caused by spurious wakeups
pthread_wait_cond can wake up for no reason (Wikipedia: Spurious_wakeup).
The FF_THREAD_SLICE thread mechanism could spontaneously execute jobs or
allow the caller of avctx->execute to return before all jobs were complete.
This adds tests to both cases to ensure the wakeup is real.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 06:36:55 +02:00
Michael Niedermayer
93b240f4a5 mpegaudio_parser: reset state to prevent it to be random
Fixes Ticket1718

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 05:55:11 +02:00
Michael Niedermayer
570931d411 aacpsy: psy_3gpp_analyze_channel() handle energy == 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 03:27:25 +02:00
Michael Niedermayer
413b32f808 aacpsy: calc_reduction_3gpp() handle active_lines = 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 03:26:19 +02:00
Diego Biurrun
58139e141b x86: dsputil: Move Xvid IDCT put/add functions to a more suitable place 2012-09-14 01:59:47 +02:00
Michael Niedermayer
c21f81999a mpegaudioenc: replace pow(2,.. by exp2(
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 22:44:42 +02:00
Diego Biurrun
2017f0fdb7 x86: Remove some leftover declarations for non-existent functions 2012-09-13 21:38:47 +02:00
Derek Buitenhuis
59db014b5b Revert "lavc/libx264: remap X264_LOG_INFO loglevel from AV_LOG_INFO to VERBOSE"
You should not need to enable verbose logging and all the output that comes
with it in order to get things like the obtained bitrate from a first
pass encode. Many things parse this output.

Also, since it is marked as info in libx264, it should be marked as
info in libavcodec as well.

This reverts commit 911519caec.
2012-09-13 10:57:50 -04:00
Michael Niedermayer
75f3e0ad95 mpegvideo: skip ff_print_debug_info() for VDPAU
Based on code by: MEANX / gruntster (Avidemux Rev 7990 — 2012-05-30 13:02:27)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 16:22:42 +02:00
Michael Niedermayer
e3e09f2bad Merge remote-tracking branch 'qatar/master'
* qatar/master:
  os_support: Choose between direct.h and io.h using a configure check
  os_support: Include io.h instead of direct.h on mingw32ce
  x86: ac3dsp: Only refer to the ac3_downmix_sse symbol if it has been declared
  swscale: Remove two bogus asserts
  ac3: move ac3_downmix() from dsputil to ac3dsp
  lavr/audio_mix_matrix: acknowledge the existence of LFE2.
  mlp_parser: avoid mapping multiple disctinct TrueHD channels to the same Libav channel.
  lavu/audioconvert: add a second low frequency channel.

Conflicts:
	doc/APIchanges
	libavcodec/ac3dsp.c
	libavcodec/ac3dsp.h
	libavcodec/mlp_parser.c
	libavutil/audioconvert.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 15:35:50 +02:00
Martin Storsjö
91ff4e83ca x86: ac3dsp: Only refer to the ac3_downmix_sse symbol if it has been declared
This fixes building without inline assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 13:51:52 +03:00
Mans Rullgard
97cb9236cf ac3: move ac3_downmix() from dsputil to ac3dsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-12 23:39:50 +01:00
Tim Walker
3844572887 mlp_parser: avoid mapping multiple disctinct TrueHD channels to the same Libav channel.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-12 18:26:53 -04:00
Michael Niedermayer
ddabecbbf5 vc1dec: export adv profile color format indication
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-12 21:12:18 +02:00
Carl Eugen Hoyos
8e082df0f4 Support decoding of monochrome tiff images without bpp tag. 2012-09-12 13:33:57 +02:00
Michael Niedermayer
ac0f1ae64b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  utvideoenc: Add missing AV_ prefix to codec ID
  avserver: Add missing #include for av_gettime()
  configure: Only disable aligned stack on MSVC on 32 bit
  configure: indentation cosmetics

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-12 11:46:47 +02:00
Derek Buitenhuis
578bbf8149 diracdsp: Fix unprotected inline asm
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 22:59:43 +02:00
Michael Niedermayer
0ea65bbeee ratecontrol: change a commented printf to av_log
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 17:50:14 +02:00
Michael Niedermayer
50dba71b7d ratecontrol: fix get_fps() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 17:50:14 +02:00
Michael Niedermayer
ce7876cbf4 ratecontrol: Dynamically choose a default for rc_max_available_vbv_use
This improves handling of small buffer sizes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 17:50:14 +02:00
Michael Niedermayer
a990a30883 ratecontrol: correct predictor in case of stuffing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 17:50:14 +02:00
Diego Biurrun
76fa7e09f1 utvideoenc: Add missing AV_ prefix to codec ID 2012-09-11 17:40:38 +02:00
Diego Biurrun
1648a508fa x86: dsputil: Move specific optimization settings out of global init function
They belong in the init functions specific to each CPU capability.
2012-09-11 10:12:17 +02:00
Michael Niedermayer
ba9e9605ad cavsdec/decode_mb_b: fix return type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 07:13:49 +02:00
Michael Niedermayer
386d60f978 aacdec/lcg_random: fix harmless integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 03:02:51 +02:00
Michael Niedermayer
7ea5dbcb83 cavsdec: Fix assertion failure.
The assert in decode_mb_b() is replaced by a normal error check for the
case that can occur with a damaged or crafted bitstream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 03:02:51 +02:00
Stefano Sabatini
7b62d3415e lavc/h263dec: return or propagate proper error codes 2012-09-11 01:15:10 +02:00
Stefano Sabatini
ac006d29d8 lavc/flvdec: return meaningful error codes 2012-09-11 01:15:10 +02:00
Michael Niedermayer
76fac07334 mpegaudiodec: replace pow(2.0,...) by exp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 22:34:18 +02:00
Michael Niedermayer
c5f0b6bf41 atrac3: replace powf(2,...) by exp2f()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 22:32:56 +02:00
Michael Niedermayer
17b3251c6c ra144enc: avoid integer overflows.
The values are all positive but signed variables where used,
which overflowed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 21:04:01 +02:00
Sébastien Brochet
e14725cecc add OTF support for attachments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 17:08:18 +02:00
Ben Jackson
616ef2e8bd lavc/pngenc: Enable frame threading for PNG encodes
Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 15:15:40 +02:00
Michael Niedermayer
bff2afb3e9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Only compile motion_est code when encoders are enabled
  mem: fix typo in check for __ICC
  fate: mp3: drop redundant CMP setting
  rtp: Depacketization of JPEG (RFC 2435)
  Rename ff_put_string to avpriv_put_string
  mjpeg: Rename some symbols to avpriv_* instead of ff_*
  yadif: cosmetics

Conflicts:
	Changelog
	libavcodec/mjpegenc.c
	libavcodec/x86/Makefile
	libavfilter/vf_yadif.c
	libavformat/version.h
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 14:06:20 +02:00
Diego Biurrun
a84edbacaf x86: dsputil: Only compile motion_est code when encoders are enabled 2012-09-10 08:31:47 +02:00
Reinhard Nissl
2474ca1a22 aacdec.c: fix some comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 22:54:10 +02:00
Samuel Pitoiset
3c19815416 rtp: Depacketization of JPEG (RFC 2435)
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-09 22:22:21 +03:00
Martin Storsjö
aefea4d0de Rename ff_put_string to avpriv_put_string
This allows using it from libavformat as well. This will be used
by the RTP/JPEG depacketizer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-09 22:22:12 +03:00
Samuel Pitoiset
a0845bae49 mjpeg: Rename some symbols to avpriv_* instead of ff_*
These symbols will be used from the RTP/JPEG depacketizer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-09 22:22:07 +03:00
Michael Niedermayer
44f83930d9 x86/mpegaudiodec: fix compilation failure on cygwin with undefined imdct36_blocks_avx
this is a regression since today

Found-by: beastd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 18:39:03 +02:00
Derek Buitenhuis
3629d1c09d dsputil_template: Reindent after recent change
Forgot to keep it pretty in e62e455f7b.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 17:21:37 +02:00
Michael Niedermayer
6add8eb2ce x86/h264dsp_init: put a HAVE_YASM back
Should fix compilation on open solaris

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 17:21:02 +02:00
Michael Niedermayer
17f9626b5d tiff/doubles2str: check for truncation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:41:18 +02:00
Michael Niedermayer
0196bc6f14 tiff/doubles2str: factor out component_len
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:40:10 +02:00
Michael Niedermayer
b9a07e787b srtdec: fix unsafe snprintf() return usage
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:19:02 +02:00
Michael Niedermayer
9fea619f19 ass: assert that the timsstamps fitted in the buffers
Failure of the assert would cause various problems later
if we continue.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:19:02 +02:00
Michael Niedermayer
77aedc77ab Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: Provide the right alignment for external mmx asm
  x86: Replace checks for CPU extensions and flags by convenience macros
  configure: msvc: fix/simplify setting of flags for hostcc
  x86: mlpdsp: mlp_filter_channel_x86 requires inline asm

Conflicts:
	libavcodec/x86/fft_init.c
	libavcodec/x86/h264_intrapred_init.c
	libavcodec/x86/h264dsp_init.c
	libavcodec/x86/mpegaudiodec.c
	libavcodec/x86/proresdsp_init.c
	libavutil/x86/float_dsp_init.c
	libswscale/utils.c
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 13:27:42 +02:00
Michael Niedermayer
4819d43d7f aacpsy: use exp2(f) instead of pow(f)(2,...)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 13:02:08 +02:00
Michael Niedermayer
363d302ea3 imc: use exp2 instead of pow(2,...)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 13:02:08 +02:00
Derek Buitenhuis
e62e455f7b dsputil/me/pixels: Actually use av_restrict
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 03:55:56 +02:00
Michael Niedermayer
d48ebfbdea mpeg4videodec: Fix "warning: dc_pred_dir may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 03:15:46 +02:00
Michael Niedermayer
dd081f98dd dct-test: fix order of evaluation bug
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 23:57:37 +02:00
Diego Biurrun
e0c6cce447 x86: Replace checks for CPU extensions and flags by convenience macros
This separates code relying on inline from that relying on external
assembly and fixes instances where the coalesced check was incorrect.
2012-09-08 18:18:34 +02:00
Hendrik Leppkes
fb4e983e0c x86: mlpdsp: mlp_filter_channel_x86 requires inline asm
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-08 15:41:44 +03:00
Michael Niedermayer
7beadfe1f7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov_chan: Only set the channel_layout if setting it to a nonzero value
  mov_chan: Reindent an incorrectly indented line
  mp2 muxer: mark as AVFMT_NOTIMESTAMPS.
  x86: float_dsp: fix ff_vector_fmac_scalar_avx() on Win64
  x86: more specific checks for availability of required assembly capabilities
  x86: avcodec: Drop silly "_mmx" suffix from dsputil template names
  fate: Drop redundant setting of FUZZ to 1
  cavsdsp: set idct permutation independently of dsputil
  x86: allow using add_hfyu_median_prediction_cmov on any cpu with cmov

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 12:53:44 +02:00
Daniel Verkamp
124f0b2f46 flashsv2enc: only encode diff blocks when needed
A flashsv2 block may have a "diff block" to indicate which scan lines of
the block are actually encoded.  However, this diff block need not be
used when the entire block is coded.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 05:36:34 +02:00
Michael Niedermayer
097c64ffcb flashsv2enc: remove experimental flag, the encoder seems working now
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 22:53:21 +02:00
Michael Niedermayer
dbb9117d18 flashsv2enc: move blockbuffer realloc to reconfigure_at_keyframe()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 21:46:34 +02:00
Michael Niedermayer
9b6467fd46 flashv2enc: reallocate not only on block count changes but on dimension changes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 21:46:34 +02:00
Derek Buitenhuis
3174987b42 flashsv2enc: Replace a VLA with a heap alloc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 21:46:34 +02:00
Michael Niedermayer
9b326fc261 flashsv2enc: fix prev-Z-prime encoding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 21:46:34 +02:00
Michael Niedermayer
8e6511c1e1 proresdec2: avoid VLA and use SliceContext instead.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 19:38:23 +02:00
Diego Biurrun
1169f0d0af x86: more specific checks for availability of required assembly capabilities 2012-09-07 18:16:04 +02:00
Diego Biurrun
8cb7ed5562 x86: avcodec: Drop silly "_mmx" suffix from dsputil template names 2012-09-07 13:50:52 +02:00
Michael Niedermayer
fa85118510 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov_chan: Pass a separate AVIOContext for reading
  af_asyncts: check return value from lavr when flushing.
  mss2: simplify loop in decode_rle()
  mss12: avoid unnecessary division in arith*_get_bit()
  mss2: do not try to read too many palette entries
  mpegvideo: set AVFrame fields to NULL after freeing the base memory
  configure: Set the right cc_e flags for msvc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 13:50:24 +02:00
Mans Rullgard
6efb698883 cavsdsp: set idct permutation independently of dsputil
CAVS uses its own idct so using dsputil to set the permutation
is fragile.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-07 11:42:35 +01:00
Mans Rullgard
5fe64d88f6 x86: allow using add_hfyu_median_prediction_cmov on any cpu with cmov
For some reason add_hfyu_median_prediction_cmov is only selected
on 3Dnow-capable CPUs, even though it uses no 3Dnow instructions.
This patch allows it to be selected on any cpu with cmov with the
possibility of being overridden by the mmxext version.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-07 11:42:35 +01:00
Michael Niedermayer
5891e454a6 faxcompr: fix out of array read
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 12:36:00 +02:00
Stefano Sabatini
911519caec lavc/libx264: remap X264_LOG_INFO loglevel from AV_LOG_INFO to VERBOSE
AV_LOG_INFO is more geared towards messages to be read by the user, the
statistics shown by libx264 with X264_LOG_INFO are more useful at the
debugging level.

Help reducing the log spam.
2012-09-07 09:59:12 +02:00
Ben Jackson
de9f5b6853 lavc/vp6: Disable deblock filtering for Simple Profile
In vp6 Advanced Profile, deblock filtering is conditionally enabled in
each frame header.  In Simple Profile it should always be off.  vp6 was
inheriting the wrong default from ff_vp56_init.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 01:36:21 +02:00
Stefano Sabatini
144caa7280 lavc/raw-test: invert the order of key/value when printing the fourcc->pix_fmt map
Print
FOURCC: PIX_FMT
rather than
PIX_FMT: FOURCC

This seems more consistent with the help message:
-l                list the pixel format for each fourcc

Remove possibly redundant/confusing comment.
2012-09-06 23:39:57 +02:00
Alberto Delmás
290d1022b2 mss2: simplify loop in decode_rle()
It calculates the sum of power of two series, which can be done in one step.

Suggested by Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-09-06 20:48:07 +02:00
Alberto Delmás
9699b3a2d7 mss12: avoid unnecessary division in arith*_get_bit()
That division can be replaced with a comparison:
((c->value - c->low) << 1) + 1 >= range

By expanding 'range' definition and simplifying this inequation we obtain
the final expression.

Suggested by Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-09-06 20:44:04 +02:00
Alberto Delmás
6ceef07b21 mss2: do not try to read too many palette entries
Reported by Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-09-06 20:38:22 +02:00
Janne Grunau
59383d5740 mpegvideo: set AVFrame fields to NULL after freeing the base memory
Prevents dangling pointers and makes access after free more obvious.
Setting AVFrame.qscale_table to NULL is required for successfully
allocating a previously freed Picture with ff_alloc_picture().
2012-09-06 19:02:43 +02:00
Michael Niedermayer
40112e7b35 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Allow setting the ld parameter from the config file
  x86: dsputil: Do not redundantly check for CPU caps before calling init funcs
  configure: Disable some warnings in MSVC
  x86: vp56: cmov version of vp56_rac_get_prob requires inline asm
  avopt: fix examples to match the same style about default values as the actual code.
  configure: Add support for MSVC cl.exe/link.exe
  lavu: add snprintf(), vsnprint() and strtod() replacements for MS runtime.

Conflicts:
	libavutil/opt.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-06 16:23:17 +02:00
Michael Niedermayer
376b16d7cc Merge commit '0db2d94280e260af5f3ad7993c5a6357462f17c9'
* commit '0db2d94280e260af5f3ad7993c5a6357462f17c9':
  dsputil: workaround __VA_ARGS__ missing tokenization for MSVC
  configure: add section for libc-specific hacks
  build: disable ranlib on mingw
  parser: Don't use pc as context for av_dlog
  h264: Remove an assert on current_picture_ptr being null

Conflicts:
	configure
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-06 16:05:40 +02:00