Commit Graph

289 Commits

Author SHA1 Message Date
Clément Bœsch 235bf1dab5 riff: add ISMP/timecode tag 2014-04-04 00:28:28 +02:00
James Almer fa570a5548 riff: Add ITRK tag
Some players, like foobar2000 or modern versions of WMP, create WAV
files using the ITRK tag for track instead of IPRT
2014-04-04 00:28:28 +02:00
James Zern 3e0175d89a riff: add VP9 fourcc 2014-03-09 18:09:39 +01:00
Ben Littler fb0a988f94 riff: IPJ2 decodes with JPEG2000 decoder
Samples can be made from mencoder and jp2avi.dll codec.
2014-03-09 18:09:39 +01:00
Kostya Shishkov cde7df25ef Mirillis FIC video decoder
Does not contain cursor rendering yet.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-08 15:04:13 +00:00
Kostya Shishkov a16577d985 MSN Audio support
This is essentially a MS GSM decoder extension that supports more
sampling rates and lower bitrates.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-26 08:31:10 +01:00
Martin Storsjö a52b5a5a07 riff: Add a mapping for VP6A
This allows demuxing VP6A from F4V files.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-12 13:02:45 +03:00
Kostya Shishkov f544c58636 deprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND instead
Voxware is the name of company, it has produced several audio codecs e.g.
MetaVoice family and MetaSound.
2013-08-07 10:56:18 +02:00
Diego Biurrun 255d9c570e riff: Move demuxing code to a separate file. 2013-08-06 11:02:36 +02:00
Diego Biurrun 3dd5c95dee riff: Move muxing code to a separate file 2013-08-06 11:02:35 +02:00
Luca Barbato 508998f7d5 avf: move riff tags accessors where they belong 2013-06-16 14:41:07 +02:00
Yusuke Nakamura 2578f1efd6 riff: Support ULH0 and ULH2 fourccs.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-06-10 09:37:53 +02:00
Kostya Shishkov 2d66a58ccd Go2Webinar decoder 2013-06-03 09:24:55 +02:00
Luca Barbato b845f5e97b riff: Factor out WAVEFORMATEX parsing
Makes the code simpler to follow.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Peter Ross 516089d5d8 riff: Add ACTRAC3+ guid
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Peter Ross a3bf80a5ae riff: Perform full lookup on WAVEFORMATEXTENSIBLE subformat guid
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Peter Ross e544782623 riff: Move guid structs and helper functions into riff
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Luca Barbato 8e329dba37 riff: check for eof if chunk size and code are 0
Prevent an infinite loop.

Inspired by a patch from Michael Niedermayer

