Commit Graph

127 Commits

Author SHA1 Message Date
Michael Niedermayer
8f394a6cf8 pngdec: print error message for truncated pngs even if we output them
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-20 14:13:01 +01:00
Michael Niedermayer
4ed47d3354 pngdec: dont discard incomplete images.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-20 13:45:19 +01:00
Michael Niedermayer
eeb792d862 pngdec: Print error messages for the various failure pathes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-20 13:45:19 +01:00
Michael Niedermayer
a8cedbebf1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ttadec: unbreak playback of matroska files
  vorbisdec: avoid invalid memory access
  Fix uninitialized reads on malformed ogg files.
  huffyuv: add padding to classic (v1) huffman tables.
  png: convert to bytestream2 API.
  dca: include libavutil/mathematics.h for possibly missing M_SQRT1_2
  avs: fix infinite loop on end-of-stream.
  tiffdec: Prevent illegal memory access caused by recycled pointers.
  rtpenc: Fix the AVRational used for av_rescale_q_rnd
  wma: fix off-by-one in array bounds check.

Conflicts:
	libavcodec/huffyuv.c
	libavcodec/pngdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-09 01:22:31 +01:00
Ronald S. Bultje
4c25269ced png: convert to bytestream2 API.
Protects against overreads in the input buffer.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-08 11:17:25 -08:00
Michael Niedermayer
39a3a53b66 pngdec: validate length.
Fixes out of array reading.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-04 06:25:06 +01:00
Michael Niedermayer
8a08503b78 pngdec: Print error if signature is wrong.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-22 03:37:18 +01:00
Michael Niedermayer
184fc600e1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo_enc: only allocate output packet when we know there will be output
  Add names for more channel layouts to the channel layout map.
  sunrast: Add a sample request for RMP_RAW colormap.
  avcodec: do not override pts or duration from the audio encoder
  Add prores regression test.
  Enable already existing rso regression test.
  Add regression test for "sox" format muxer/demuxer.
  Add dpx encoding regression test.
  swscale: K&R formatting cosmetics for PowerPC code (part I/II)
  img2: Use ff_guess_image2_codec(filename) shorthand where appropriate.
  Clarify licensing information about files borrowed from libjpeg.
  Mark mutable static data const where appropriate.
  avplay: fix -threads option
  dvbsubdec: avoid undefined signed left shift in RGBA macro
  mlpdec: use av_log_ask_for_sample()
  gif: K&R formatting cosmetics
  png: make .long_name more descriptive
  movdec: Adjust keyframe flagging in fragmented files
  rv34: change most "int stride" into "ptrdiff_t stride".

