Commit Graph

1820 Commits

Author SHA1 Message Date
Guillaume Martres
064698d381 Add HEVC decoder
Initially written by Guillaume Martres <smarter@ubuntu.com> as a GSoC
project. Further contributions by the OpenHEVC project and other
developers, namely:

Mickaël Raulet <mraulet@insa-rennes.fr>
Seppo Tomperi <seppo.tomperi@vtt.fi>
Gildas Cocherel <gildas.cocherel@laposte.net>
Khaled Jerbi <khaled_jerbi@yahoo.fr>
Wassim Hamidouche <wassim.hamidouche@insa-rennes.fr>
Vittorio Giovara <vittorio.giovara@gmail.com>
Jan Ekström <jeebjp@gmail.com>
Anton Khirnov <anton@khirnov.net>
Martin Storsjö <martin@martin.st>
Luca Barbato <lu_zero@gentoo.org>
Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diego Biurrun <diego@biurrun.de>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:19:59 +01:00
Anton Khirnov
7644f5a807 lavc: replace avcodec_set_dimensions with ff_set_dimensions
avcodec_set_dimensions() is supposed to be an internal utility function,
there is no reason whatsoever for it to be public. Therefore deprecate
it.
2013-10-31 20:14:14 +01:00
John Stebbins
28096e0a80 h264: wait for initial complete frame before outputing frames
This can be optionally disabled whith the "output_corrupt" flags
option.  When in "output_corrupt" mode, incomplete frames are
signalled through AVFrame.flags FRAME_FLAG_INCOMPLETE_FRAME.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:14:14 +01:00
David Kment
9af7a8523a HNM4/HNM4A demuxer & video decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-31 17:45:46 +01:00
Michael Niedermayer
84f972f994 Merge commit '23a211cbba0b7c9ee694040031b2e5da1be54a00'
* commit '23a211cbba0b7c9ee694040031b2e5da1be54a00':
  lavc: change all decoders to behave consistently with AV_EF_CRCCHECK.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/tta.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 12:34:35 +01:00
Anton Khirnov
23a211cbba lavc: change all decoders to behave consistently with AV_EF_CRCCHECK.
Just crccheck prints a warning, crccheck+explode returns an error.

Also document this behavior.
2013-10-28 07:22:18 +01:00
Marton Balint
dbe6f9f2c2 lavc: add support for CODEC_CAP_DELAY in subtitles
This patch adds CODEC_CAP_DELAY support to avcodec_decode_subtitle2.

For DVB teletext decoding, a single teletext packet can contain multiple
teletext pages. In order to support that, the teletext decoder may buffer
some pages.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:12:41 +01:00
Michael Niedermayer
fc7be7ddf3 avcodec/avcodec.h: Add documentation for the AV_EF_* defifines
The documentation is copied from the AVOption texts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 20:05:36 +01:00
Carl Eugen Hoyos
10c240a085 avcodec: Add little-endian G726 decoder
Fixes part of Ticket1955
suggested by Roman.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-18 16:46:08 +02:00
Vignesh Venkatasubramanian
0f99aad80f lavc: Adding seek_preroll to AVCodecContext
seek_preroll field is added to the AVCodecContext struct. It indicates
the number of samples to be discarded whenever there is a discontinuity.
The minor version is bumped accordingly.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 18:46:12 +02:00
Michael Niedermayer
40ade07141 Merge commit '16ea20c827ef2ffaf77d5e05d5cf9983689f7b2b'
* commit '16ea20c827ef2ffaf77d5e05d5cf9983689f7b2b':
  lavc doxy: extend/clarify avcodec_decode_audio4() doxy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 08:17:01 +02:00
Michael Niedermayer
29d64b1d8e Merge commit '66d3f5fd5ca4cb3d09b52ad1041cd4359325a21a'
* commit '66d3f5fd5ca4cb3d09b52ad1041cd4359325a21a':
  lavc doxy: remove false statements about alignment requirements.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 08:09:28 +02:00
Michael Niedermayer
87fe0bbd69 lavc: rename h265 to hevc, add AV_CODEC_ID_H265 with identical value for backward compatibility
Somehow 2 different identifiers have come into existence which makes supporting
both until the next major version bump required
I did not investigate how exactly that did happen.

