Commit Graph

1582 Commits

Author SHA1 Message Date
Michael Niedermayer
f5f3684fb8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: simplify is_intra_only() by using codec descriptors.
  lavc: add an intra-only codec property.
  lavc: add codec descriptors.
  lavc: fix mixing CODEC_ID/AV_CODEC_ID in C++ code.
  dict: move struct AVDictionary definition to dict.c
  dict: add av_dict_count()

Conflicts:
	doc/APIchanges
	libavcodec/old_codec_ids.h
	libavformat/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-11 15:01:45 +02:00
Anton Khirnov
51efed152d lavc: add an intra-only codec property. 2012-08-11 11:34:09 +02:00
Anton Khirnov
c223d79945 lavc: add codec descriptors.
They describe properties that are inherent to a codec (as described by
an AVCodecID) without referring to a specific implementation.
2012-08-11 11:32:11 +02:00
Anton Khirnov
2ff67c909c lavc: fix mixing CODEC_ID/AV_CODEC_ID in C++ code.
C++ does not allow to mix different enums, so e.g. code comparing
ACodecID with CodecID would fail to compile with gcc.

This very evil hack should fix this problem.
2012-08-10 18:48:40 +02:00
Michael Niedermayer
bb2f13c19f rename missed CodecID to AVCodecID
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 23:57:21 +02:00
Michael Niedermayer
7a72695c05 Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
  Replace all CODEC_ID_* with AV_CODEC_ID_*
  lavc: add AV prefix to codec ids.

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	doc/examples/muxing.c
	ffmpeg.c
	ffprobe.c
	ffserver.c
	libavcodec/8svx.c
	libavcodec/avcodec.h
	libavcodec/dnxhd_parser.c
	libavcodec/dvdsubdec.c
	libavcodec/error_resilience.c
	libavcodec/h263dec.c
	libavcodec/libvorbisenc.c
	libavcodec/mjpeg_parser.c
	libavcodec/mjpegenc.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pcm.c
	libavcodec/r210dec.c
	libavcodec/utils.c
	libavcodec/v210dec.c
	libavcodec/version.h
	libavdevice/alsa-audio-dec.c
	libavdevice/bktr.c
	libavdevice/v4l2.c
	libavformat/asfdec.c
	libavformat/asfenc.c
	libavformat/avformat.h
	libavformat/avidec.c
	libavformat/caf.c
	libavformat/electronicarts.c
	libavformat/flacdec.c
	libavformat/flvdec.c
	libavformat/flvenc.c
	libavformat/framecrcenc.c
	libavformat/img2.c
	libavformat/img2dec.c
	libavformat/img2enc.c
	libavformat/ipmovie.c
	libavformat/isom.c
	libavformat/matroska.c
	libavformat/matroskadec.c
	libavformat/matroskaenc.c
	libavformat/mov.c
	libavformat/movenc.c
	libavformat/mp3dec.c
	libavformat/mpeg.c
	libavformat/mpegts.c
	libavformat/mxf.c
	libavformat/mxfdec.c
	libavformat/mxfenc.c
	libavformat/nsvdec.c
	libavformat/nut.c
	libavformat/oggenc.c
	libavformat/pmpdec.c
	libavformat/rawdec.c
	libavformat/rawenc.c
	libavformat/riff.c
	libavformat/sdp.c
	libavformat/utils.c
	libavformat/vocenc.c
	libavformat/wtv.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Anton Khirnov
104e10fb42 lavc: add AV prefix to codec ids. 2012-08-07 15:56:39 +02:00
Michael Niedermayer
9c6e23f5d2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: fft: fix imdct_half() for AVX
  rtmppkt: Add missing libavcodec/bytestream.h include.
  rtmp: add functions for reading AMF values
  vc1dec: remove useless #include simple_idct.h
  dct-test: always link with aandcttab.o
  vp8: pack struct VP8ThreadData more efficiently
  x86: remove libmpeg2 mmx(ext) idct functions
  eamad: Use dsputils instead of a custom bswap16_buf
  Canopus Lossless decoder

Conflicts:
	Changelog
	LICENSE
	libavcodec/avcodec.h
	libavcodec/cllc.c
	libavcodec/eamad.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 23:34:01 +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