Conflicts:
	avprobe.c
	ffplay.c
	libavcodec/mlpdec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pngenc.c
	libavcodec/x86/v210-init.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_crop.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_select.c
	libavfilter/vf_setpts.c
	libavfilter/vf_settb.c
	libavformat/img2.c
	libavutil/audioconvert.c
	tests/codec-regression.sh
	tests/lavf-regression.sh
	tests/ref/lavf/dpx
	tests/ref/vsynth1/prores
	tests/ref/vsynth2/prores

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-22 02:24:18 +01:00
Paul B Mahol
08630d25a2 png: make .long_name more descriptive
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-21 15:47:05 +01:00
Michael Niedermayer
146ef3f37c pngdec: fix warning about pointer types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:40:53 +01:00
Carl Eugen Hoyos
97da38c99b Allow decoding of 64bit png images.
Fixes a part of ticket #639.
2012-01-31 00:13:24 +01:00
Carl Eugen Hoyos
ea604de91e Simplify "deloco" and support decoding of 48bit loco png. 2012-01-31 00:03:26 +01:00
Michael Niedermayer
e1492151fb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  png: add missing #if HAVE_SSSE3 around function pointer assignment.
  imdct36: mark SSE functions as using all 16 XMM registers.
  png: move DSP functions to their own DSP context.
  sunrast: Add a sample request for TIFF, IFF, and Experimental Rastfile formats.
  sunrast: Cosmetics
  sunrast: Remove if (unsigned int < 0) check.
  sunrast: Replace magic number by a macro.

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-30 05:20:58 +01:00
Ronald S. Bultje
e92003514d png: move DSP functions to their own DSP context. 2012-01-29 08:11:18 -08:00
Michael Niedermayer
49f2056289 pngdec: Convert 2/4 bit formats to 8bit.
This way 2 and 4 bit gray, rgb & rgba are supported.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 01:36:43 +01:00
Michael Niedermayer
d1c48025a7 pngdec: Do not use SIMD paeth prediction for bpp=2
Fixes decoding of basi4a08.png

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-22 00:46:19 +01:00
Michael Niedermayer
fd8a8373aa pngdec: Fix masks for interlaced decoding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-22 00:46:19 +01:00
Michael Niedermayer
602e97dfaa pngdec: Add some FF_DEBUG based av_logs.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-22 00:46:19 +01:00
Carl Eugen Hoyos
e209a37777 Simplify 32bit png decoding. 2012-01-19 23:31:22 +01:00
Paul B Mahol
e20a4881ff pngdec: show verbose message for unsupported files 2012-01-09 22:35:19 +01:00
Carl Eugen Hoyos
613cbf3168 Fix some 1bit png samples, they can be palettised.
Fixes ticket #767.
2011-12-27 18:17:57 +01:00
Carl Eugen Hoyos
0c5fd6372e Do not try to read 16bit gray png files with alpha channel.
FFmpeg does not support gray16a.
Fixes the crash in ticket #644.
2011-11-12 19:30:27 +01:00
Reimar Döffinger
371e165443 Try to set AVFrame.reference to correct values.
I am not sure these new values are correct, not am I sure
the semantics are a good idea since we do not seem to make any
use of them but they caused a lot of confusion, but this
seems to make things closer to matching the documentation.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-05 23:25:20 +01:00
Michael Niedermayer
f962518036 pngdec: set reference correctly for corepng.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-04 06:39:29 +02:00
Carl Eugen Hoyos
f863cdef81 Cosmetics: Fix comment. 2011-09-07 01:10:14 +02:00
Michael Niedermayer
0c9cba24b7 pngdec: implement 4bpp interlaced
Fixes Ticket435

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-06 19:50:01 +02:00
Michael Niedermayer
dcabb3d608 pngdec: implement 2 bpp interlaced.
Fixes Ticket434

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-06 19:50:01 +02:00
Michael Niedermayer
bc6445f2db pngdec: Fix interlaced PAETH prediction
Fixes Ticket161

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-06 16:22:38 +02:00
Michael Niedermayer
2d4102fc13 pngdec: Implement 2bpp
Fixes Ticket433

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-06 15:48:01 +02:00
Michael Niedermayer
dc43ad6d1a pngdec: Fix interlaced 1bpp
Fixes Ticket214

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-06 15:28:36 +02:00
Michael Niedermayer
738219c921 pngdec: 4bpp support
Fixes Ticket208

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-06 14:11:04 +02:00
Michael Niedermayer
faba79e080 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
  H.264: tweak some other x86 asm for Atom
  probe: Fix insane flow control.
  mpegts: remove invalid error check
  s302m: use nondeprecated audio sample format API
  lavc: use designated initialisers for all codecs.
  x86: cabac: add operand size suffixes missing from 6c32576

