1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

18733 Commits

Author SHA1 Message Date
Michael Niedermayer
0cd17a6291 mjpeg: fix crash with lowres and flipped images
Fixes Ticket1155

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 02:02:30 +02:00
Michael Niedermayer
4f6df20a00 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avplay: Don't free video filters string until the end of decoding.
  movenc: small refactor mov_write_packet
  movenc: remove redundant check
  interplayvideo: fix av_dlog parameter type mismatch
  Drop some pointless #ifdefs.

Conflicts:
	libavcodec/interplayvideo.c
	libavcodec/libxvidff.c
	libavcodec/snowenc.c
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 22:50:22 +02:00
Reimar Döffinger
5735f768b0 h261: move tables from header to .c file.
Currently they end up twice in the binary, since both
encoder and decoder include the header and thus each gets
their own copy.
This is clearly nonsense for the const tables, but shouldn't
be necessary for the RLTable either.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-11 21:46:33 +02:00
Michael Niedermayer
6952301f33 ff_samples_to_time_base: support AV_NOPTS_VALUE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 20:30:55 +02:00
Dale Curtis
309a931a38 Fix memory leaks on failed ff_h264_decode_init()
During failure conditions ff_h264_decode_init() leaks memory
allocated for nal units.  Found via valgrind.

Valgrind traces: http://pastebin.com/GqTqxs8T

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 15:54:53 +02:00
Diego Biurrun
9676d8eb67 interplayvideo: fix av_dlog parameter type mismatch
libavcodec/interplayvideo.c:909:13: warning: format ‘%p’ expects argument of type ‘void *’, but argument 7 has type ‘GetByteContext’ [-Wformat]
2012-04-11 10:43:47 +02:00
Michael Niedermayer
8702e35b9b vda: try to fix compile
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 23:37:30 +02:00
Michael Niedermayer
e387c9d5dd Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  rv40dsp x86: use only one register, for both increment and loop counter
  rv40dsp: implement prescaled versions for biweight.
  avconv: use default channel layouts when they are unknown
  avconv: parse channel layout string
  nutdec: K&R formatting cosmetics
  vda: Signal 4 byte NAL headers to the decoder regardless of what's in the extradata
  mem: Consistently return NULL for av_malloc(0)
  vf_overlay: implement poll_frame()
  vf_scale: support named constants for sws flags.
  lavc doxy: add all installed headers to doxy groups.
  lavc doxy: add avfft to the main lavc group.
  lavc doxy: add remaining avcodec.h functions to a misc doxygen group.
  lavc doxy: add AVPicture functions to a doxy group.
  lavc doxy: add resampling functions to a doxy group.
  lavc doxy: replace \ with /
  lavc doxy: add encoding functions to a doxy group.
  lavc doxy: add decoding functions to a doxy group.
  lavc doxy: fix formatting of AV_PKT_DATA_{PARAM_CHANGE,H263_MB_INFO}
  lavc doxy: add AVPacket-related stuff to a separate doxy group.
  lavc doxy: add core functions/definitions to a doxy group.
  ...

Conflicts:
	ffmpeg.c
	libavcodec/avcodec.h
	libavcodec/vda.c
	libavcodec/x86/rv40dsp.asm
	libavfilter/vf_scale.c
	libavformat/nutdec.c
	libavutil/mem.c
	tests/ref/acodec/pcm_s24daud

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 22:53:25 +02:00
Reimar Döffinger
1ac606bae6 aacsbr: silence message for SBR extension "padding".
Some files contain a few additional, all-0 bits.
Check for that case and don't print incorrect "not supported"
message.
Fixes trac issue #836.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-10 20:51:20 +02:00
Diego Biurrun
679481b3b6 Drop some pointless #ifdefs.
The files are only compiled if the #ifdef conditions are met.
2012-04-10 19:27:38 +02:00
Christophe GISQUET
2130bd8f5b rv40dsp x86: use only one register, for both increment and loop counter
Around 10 cycles faster for luma.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-04-10 10:07:09 -07:00
Christophe GISQUET
272b252c01 rv40dsp: implement prescaled versions for biweight.
Quite often, the original weights are multiple of 512. By prescaling them
by 1/512 when they are computed (once per frame), no intermediate shifting
is needed, and no prescaling on each call either.

The x86 code already used that trick.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-04-10 10:06:48 -07:00
Sebastien Zwickert
a40ba3afe8 vda: Signal 4 byte NAL headers to the decoder regardless of what's in the extradata
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-10 15:50:56 +03:00
Michael Niedermayer
6bfb3042b3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: use default alignment for audio buffer
  avcodec: use align == 0 for default alignment in avcodec_fill_audio_frame()
  avutil: use align == 0 for default alignment in audio sample buffer functions
  avutil: allow NULL linesize in av_samples_fill_arrays() and av_samples_alloc()
  avconv: remove OutputStream.picref.
  avconv: only set SAR once on the decoded frame.
  avcodec: validate the channel layout vs. channel count for decoders
  audioconvert: make av_get_channel_layout accept composite names.
  avutil: add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()