Derek Buitenhuis
91c86d3cf8 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:02:19 -04:00
Stefano Sabatini
23fc4dd6e7 lavc: add channels field to AVFrame
This is required otherwise it is not always possible to guess the number
of channels from the layout, for example if the channel layout is
unknown.
2012-07-31 13:21:10 +02:00
Clément Bœsch
316f8db2c2 SubViewer demuxer and decoder. 2012-07-26 22:22:54 +02:00
Marton Balint
016a472009 avcodec: add decode_error_flags field to AVFrame
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 05:48:31 +02:00
Nicolas George
e62fd6619f oggdec: add support for Opus codec.
This patch also introduces CODEC_ID_OPUS.
2012-07-20 11:16:52 +02:00
Michael Niedermayer
39afcf1d7e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  eval: add gt(), gte(), lt() and lte() fate tests
  eval: fix swapping of lt() and lte()
  imgconvert: deprecate avcodec_find_best_pix_fmt()
  imgconvert: add avcodec_find_best_pix_fmt2()
  imgconvert: avoid undefined left shift in avcodec_find_best_pix_fmt

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 01:23:16 +02:00
Stefano Sabatini
fb57180698 lavc/avcodec.h: keep avframe_* field setter and getter close
Slightly more readable, now that the list is getting longer.
2012-07-14 13:02:25 +02:00
Thomas Kühnel
f49ec1b404 lavc: add metadata to AVFrame
See thread:
Subject: [libav-devel] [PATCH 1/3] avcodec: add metadata to AVFrame
Date: Tue,  4 Oct 2011 00:19:51 +0200
2012-07-14 13:00:18 +02:00
Michael Niedermayer
674216991d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Fix APE tag dependencies
  MS Expression Encoder Screen decoder
  libfdk-aac: Allow setting the encoder bandwidth/cutoff frequency

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 22:22:24 +02:00
Michael Niedermayer
0eb0b310c4 lavc: add pkt_timebase to allow avcodec to adjust pkt_dts/pts when needed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 20:35:08 +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
Michael Niedermayer
620c6292b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Fix Ogg demuxer dependencies
  build: Fix FLAC demuxer dependencies
  flac: Move flac functions shared between libraries to flac common code
  build: Fix CAF demuxer dependencies
  build: Fix MP2 muxer dependencies
  build: Add missing build rules for the ISMV muxer
  configure: Drop redundant mxf_d10 test dependency declaration
  Support AAC encoding via the external library fdk-aac
  libavcodec: Add more AAC profiles
  dct/fft-test: use a replacement getopt() if the system has none present.

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 23:57:00 +02:00
Martin Storsjö
372597e538 libavcodec: Add more AAC profiles
The numerical values of the profiles are the MPEG4 Audio Object
Type values, minus one.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-12 10:54:15 +03:00
Michael Niedermayer
9ca27df52f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Check for the math function rint
  TechSmith Screen Codec 2 decoder
  rtsp: Add listen mode
  rtsp: Make rtsp_open_transport_ctx() non-static
  rtsp: Move rtsp_read_close
  rtsp: Parse the mode=receive/record parameter in transport lines

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-11 23:57:11 +02:00
Kostya Shishkov
781888da89 TechSmith Screen Codec 2 decoder 2012-07-11 07:29:05 +02:00
Paul B Mahol
0e003d8c91 lavc: add av_fast_padded_mallocz
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 21:42:23 +00:00
Michael Niedermayer
9862cbd7a4 add side data to indicate the amount of samples to skip at the begin and end
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Reveiwed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-06 02:25:29 +02:00
Paul B Mahol
7de4a16508 PAF demuxer and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-05 02:54:34 +00:00
Michael Niedermayer
b286383bd2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  asfdec: read attached pictures.
  apetag: reindent
  apetag: export attached covers as video streams.
  apetag: fix the amount of data read from binary tags.
  apetag: make sure avio_get_str() doesn't read more than it should.
  mov: read itunes cover art.
  snow: remove VLA in mc_block()
  intfloat: Don't use designated initializers in the public headers
  snow: remove a VLA.
  doc: Remind devs to check return values, especially for malloc() et al
  MS ATC Screen (aka MSS3) decoder
  vf_yadif: move x86 init code to x86/yadif.c
  vf_gradfun: move x86 init code to x86/gradfun.c
  roqvideo: Remove a totally unused dspcontext
  smacker: remove some unused code
  dsicin: remove dead assignment
  aacdec: remove dead assignment
  rl2: remove dead assignment
  proresenc: make a variable local to the loop where it is used
  alsdec: remove dead assignments

Conflicts:
	Changelog
	doc/developer.texi
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/version.h
	libavfilter/gradfun.h
	libavfilter/x86/gradfun.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 21:19:41 +02:00