Conflicts:
	libavcodec/ac3enc_float.c
	libavcodec/flacenc.c
	libavcodec/frwu.c
	libavcodec/pictordec.c
	libavcodec/qtrleenc.c
	libavcodec/v210enc.c
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-30 06:46:08 +02:00
Anton Khirnov
ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Mans Rullgard
e23a05ab06 Fix incorrect max_lowres values
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-20 10:19:36 +01:00
Michael Niedermayer
99eb31e263 Merge remote-tracking branch 'qatar/master'
* qatar/master: (25 commits)
  Replace custom DEBUG preprocessor trickery by the standard one.
  vorbis: Remove non-compiling debug statement.
  vorbis: Remove pointless DEBUG #ifdef around debug output macros.
  cook: Remove non-compiling debug output.
  Remove pointless #ifdefs around function declarations in a header.
  Replace #ifdef + av_log() combinations by av_dlog().
  Replace custom debug output functions by av_dlog().
  cook: Remove unused debug functions.
  Remove stray extra arguments from av_dlog() invocations.
  targa: fix big-endian build
  v4l2: remove one forgotten use of AVFormatParameters.pix_fmt.
  vfwcap: add a framerate private option.
  v4l2: add a framerate private option.
  libdc1394: add a framerate private option.
  fbdev: add a framerate private option.
  bktr: add a framerate private option.
  oma: check avio_read() return value
  nutdec: remove unused variable
  Remove unused variables
  swscale: allocate larger buffer to handle altivec overreads.
  ...

Conflicts:
	ffmpeg.c
	libavcodec/dca.c
	libavcodec/dirac.c
	libavcodec/error_resilience.c
	libavcodec/h264.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pthread.c
	libavcodec/rv10.c
	libavcodec/s302m.c
	libavcodec/shorten.c
	libavcodec/truemotion2.c
	libavcodec/utils.c
	libavdevice/dv1394.c
	libavdevice/fbdev.c
	libavdevice/libdc1394.c
	libavdevice/v4l2.c
	libavformat/4xm.c
	libavformat/apetag.c
	libavformat/asfdec.c
	libavformat/avidec.c
	libavformat/mmf.c
	libavformat/mpeg.c
	libavformat/mpegenc.c
	libavformat/mpegts.c
	libavformat/oggdec.c
	libavformat/oggparseogm.c
	libavformat/rl2.c
	libavformat/rmdec.c
	libavformat/rpl.c
	libavformat/rtpdec_latm.c
	libavformat/sauce.c
	libavformat/sol.c
	libswscale/utils.c
	tests/ref/vsynth1/error
	tests/ref/vsynth2/error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-03 05:19:30 +02:00
Mans Rullgard
e65ab9d94f Remove unused variables 2011-06-02 20:06:00 +01:00
Stefano Sabatini
68bed67d2e pngdec: relax condition for setting monoblack pixel format
Ignore color_type information for setting the monoblack pixel format,
only rely on bit_depth.

In particular: fix Test_1bpp_grayscale.png from issue #172.

This may work fine for some broken encoder, and not for others.
2011-05-16 16:34:47 +02:00
Stefano Sabatini
ce5e49b0c2 replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_* 2011-05-02 16:41:41 +02:00
Stefano Sabatini
975a1447f7 Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02 12:18:44 +02:00
ami_stuff
658296e344 Remove lowres support from png decoder
The lowres support doesn't work correctly (crops the video), so let's remove it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-29 01:29:19 +02:00
Baptiste Coudurier
045cc36fe7 100l, change #ifdef to #if 2011-04-27 14:24:36 -07:00
Baptiste Coudurier
46394d39e3 In png decoder, only call png_init_mmx if HAVE_MMX is defined. 2011-04-27 13:59:30 -07:00
Baptiste Coudurier
e91946ed23 Rename y400a to gray8a.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 21:36:30 +02:00
Baptiste Coudurier
6d4c49a2af Move png mmx functions into x86/png_mmx.c, remove them from DSPContext.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 20:08:09 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Reinhard Tartler
7ffe76e540 Merge libavcore into libavutil
Done to keep ABI compatible. Otherwise this is just silly
2011-02-16 23:00:30 +01:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Luca Barbato
9ef5a9deaf Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
(cherry picked from commit dfd2a005eb)
2011-01-30 03:41:48 +01:00
Luca Barbato
dfd2a005eb Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
2011-01-29 23:55:37 +01:00
Diego Elio Pettenò
e7e2df27f8 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f69)
2011-01-28 03:15:34 +01:00
Diego Elio Pettenò
d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Stefano Sabatini
e16f217ceb Use new imgutils.h API names, fix deprecation warnings.
Originally committed as revision 25058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 19:15:29 +00:00
Stefano Sabatini
6ce9b4310c Remove use of the deprecated function avcodec_check_dimensions(), use
av_check_image_size() instead.

