Commit Graph

480 Commits

Author SHA1 Message Date
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
Nigel Touati-Evans
ef8cc06d6e avformat/avidec: Fix incorrect detection of badly interleaved avi
The method guess_ni_flag needs to divide timestamps in the index
by sample_size if it is set in order to compare different streams correctly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 22:07:48 +02:00
Stefano Sabatini
41fe750f4b lavc/bitstream_filter: do not crash in case the argument of av_bitstream_filter_close() is NULL 2013-07-05 00:58:03 +02:00
Michael Niedermayer
78b5479633 Merge commit '502ab21af0ca68f76d6112722c46d2f35c004053'
* commit '502ab21af0ca68f76d6112722c46d2f35c004053':
  x86: lpc: simd av_update_lls

The versions are bumped due to changes in lls.h which is used across
libraries affecting intra library ABI
(This version bump also covers changes to lls.h in the immedeatly previous
 commits)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 11:35:52 +02:00
Michael Niedermayer
c93a424718 Merge commit '41578f70cf8aec8e7565fba1ca7e07f3dc46c3d2'
* commit '41578f70cf8aec8e7565fba1ca7e07f3dc46c3d2':
  lpc: use function pointers, in preparation for asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 11:23:43 +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
73d5cf8f43 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: add a libwavpack encoder wrapper

Conflicts:
	Changelog
	doc/encoders.texi
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 09:36:34 +02:00
Anton Khirnov
84d3ff50cd lavc: add a libwavpack encoder wrapper 2013-06-10 21:33:48 +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
Paul B Mahol
514cb9bb92 tta encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 15:16:52 +00: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
ca90ca8ce3 Merge commit '6647aa0426e73839b9b1d1c9d86188f469167531'
* commit '6647aa0426e73839b9b1d1c9d86188f469167531':
  indeo4: add missing Haar and slanted transforms
  dxtory v2 support

Conflicts:
	libavcodec/indeo4.c
	libavcodec/ivi_dsp.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 03:52:16 +02:00
Michael Niedermayer
a58e10e5d1 Merge commit '728214992e3698305550c1762f973d2ac567f016'
* commit '728214992e3698305550c1762f973d2ac567f016':
  vc1dec: Remove interlaced warning
  vc1dec: Fix mixed field/frame intensity compensation
  vc1dec: Match addressing between compensation and MC in vc1_mc_4mv_chroma4
  vc1dec: Handle top and bottom blocks in vc1_mc_4mv_chroma4() differently if needed
  vc1dec: Fix doxy for vc1_mc_4mv_chroma4()
  vc1dec: Drop old use_ic code from vc1_b_mc
  vc1: Use shuffled use_ic instead of equally shuffled mv_mode
  vc1dec: Implement intensity compensation for vc1_interp_mc()

Conflicts:
	Changelog
	libavcodec/vc1dec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 03:28:18 +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
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
Darryl Wallace
3e16047507 s302m encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 12:03:06 +00: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
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
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
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
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
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
Diego Biurrun
f13888afcc avcodec: Bump minor for JPEG 2000 decoder 2013-04-22 15:52:43 +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
ace0cfea60 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hwaccel: fix use with frame based multithreading

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 11:51:33 +01: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
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
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
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
Michael Niedermayer
1f27053b91 Merge commit 'de27d2b92fa97deb2856d18e9f5f19586ce45a0f'
* commit 'de27d2b92fa97deb2856d18e9f5f19586ce45a0f':
  lavc: remove disabled FF_API_LIBMPEG2 cruft

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:56:33 +01:00
Michael Niedermayer
d3edc65dd1 Merge commit '0517c9e098092709397cc522c59fa63c83cc81be'
* commit '0517c9e098092709397cc522c59fa63c83cc81be':
  lavc: remove disabled FF_API_AVCODEC_RESAMPLE cruft

Conflicts:
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/resample.c
	libavcodec/resample2.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:41:18 +01:00
Michael Niedermayer
d469fa1923 Merge commit 'adfa53d67c7a3318157ea9d95e8bdcfb77139452'
* commit 'adfa53d67c7a3318157ea9d95e8bdcfb77139452':
  lavc: remove disabled FF_API_VDA_ASYNC cruft

Conflicts:
	libavcodec/vda.h
	libavcodec/vda_h264.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:14:09 +01:00
Michael Niedermayer
f7b041b11b Merge commit '7d42fd6bb9df99a20cf2d0d0e3b166a83a649d08'
* commit '7d42fd6bb9df99a20cf2d0d0e3b166a83a649d08':
  lavc: remove disabled FF_API_FIND_BEST_PIX_FMT cruft

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 23:08:08 +01:00
Michael Niedermayer
db594f65ec Merge commit '845017105f240ac5348aad1f8a5256b86d49db76'
* commit '845017105f240ac5348aad1f8a5256b86d49db76':
  lavc: remove disabled FF_API_DSP_MASK cruft
  lavc: remove disabled FF_API_SUB_ID cruft

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:38:55 +01:00
Michael Niedermayer
5beddbc4cf Merge commit '2a113695238e7675ab75c5fb9a5f59fc92f2ddd9'
* commit '2a113695238e7675ab75c5fb9a5f59fc92f2ddd9':
  lavc: remove disabled FF_API_INTER_THRESHOLD cruft
  lavc: remove disabled FF_API_COLOR_TABLE_ID cruft
  lavc: remove disabled FF_API_MPV_GLOBAL_OPTS cruft

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:18:08 +01:00