Kostya Shishkov
edf35d8342 MS ATC Screen (aka MSS3) decoder 2012-07-02 07:14:44 +02:00
Clément Bœsch
439e32f9b8 RealText demuxer and decoder. 2012-06-29 20:22:04 +02:00
Clément Bœsch
53640f42be SAMI demuxer and decoder. 2012-06-29 20:21:28 +02:00
Lou Logan
6851130fd6 cosmetics: minor libavcodec spelling errors
Also update some common misspelled words in patcheck

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 14:54:15 +02:00
Michael Bradshaw
54942c2383 lavc: clarify docs for avpkt->destruct
avcodec_encode_audio2 docs are ambiguous about avpkt->destruct and imply
it gets reset.

Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-27 22:29:54 +02:00
Stefano Sabatini
e6674e46ec lavu/imgutils: create misc functions for dealing with buffers
Move the lavc/imgconvert functions and rename them as follows:
avpicture_get_size -> av_image_get_buffer_size()
avpicture_fill     -> av_image_fill_arrays()
avpicture_layout   -> av_image_copy_to_buffer()

The new functions have an align parameter, which allows to define the
linesize alignment assumed in the buffer (which is set or read).

The names of the functions are consistent with the lavu/samples API
(av_samples_get_buffer_size(), av_samples_fill_arrays()).
2012-06-26 13:12:12 +02:00
Michael Niedermayer
9eae43ddcf lavc: add intra only codec flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-23 01:38:47 +02:00
Paul B Mahol
69254f4628 LucasArts SMUSH video decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-21 01:30:16 +00:00
Paul B Mahol
b18357326c LucasArts SMUSH VIMA audio decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-21 01:23:15 +00:00
Michael Niedermayer
4da42ebe44 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  MS Screen 1 decoder
  aacdec: Fix popping channel layouts.
  av_gettime: support Win32 without gettimeofday()
  Use av_gettime() in various places
  Move av_gettime() to libavutil
  dct-test: use emms_c() from libavutil instead of duplicating it
  mov: fix operator precedence bug
  mathematics.h: remove a couple of math defines
  Remove unnecessary inclusions of [sys/]time.h
  lavf: remove unnecessary inclusions of unistd.h
  bfin: libswscale: add const where appropriate to fix warnings
  bfin: libswscale: remove unnecessary #includes
  udp: Properly check for invalid sockets
  tcp: Check the return value from getsockopt
  network: Use av_strerror for getting error messages
  udp: Properly print error from getnameinfo
  mmst: Use AVUNERROR() to convert error codes to the right range for strerror
  network: Pass pointers of the right type to get/setsockopt/ioctlsocket on windows
  rtmp: Reduce the number of idle posts sent by sleeping 50ms

Conflicts:
	Changelog
	configure
	libavcodec/aacdec.c
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/dct-test.c
	libavcodec/version.h
	libavformat/riff.c
	libavformat/udp.c
	libavutil/Makefile
	libswscale/bfin/yuv2rgb_bfin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 20:47:46 +02:00
Kostya Shishkov
005c80b645 MS Screen 1 decoder 2012-06-20 19:08:10 +02:00
Michael Niedermayer
cabbd271a5 Merge remote-tracking branch 'qatar/master'
* qatar/master: (24 commits)
  flvdec: remove incomplete, disabled seeking code
  mem: add support for _aligned_malloc() as found on Windows
  lavc: Extend the documentation for avcodec_init_packet
  flvdec: remove incomplete, disabled seeking code
  http: replace atoll() with strtoll()
  mpegts: remove unused/incomplete/broken seeking code
  af_amix: allow float planar sample format as input
  af_amix: use AVFloatDSPContext.vector_fmac_scalar()
  float_dsp: add x86-optimized functions for vector_fmac_scalar()
  float_dsp: Move vector_fmac_scalar() from libavcodec to libavutil
  lavr: Add x86-optimized function for flt to s32 conversion
  lavr: Add x86-optimized function for flt to s16 conversion
  lavr: Add x86-optimized functions for s32 to flt conversion
  lavr: Add x86-optimized functions for s32 to s16 conversion
  lavr: Add x86-optimized functions for s16 to flt conversion
  lavr: Add x86-optimized function for s16 to s32 conversion
  rtpenc: Support packetizing iLBC
  rtpdec: Add a depacketizer for iLBC
  Implement the iLBC storage file format
  mov: Support muxing/demuxing iLBC
  ...