CC: libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Luca Barbato 1c88617b94 riff: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:12 +02:00
Luca Barbato 80ac87c13d lavc: support ZenoXVID custom tag
Looks like this kind of samples are produced by certain Russian
equipment.
2013-01-17 21:41:18 +01:00
Diego Biurrun a0c5917f86 Drop Snow codec
Snow is a toy codec with no real-world use and horrible code.
2013-01-06 16:30:02 +01:00
Justin Ruggles 5c7bf2ddde lavf: move nuv fourcc audio tags from riff to nuv 2012-11-28 11:18:50 -05:00
Justin Ruggles 261e9348ef lavf: add a common function for selecting a pcm codec from parameters 2012-11-28 11:18:50 -05:00
Justin Ruggles cdaa1f84fb lavf: move "MP3 " fourcc from riff to nut
Original commit, 7b24f9b, says it was added because it is used in libnut.
2012-11-28 11:18:49 -05:00
Justin Ruggles 259d8c5647 riff: do not add empty metadata tags in INFO chunk 2012-11-26 19:08:51 -05:00
Justin Ruggles 3c370f5abc riff: only warn on a bad INFO chunk code size instead of failing
fixes Bug 392
2012-11-26 19:08:51 -05:00
Diego Biurrun ddb009425c riff: Make ff_riff_tags static and move under appropriate #ifdef
The table is not used outside the file.
2012-11-25 13:32:10 +01:00
Anton Khirnov 6173a8fe5d riff: remove a write-only variable 2012-10-22 08:49:58 +02:00
Diego Biurrun 7b2121e7e2 riff: Move functions around to be covered by appropriate #ifdefs
This fixes compilation with --disable-muxers.
2012-10-18 16:12:45 +02:00
Victor Vasiliev 0bca0283cc riff: do not write empty INFO tags
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-16 18:51:16 +02:00
Victor Vasiliev 71e92414bf lavf: move RIFF INFO tag writing from avienc to riff
It will be useful in the wav muxer.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-16 18:50:36 +02:00
Derek Buitenhuis 1c56cdad33 riff: Add SVQ3 fourcc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-14 14:12:52 -04:00
Alberto Delmás ee769c6a7c MSS2 decoder
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-08-31 07:37:16 +02:00
Anton Khirnov 36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Derek Buitenhuis 45eaac02cb Canopus Lossless decoder
At the moment it only does BGR24, but I plan to add the rest after.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-01 22:06:16 -04:00
Kostya Shishkov 5b7e3a195d MS Expression Encoder Screen decoder 2012-07-13 06:59:48 +02:00
Kostya Shishkov 781888da89 TechSmith Screen Codec 2 decoder 2012-07-11 07:29:05 +02:00
Kostya Shishkov edf35d8342 MS ATC Screen (aka MSS3) decoder 2012-07-02 07:14:44 +02:00
Kostya Shishkov 005c80b645 MS Screen 1 decoder 2012-06-20 19:08:10 +02:00
Kostya Shishkov c6061443f7 Indeo Audio decoder 2012-06-05 18:30:54 +02:00
Justin Ruggles 8099fc763b riff: use bps instead of bits_per_coded_sample in the WAVEFORMATEXTENSIBLE header
This matches the value for the plain WAVEFORMATEX header.
Also fixes stream copy to WAVE for non-16-bit raw pcm.
2012-04-17 00:09:19 -04:00
Derek Buitenhuis 0e714f889e ZeroCodec Decoder
An obscure Japanese lossless video codec, originally intended
for use with a remote desktop application.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-03-19 19:02:23 +01:00
Justin Ruggles c019070fda riffenc: use av_get_audio_frame_duration()
For encoding, frame_size is not a reliable indicator of packet duration.
Also, we don't want to have to force the demuxer to find frame_size for
stream copy to work.
2012-03-05 13:08:15 -05:00
Janne Grunau 15cea3695d riff: fix invalid av_freep() calls on EOF in ff_read_riff_info 2012-01-22 19:32:44 +01:00
Anton Khirnov 0fd88d3988 riff: remove references to sonic codec ids
They are deprecated and will be purged on next major bump.
2012-01-12 18:18:22 +01:00
Carl Eugen Hoyos 835af79b05 Detect 'yuv2' as rawvideo also in avi.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-01-01 22:27:04 +01:00
Derek Buitenhuis 80f6c0bb95 v410 encoder and decoder
v410 is a packed 10-bit 4:4:4 YCbCr format used in
QuickTime.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-13 23:34:24 +01:00
Kostya Shishkov 19341c58e0 Dxtory capture format decoder
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-10 11:58:03 +01:00
Paul B Mahol e93947b7d8 cljr: add encoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-08 09:47:53 +01:00
Victor Vasiliev 12bc20502a Generalize RIFF INFO tag support; support reading INFO tag in wav
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-26 17:14:13 -08:00
Derek Buitenhuis c433a3f9a5 VBLE Decoder
Add a decoder for the VBLE Lossless Codec, which
still has a cult following. Used to be popular
several years ago on doom9.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-11 22:46:47 +02:00
Justin Ruggles 6ac34eed54 g726: use bits_per_coded_sample instead of bitrate to determine mode
This requires some workarounds in the WAV muxer and demuxer. We need to write
the correct bits_per_coded_sample and block_align in the muxer. In the
demuxer, we cannot rely on the bits_per_coded_sample value, so we use the bit
rate and sample rate to determine the value.

This avoids having the decoder rely on AVCodecContext.bit_rate, which is not
required to be set by the user for decoding according to our API.
2011-11-01 21:23:03 -04:00
Kostya Shishkov 0d8506b8c5 Ut Video decoder
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-19 08:24:19 +02:00
John Brooks 2c4e08d893 riff: always generate a proper WAVEFORMATEX structure in ff_put_wav_header
The cbSize field should be included in all cases, even with PCM where
its value is ignored.