Conflicts:
	doc/APIchanges
	ffmpeg.c
	libavcodec/utils.c
	libavcodec/version.h
	libavutil/audioconvert.c
	libavutil/audioconvert.h
	libavutil/avutil.h
	libavutil/samplefmt.c
	libavutil/samplefmt.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-09 23:02:33 +02:00
Anton Khirnov
7c59b5c2a5 lavc doxy: add all installed headers to doxy groups. 2012-04-09 21:25:17 +02:00
Anton Khirnov
ec57b7de74 lavc doxy: add avfft to the main lavc group. 2012-04-09 21:24:46 +02:00
Anton Khirnov
8a74029ea2 lavc doxy: add remaining avcodec.h functions to a misc doxygen group. 2012-04-09 21:18:47 +02:00
Anton Khirnov
6aadfbda09 lavc doxy: add AVPicture functions to a doxy group. 2012-04-09 21:18:28 +02:00
Anton Khirnov
56512ce104 lavc doxy: add resampling functions to a doxy group. 2012-04-09 21:18:19 +02:00
Anton Khirnov
40ca0e6a75 lavc doxy: replace \ with /
It's the more proper symbol to use and it prevents doxygen from thinking
it's a command.
2012-04-09 21:16:37 +02:00
Anton Khirnov
f038515f0a lavc doxy: add encoding functions to a doxy group. 2012-04-09 21:16:24 +02:00
Anton Khirnov
c8ef8464c2 lavc doxy: add decoding functions to a doxy group. 2012-04-09 21:14:05 +02:00
Anton Khirnov
199ada4944 lavc doxy: fix formatting of AV_PKT_DATA_{PARAM_CHANGE,H263_MB_INFO} 2012-04-09 21:13:49 +02:00
Anton Khirnov
30f3f62563 lavc doxy: add AVPacket-related stuff to a separate doxy group.
Also move AV_PKT_DATA_PARAM_CHANGE/AV_PKT_DATA_H263_MB_INFO to the
proper place.
2012-04-09 21:13:17 +02:00
Anton Khirnov
294b3a5074 lavc doxy: add core functions/definitions to a doxy group. 2012-04-09 21:12:53 +02:00
Michael Niedermayer
3532a87a25 exr: optimize exr_halflt2uint()
30% faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-09 20:55:09 +02:00
Diego Biurrun
02c39f056a ppc: Add/remove a number of const qualifiers to fix related warnings. 2012-04-09 20:39:33 +02:00
Reimar Döffinger
438f3ef821 RV20: try keeping aspect during resolution changes.
Resolution changes are usually only used to scale with
network bandwidth, the (full) resolution specified in the
RM header really is authoritative.
While I am not sure this is the best solution, it is a
conservative approach that still should fix the most
common cases.
In particular, it fixes aspect with the sample from trac
issue #785 (in MPlayer, ffplay seems to just ignore
sample aspect changes in mid-playback).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-09 17:21:34 +02:00
Reimar Döffinger
1d130328ed aacdec: update debug code to always print the processed data.
When decoding LATM, this function will not process extradata
but a different buffer.
It seems this was forgotten to update when LATM support
was added.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-09 17:21:34 +02:00
Justin Ruggles
c58846f3a8 avcodec: use align == 0 for default alignment in avcodec_fill_audio_frame()
Use default alignment in audio_get_buffer()
2012-04-09 10:20:35 -04:00
Justin Ruggles
1337de0c4b avcodec: validate the channel layout vs. channel count for decoders
Set avctx->channel_layout to 0 if the channel count does not match
avctx->channels.
2012-04-08 18:45:58 -04:00
Michael Niedermayer
5d6a40bc74 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtsp: Don't use av_malloc(0) if there are no streams
  rtsp: Don't use uninitialized data if there are no streams
  vaapi: mpeg2: fix slice_vertical_position calculation.
  hwaccel: mpeg2: decode first field, if requested.
  cosmetics: Fix indentation
  rtsp: Don't expose the MS-RTSP RTX data stream to the caller

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-08 20:55:11 +02:00
Reimar Döffinger
03ef5047d1 Fix nellymoser encoder crash with hardcoded tables.
Use the correct init function to avoid crashes due to writing
to a rodata location.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-08 20:26:25 +02:00
Michael Niedermayer
1d80c8db27 ffv1: set slice geometry based on user specified slices.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-08 17:03:38 +02:00
Michael Niedermayer
8dfbc1c5cf ffv1: allow enabling of version 2 by using some of its features.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-08 16:48:34 +02:00
Michael Niedermayer
1b295a17d7 ffv1: fix version=2 chroma handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-08 16:01:37 +02:00
Michael Niedermayer
5612359501 ffv1: add a minor version field beginning with ffv1.3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-08 16:01:36 +02:00
Reimar Döffinger
069cf86d32 Fix side-data memleak also for audio.
This uses the same code as in decode_video also in decode_audio.
Should fix valgrind FATE failures for nellymoser encode test.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-08 13:06:13 +02:00
Gwenole Beauchesne
58e1032d8f vaapi: mpeg2: fix slice_vertical_position calculation.
VASliceParameterBufferMPEG2.slice_vertical_position shall express
the slice vertical position from the original bitstream. The HW
decoder will correctly decode to the right line computed from the
appropriate top_field_first and is_first_field flags.