Conflicts:
	Changelog
	configure
	libavcodec/avcodec.h
	libavcodec/dsputil.c
	libavcodec/version.h
	libavformat/movenc.c
	libavformat/mpegts.c
	libavformat/version.h
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 20:53:27 +02:00
Simon A. Eugster
7146177d18 lavc: Extend the documentation for avcodec_init_packet
Add a note that pkt->data and pkt->size must be initialized.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 10:07:46 +03:00
Stefano Sabatini
c90e8054af lavc/avcodec.h: fix reference to nonexistent function in av_picture_copy() doxy
Mention av_image_copy() instead.
2012-06-19 01:36:39 +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
Michael Niedermayer
ad60b3b181 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vorbis: Validate that the floor 1 X values contain no duplicates.
  avprobe: Identify codec probe failures rather than calling them unsupported codecs.
  avformat: Probe codecs at score 0 on buffer exhaustion conditions.
  avformat: Factorize codec probing.
  Indeo Audio decoder
  imc: make IMDCT support stereo output
  imc: move channel-specific data into separate context
  lavfi: remove request/poll and drawing functions from public API on next bump
  lavfi: make avfilter_insert_pad and pals private on next bump.
  lavfi: make formats API private on next bump.
  avplay: use buffersrc instead of custom input filter.
  avtools: move buffer management code from avconv to cmdutils.
  avconv: don't use InputStream in the buffer management code.
  avconv: fix exiting when max frames is reached.
  mpc8: fix maximum bands handling
  aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono.

Conflicts:
	Changelog
	cmdutils.h
	ffmpeg.c
	ffplay.c
	ffprobe.c
	libavcodec/avcodec.h
	libavcodec/mpc8.c
	libavcodec/v210dec.h
	libavcodec/version.h
	libavcodec/vorbisdec.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/formats.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_crop.c
	libavfilter/vf_cropdetect.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fifo.c
	libavfilter/vf_format.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_gradfun.c
	libavfilter/vf_hflip.c
	libavfilter/vf_hqdn3d.c
	libavfilter/vf_libopencv.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_select.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_transpose.c
	libavfilter/vf_unsharp.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_testsrc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 01:08:33 +02:00
Stefano Sabatini
62b39d41cd lavc: add pkt_duration field to AVFrame 2012-06-05 18:42:17 +02:00
Kostya Shishkov
c6061443f7 Indeo Audio decoder 2012-06-05 18:30:54 +02:00
Stefano Sabatini
f2ee065638 lavu/pixfmt: move AVPALETTE_SIZE and _COUNT to pixfmt.h
Move AVPALETTE_SIZE and AVPALETTE_COUNT definition from
libavcodec/avcodec.h to libavutil/pixfmt.h.

The definition is more useful in libavutil, where it can be shared for
example by libavfilter and libswscale.
2012-05-24 00:42:31 +02:00
Michael Niedermayer
696452e4c5 avcodec: add parser flag to indicate that codec TS are the only available and should be used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-22 14:59:02 +02:00
Michael Niedermayer
61930bd0d7 Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  libxvid: Give more suitable names to libxvid-related files.
  libxvid: Separate libxvid encoder from libxvid rate control code.
  jpeglsdec: Remove write-only variable in ff_jpegls_decode_lse().
  fate: cosmetics: lowercase some comments
  fate: Give more consistent names to some RealVideo/RealAudio tests.
  lavfi: add avfilter_get_audio_buffer_ref_from_arrays().
  lavfi: add extended_data to AVFilterBuffer.
  lavc: check that extended_data is properly set in avcodec_encode_audio2().
  lavc: pad last audio frame with silence when needed.
  samplefmt: add a function for filling a buffer with silence.
  samplefmt: add a function for copying audio samples.
  lavr: do not try to copy to uninitialized output audio data.
  lavr: make avresample_read() with NULL output discard samples.
  fate: split idroq audio and video into separate tests
  fate: improve dependencies
  fate: add convenient shorthands for ea-vp6, libavcodec, libavutil tests
  fate: split some combined tests into separate audio and video tests
  fate: fix dependencies for probe tests
  mips: intreadwrite: fix inline asm for gcc 4.8
  mips: intreadwrite: remove unnecessary inline asm
  ...

Conflicts:
	cmdutils.h
	configure
	doc/APIchanges
	doc/filters.texi
	ffmpeg.c
	ffplay.c
	libavcodec/internal.h
	libavcodec/jpeglsdec.c
	libavcodec/libschroedingerdec.c
	libavcodec/libxvid.c
	libavcodec/libxvid_rc.c
	libavcodec/utils.c
	libavcodec/version.h
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersink.h
	tests/Makefile
	tests/fate/aac.mak
	tests/fate/audio.mak
	tests/fate/demux.mak
	tests/fate/ea.mak
	tests/fate/image.mak
	tests/fate/libavutil.mak
	tests/fate/lossless-audio.mak
	tests/fate/lossless-video.mak
	tests/fate/microsoft.mak
	tests/fate/qt.mak
	tests/fate/real.mak
	tests/fate/screen.mak
	tests/fate/video.mak
	tests/fate/voice.mak
	tests/fate/vqf.mak
	tests/ref/fate/ea-mad
	tests/ref/fate/ea-tqi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 02:25:41 +02:00