wm4, j-b and smarter prefer hevc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 00:26:27 +02:00
Anton Khirnov
16ea20c827 lavc doxy: extend/clarify avcodec_decode_audio4() doxy
Elaborate on flushing the decoder.
2013-10-12 15:10:21 +02:00
Anton Khirnov
66d3f5fd5c lavc doxy: remove false statements about alignment requirements.
The packet data does not need to be aligned.
2013-10-12 15:09:38 +02:00
Michael Niedermayer
e57dba0d52 avcodec: add av_codec_get_max_lowres()
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 16:33:09 +02:00
Michael Niedermayer
5a63fb6693 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: mark deprecated AVCodec.max_lowres for removal on next bump

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 12:04:37 +02:00
Anton Khirnov
451606f7ce lavc: mark deprecated AVCodec.max_lowres for removal on next bump 2013-10-02 16:41:08 +02:00
Michael Niedermayer
b654aa6beb Merge commit '7e52080cb18332cb1da9fe133498750b6b4b0fb3'
* commit '7e52080cb18332cb1da9fe133498750b6b4b0fb3':
  pcm: support 24-bit/32-bit little-endian planar

Conflicts:
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/pcm.c
	libavcodec/version.h
	libavformat/nut.c

See: 467dfd5dfa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 13:05:05 +02:00
Paul B Mahol
7e52080cb1 pcm: support 24-bit/32-bit little-endian planar
Used by LXF.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-09-27 01:33:45 +02:00
Michael Niedermayer
c3c6999ea1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc doxy: document that avcodec_flush_buffers() invalidates decoded frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 11:02:32 +02:00
Anton Khirnov
5f4b1b1cbd lavc doxy: document that avcodec_flush_buffers() invalidates decoded frames 2013-09-24 17:34:00 +02:00
Michael Niedermayer
b5b762b714 avcodec/avcodec.h: skip_alpha should not be accessed directly (would cause ABI issues)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 20:57:34 +02:00
Reimar Döffinger
547c2f002a Make decoding alpha optional for some codecs.
For codecs where decoding of a whole plane can simply
be skipped, we should offer applications to not decode
alpha for better performance (ca. 30% less CPU usage
and 40% reduced memory bandwidth).
It also means applications do not need to implement support
(even if it is rather simple) for YUVA formats in order to be
able to play these files.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-09-22 16:20:54 +02:00
Michael Niedermayer
b26ccf218d Merge commit 'c4bfa098072ba338d83555d6e2199f7e1e64ffff'
* commit 'c4bfa098072ba338d83555d6e2199f7e1e64ffff':
  Add a WebP decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/img2.c

The previously existing webp decoder is disabled as the new
one supports lossless mode and alpha while the previous does not.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 12:36:11 +02:00
Justin Ruggles
c4bfa09807 Add a WebP decoder
Container and lossy decoding by Aneesh Dogra <aneesh@sugarlabs.org>
Lossless decoding by Justin Ruggles <justin.ruggles@gmail.com>
2013-09-18 14:10:05 -04:00
Dylan Alex Simon
38155b47fd avcodec: add const qualifier to avcodec_find_best_pix_fmt2 args
avcodec_find_best_pix_fmt2 does not modify its first argument so may be
marked const.  This avoids a warning when passing in AVCodec.pix_fmts.

Signed-off-by: Dylan Simon <dylan@dylex.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 16:54:02 +02:00
Michael Niedermayer
803445e02c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Drop pointless directory name prefixes from #includes in the current dir

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:51:01 +02:00
Michael Bradshaw
9b07d34efb Make avcodec_find_best_pix_fmt_of_list const-correct
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 12:46:56 +02:00
Diego Biurrun
a0b901a348 Drop pointless directory name prefixes from #includes in the current dir 2013-09-10 12:38:41 +02:00
Clément Bœsch
2c1eb38e5e avcodec: fix AVpacket → AVPacket typo. 2013-09-04 15:48:11 +02:00
Dirk Farin
902a5fa722 avformat: H265 demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 19:34:04 +02:00
Michael Niedermayer
ef36ba5e08 avcodec: clarify documentation of avcodec_copy_context()
Following this is not strictly needed but safes some malloc+free

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 15:24:30 +02:00
Michael Niedermayer
9da6e742f4 libavcodec/avcodec.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
67a580f423 Merge commit '5a9a9d4a2abefa63d9a898ce26715453c569e89d'
* commit '5a9a9d4a2abefa63d9a898ce26715453c569e89d':
  lavc: Add refcounted api to AVPacket