This patch aligns with DXVA's definition, which is what most HW and
drivers expect. In particular, Intel PowerVR (Cedarview et al.) and
NVIDIA (through VA-to-VDPAU layer). Since it looks more complex to fix
binary drivers, I aligned the Intel Gen driver (Sandy Bridge et al.)
to this behaviour, while maintaining compatibility with codec layers
not providing this patch yet.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-08 13:10:20 +03:00
Gwenole Beauchesne
9cb150c9ab hwaccel: mpeg2: decode first field, if requested.
If user opted to present fields as they come, then the first field
picture needs to be submitted to the HW for decoding. In particular,
this fixes MPEG-2 decoding of interlaced streams.

Tested on Intel Cedar Trail, Sandy Bridge and Ivy Bridge platforms.
Someone reported on the ffmpeg-devel@ list this also works on DXVA
(Windows) and other Linux platforms (NVIDIA, through the VA wrapper).

This also means a similar patch to non-hwaccel VDPAU may be necessary.

Note: I believe the SLICE_FLAG_ALLOW_FIELD is useless since the first
field shall always be submitted to the HW anyway. Nobody uses HW accels
(dxva, vaapi, vdpau, etc.) without that flag though.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-08 13:08:52 +03:00
Reimar Döffinger
e9841505d2 Allow setting CODEC_FLAG2_CHUNKS via the name "chunks".
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-08 02:43:56 +02:00
Michael Niedermayer
6101e5322f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec_asf: Set the no_resync_search option for the chained asf demuxer
  asfdec: Add an option for not searching for the packet markers
  cosmetics: Clean up the tiffenc pix_fmts declaration to match the style of others
  cosmetics: Align codec declarations
  cosmetics: Convert mimic.c to utf-8
  avconv: remove an unused function parameter.
  avconv: remove now pointless variables.
  avconv: drop support for building without libavfilter.
  nellymoserenc: fix crash due to memsetting the wrong area.
  libavformat: Only require first packet to be known for audio/video streams
  avplay: Don't try to scale timestamps if the tb isn't set

Conflicts:
	Changelog
	configure
	ffmpeg.c
	libavcodec/aacenc.c
	libavcodec/bmpenc.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c
	libavcodec/ffv1.c
	libavcodec/flacenc.c
	libavcodec/fraps.c
	libavcodec/huffyuv.c
	libavcodec/libopenjpegdec.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videodec.c
	libavcodec/pamenc.c
	libavcodec/pgssubdec.c
	libavcodec/pngenc.c
	libavcodec/qtrleenc.c
	libavcodec/rawdec.c
	libavcodec/sgienc.c
	libavcodec/tiffenc.c
	libavcodec/v210dec.c
	libavcodec/wmv2dec.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 22:41:37 +02:00
Reimar Döffinger
5012c07336 Support detecting and demuxing EIA-608 subtitles in mov.
The format is slightly proprietary.
DVDs use a format of
code byte (0x00, 0x01, 0xfe or 0xff), two data bytes
MOV uses instead
cdat/cdt2 atom, two data bytes
Auto-detecting and supporting both in one decoder is trivial,
so a single codec ID is used.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-07 22:11:21 +02:00
Michael Niedermayer
50ec8a2acd mpeg4videodec: Force quant_precision to stay within the valid range.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 19:59:00 +02:00
Michael Niedermayer
59edf33f7b wmalosslessdec: rawpcm_tile fixes to keep get_bits() values within defined range.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 19:59:00 +02:00
Michael Niedermayer
d0212bb032 wmalosslessdec: channel residues can be 32 bit thus need _long bitreader.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 19:59:00 +02:00
Michael Niedermayer
a931d87727 mpeg12dec: Prevent f_code from becoming invalid.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 19:59:00 +02:00
Michael Niedermayer
6c3d6a214c 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>
2012-04-07 19:59:00 +02:00
Michael Niedermayer
192efcf768 h264_ps: check log2_max_frame_num for validity.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 19:59:00 +02:00
Michael Niedermayer
2d0b4bc4cf rv34: Fix check_slice_end() handling of 0 bits left case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 19:59:00 +02:00