Commit Graph

274 Commits

Author SHA1 Message Date
Christian Schmidt
a42e3a6700 pcm_dvd: consolidate pieces from pcm.c and mpeg.c
Remove the header decoding for PCM audio from mpeg.c and the
20/24bit parts from pcm.c and merge them into a new decoder in
pcm-dvd.c.

The decoder has added support for samples that span multiple
packets and modified 20/24bit group decoding. Both is needed to
decode samples that have been generated with DVD-Lab Pro 2. The
decoding of 16bit PCM and two channel 24bit is identical to
before. No other samples are known to verify the correctness of
the encoding this software does.
The complete list of tested formats is
48kHz/16bit/2-8 channels
48kHz/24bit/2-5 channels
96kHz/16bit/2-4 channels
96kHz/24bit/2 channels

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-31 11:26:29 +02:00
Martin Storsjö
4f2b469da5 Add a libfdk-aac decoder
This can be useful for decoding AAC object types that are not supported
by the native AAC decoder, e.g. AAC-LD and AAC-ELD.
2013-08-20 14:27:27 -04:00
Luca Barbato
5a9a9d4a2a lavc: Add refcounted api to AVPacket
Provide a clean way to manipulate packets.
2013-08-10 13:41:35 +02:00
Kostya Shishkov
3e5898782d Voxware MetaSound decoder 2013-08-08 10:52:44 +02: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
Rémi Denis-Courmont
f824535a4a vdpau: deprecate bitstream buffers within the hardware context
The bitstream buffers are now private and freed by libavcodec. For
backward compatibility, the hold bitstream buffer pointer is left NULL
(applications were supposed to av_freep() it).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:21:36 +02:00
Rémi Denis-Courmont
549294fbbe vdpau: deprecate VDPAU codec capability
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:20:32 +02:00
Yusuke Nakamura
a8b19271c3 avcodec: Add output_picture_number to AVCodecParserContext
Set output_picture_number in H.264 parser.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-02 20:59:45 +02:00
Kieran Kunhya
95d5246454 lavc: Add option to encode MPEG-2 AAC with libfdk-aac
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-06-24 08:03:26 +02:00
Anton Khirnov
84d3ff50cd lavc: add a libwavpack encoder wrapper 2013-06-10 21:33:48 +02:00
Kostya Shishkov
2d66a58ccd Go2Webinar decoder 2013-06-03 09:24:55 +02:00
Kostya Shishkov
3b03d7e251 dxtory v2 support 2013-05-28 13:35:09 +02:00
Michael Niedermayer
728214992e vc1dec: Remove interlaced warning
Also add a note about the feature in the changelog.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:29 +03:00
Yusuke Nakamura
b493847df4 avcodec: Add picture structure information to AVCodecParserContext.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-24 08:43:14 +02:00
Eli Friedman
350914fc80 Escape 130 (RPL) decoder
Some fixes provided by Paul B Mahol <onemda@gmail.com>
and Michael Niedermayer <michaelni@gmx.at> and me.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-05-18 07:12:56 +02:00
Kostya Shishkov
1232a1647a Apple Intermediate Codec decoder 2013-05-17 06:31:05 +02:00
Masaki Tanaka
507b1e454c avcodec: Add field order information to AVCodecParserContext.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:16:10 +02:00
Anton Khirnov
803d21f38b lavc: schedule AVCodecContext.lowres for removal on next bump.
It has been deprecated some time ago, but was forgotten during the last
bump.
2013-05-03 08:07:35 +02:00
Diego Biurrun
f13888afcc avcodec: Bump minor for JPEG 2000 decoder 2013-04-22 15:52:43 +02:00
Anton Khirnov
5e83d9aced h264: fully support cropping.
Based on a patch by Vittorio Giovara <vittorio.giovara@gmail.com>

Fixes Bug 378.
2013-04-19 09:28:08 +02:00
Janne Grunau
05fa79b844 hwaccel: fix use with frame based multithreading
Allows use of AVHWAccel based decoders with frame based multithreading.
The decoders will be forced into an non-concurrent mode by delaying
ff_thread_finish_setup() calls after decoding of the current frame
is finished.