Conflicts:
	libavcodec/avpacket.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:45:13 +02: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
Michael Niedermayer
e4eab2d9bd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  deprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND instead

Conflicts:
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 12:14:39 +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
Michael Niedermayer
3b805dcaa9 Merge commit '549294fbbe1c00fee37dc4d3f291b98945e11094'
* commit '549294fbbe1c00fee37dc4d3f291b98945e11094':
  vdpau: deprecate VDPAU codec capability

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 13:54:05 +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
Michael Niedermayer
82fdfe8e51 Merge commit 'a8b19271c3b40ac3c3dc769fe248887acf14ba5a'
* commit 'a8b19271c3b40ac3c3dc769fe248887acf14ba5a':
  avcodec: Add output_picture_number to AVCodecParserContext

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:48:11 +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
Michael Niedermayer
b0edd59994 Merge commit 'bf4b0ed1d5d323050a87c9f0ad1dd40860eb3da2'
* commit 'bf4b0ed1d5d323050a87c9f0ad1dd40860eb3da2':
  Add missing deprecation attributes

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:44:34 +02:00
Diego Biurrun
bf4b0ed1d5 Add missing deprecation attributes 2013-07-27 16:08:49 +02:00
Michael Niedermayer
abc8110f7e avcodec: add avcodec_chroma_pos_to_enum()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 03:11:28 +02:00
Michael Niedermayer
b7397857e2 avcodec: add avcodec_enum_to_chroma_pos()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 03:07:30 +02:00
Michael Niedermayer
a80e622924 avcodec/avutil: Add AVColorSpace and AVColorRange to AVFrames
This also moves AVColorSpace and AVColorRange from avcodec to avutil

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 01:15:31 +02:00
Stefano Sabatini
0092bcdf06 lavc/avcodec.h: fix various typos in av_bitstream_filter_filter() docs 2013-07-17 00:51:43 +02:00
Stefano Sabatini
4aa2874ab1 lavc/avcodec.h: extend documentation for AVPicture API 2013-07-15 12:24:47 +02:00
Stefano Sabatini
0f85c96091 lavc/avcodec.h: document bitstream filter API 2013-07-05 11:03:56 +02:00
Stefano Sabatini
5efbeae38c configure: rename have_incompatible_fork_abi -> have_incompatible_libav_abi
"Fork" is an ambiguous term, since there may be more than one fork, also
"fork" could be confused with the corresponding function. Also it seems
important to point the name of the referenced fork in the symbol.

Note: the old --enable-incompatible-fork-abi command is retained for
compatibility, although it should be considered deprecated.
2013-07-03 13:16:33 +02:00
Stefano Sabatini
b2498dcf5c lavc/avcodec.h: fix prolems -> problems typo 2013-07-03 10:15:30 +02:00
Michael Niedermayer
af5f9c0876 Merge commit '95d52464542f532061290192518d5fe1c1930e8d'
* commit '95d52464542f532061290192518d5fe1c1930e8d':
  lavc: Add option to encode MPEG-2 AAC with libfdk-aac

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 10:57:04 +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
Michael Niedermayer
e5cdf9c03b Merge commit '2d66a58ccde05e764594bd7e5f0f9244634d0b2c'
* commit '2d66a58ccde05e764594bd7e5f0f9244634d0b2c':
  Go2Webinar decoder

Conflicts:
	Changelog
	configure
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 12:47:26 +02:00
Kostya Shishkov
2d66a58ccd Go2Webinar decoder 2013-06-03 09:24:55 +02:00
Clément Bœsch
534f1a2821 lavc/avcodec: decodimg → decoding. 2013-06-01 19:16:45 +02:00
Matthew Heaney
8f75ba9926 lavf/webvttdec: save cue id and settings as side data
Currently the WebVTT demuxer parses the cues but throws away
the cue id (the optional first line of the cue) and cue
settings (the optional rendering instructions that follow
the timestamp).