Fixes encoding PCM audio in Matroska for some players which insist on
a full WAVEFORMATEX structure for A_MS/ACM audio.

Since fate uses wav files for the audio test a larger number of tests
has changed checksums or shifted positions due to the 2 byte longer
wave header.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-14 13:28:58 +02:00
Diego Biurrun 12bd8532cf Synchronize various 4CCs and codec tags from FFmpeg. 2011-10-04 11:58:53 +02:00
Alberto Delmás 45ecda8554 Windows Media Image decoder (WMVP/WVP2)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-23 11:18:35 +02:00
Alex Converse 505345ed5d riff: Add mpgv MPEG-2 fourcc
Supported by mplayer and seen in the wild.
2011-07-22 10:39:13 -07:00
Mans Rullgard 0ebcdf5cda Do not include mathematics.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Kamil Nowosad a304a83362 riff/img2: Add JPEG 2000 codec IDs. 2011-06-21 21:38:59 +02:00
ami_stuff 2ea1ca1714 riff: Add DAVC fourcc.
This fourcc is used by the "mpegable AVC" codec and files encoded with
this codec decode correctly with our H.264 decoder.
2011-06-21 21:38:58 +02:00
Carl Eugen Hoyos 682a20114e riff: Add M263, XVIX, MMJP, CDV5 fourccs. 2011-06-21 21:38:53 +02:00
ami_stuff d352df0931 rawvideo: Support auv2 fourcc. 2011-06-21 21:33:58 +02:00
Alex Converse ed8a50068c riff: Fix potential memleak.
Make ff_get_wav_header() free existing extradata before allocing a new
buffer.
2011-06-09 10:12:50 -07:00
Luca Barbato e3b540b424 Make ffmpeg support generic data stream
The patch is the first step to support -dcodec copy
2011-05-03 11:51:55 +02:00
Max Horn ca402f32e3 handle malloc failures in ff_get_wav_header
ff_get_wav_header is reading data from a WAVE file and then uses it
(without validation) to malloc a buffer. It then proceeded to read
data into the buffer, without verifying that the allocation succeeded.

To address this, change ff_get_wav_header to return an error if
allocation failed, and adapted all calling code to handle that error.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-04-14 13:56:09 +02:00
Alberto Delmás 768c525114 Parse sprite data for WMVP and WVP2, and decode sprites for the latter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-10 10:07:49 +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
Anton Khirnov 45a8a02a41 lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes sense
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 22:24:51 -04:00
Peter Ross d34ca1cfe3 Add audio codec 0x1600 (ADTS AAC)
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 11:11:01 -05:00
Anton Khirnov a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Anton Khirnov e356fc57a2 lavf: replace all uses of url_fskip with avio_seek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:22:16 -05:00
Anton Khirnov 6b4aa5dac8 avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:12:33 -05:00
Anton Khirnov 0abdb29317 lavf: use a new ffio_wfourcc macro instead of put_tag() where possible
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-25 14:38:22 -05:00
Anton Khirnov 77eb5504d3 avio: avio: avio_ prefixes for put_* functions
In the name of consistency:
put_byte           -> avio_w8
put_<type>         -> avio_w<type>
put_buffer         -> avio_write

put_nbyte will be made private
put_tag will be merged with avio_put_str

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 14:25:15 -05:00
Anton Khirnov b7effd4e83 avio: avio_ prefixes for get_* functions
In the name of consistency:
get_byte           -> avio_r8
get_<type>         -> avio_r<type>
get_buffer         -> avio_read

get_partial_buffer will be made private later

get_strz is left out becase I want to change it later to return
something useful.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 11:23:22 -05:00
Anton Khirnov ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Peter Ross 50d83b2005 Add audio codec 0x1602 (AAC LATM)
Originally committed as revision 26273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-09 02:11:41 +00:00
Carl Eugen Hoyos d267b339e4 Lagarith decoder by Nathan Caldwell, saintdev at gmail
Originally committed as revision 26270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-08 21:22:15 +00:00
Carl Eugen Hoyos 504530bfba Set blkalign to 3840 (maximum bytes per frame) for AC-3 in avi.
Fixes playback for corner-cases like 32kHz 320kb.