Originally committed as revision 24711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 09:37:04 +00:00
Måns Rullgård
8fc0162ac4 Add av_ prefix to bswap macros
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Carl Eugen Hoyos
0fd0ef7947 Add new decoder property max_lowres and do not init decoder if requested value is higher.
Originally committed as revision 24098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 21:23:36 +00:00
Andreas Öman
67d96fb42d pngdec: Add support for PIX_FMT_Y400A
Originally committed as revision 22882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-14 20:15:50 +00:00
Jean-Daniel Dupas
cc947f04cc Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
Patch by Jean-Daniel Dupas, devlists shadowlab org

Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:29:58 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Jai Menon
de3553b078 pngdec.c : release allocated buffers.
Originally committed as revision 20680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 11:38:37 +00:00
Diego Biurrun
8b44de14d1 Change av_log() calls surrounded by '#ifdef DEBUG' into dprintf macros.
Originally committed as revision 19550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 21:00:08 +00:00
Kostya Shishkov
f3ac96e4d8 Support RGB48 PNG decoding
Originally committed as revision 19301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 03:37:20 +00:00
Baptiste Coudurier
d0a7936710 png decoder use get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:32:41 +00:00
Vitor Sessak
09d1208cdb Fix unaligned dsputil call.
Should fix FATE corepng test on Solaris/Sparc.

Originally committed as revision 18930 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 12:44:54 +00:00
Thilo Borgmann
ee30cdabad Add support to CorePNG P-frames.
Patch by Thilo Borgmann thilo DOT borgmann A googlemail com.

Originally committed as revision 18421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 17:16:19 +00:00
Thilo Borgmann
7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
avcoder
6413d91d08 Remove useless casts.
Patch by avcoder ffmpeg at gmail d0t com

Originally committed as revision 14154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-10 11:52:51 +00:00
Stefano Sabatini
fe4bf37455 Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Stefano Sabatini
bcdb2378f7 Add long names to some AVCodec declarations.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-29 21:31:21 +00:00
Zuxy Meng
98a6fff98c Apply 'cold' attribute to init/uninit functions in libavcodec
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Loren Merritt
042e0adda9 decode mng color decorrelation
Originally committed as revision 12228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-26 10:21:33 +00:00
Loren Merritt
bd58e7f730 remove a memcpy
Originally committed as revision 12193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-25 05:46:53 +00:00
Loren Merritt
4a9ca0a279 simd and unroll png_filter_row
cycles per 1000 pixels on core2:
left: 9211->5170
top: 9283->2138
avg: 12215->7611
paeth: 64024->17360
overall rgb png decoding speed: +45%
overall greyscale png decoding speed: +6%

Originally committed as revision 12164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-21 07:10:46 +00:00
Michael Niedermayer
1dc5527934 const
Originally committed as revision 11736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 14:00:31 +00:00
Diego Biurrun
f1ea5c2a96 typo fixes
Originally committed as revision 9719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-17 12:57:50 +00:00
Måns Rullgård
e0eddd1269 hardly anything in PNGContext is shared; split it
Originally committed as revision 9689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-15 19:23:55 +00:00
Måns Rullgård
b958a7f111 separate en/decoder specific parts from png.c
Originally committed as revision 9686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-15 18:24:26 +00:00