However, in order to write inband text tracks (to WebM
files), the entire cue payload from the WebVTT source must
be preserved.

This commit makes no change to the data part of the output
buffer packet (where the actual cue text is stored), but
does add the cue id and settings as a side data items, if
they're present in the cue. Existing code that cares only
about the data part of the packet can continue to ignore the
side data.

There are two new packet data type flags,
AV_PKT_DATA_WEBVTT_IDENTIFIER and
AV_PKT_DATA_WEBVTT_SETTINGS.
2013-06-01 15:12:49 +02:00
Michael Niedermayer
0c25c398da Merge commit 'b493847df4ff8ce46f258749e4a3f304696b34c1'
* commit 'b493847df4ff8ce46f258749e4a3f304696b34c1':
  avcodec: Add picture structure information to AVCodecParserContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 11:51:58 +02: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
Ash Hughes
14ec9d2590 Support playing SMV files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 15:20:22 +02:00
Michael Niedermayer
ed0aed09e8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Escape 130 (RPL) decoder

Conflicts:
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/codec_desc.c
	libavcodec/escape130.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 14:31:01 +02:00
Michael Niedermayer
20f75a810c Merge commit '006ec64877fb638de4b15ae5fd969e22bd0f60ca'
* commit '006ec64877fb638de4b15ae5fd969e22bd0f60ca':
  lavr doxy: add version.h to the lavr group
  lavc doxy: add avcodec.h to the libavcodec group.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:25:58 +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
Anton Khirnov
f0cebf51dd lavc doxy: add avcodec.h to the libavcodec group. 2013-05-17 20:27:38 +02:00
Michael Niedermayer
5bc892cb17 Merge commit '1232a1647ab27e024a3baf4d01d40c8d08d6ced9'
* commit '1232a1647ab27e024a3baf4d01d40c8d08d6ced9':
  Apple Intermediate Codec decoder
  movenc: Don't add base_data_offset in tfhd for PIFF files

Conflicts:
	Changelog
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 10:38:08 +02:00
Kostya Shishkov
1232a1647a Apple Intermediate Codec decoder 2013-05-17 06:31:05 +02:00
Vignesh Venkatasubramanian
48de04f4ec avcodec/avpacket: Refactoring copy_side_data into a separate function
Refactoring copy_side_data into a separate function so that it can be called
in cases where side data needs to be duplicated.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 22:51:12 +02:00
James Almer
67fad0d221 ADPCM IMA Radical decoder
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:53:50 -03:00
James Almer
e7814ed839 ADPCM DTK decoder
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:10:51 -03:00
Michael Niedermayer
6fc58a8cb6 Merge commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5'
* commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5':
  avcodec: Add field order information to AVCodecParserContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 12:15:01 +02:00
Michael Niedermayer
2ee29b5fb9 avcodec: move lowres down with the next ABI bump and add accessors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:32:04 +02:00
Michael Niedermayer
88ef7f6d2b Merge commit '803d21f38bdafe7c4e2571a9ae7052013a12923b'
* commit '803d21f38bdafe7c4e2571a9ae7052013a12923b':
  lavc: schedule AVCodecContext.lowres for removal on next bump.

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:30:00 +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
Michael Niedermayer
67731ef40f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: doxy: Small clarification for av_buffer_create()
  avcodec: doxy: Clarify how to use buf[] when implementing get_buffer2()
  avcodec: doxy: Clarify what get_buffer2 must fill in buf[]

Conflicts:
	libavutil/buffer.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:33:30 +02:00
Derek Buitenhuis
00b8e650e8 avcodec: doxy: Clarify how to use buf[] when implementing get_buffer2()
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:33:43 -04:00
Derek Buitenhuis
4cdb3c50b5 avcodec: doxy: Clarify what get_buffer2 must fill in buf[]
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:32:58 -04:00
Michael Niedermayer
e2e9bee2da Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: Bump minor for JPEG 2000 decoder
  JPEG 2000 decoder for DCinema

The mqc code is merged, the rest is added independent of
the existing jpeg2000 decoder and encoder.

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/mqc.c
	libavcodec/mqc.h
	libavcodec/mqcdec.c
	libavcodec/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 20:00:54 +02:00