Anton Khirnov
a5117a2444 lavc: pad last audio frame with silence when needed. 2012-05-09 17:46:54 +02:00
Carl Eugen Hoyos
8ba543eb3b Add Avid Meridien (AVUI) decoder. 2012-05-08 08:41:26 +02:00
Michael Niedermayer
653d117c29 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libschroedinger: Switch to function names more in line with Libav style.
  Move code shared between libdirac and libschroedinger to libschroedinger.
  lavfi: uninline avfilter_copy_buffer_ref_props().
  lavf: add missing '*' in a doxy.
  h264: Remove a commented-out function pointer typedef.
  txd: Remove write-only variable in txd_decode_frame().
  mmvideo.c: Remove unused variable in mm_decode_pal().
  build: cosmetics: Add missing end-of-line backslashes to item lists.
  build: cosmetics: Split HEADERS/OBJS/PROGS lists into one entry per line.
  libschroedinger: Move a function to avoid a forward declaration.
  pthread: warn on high thread counts
  vf_yadif: fix missing error handling for avfilter_poll_frame()
  avprobe: allow showing only one container/stream property.
  lavfi: support audio in avfilter_copy_frame_props().
  lavfi: avfilter_merge_formats: handle case where inputs are same
  lavc: add sample rate and channel layout to AVFrame.
  zerocodec: check if the previous frame is missing
  doc: clarify check for NULL pointer style

Conflicts:
	doc/APIchanges
	doc/developer.texi
	ffprobe.c
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/libdirac_libschro.c
	libavcodec/libdirac_libschro.h
	libavcodec/mmvideo.c
	libavcodec/txd.c
	libavcodec/version.h
	libavcodec/zerocodec.c
	libavfilter/Makefile
	libavfilter/avfilter.c
	libavfilter/version.h
	libavformat/Makefile
	libavutil/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-07 22:51:34 +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
Michael Niedermayer
715c8a5a50 Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits)
  dfa: use more meaningful return codes
  eatgv: check vector_bits
  eatgv: check motion vectors
  Mark a number of variables only used in av_dlog() calls as av_unused.
  dvdec: drop const qualifier from variable to eliminate a warning
  avcodec: Improve comment for thread_safe_callbacks to avoid misinterpretation.
  tests/utils: don't ignore the return value of fwrite()
  lavfi/formats: use sizeof(var) instead of sizeof(type).
  lavfi: remove avfilter_default_config_input_link() declaration
  lavfi: always enable the scale filter and depend on sws.
  vf_split: support user-specifiable number of outputs.
  avconv: remove stray useless comment.
  mpegmux: add stuffing to avoid incomplete PCM frames
  rtsp: avoid const warnings from strtol() call
  avserver: check return value of ftruncate()
  lagarith: make offset array type unsigned
  dfa: add some checks to ensure that decoder won't write past frame end
  aacps: NEON optimisations
  aacps: align some arrays
  aacps: move some loops to function pointers
  ...

Conflicts:
	configure
	doc/filters.texi
	libavcodec/dfa.c
	libavcodec/eatgv.c
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/avfilter.h
	libavfilter/formats.c
	libavfilter/vf_split.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-06 21:53:19 +02:00
Robert Nagy
ad0278661b avcodec: Improve comment for thread_safe_callbacks to avoid misinterpretation.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-05-06 18:00:29 +02:00
Clément Bœsch
9ae570fb5f JACOsub demuxer, decoder and muxer. 2012-05-03 19:37:14 +02:00
Nicolas George
e296f1b1c4 lavc: implement accessors for some AVFrame fields.
Compared to av_opt_ptr, accessors bring:

- better performance (negligible);
- compile-time type check;
- link-time existence check
  (or at worst, a dynamic linker error instead of a NULL dereference).
2012-05-03 18:47:16 +02:00
Hendrik Leppkes
ca93f0fa36 Add SMPTE240M transfer characteristics flag.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-05-03 12:15:02 -04:00
Michael Niedermayer
39de8343f9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mkv: mark corrupted packets and return them
  mkv: forward EMBL block data error
  avcodec: introduce YCoCg colorspace
  avcodec: cosmetic cleanup on header
  aac sbr: align struct member by 32 byte.