This wastes memory by unnecessarily using multiple threads and thus
copies of the decoder context but allows seamless switching between
hardware accelerated and frame threaded software decoding when the
hardware decoder does not support the stream.
2013-03-26 19:44:50 +01:00
Diego Biurrun
f099d3d1d5 Add av_log_{ask_for_sample|missing_feature} replacements to libavutil
This allows reporting missing features and requesting samples from
all libraries in a standard way; with a simplified API.
2013-03-13 20:42:06 +01:00
Anton Khirnov
d6ed604cf4 lavc: remove disabled FF_API_IDCT cruft 2013-03-11 18:22:37 +01:00
Anton Khirnov
3bcdf8dcb9 lavc: remove disabled FF_API_SNOW cruft 2013-03-11 18:22:26 +01:00
Anton Khirnov
fcb07e8b33 lavc: remove disabled FF_API_MMI cruft 2013-03-11 18:22:18 +01:00
Anton Khirnov
de27d2b92f lavc: remove disabled FF_API_LIBMPEG2 cruft 2013-03-11 18:21:54 +01:00
Anton Khirnov
0517c9e098 lavc: remove disabled FF_API_AVCODEC_RESAMPLE cruft 2013-03-11 18:21:32 +01:00
Anton Khirnov
adfa53d67c lavc: remove disabled FF_API_VDA_ASYNC cruft 2013-03-09 08:37:11 +01:00
Anton Khirnov
bdd1567c35 lavc: remove disabled FF_API_CODEC_ID cruft 2013-03-09 08:37:08 +01:00
Anton Khirnov
7d42fd6bb9 lavc: remove disabled FF_API_FIND_BEST_PIX_FMT cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
845017105f lavc: remove disabled FF_API_DSP_MASK cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
d03a94e2b7 lavc: remove disabled FF_API_SUB_ID cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
2a11369523 lavc: remove disabled FF_API_INTER_THRESHOLD cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
9d6cf81f02 lavc: remove disabled FF_API_COLOR_TABLE_ID cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
3b0f586f07 lavc: remove disabled FF_API_MPV_GLOBAL_OPTS cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
0f24a3ca99 lavc: remove disabled FF_API_OLD_ENCODE_VIDEO cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
f073b1500e lavc: remove disabled FF_API_OLD_ENCODE_AUDIO cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
5d606863c3 lavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
d8b31be6ca Add the bumps and APIchanges entries for reference counted buffers changes. 2013-03-08 07:41:49 +01:00
Anton Khirnov
8df23e938b lavc: postpone the removal of request_channels API.
Its replacement is still not ready.
2013-03-08 07:41:42 +01:00
Anton Khirnov
759001c534 lavc decoders: work with refcounted frames. 2013-03-08 07:38:30 +01:00
Anton Khirnov
1afddbe59e avpacket: use AVBuffer to allow refcounting the packets.
This will allow us to avoid copying the packets in many cases.

This breaks ABI.
2013-03-08 07:33:45 +01:00
Ronald S. Bultje
54b298fe56 lavc: Deprecate the deinterlace functions in libavcodec
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 09:35:24 +02:00
Tim Walker
9d083d6417 flac: add channel layout masks for streams with 7 or 8 channels.
They were added to the latest FLAC specification:
https://git.xiph.org/?p=flac-website.git;a=commit;h=65c199a2

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-06 21:44:06 +01:00
Vittorio Giovara
a84fb6e06f h264: Allow discarding the cropping information from SPS
Some 3D systems overload the meaning of the field for other purposes.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 07:50:35 +01:00
Ronald S. Bultje
93af2734ee lavc: put FF_IDCT_{VP3,H264,CAVS,BINK,EA,WMV2} under FF_API_IDCT.
This allows us to get rid of them on the next major bump. All of the
above are functionally irrelevant, and most of them are unused, except
the vp3 one, which is used wrongly in the bfin arch optimizations.
2013-01-20 22:15:28 -08:00
Rémi Denis-Courmont
7752532789 vdpau: Add VC-1 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:18 +01:00
Rémi Denis-Courmont
51b56a0716 vdpau: Add H.264 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:08 +01:00
Rémi Denis-Courmont
200e8ac920 vdpau: Add MPEG-4 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:02 +01:00
Rémi Denis-Courmont
aaf9d0e8f3 vdpau: Add MPEG-1/2 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:53:47 +01:00
Rémi Denis-Courmont
44e065d56c vdpau: Add context and common helpers for hwaccel support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:41:27 +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
Janne Grunau
acb571c89a avcodec: bump minor for adaptive h264 frame-mt
Also adds forgotten Changelog entry.
2012-12-18 20:26:53 +01:00
Carl Eugen Hoyos
2ddf7c88d1 ZeroCodec: Flip output
The initial testing of the VFW binary codec was flawed,
likely due to an AviSynth bug.