Nicolas Bertrand
c81a706381 JPEG 2000 decoder for DCinema
Based on the 2007 GSoC project from Kamil Nowosad <k.nowosad@students.mimuw.edu.pl>
Updated to current programming standards, style and many more small
fixes by Diego Biurrun <diego@biurrun.de>.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-22 15:38:29 +02:00
Michael Niedermayer
f4b05cd841 Merge commit '5e83d9aced2fc2b2e1360452794c58aba55d497c'
* commit '5e83d9aced2fc2b2e1360452794c58aba55d497c':
  h264: fully support cropping.

Conflicts:
	doc/APIchanges
	libavcodec/h264.c
	libavcodec/h264_ps.c
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 22:46:51 +02:00
Clément Bœsch
380cfce2b2 lavc: add AV_CODEC_PROP_TEXT_SUB.
CC are not marked. Also allow potential mixed types later.
2013-04-19 13:15:54 +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
Clément Bœsch
7c1a002c78 subtitles: introduce ASS codec id and use it.
Currently, we have a AV_CODEC_ID_SSA, which matches the way the ASS/SSA
markup is muxed in a standalone .ass/.ssa file. This means the AVPacket
data starts with a "Dialogue:" string, followed by a timing information
(start and end of the event as string) and a trailing CRLF after each
line. One packet can contain several lines. We'll refer to this layout
as "SSA" or "SSA lines".

In matroska, this markup is not stored as such: it has no "Dialogue:"
prefix, it contains a ReadOrder field, the timing information is not in
the payload, and it doesn't contain the trailing CRLF. See [1] for more
info. We'll refer to this layout as "ASS".

Since we have only one common codec for both formats, the matroska
demuxer is constructing an AVPacket following the "SSA lines" format.
This causes several problems, so it was decided to change this into
clean ASS packets.

Some insight about what is changed or unchanged in this commit:

  CODECS
  ------

  - the decoding process still writes "SSA lines" markup inside the ass
    fields of the subtitles rectangles (sub->rects[n]->ass), which is
    still the current common way of representing decoded subtitles
    markup. It is meant to change later.

  - new ASS codec id: AV_CODEC_ID_ASS (which is different from the
    legacy AV_CODEC_ID_SSA)

  - lavc/assdec: the "ass" decoder is renamed into "ssa" (instead of
    "ass") for consistency with the codec id and allows to add a real
    ass decoder. This ass decoder receives clean ASS lines (so it starts
    with a ReadOrder, is followed by the Layer, etc). We make sure this
    is decoded properly in a new ass-line rectangle of the decoded
    subtitles (the ssa decoder OTOH is doing a simple straightforward
    copy). Using the packet timing instead of data string makes sure the
    ass-line now contains the appropriate timing.

  - lavc/assenc: just like the ass decoder, the "ssa" encoder is renamed
    into "ssa" (instead of "ass") for consistency with the codec id, and
    allows to add a real "ass" encoder.

    One important thing about this encoder is that it only supports one
    ass rectangle: we could have put several dialogue events in the
    AVPacket (separated by a \0 for instance) but this would have cause
    trouble for the muxer which needs not only the start time, but also
    the duration: typically, you have merged events with the same start
    time (stored in the AVPacket->pts) but a different duration. At the
    moment, only the matroska do the merge with the SSA-line codec.

    We will need to make sure all the decoders in the future can't add
    more than one rectangle (and only one Dialogue line in it
    obviously).

  FORMATS
  -------

  - lavf/assenc: the .ass/.ssa muxer can take both SSA and ASS packets.
    In the case of ASS packets as input, it adds the timing based on the
    AVPacket pts and duration, and mux it with "Dialogue:", trailing
    CRLF, etc.

  - lavf/assdec: unchanged; it currently still only outputs SSA-lines
    packets.

  - lavf/mkv: the demuxer can now output ASS packets without the need of
    any "SSA-lines" reconstruction hack. It will become the default at
    next libavformat bump, and the SSA support will be dropped from the
    demuxer. The muxer can take ASS packets since it's muxed normally,
    and still supports the old SSA packets. All the SSA support and
    hacks in Matroska code will be dropped at next lavf bump.

