ffmpeg.git
7 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Fri, 6 Jan 2012 01:45:12 +0000 (02:45 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master: (21 commits)
  ipmovie: do not read audio packets before the codec is known
  truemotion2: check size before GetBitContext initialisation
  avio: Only do implicit network initialization for network protocols
  avio: Add an URLProtocol flag for indicating that a protocol uses network
  adpcm: ADPCM Electronic Arts has always two channels
  matroskadec: Fix a bug where a pointer was cached to an array that might later move due to a realloc()
  fate: Add missing reference file from 9b4767e4.
  mov: Support MOV_CH_LAYOUT_USE_DESCRIPTIONS for labeled descriptions.
  4xm: Prevent buffer overreads.
  mjpegdec: parse RSTn to prevent skipping other data in mjpeg_decode_scan
  vp3: add fate test for non-zero last coefficient
  vp3: fix streams with non-zero last coefficient
  swscale: remove unused U/V arguments from yuv2rgb_write().
  timer: K&R formatting cosmetics
  lavf: cosmetics, reformat av_read_frame().
  lavf: refactor av_read_frame() to make it easier to understand.
  Report an error if pitch_lag is zero in AMR-NB decoder.
  Revert "4xm: Prevent buffer overreads."
  4xm: Prevent buffer overreads.
  4xm: pass the correct remaining buffer size to decode_i2_frame().
  ...

Conflicts:
libavcodec/4xm.c
libavcodec/mjpegdec.c
libavcodec/truemotion2.c
libavformat/ipmovie.c
libavformat/mov_chan.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
7 years agoffmpeg: check if number of input and output channels are valid.
Oana Stratulat [Fri, 6 Jan 2012 01:02:50 +0000 (02:02 +0100)]
ffmpeg: check if number of input and output channels are valid.

Fix Ticket887.

7 years agolibvpxenc: restore vp8flags for compatibility
James Zern [Thu, 5 Jan 2012 22:24:26 +0000 (14:24 -0800)]
libvpxenc: restore vp8flags for compatibility

removed in 98df93c, this makes the documentation correct again.

Found-by: j@v2v.cc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agotta: Fix regression of 24bit decoding.
Michael Niedermayer [Thu, 5 Jan 2012 20:20:59 +0000 (21:20 +0100)]
tta: Fix regression of 24bit decoding.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agoRevert commit 599b4c6efddaed33b1667c386b34b07729ba732b
Michael Niedermayer [Tue, 3 Jan 2012 15:31:57 +0000 (16:31 +0100)]
Revert commit 599b4c6efddaed33b1667c386b34b07729ba732b

Author: Mans Rullgard <mans@mansr.com>
Date:   Sun Dec 11 21:41:59 2011 +0000

     x86: cabac: replace explicit memory references with "m" operands

     This replaces the explicit offset(reg) memory references with
     "m" operands for the same locations.  As a result, one fewer
     register operand is needed for these inline asm statements.

This change appears to have broken compilation on darwin, and subsequent
fixes by martin (which did not fix compilation) removed the register
advantage, thus this change seems not a good idea to keep.
See: http://fate.ffmpeg.org/log.cgi?time=20120103122446&log=compile&slot=i386-darwin-llvm-gcc-4.2.1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agoFix compilation with --disable-everything --enable-demuxer=mov.
Carl Eugen Hoyos [Fri, 6 Jan 2012 00:40:34 +0000 (01:40 +0100)]
Fix compilation with --disable-everything --enable-demuxer=mov.

7 years agopam: Reject 64bpp rgba.
ami_stuff [Fri, 6 Jan 2012 00:25:54 +0000 (01:25 +0100)]
pam: Reject 64bpp rgba.

Fixes ticket #883

7 years agoAllow decoding of uyvy422 CYUV with -vcodec rawvideo.
Carl Eugen Hoyos [Thu, 5 Jan 2012 23:59:08 +0000 (00:59 +0100)]
Allow decoding of uyvy422 CYUV with -vcodec rawvideo.

FourCC CYUV can be Creative YUV and uyvy422 rawvideo.

7 years agoSupport decoding of some unusual jpeg samples.
Carl Eugen Hoyos [Thu, 5 Jan 2012 23:51:31 +0000 (00:51 +0100)]
Support decoding of some unusual jpeg samples.

Avoid unsupported pix_fmts by upscaling chroma.

Fixes ticket #878.

7 years agoipmovie: do not read audio packets before the codec is known
Janne Grunau [Thu, 5 Jan 2012 20:57:22 +0000 (21:57 +0100)]
ipmovie: do not read audio packets before the codec is known

Prevents a division by zero.

7 years agotruemotion2: check size before GetBitContext initialisation
Janne Grunau [Thu, 5 Jan 2012 20:28:03 +0000 (21:28 +0100)]
truemotion2: check size before GetBitContext initialisation

Prevents null ptr derefence for negative sizes.

7 years agoavio: Only do implicit network initialization for network protocols
Martin Storsjö [Fri, 30 Dec 2011 09:43:10 +0000 (11:43 +0200)]
avio: Only do implicit network initialization for network protocols

The implicit network initialization is set to be removed in the
future, but is kept for compatibility. By not doing the implicit
initialization for non-network protocols, we avoid the warning
about avformat_network_init() not being called for these, where
it really doesn't make much sense.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agoavio: Add an URLProtocol flag for indicating that a protocol uses network
Martin Storsjö [Fri, 30 Dec 2011 09:38:05 +0000 (11:38 +0200)]
avio: Add an URLProtocol flag for indicating that a protocol uses network

This definition is in two files, since the definitions will move
to the private header at the next bump.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agoadpcm: ADPCM Electronic Arts has always two channels
Janne Grunau [Thu, 5 Jan 2012 19:50:55 +0000 (20:50 +0100)]
adpcm: ADPCM Electronic Arts has always two channels

7 years agoCheck for overread in vqa video decoder.
Reimar Döffinger [Thu, 5 Jan 2012 17:25:40 +0000 (18:25 +0100)]
Check for overread in vqa video decoder.

This issue was discovered while decoding the FATE sample vqa/ws_snd.vqa.
For some unknown reason only audio decoding is tested by FATE for that file,
but not video.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
7 years agosipr: fall back to setting mode based on bit_rate.
Reimar Döffinger [Thu, 5 Jan 2012 20:01:56 +0000 (21:01 +0100)]
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.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
7 years agovolume: remove duplicated condition.
Clément Bœsch [Thu, 5 Jan 2012 16:14:01 +0000 (17:14 +0100)]
volume: remove duplicated condition.

7 years agomatroskadec: Fix a bug where a pointer was cached to an array that might later move...
Chris Evans [Thu, 5 Jan 2012 20:19:30 +0000 (21:19 +0100)]
matroskadec: Fix a bug where a pointer was cached to an array that might later move due to a realloc()

Fixes bug #190
Chromium bug #100492
related to CVE-2011-3893

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
7 years agomov: support timecode extraction.
Clément Bœsch [Mon, 2 Jan 2012 10:56:06 +0000 (11:56 +0100)]
mov: support timecode extraction.

7 years agomov: annotate read values in tmcd track.
Clément Bœsch [Wed, 28 Dec 2011 09:38:19 +0000 (10:38 +0100)]
mov: annotate read values in tmcd track.

7 years agotimecode: add avpriv_check_timecode_rate().
Clément Bœsch [Mon, 2 Jan 2012 10:53:59 +0000 (11:53 +0100)]
timecode: add avpriv_check_timecode_rate().

7 years agoSupport 48bpp pam decoding.
ami_stuff [Thu, 5 Jan 2012 19:58:24 +0000 (20:58 +0100)]
Support 48bpp pam decoding.

Fixes ticket #882.

7 years agoSupport 16bpp grayscale pam decoding.
ami_stuff [Thu, 5 Jan 2012 19:57:49 +0000 (20:57 +0100)]
Support 16bpp grayscale pam decoding.

Fixes ticket #881.

7 years agolibvpxenc: Remove duplicate AVOption constants.
Michael Niedermayer [Thu, 5 Jan 2012 19:37:47 +0000 (20:37 +0100)]
libvpxenc: Remove duplicate AVOption constants.

Found-by: j@v2v.cc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agoMerge remote-tracking branch 'cus/stable'
Michael Niedermayer [Thu, 5 Jan 2012 19:33:01 +0000 (20:33 +0100)]
Merge remote-tracking branch 'cus/stable'

* cus/stable:
  ffplay: fix invalid wanted_channel_layout calculation
  ffplay: honor SDL_AUDIO_CHANNELS and make sure to use SDL supported number of audio channels

Merged-by: Michael Niedermayer <michaelni@gmx.at>
7 years agofate: Add missing reference file from 9b4767e4.
Alex Converse [Thu, 5 Jan 2012 19:14:23 +0000 (11:14 -0800)]
fate: Add missing reference file from 9b4767e4.

7 years agoffplay: fix invalid wanted_channel_layout calculation
Marton Balint [Wed, 4 Jan 2012 21:50:09 +0000 (22:50 +0100)]
ffplay: fix invalid wanted_channel_layout calculation

Signed-off-by: Marton Balint <cus@passwd.hu>
7 years agoffplay: honor SDL_AUDIO_CHANNELS and make sure to use SDL supported number of audio...
Marton Balint [Wed, 4 Jan 2012 02:01:35 +0000 (03:01 +0100)]
ffplay: honor SDL_AUDIO_CHANNELS and make sure to use SDL supported number of audio channels

Fixes ticket #838.

Signed-off-by: Marton Balint <cus@passwd.hu>
7 years agomov: Support MOV_CH_LAYOUT_USE_DESCRIPTIONS for labeled descriptions.
Alex Converse [Thu, 5 Jan 2012 01:42:15 +0000 (17:42 -0800)]
mov: Support MOV_CH_LAYOUT_USE_DESCRIPTIONS for labeled descriptions.

7 years ago4xm: Prevent buffer overreads.
Aneesh Dogra [Wed, 4 Jan 2012 19:58:21 +0000 (01:28 +0530)]
4xm: Prevent buffer overreads.

4xm decoder while decoding i2 frames can overread the buffer if proper checks
are not made.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agomjpegdec: parse RSTn to prevent skipping other data in mjpeg_decode_scan
Janne Grunau [Thu, 5 Jan 2012 02:47:21 +0000 (03:47 +0100)]
mjpegdec: parse RSTn to prevent skipping other data in mjpeg_decode_scan

Check explicitly if enough bits are left to prevent an infinite loop
when the bitstream buffer is not followed by zero-padding.

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

7 years agovp3: add fate test for non-zero last coefficient
Janne Grunau [Tue, 3 Jan 2012 12:56:42 +0000 (13:56 +0100)]
vp3: add fate test for non-zero last coefficient

7 years agovp3: fix streams with non-zero last coefficient
Janne Grunau [Tue, 3 Jan 2012 12:38:01 +0000 (13:38 +0100)]
vp3: fix streams with non-zero last coefficient

Fixes a regression introduced in 8b94df0f2047e972.

7 years agoswscale: remove unused U/V arguments from yuv2rgb_write().
Ronald S. Bultje [Thu, 5 Jan 2012 03:48:02 +0000 (19:48 -0800)]
swscale: remove unused U/V arguments from yuv2rgb_write().

Also document the function somewhat.

7 years agotimer: K&R formatting cosmetics
Diego Biurrun [Tue, 3 Jan 2012 13:52:02 +0000 (14:52 +0100)]
timer: K&R formatting cosmetics

7 years agolavf: cosmetics, reformat av_read_frame().
Anton Khirnov [Thu, 5 Jan 2012 09:16:41 +0000 (10:16 +0100)]
lavf: cosmetics, reformat av_read_frame().

7 years agolavf: refactor av_read_frame() to make it easier to understand.
Anton Khirnov [Thu, 5 Jan 2012 09:14:07 +0000 (10:14 +0100)]
lavf: refactor av_read_frame() to make it easier to understand.

7 years agoReport an error if pitch_lag is zero in AMR-NB decoder.
Oana Stratulat [Wed, 4 Jan 2012 23:08:05 +0000 (01:08 +0200)]
Report an error if pitch_lag is zero in AMR-NB decoder.

This fixes an infinite loop in the decoder on specially
crafted files, and fixes bug 151.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agoRevert "4xm: Prevent buffer overreads."
Ronald S. Bultje [Thu, 5 Jan 2012 05:27:31 +0000 (21:27 -0800)]
Revert "4xm: Prevent buffer overreads."

This reverts commit 295a7c0238e84b0ffa8f21ed938d45f51f54a4cd. The
patch breaks decoding of regular files (e.g. fate-4xm-2).

7 years ago4xm: Prevent buffer overreads.
Aneesh Dogra [Wed, 4 Jan 2012 19:58:21 +0000 (01:28 +0530)]
4xm: Prevent buffer overreads.

4xm decoder while decoding i2 frames can overread the buffer if proper checks
are not made.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years ago4xm: pass the correct remaining buffer size to decode_i2_frame().
Aneesh Dogra [Wed, 4 Jan 2012 18:40:01 +0000 (00:10 +0530)]
4xm: pass the correct remaining buffer size to decode_i2_frame().

frame_size is the number of bytes left in the packet, so if we are passing
buf-4 we can safely read frame_size+4 bytes.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years ago4xm: fix calculation of the next output line position in decode_i2_frame().
Aneesh Dogra [Wed, 4 Jan 2012 19:12:26 +0000 (00:42 +0530)]
4xm: fix calculation of the next output line position in decode_i2_frame().

The current code doesn't work unless width is an exact multiple of 16.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Thu, 5 Jan 2012 01:03:12 +0000 (02:03 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master: (46 commits)
  mtv: Make sure audio_subsegments is not 0
  v4l2: use V4L2_FMT_FLAG_EMULATED only if it is defined
  avconv: add symbolic names for -vsync parameters
  flvdec: Fix compiler warning for uninitialized variables
  rtsp: Fix compiler warning for uninitialized variable
  ulti: convert to new bytestream API.
  swscale: Use standard multiple inclusion guards in ppc/ header files.
  Place some START_TIMER invocations in separate blocks.
  v4l2: list available formats
  v4l2: set the proper codec_tag
  v4l2: refactor device_open
  v4l2: simplify away io_method
  v4l2: cosmetics
  v4l2: uniform and format options
  v4l2: do not force interlaced mode
  avio: exit early in fill_buffer without read_packet
  vc1dec: fix invalid memory access for small video dimensions
  rv34: fix invalid memory access for small video dimensions
  rv34: joint coefficient decoding and dequantization
  avplay: Don't call avio_set_interrupt_cb(NULL)
  ...

Conflicts:
Changelog
avconv.c
doc/APIchanges
doc/indevs.texi
libavcodec/adxenc.c
libavcodec/dnxhdenc.c
libavcodec/h264.c
libavdevice/v4l2.c
libavformat/flvdec.c
libavformat/mtv.c
libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
7 years agoRevert "rmdec: Avoid allocating huge packets"
Michael Niedermayer [Wed, 4 Jan 2012 23:51:12 +0000 (00:51 +0100)]
Revert "rmdec: Avoid allocating huge packets"

This reverts commit 66f71f3b5e2e7b6e5049bd9831c371e16aff8a53.

This causes regressions with RDT.

7 years agolavf: use avg_frame_rate and packet number to exit find_stream_info
Michael Niedermayer [Wed, 4 Jan 2012 23:49:02 +0000 (00:49 +0100)]
lavf: use avg_frame_rate and packet number to exit find_stream_info

qatar does this too but clobbers the AVPacket.duration by approximate
values.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agolavf: revert commit bb99ae3ae924c942a634bec7711ec7ee11c38eb9
Michael Niedermayer [Wed, 4 Jan 2012 23:22:19 +0000 (00:22 +0100)]
lavf: revert commit bb99ae3ae924c942a634bec7711ec7ee11c38eb9

Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Thu Nov 3 22:38:10 2011 +0100

    lavf: fix null pointer dereference in rdt

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This is no longer needed and causes various problems with RTSP

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agomtv: Make sure audio_subsegments is not 0
Shitiz Garg [Thu, 15 Dec 2011 19:06:27 +0000 (00:36 +0530)]
mtv: Make sure audio_subsegments is not 0

audio_subsegments would be 0 and cause floating point exceptions
Fixes bugzilla #144

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
7 years agovorbis: make sure ch is non zero before calling vorbis_residue_decode
Michael Niedermayer [Wed, 4 Jan 2012 20:55:52 +0000 (21:55 +0100)]
vorbis: make sure ch is non zero before calling vorbis_residue_decode

This possibly makes part of the CVE-2011-3895 fix unneeded.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agovorbis: An additional defense in the Vorbis codec.
Chris Evans [Wed, 4 Jan 2012 20:53:35 +0000 (21:53 +0100)]
vorbis: An additional defense in the Vorbis codec.

BUG=101458
Review URL: http://codereview.chromium.org/8414025

Fixes second part of CVE-2011-3895

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agovorbis: Fix decoder bug.
Chris Evans [Wed, 4 Jan 2012 20:51:18 +0000 (21:51 +0100)]
vorbis: Fix decoder bug.

BUG=101458
Review URL: http://codereview.chromium.org/8413019

This fixes part of 2011-3895

bigned-off-by: Michael Niedermayer <michaelni@gmx.at>

7 years agovorbisdec: Make sure blocksize is not set to an invalid value.
Michael Niedermayer [Wed, 4 Jan 2012 18:22:20 +0000 (19:22 +0100)]
vorbisdec: Make sure blocksize is not set to an invalid value.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agovorbis: Fix last quarter of CVE-2011-3893
Michael Niedermayer [Wed, 4 Jan 2012 16:29:34 +0000 (17:29 +0100)]
vorbis: Fix last quarter of CVE-2011-3893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agoogg: Avoid the possibility to read out-of-bounds of a static global array in Vorbis
Chris Evans [Wed, 4 Jan 2012 16:24:15 +0000 (17:24 +0100)]
ogg: Avoid the possibility to read out-of-bounds of a static global array in Vorbis
decoding.

BUG=100543
Review URL: http://codereview.chromium.org/8365014
This fixes 25% of CVE-2011-3893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agomkv: Fix a bug where a pointer was cached to an array that might later move due to
Chris Evans [Wed, 4 Jan 2012 15:33:34 +0000 (16:33 +0100)]
mkv: Fix a bug where a pointer was cached to an array that might later move due to
a realloc()

BUG=100492
Review URL: http://codereview.chromium.org/8366004
Fixes: 1 of 2 for CVE-2011-3893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agov4l2: use V4L2_FMT_FLAG_EMULATED only if it is defined
Janne Grunau [Wed, 4 Jan 2012 19:29:57 +0000 (20:29 +0100)]
v4l2: use V4L2_FMT_FLAG_EMULATED only if it is defined

V4L2_FMT_FLAG_EMULATED was added in 2.6.32.

7 years agoavconv: add symbolic names for -vsync parameters
Anton Khirnov [Sat, 26 Nov 2011 10:01:33 +0000 (11:01 +0100)]
avconv: add symbolic names for -vsync parameters

7 years agoflvdec: Fix compiler warning for uninitialized variables
Jean First [Fri, 30 Dec 2011 20:08:02 +0000 (21:08 +0100)]
flvdec: Fix compiler warning for uninitialized variables

These can't be used uninitialized in practice, but the
compiler doesn't realize it.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agortsp: Fix compiler warning for uninitialized variable
Jean First [Tue, 3 Jan 2012 22:01:28 +0000 (23:01 +0100)]
rtsp: Fix compiler warning for uninitialized variable

This one won't ever be used uninitialized in practice, but
the compiler doesn't realize it.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agoFix possible infinite loop decoding als.
Philippe Saint-Pierre [Wed, 4 Jan 2012 20:00:06 +0000 (21:00 +0100)]
Fix possible infinite loop decoding als.

Reviewed-by: Thilo Borgmann
7 years agoulti: convert to new bytestream API.
Ronald S. Bultje [Wed, 4 Jan 2012 04:41:18 +0000 (20:41 -0800)]
ulti: convert to new bytestream API.

7 years agoInsert missing newline at end of error log message in mov demuxer.
Andrew Ryan [Wed, 4 Jan 2012 18:49:21 +0000 (19:49 +0100)]
Insert missing newline at end of error log message in mov demuxer.

7 years agoReplace deprecated FF_I_TYPE with AV_PICTURE_TYPE_I in v308 and yuv4.
Carl Eugen Hoyos [Wed, 4 Jan 2012 18:45:46 +0000 (19:45 +0100)]
Replace deprecated FF_I_TYPE with AV_PICTURE_TYPE_I in v308 and yuv4.

Found-by: Paul B Mahol
7 years agoswscale: Use standard multiple inclusion guards in ppc/ header files.
Diego Biurrun [Tue, 3 Jan 2012 09:29:19 +0000 (10:29 +0100)]
swscale: Use standard multiple inclusion guards in ppc/ header files.

7 years agoyuv4 libquicktime packed 4:2:0 encoder and decoder.
Carl Eugen Hoyos [Wed, 4 Jan 2012 14:35:15 +0000 (15:35 +0100)]
yuv4 libquicktime packed 4:2:0 encoder and decoder.

Reviewed-by: Derek Buitenhuis
Reviewed-by: Paul B Mahol
7 years agov308 Quicktim Uncompressed 4:4:4 encoder and decoder.
Carl Eugen Hoyos [Wed, 4 Jan 2012 14:24:38 +0000 (15:24 +0100)]
v308 Quicktim Uncompressed 4:4:4 encoder and decoder.

Reviewed-by: Derek Buitenhuis
Reviewed-by: Paul B Mahol
7 years agoAdd decoder for Avid 1:1 10-bit RGB Packer (AVrp).
Carl Eugen Hoyos [Wed, 4 Jan 2012 14:10:58 +0000 (15:10 +0100)]
Add decoder for Avid 1:1 10-bit RGB Packer (AVrp).

Fixes ticket #525.

Reviewed-by: Paul B Mahol
7 years agoPlace some START_TIMER invocations in separate blocks.
Diego Biurrun [Tue, 3 Jan 2012 12:25:25 +0000 (13:25 +0100)]
Place some START_TIMER invocations in separate blocks.

This fixes compilation failures related to START_TIMER/STOP_TIMER macros and
-Werror=declaration-after-statement.  START_TIMER declares variables and thus
may not be placed after statements outside of a new block.

7 years agodoc: use @command{} for commands.
Clément Bœsch [Mon, 2 Jan 2012 14:32:55 +0000 (15:32 +0100)]
doc: use @command{} for commands.

7 years agodoc: use @code{} for --{enable,disable}-options.
Clément Bœsch [Mon, 2 Jan 2012 14:23:09 +0000 (15:23 +0100)]
doc: use @code{} for --{enable,disable}-options.

7 years agov4l2: list available formats
Luca Barbato [Tue, 27 Dec 2011 05:31:41 +0000 (06:31 +0100)]
v4l2: list available formats

Make use of the experimental framesize enumeration ioctl if available.

7 years agov4l2: set the proper codec_tag
Luca Barbato [Tue, 27 Dec 2011 06:41:01 +0000 (07:41 +0100)]
v4l2: set the proper codec_tag

Unbreak direct streamcopy.

7 years agov4l2: refactor device_open
Luca Barbato [Tue, 27 Dec 2011 05:27:41 +0000 (06:27 +0100)]
v4l2: refactor device_open

Check capabilities directly in the function, further simplify the code.

7 years agov4l2: simplify away io_method
Luca Barbato [Tue, 27 Dec 2011 04:52:02 +0000 (05:52 +0100)]
v4l2: simplify away io_method

Only mmap is supported.

7 years agov4l2: cosmetics
Luca Barbato [Tue, 27 Dec 2011 04:37:58 +0000 (05:37 +0100)]
v4l2: cosmetics

7 years agov4l2: uniform and format options
Luca Barbato [Tue, 27 Dec 2011 02:38:13 +0000 (03:38 +0100)]
v4l2: uniform and format options

7 years agov4l2: do not force interlaced mode
Luca Barbato [Mon, 21 Nov 2011 16:03:46 +0000 (17:03 +0100)]
v4l2: do not force interlaced mode

Video4linux2 supports both interlaced and non-interlaced mode, do not
ask for interlaced if not necessary.

7 years agoavio: exit early in fill_buffer without read_packet
Janne Grunau [Tue, 3 Jan 2012 17:11:36 +0000 (18:11 +0100)]
avio: exit early in fill_buffer without read_packet

Fixes an invalid free() with ass in avi. The sample in bug 98 passes
parts of AVPacket.data as buffer for the AVIOContext. Since the packet
is quite large fill_buffer tries to reallocate the buffer before doing
nothing. Fixes bug 98.

7 years agovc1dec: fix invalid memory access for small video dimensions
John Brooks [Sun, 11 Dec 2011 09:37:21 +0000 (02:37 -0700)]
vc1dec: fix invalid memory access for small video dimensions

For small video dimensions, these calculations of the upper bound
for pixel access may have a negative result. Using an unsigned
comparison to bound a potentially negative value only works if
the greater operand is non-negative. Fixed by doing edge emulation
when the upper bound is probably negative, everywhere that this
pattern appears.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
7 years agorv34: fix invalid memory access for small video dimensions
John Brooks [Wed, 4 Jan 2012 06:27:35 +0000 (23:27 -0700)]
rv34: fix invalid memory access for small video dimensions

For small video dimensions calculations of the upper bound for pixel
access may result in negative value. Using an unsigned comparison
works only if the greater operand is non-negative. This is fixed by
doing edge emulation explicitly for such conditions.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
7 years agorv34: joint coefficient decoding and dequantization
Christophe GISQUET [Sun, 1 Jan 2012 14:28:47 +0000 (15:28 +0100)]
rv34: joint coefficient decoding and dequantization

Perform dequantization while decoding coefficients instead of performing it
on the entire coefficients buffer.

Since quantized coefficients are very sparse, this usually causes a small
speedup. Speedup of around 1% on Panda board compared to the removed here
neon code. Global speedup is probably around 3%.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
7 years agoavplay: Don't call avio_set_interrupt_cb(NULL)
Martin Storsjö [Fri, 30 Dec 2011 10:39:03 +0000 (12:39 +0200)]
avplay: Don't call avio_set_interrupt_cb(NULL)

Since we don't use avio_set_interrupt_cb for interrupt callbacks,
we don't need to call it to reset the interrupt cb either.

This avoids a warning about use of deprecated functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agojpegdec: Fix vlc table check for progressive jpegs.
Michael Niedermayer [Tue, 3 Jan 2012 05:53:18 +0000 (06:53 +0100)]
jpegdec: Fix vlc table check for progressive jpegs.

Fixes Ticket834

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agoswscale: remove obsolete comment.
Ronald S. Bultje [Mon, 2 Jan 2012 20:46:40 +0000 (12:46 -0800)]
swscale: remove obsolete comment.

7 years agoswscale: split scale.asm.
Ronald S. Bultje [Mon, 2 Jan 2012 20:31:38 +0000 (12:31 -0800)]
swscale: split scale.asm.

scale.asm keeps horizontal scaling functions, whereas output.asm gets
the vertical scaling/output functions.

7 years agoswscale: don't show full-chroma-int warning for non-RGB output.
Ronald S. Bultje [Mon, 2 Jan 2012 20:03:02 +0000 (12:03 -0800)]
swscale: don't show full-chroma-int warning for non-RGB output.

Non-RGB output always uses full chroma interpolation.

7 years agoswscale: add MMX files to MMX-OBJS instead of OBJS.
Ronald S. Bultje [Tue, 3 Jan 2012 21:05:37 +0000 (13:05 -0800)]
swscale: add MMX files to MMX-OBJS instead of OBJS.

7 years agoh264: return index in buffer on end-of-sequence.
Ronald S. Bultje [Sat, 31 Dec 2011 17:12:53 +0000 (09:12 -0800)]
h264: return index in buffer on end-of-sequence.

Fixes hangs if the last packet contains an end-of-sequence NAL unit,
bug 158.

7 years agolavf: Fix try_decode_frame() so it doesnt loop infinitely.
Michael Niedermayer [Wed, 4 Jan 2012 03:08:46 +0000 (04:08 +0100)]
lavf: Fix try_decode_frame() so it doesnt loop infinitely.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agoelectronicarts: Pass error through ea_read_header().
Michael Niedermayer [Wed, 4 Jan 2012 03:02:22 +0000 (04:02 +0100)]
electronicarts: Pass error through ea_read_header().

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agoelectronicarts: Fix division by zero. Fixes Ticket #793
Oana Stratulat [Wed, 4 Jan 2012 01:13:27 +0000 (03:13 +0200)]
electronicarts: Fix division by zero. Fixes Ticket #793

Signed-off-by: Oana Stratulat <oanaandreeastratulat@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7 years agoMerge some declarations and initializations.
Diego Biurrun [Tue, 3 Jan 2012 12:18:49 +0000 (13:18 +0100)]
Merge some declarations and initializations.

This fixes compilation failures related to START_TIMER/STOP_TIMER macros and
-Werror=declaration-after-statement.  START_TIMER declares variables and thus
may not be placed after statements outside of a new block.

7 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Wed, 4 Jan 2012 00:12:34 +0000 (01:12 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  fate: add dxtory test
  adx_parser: rewrite.
  adxdec: Validate channel count to fix a division by zero.
  adxdec: Do not require extradata.
  cmdutils: K&R reformatting cosmetics
  alacdec: implement the 2-pass prediction type.
  alacenc: implement the 2-pass prediction type.
  alacenc: do not generate invalid multi-channel ALAC files
  alacdec: fill in missing or guessed info about the extradata format.
  utvideo: proper median prediction for interlaced videos
  lavu: bump lavu minor for av_popcount64
  dca: K&R formatting cosmetics
  dct: K&R formatting cosmetics
  lavf: flush decoders in avformat_find_stream_info().
  win32: detect number of CPUs using affinity
  Add av_popcount64
  snow: Restore three mistakenly removed casts.

Conflicts:
cmdutils.c
doc/APIchanges
libavcodec/adx_parser.c
libavcodec/adxdec.c
libavcodec/alacenc.c
libavutil/avutil.h
tests/fate/screen.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
7 years agocabac: drop unused and disabled get_cabac_u() / get_cabac_ueg() functions
Diego Biurrun [Tue, 27 Dec 2011 10:51:28 +0000 (11:51 +0100)]
cabac: drop unused and disabled get_cabac_u() / get_cabac_ueg() functions

7 years agocabac: drop unused STRICT_LIMITS code branch
Diego Biurrun [Tue, 27 Dec 2011 11:25:18 +0000 (12:25 +0100)]
cabac: drop unused STRICT_LIMITS code branch

7 years agoffprobe: add support to option -show_error
Stefano Sabatini [Thu, 29 Dec 2011 12:24:59 +0000 (13:24 +0100)]
ffprobe: add support to option -show_error

7 years agoffprobe: remove unused variable in show_format()
Stefano Sabatini [Sun, 1 Jan 2012 16:19:33 +0000 (17:19 +0100)]
ffprobe: remove unused variable in show_format()

7 years agoffprobe: reindent after the last commit
Stefano Sabatini [Thu, 29 Dec 2011 11:52:04 +0000 (12:52 +0100)]
ffprobe: reindent after the last commit

7 years agoffprobe: change order of operations in probe_file()
Stefano Sabatini [Thu, 29 Dec 2011 11:50:25 +0000 (12:50 +0100)]
ffprobe: change order of operations in probe_file()

This is required by a pending patch, also fixes a memleak due to the
writer context not being closed in case of open_input_file() failure.

7 years agoffprobe: prefer av_log to fprintf(stderr)
Stefano Sabatini [Thu, 29 Dec 2011 11:36:33 +0000 (12:36 +0100)]
ffprobe: prefer av_log to fprintf(stderr)

7 years agolibspeexenc: fix pts calculations for more than 1 frame per packet
Justin Ruggles [Fri, 30 Dec 2011 22:56:04 +0000 (17:56 -0500)]
libspeexenc: fix pts calculations for more than 1 frame per packet