Originally committed as revision 26242 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 13:30:32 +00:00
Peter Ross 773d892a31 move ff_get_bmp_header under CONFIG_DEMUXERS block
Originally committed as revision 26182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-01 03:24:10 +00:00
Carl Eugen Hoyos f6bf6e511d Set blkalign to maximum framesize to allow playback on WMP (see issue 2455 and issue 2446).
Originally committed as revision 26167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-30 14:21:14 +00:00
Peter Ross 456a70aeb8 add ff_get_bmp_header
Originally committed as revision 26091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-26 01:23:44 +00:00
Andrew Wason 3d305fd071 Add FourCC yuvs for rawvideo (PIX_FMT_YUYV422).
Patch by Andrew Wason, rectalogic rectalogic com

Originally committed as revision 25853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-29 23:15:51 +00:00
Peter Ross e8ffb2fa4c Add G.722 to RIFF codec list
Originally committed as revision 25837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-28 03:01:00 +00:00
Kostya Shishkov cba322d76d Make WMV3 decoder attempt to decode WMVP as well
Originally committed as revision 25209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 13:56:50 +00:00
Zhou Zongyi 4383692896 Add R10k decoder.
Original patch by Zhou Zongyi, zhouzy A os pku edu cn, resubmitted by
James Darnley, james.darnley gmail, changes by me.

Originally committed as revision 25115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-13 22:08:51 +00:00
Ben Littler f0feb4d72f add WAWV fourcc, works on V-codecs/WAWV.avi
Originally committed as revision 24991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-30 16:43:33 +00:00
Carl Eugen Hoyos 2d91366cc2 Make MP43 the default fourcc for msmpeg4v3:
DIV3 is not supported on default XP and Vista installations (MP43 is).

Originally committed as revision 24343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 09:44:21 +00:00
Tomas Härdin 77d3f1f792 Added M701 codec_tag for mpeg2video
Originally committed as revision 23513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-07 11:27:26 +00:00
Carl Eugen Hoyos 74c853b621 Samsung uses SIPP as FourCC for MPEG-4 ASP.
Originally committed as revision 23309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 10:35:50 +00:00
Stefano Sabatini 781cf5fd41 Add missing codec id <-> codec tag entries:
CODEC_ID_RAWVIDEO <->  Y41B
CODEC_ID_RAWVIDEO <->  Y42B
CODEC_ID_RAWVIDEO <->  YUV9
CODEC_ID_RAWVIDEO <->  YVU9

These codec tags are listed in fourcc.org, and are already listed in
libavcodec/raw.c:ff_raw_pix_fmt_tags as AVI tags.

Originally committed as revision 23296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-24 20:35:01 +00:00
Google 6c7c62939b Add VP80 fourcc
Patch by Google

Originally committed as revision 23193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-19 16:50:12 +00:00
Stefano Sabatini 73762de18e Add NV12 and NV21 AVI tags.
Both are listed in fourcc.org.

Originally committed as revision 23145 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-16 07:56:31 +00:00
Francesco Lavra f10d3d343e Add FourCC MJPG for CODEC_ID_JPEGLS.
Patch by Francesco Lavra, francescolavra interfree it

Originally committed as revision 23076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-09 23:19:19 +00:00
Stefano Sabatini b43f432c8c Add support to the Y411 codec tag, corresponding to the rawvideo pixel
format uyyvyy411.

The codec tag is referenced in fourcc.org.

Originally committed as revision 23072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-09 22:56:04 +00:00
Anssi Hannula 337104ac1f Fix FourCC when remuxing VP6F, regression introduced in r22941.
Patch by Anssi Hannula, anssi D hannula A iki fi

Originally committed as revision 22985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-28 07:57:07 +00:00
Christian Schmidt 03cb8458ce Support VP6F in Matroska.
Patch by Christian Schmidt, schmidt digadd de

Originally committed as revision 22941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 08:57:28 +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
Anton Khirnov 63100f5885 riff: don't pad extradata when writing ASF.
Patch by Anton Khirnov mirror(moc liamg saksyw)

Originally committed as revision 22539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 08:49:02 +00:00
Daniel Verkamp bf35412201 Kega Game Video (KGV1) decoder
Originally committed as revision 22364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 01:03:09 +00:00