Conflicts:
	libavcodec/avcodec.h
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-30 22:18:43 +02:00
hakuya
79e5902cf1 Exposing forced flag for DVD and PGS subtitles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-30 19:48:21 +02:00
hakuya
1f46b50a95 Added AVClass for AVSubtitleRect
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-30 19:47:21 +02:00
Hendrik Leppkes
85395ba73f avcodec: introduce YCoCg colorspace
Non perceptual color model that aims to have an increase effectiveness
in compression like the normal YCbCr while having near-lossless/lossless
mapping to RGB.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-04-29 14:00:34 -07:00
Luca Barbato
ccc2dfbcdf avcodec: cosmetic cleanup on header
Apply coding style to the structs.
2012-04-29 13:30:40 -07:00
Nicolas George
128dda7016 lavc: add a sample_rate field to AVFrame.
The field is filled with the codec context information.
2012-04-28 20:14:48 +02:00
Nicolas George
4b0521eca9 lavc: add a channel_layout field to AVFrame.
The field is filled with the codec context information.

FIXME need a minor version bump.
2012-04-28 20:14:48 +02:00
Michael Niedermayer
70d54392f5 lowres2 support.
The new lowres support is limited to decoders where lowres decoding
is possible in high quality.
I was not able to measure any speed difference, but if one is found
the 2-3 lines that might affect speed can be made compile time conditional

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-22 22:26:55 +02:00
Michael Niedermayer
92ef4be4ab Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: allow runtime masking of CPU features
  dsputil: remove unused functions
  mov: Treat keyframe indexes as 1-origin if starting at non-zero.
  mov: Take stps entries into consideration also about key_off.
  Remove lowres video decoding

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/arm/vp8dsp_init_arm.c
	libavcodec/libopenjpegdec.c
	libavcodec/mjpegdec.c
	libavcodec/mpegvideo.c
	libavcodec/utils.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-22 22:26:42 +02:00
Michael Niedermayer
c047afb80c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: remove AVCodecContext.dsp_mask
  avconv: fix a segfault when default encoder for a format doesn't exist.
  utvideo: general cosmetics
  aac: Handle HE-AACv2 when sniffing a channel order.
  movenc: Support high sample rates in isomedia formats by setting the sample rate field in stsd to 0.
  xxan: Remove write-only variable in xan_decode_frame_type0().
  ivi_common: Initialize a variable at declaration in ff_ivi_decode_blocks().

Conflicts:
	ffmpeg.c
	libavcodec/utvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-21 22:56:07 +02:00
Mans Rullgard
2bcbd98459 Remove lowres video decoding
This feature is complex, of questionable utility, and slows down
normal decoding.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-04-21 18:56:19 +01: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
Michael Niedermayer
e387c9d5dd Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  rv40dsp x86: use only one register, for both increment and loop counter
  rv40dsp: implement prescaled versions for biweight.
  avconv: use default channel layouts when they are unknown
  avconv: parse channel layout string
  nutdec: K&R formatting cosmetics
  vda: Signal 4 byte NAL headers to the decoder regardless of what's in the extradata
  mem: Consistently return NULL for av_malloc(0)
  vf_overlay: implement poll_frame()
  vf_scale: support named constants for sws flags.
  lavc doxy: add all installed headers to doxy groups.
  lavc doxy: add avfft to the main lavc group.
  lavc doxy: add remaining avcodec.h functions to a misc doxygen group.
  lavc doxy: add AVPicture functions to a doxy group.
  lavc doxy: add resampling functions to a doxy group.
  lavc doxy: replace \ with /
  lavc doxy: add encoding functions to a doxy group.
  lavc doxy: add decoding functions to a doxy group.
  lavc doxy: fix formatting of AV_PKT_DATA_{PARAM_CHANGE,H263_MB_INFO}
  lavc doxy: add AVPacket-related stuff to a separate doxy group.
  lavc doxy: add core functions/definitions to a doxy group.
  ...

Conflicts:
	ffmpeg.c
	libavcodec/avcodec.h
	libavcodec/vda.c
	libavcodec/x86/rv40dsp.asm
	libavfilter/vf_scale.c
	libavformat/nutdec.c
	libavutil/mem.c
	tests/ref/acodec/pcm_s24daud

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 22:53:25 +02:00
Michael Niedermayer
6bfb3042b3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: use default alignment for audio buffer
  avcodec: use align == 0 for default alignment in avcodec_fill_audio_frame()
  avutil: use align == 0 for default alignment in audio sample buffer functions
  avutil: allow NULL linesize in av_samples_fill_arrays() and av_samples_alloc()
  avconv: remove OutputStream.picref.
  avconv: only set SAR once on the decoded frame.
  avcodec: validate the channel layout vs. channel count for decoders
  audioconvert: make av_get_channel_layout accept composite names.
  avutil: add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()