Re-testing using VirtualDub and various professional editing
applications has revealed it should have been flipped.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-12-10 11:19:42 -05:00
Paul B Mahol
57231e4d5b tak: demuxer, parser, and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
John Stebbins
85f67c4865 PGS subtitles: Expose forced flag
Useful for detection of subtitles displayed during foreign language
scenes.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-02 16:13:35 +01:00
Martin Storsjö
9b500b8f6c avcodec: Add a RFC 3389 comfort noise codec
This isn't too useful as a normal codec, but can be used in
voip style applications. The decoder updates the noise
generator parameters when a packet is given to it for decoding,
but if called with an empty packet, it generates more noise
according to the last parameters.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-29 22:00:43 +02:00
Diego Biurrun
ca411fc1d3 avcodec: Remove broken MMI optimizations
The code fails to compile and is broken beyond repair.
2012-10-12 20:56:54 +02:00
Diego Biurrun
bc4620e5d6 Remove libmpeg2 #define remnants 2012-10-12 20:56:54 +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
Nathan Caldwell
6cb8c85409 Opus encoder using libopus
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-01 14:42:40 +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
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
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
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
a2318326f1 lavc: add lossy/lossless codec properties. 2012-08-30 13:55:55 +02:00
Jan Ekström
1ab5a78042 lavc: add Ut Video encoder
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-08-20 11:22:59 +02:00
Sebastien Zwickert
3c37970637 vda: support synchronous decoding
Note that the symbols used to run the hardware decoder in asynchronous mode
have been marked deprecated and will be dropped at a future version bump.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-14 12:47:27 +02:00
Anton Khirnov
104e10fb42 lavc: add AV prefix to codec ids. 2012-08-07 15:56:39 +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
Kieran Kunhya
160a27c590 libfdk-aacenc: add LATM/LOAS encapsulation support
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 20:32:33 +03:00
Kostya Shishkov
1470ce21ce Bump libavcodec and libavformat minor versions for G.723.1 decoder and demuxer 2012-07-22 08:43:12 +02:00
Michael Bradshaw
453c02f971 libopenjpeg: introduce encoding support
Based on FFmpeg version from
commit 713a7854e0

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-17 14:56:58 +02:00
Janne Grunau
f30260d32a imgconvert: deprecate avcodec_find_best_pix_fmt() 2012-07-13 19:22:46 +02:00
Janne Grunau
ac29054fda imgconvert: add avcodec_find_best_pix_fmt2()
The number of pixel formats outgrew the number of available bits in
the bitmask used in avcodec_find_best_pix_fmt().
avcodec_find_best_pix_fmt2() uses a PIX_FMT_NONE terminated list
of pixel formats instead.
2012-07-13 19:22:46 +02:00
Kostya Shishkov
5b7e3a195d MS Expression Encoder Screen decoder 2012-07-13 06:59:48 +02:00
Martin Storsjö
37eeb5e273 Support AAC encoding via the external library fdk-aac
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-12 11:01:10 +03:00
Kostya Shishkov
781888da89 TechSmith Screen Codec 2 decoder 2012-07-11 07:29:05 +02:00
Diego Biurrun
2047e40e6e Clarify Doxygen comment for FF_API_* #defines. 2012-07-04 15:10:10 +02:00
Diego Biurrun
09f211987c misc typo and wording fixes 2012-07-03 17:35:11 +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
Martin Storsjö
3641b0489c Add support for iLBC decoding/encoding via the external library libilbc
The library is 3-clause BSD licensed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:00:35 +03:00
Kostya Shishkov
c6061443f7 Indeo Audio decoder 2012-06-05 18:30:54 +02:00
Anton Khirnov
a5117a2444 lavc: pad last audio frame with silence when needed. 2012-05-09 17:46:54 +02:00
Anton Khirnov
828bd088f3 lavc: add sample rate and channel layout to AVFrame.
Rationale is the same as for video width/height etc.
2012-05-07 07:08:03 +02:00
Mans Rullgard
95510be8c3 avcodec: remove AVCodecContext.dsp_mask
This removes all references to AVCodecContext.dsp_mask and marks
it for eviction at the next version bump.  It has been superseded
by av_set_cpu_flag_mask() which, unlike this field, works everywhere.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-04-21 18:30:01 +01:00
Justin Ruggles
b0e9edc44f avcodec: add a cook parser to get subpacket duration
Fixes jittery video playback of rm files with cook audio.
2012-04-20 12:11:20 -04:00
Anton Khirnov
7c59b5c2a5 lavc doxy: add all installed headers to doxy groups. 2012-04-09 21:25:17 +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
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
Kostya Shishkov
b8560637d9 RealAudio Lossless decoder 2012-03-19 18:46:34 +01:00
Paul B Mahol
0afd8f12e9 avcodec: add XBM encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-03-17 15:45:04 -04:00
Justin Ruggles
9524cf79df avcodec: add av_get_audio_frame_duration() function.
This is a utility function for the user to get the frame duration based on
the codec id, frame size in bytes, and various AVCodecContext parameters.
2012-03-05 13:08:15 -05:00
Anton Khirnov
44fe77b350 lavc: make codec_is_decoder/encoder() public. 2012-03-04 21:08:52 +01:00
Anton Khirnov
02beb9826b lavc: deprecate AVCodecContext.sub_id.
In most places where it's used, it's as a pointless write-only field.

Only rv10 decoder actually reads from it, but it stores some internal
version info in it. There is no reason for it to be in a public field.
2012-03-04 21:02:45 +01:00
Justin Ruggles
5602a464c9 avcodec: add a Vorbis parser to get packet duration
This also allows for removing some of the Vorbis-related hacks.
2012-03-03 16:43:11 -05:00
Mashiat Sarker Shakkhar
9d25f1f619 Windows Media Audio Lossless decoder
Decodes 16-bit WMA Lossless encoded files. 24-bit is not supported yet.

Bitstream parser written by Andreas Öman with contributions from
Baptiste Coudurier and Ulion.

Includes a number of bug-fixes from Benjamin Larsson, Michael Niedermayer and
Konstantin Shishkov, shine and polish by Diego Biurrun.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-03-02 19:10:29 +01:00
Martin Storsjö
bdc1220eeb h263enc: Add an option for outputting info about MBs as side data
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-01 16:08:31 +02:00
Martin Storsjö
442c1320e7 avpacket: Add a function for shrinking already allocated side data
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-01 16:08:30 +02:00