[1]: http://www.matroska.org/technical/specs/subtitles/ssa.html
2013-04-18 23:23:59 +02:00
Michael Niedermayer
cf7d3846fc Merge commit '9de9b828ef005dec37052548c195a6b4f18fc701'
* commit '9de9b828ef005dec37052548c195a6b4f18fc701':
  lavc: don't overwrite display dimensions with coded dimensions.
  lavc: extend / update the [coded_]{width,height} doxy

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c

The change to the w/h handling is not merged as it breaks lowres

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 15:42:32 +02:00
Anton Khirnov
2d6edb2b7e lavc: extend / update the [coded_]{width,height} doxy 2013-04-10 20:54:22 +02:00
Paul B Mahol
8263726c69 lavc: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-29 18:59:56 +00:00
Michael Niedermayer
076c1c956c vp8: WebP decoding support
VP8L, padding and bounds checks by Pascal Massimino

Reviewed-by: Pascal Massimino <pascal.massimino@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 14:57:56 +01:00
Michael Niedermayer
54b0bef390 Merge commit '4e70d66ded537cadd32dbd02a38c3d86a203c812'
* commit '4e70d66ded537cadd32dbd02a38c3d86a203c812':
  mpegvideo: fix allocation of the hwaccel_picture_private data
  lavc: update the doxy for avcodec_decode_{video,audio} wtih refcounting.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:43:29 +01:00
Anton Khirnov
1516bf7af1 lavc: update the doxy for avcodec_decode_{video,audio} wtih refcounting. 2013-03-19 11:12:17 +01:00
Clément Bœsch
6abb554fd6 lavc,lavu: fix two doxy mixup between h/v chroma shift. 2013-03-18 09:04:11 +01:00
Richard
9cde9f70ab mpeg: Add passing DVD navigation packets (startcode 0x1bf) to caller to allow better playback handling of DVDs.
The two types of packets (PCI and DSI) are passed untouched but combined by the new codec ID AV_CODEC_ID_DVD_NAV.
 The first 980 bytes in the packet contain the PCI data. The next 1018 are the DSI data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 16:24:34 +01:00
Michael Niedermayer
905e7eb413 Merge commit 'f099d3d1d5466bd63f4ab36270d169ff9ea613b8'
* commit 'f099d3d1d5466bd63f4ab36270d169ff9ea613b8':
  Add av_log_{ask_for_sample|missing_feature} replacements to libavutil
  ismindex: Check the return value of allocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:15:02 +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
Hendrik Leppkes
84bf1cbef9 avcodec: remove AVCodecContext->metadata
This field was only ever set and freed from avcodec, and not otherwise
used. However, because frames are refcounted now, avcodec cannot make any
assumptions about the lifetime of the frame metadata, which can result in
double-frees or leaked memory.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 20:16:48 +01:00
Paul B Mahol
ac45921a6b lavc: remove disabled 8SVX_RAW cruft
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-13 11:17:09 +00:00
Michael Niedermayer
b13cd2d867 Merge commit 'd6ed604cf4ca86ed345125b26eb5bdeea6d6bf68'
* commit 'd6ed604cf4ca86ed345125b26eb5bdeea6d6bf68':
  lavc: remove disabled FF_API_IDCT cruft

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:03:22 +01:00
Michael Niedermayer
feccf2f6b7 Merge commit '3bcdf8dcb9891ffe49b6398d0e2c02f1712d8f00'
* commit '3bcdf8dcb9891ffe49b6398d0e2c02f1712d8f00':
  lavc: remove disabled FF_API_SNOW cruft

Conflicts:
	libavcodec/avcodec.h
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 11:53:57 +01:00
Michael Niedermayer
5753e34906 Merge commit 'fcb07e8b332bbd6f9558bff98ff5102c5f2d8252'
* commit 'fcb07e8b332bbd6f9558bff98ff5102c5f2d8252':
  lavc: remove disabled FF_API_MMI cruft

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 11:29:04 +01:00
Michael Niedermayer
a8c0777325 Revert "Merge commit '0517c9e098092709397cc522c59fa63c83cc81be'" bring the old audio resampling API back
This reverts commit d3edc65dd1, reversing
changes made to 150de78d7c.

Conflicts:

	libavcodec/version.h

It seems there are several applications still using it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 10:57:00 +01:00