Conflicts:
	doc/APIchanges
	ffmpeg.c
	libavcodec/utils.c
	libavcodec/version.h
	libavutil/audioconvert.c
	libavutil/audioconvert.h
	libavutil/avutil.h
	libavutil/samplefmt.c
	libavutil/samplefmt.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-09 23:02:33 +02:00
Anton Khirnov
8a74029ea2 lavc doxy: add remaining avcodec.h functions to a misc doxygen group. 2012-04-09 21:18:47 +02:00
Anton Khirnov
6aadfbda09 lavc doxy: add AVPicture functions to a doxy group. 2012-04-09 21:18:28 +02:00
Anton Khirnov
56512ce104 lavc doxy: add resampling functions to a doxy group. 2012-04-09 21:18:19 +02:00
Anton Khirnov
40ca0e6a75 lavc doxy: replace \ with /
It's the more proper symbol to use and it prevents doxygen from thinking
it's a command.
2012-04-09 21:16:37 +02:00
Anton Khirnov
f038515f0a lavc doxy: add encoding functions to a doxy group. 2012-04-09 21:16:24 +02:00
Anton Khirnov
c8ef8464c2 lavc doxy: add decoding functions to a doxy group. 2012-04-09 21:14:05 +02:00
Anton Khirnov
199ada4944 lavc doxy: fix formatting of AV_PKT_DATA_{PARAM_CHANGE,H263_MB_INFO} 2012-04-09 21:13:49 +02:00
Anton Khirnov
30f3f62563 lavc doxy: add AVPacket-related stuff to a separate doxy group.
Also move AV_PKT_DATA_PARAM_CHANGE/AV_PKT_DATA_H263_MB_INFO to the
proper place.
2012-04-09 21:13:17 +02:00
Anton Khirnov
294b3a5074 lavc doxy: add core functions/definitions to a doxy group. 2012-04-09 21:12:53 +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
Reimar Döffinger
069cf86d32 Fix side-data memleak also for audio.
This uses the same code as in decode_video also in decode_audio.
Should fix valgrind FATE failures for nellymoser encode test.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-08 13:06:13 +02:00
Reimar Döffinger
5012c07336 Support detecting and demuxing EIA-608 subtitles in mov.
The format is slightly proprietary.
DVDs use a format of
code byte (0x00, 0x01, 0xfe or 0xff), two data bytes
MOV uses instead
cdat/cdt2 atom, two data bytes
Auto-detecting and supporting both in one decoder is trivial,
so a single codec ID is used.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-07 22:11:21 +02:00
Jimmy Christensen
b7ce3242f8 lavc: add a OpenEXR decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-06 08:32:09 +02:00
Michael Niedermayer
479fb7b8af Merge remote-tracking branch 'qatar/master'
* qatar/master: (35 commits)
  fix space type in Changelog
  ZeroCodec Decoder
  RealAudio Lossless decoder
  rtpenc: Use AVFormatContext.packet_size instead of a private option
  url: Document the expected behaviour of url_read
  libavformat: Use AVFormatContext.probesize in init_input
  docs: Fix a stray reference to tags in the generic doxy on dicts
  cosmetics: Align some AVInput/OutputFormat declarations
  zmbv: check decompress result
  zmbv: correct indentation
  adpcm: convert adpcm_thp to bytestream2.
  adpcm: convert adpcm_yamaha to bytestream2.
  adpcm: convert adpcm_swf to bytestream2.
  adpcm: convert adpcm_sbpro to bytestream2.
  adpcm: convert adpcm_ct to bytestream2.
  adpcm: convert adpcm_ima_amv/smjpeg to bytestream2.
  adpcm: convert adpcm_ea_xas to bytestream2.
  adpcm: convert adpcm_ea_r1/2/3 to bytestream2.
  adpcm: convert ea_maxis_xa to bytestream2.
  adpcm: convert adpcm_ea to bytestream2.
  ...

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/adpcm.c
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/version.h
	libavcodec/zerocodec.c
	libavcodec/zmbv.c
	libavformat/riff.c
	libavformat/url.h
	tests/ref/fate/truemotion1-15
	tests/ref/fate/truemotion1-24

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-20 00:03:19 +01: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
Derek Buitenhuis
6cabb679d6 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: Michael Niedermayer <michaelni@gmx.at>
2012-03-19 00:19:13 +01:00
Michael Niedermayer
bae053fca4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: make compare() function compatible with POSIX bc
  Update Janne's email address.
  APIchanges: Replace Subversion revision numbers by Git hashes.
  bytestream: Eliminate one level of pointless macro indirection.
  xwd: convert to bytestream2.
  vqavideo: port to bytestream2 API
  Read preset files with suffix .avpreset
  prores: allow user to set fixed quantiser
  lavf: remove some disabled code.
  lavf: only set average frame rate for video.
  lavf: remove a pointless check.
  avcodec: add XBM encoder

Conflicts:
	Changelog
	cmdutils.c
	cmdutils.h
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/version.h
	libavcodec/vqavideo.c
	libavformat/img2enc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-18 23:39:42 +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
Lou Logan
2d38081b4f cosmetics: fix some typos
Patch attached.
From 2d4094fc0dcb4ccd0735eb7e1719e228ebb56bb9 Mon Sep 17 00:00:00 2001
From: Lou Logan <lou@lrcd.com>
Date: Mon, 12 Mar 2012 14:13:44 -0800
Subject: [PATCH] cosmetics: fix some typos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-13 01:14:04 +01:00
Michael Niedermayer
f095391a14 Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  cdxl demux: do not create packets with uninitialized data at EOF.
  Replace computations of remaining bits with calls to get_bits_left().
  amrnb/amrwb: Remove get_bits usage.
  cosmetics: reindent
  avformat: do not require a pixel/sample format if there is no decoder
  avformat: do not fill-in audio packet duration in compute_pkt_fields()
  lavf: Use av_get_audio_frame_duration() in get_audio_frame_size()
  dca_parser: parse the sample rate and frame durations
  libspeexdec: do not set AVCodecContext.frame_size
  libopencore-amr: do not set AVCodecContext.frame_size
  alsdec: do not set AVCodecContext.frame_size
  siff: do not set AVCodecContext.frame_size
  amr demuxer: do not set AVCodecContext.frame_size.
  aiffdec: do not set AVCodecContext.frame_size
  mov: do not set AVCodecContext.frame_size
  ape: do not set AVCodecContext.frame_size.
  rdt: remove workaround for infinite loop with aac
  avformat: do not require frame_size in avformat_find_stream_info() for CELT
  avformat: do not require frame_size in avformat_find_stream_info() for MP1/2/3
  avformat: do not require frame_size in avformat_find_stream_info() for AAC
  ...

Conflicts:
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/h264.c
	libavcodec/h264_ps.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/dsputil_mmx.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-06 06:03:32 +01: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
Justin Ruggles
6699d07480 avcodec: add av_get_exact_bits_per_sample() function
This only returns bits per sample when it is exactly correct. That is, the
codec contains only raw samples with no frame headers or padding. This applies
to basically all PCM codecs and a small subset of ADPCM codecs.
2012-03-05 13:08:15 -05:00
Michael Niedermayer
2af8f2cea6 Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  cmdutils: use new avcodec_is_decoder/encoder() functions.
  lavc: make codec_is_decoder/encoder() public.
  lavc: deprecate AVCodecContext.sub_id.
  libcdio: add a forgotten AVClass to the private context.
  swscale: remove "cpu flags" from -sws_flags description.
  proresenc: give user a possibility to alter some encoding parameters
  vorbisenc: add output buffer overwrite protection
  libopencore-amrnbenc: fix end-of-stream handling
  ra144enc: fix end-of-stream handling
  nellymoserenc: zero any leftover packet bytes
  nellymoserenc: use proper MDCT overlap delay
  qpeg: Use bytestream2 functions to prevent buffer overreads.
  swscale: make %rep unconditional.
  vp8: convert simple loopfilter x86 assembly to use named arguments.
  vp8: convert idct x86 assembly to use named arguments.
  vp8: convert mc x86 assembly to use named arguments.
  vp8: convert loopfilter x86 assembly to use cpuflags().
  vp8: convert idct/mc x86 assembly to use cpuflags().
  swscale: remove now unnecessary hack.
  x86inc: don't "bake" stack_offset in named arguments.
  ...

Conflicts:
	cmdutils.c
	doc/APIchanges
	libavcodec/mpeg12.c
	libavcodec/options.c
	libavcodec/qpeg.c
	libavcodec/utils.c
	libavcodec/version.h
	libavdevice/libcdio.c
	tests/lavf-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-05 00:15:55 +01:00
Anton Khirnov
44fe77b350 lavc: make codec_is_decoder/encoder() public. 2012-03-04 21:08:52 +01:00