Commit Graph

95 Commits

Author SHA1 Message Date
Michael Niedermayer
bd4ebbbbed Merge remote-tracking branch 'qatar/master'
* qatar/master:
  proresdsp: fix function prototypes.
  prores-idct: fix overflow in c code.
  fate: update prores-alpha ref after changing pix_fmt to yuv444p10le
  prores: add missing feature warning for alpha
  mov: 10l: Terminate string with 0 not '0'
  mov: Prevent illegal writes when chapter titles are very short.
  prores: add appropriate -fix_fmt parameter to FATE command
  riff: always generate a proper WAVEFORMATEX structure in ff_put_wav_header
  lavc: add a flag-based error_recognition field to AVCodecContext and deprecate non-flag-based ER field
  lavc: rename deprecation symbol FF_API_VERY_AGGRESSIVE to FF_API_ER

Conflicts:
	libavcodec/avcodec.h
	libavformat/mov.c
	tests/fate/prores.mak
	tests/ref/acodec/g726
	tests/ref/fate/prores-alpha

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-14 22:24:00 +02:00
Dustin Brody
ac90a71459 lavc: rename deprecation symbol FF_API_VERY_AGGRESSIVE to FF_API_ER
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-14 09:00:04 +02:00
Michael Niedermayer
41f55277fa Merge remote-tracking branch 'qatar/master'
* qatar/master: (34 commits)
  h264: reset h->ref_count in case of errors in ff_h264_decode_ref_pic_list_reordering()
  error_resilience: fix the check for missing references in ff_er_frame_end() for H264
  4xm: prevent NULL dereference with invalid huffman table
  4xmdemux: prevent use of uninitialized memory
  4xm: clear FF_INPUT_BUFFER_PADDING_SIZE bytes in temporary buffers
  ptx: check for out of bound reads
  tiffdec: fix out of bound reads/writes
  eacmv: check for out of bound reads
  eacmv: fix potential pointer arithmetic overflows
  adpcm: fix out of bound reads due to integer overflow
  anm: prevent infinite loop
  avsdemux: check for out of bound writes
  avs: check for out of bound reads
  avsdemux: check for corrupted data
  AVOptions: refactor set_number/write_number
  AVOptions: cosmetics, rename static av_set_number2() to write_number().
  AVOptions: cosmetics, move and rename static av_set_number().
  AVOptions: split av_set_string3 into opt type-specific functions
  avidec: fix signed overflow in avi_sync()
  mxfdec: Fix some buffer overreads caused by the misuse of AVPacket related functions.
  ...

Conflicts:
	Changelog
	configure
	libavcodec/ptx.c
	libavcodec/ra144.c
	libavcodec/vaapi_vc1.c
	libavcodec/vc1.c
	libavcodec/version.h
	libavformat/4xm.c
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-11 03:42:43 +02:00
Mashiat Sarker Shakkhar
51757ac789 lavc: Micro version bump for VC1 interlaced decoding support
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-10 15:26:37 +02:00
Carl Eugen Hoyos
0b3e070035 Bump minor for G.723.1 encoder and muxer. 2011-10-10 10:25:07 +02:00
Michael Niedermayer
86602d1c79 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vp6: Reset the internal state when aborting key frames header parsing
  vp56: Release old pictures after a resolution changes
  vp6: Check for huffman tree build errors
  vp56: Check for missing reference frame data
  cinepak: Fix invalid read access on extra data
  vmd: fix segfaults on corruped streams
  cook: Fix js_vlc_bits value validation for joint stereo
  segafilm: Check for memory allocation failures in segafilm demuxer.
  segafilm: Fix potential division by 0 on corrupted streams in the demuxer
  Fixed segfault on corrupted sega streams in the demuxer.
  Fixed deference of NULL pointer in motionpixels decoder.
  libx264: support 9- and 10-bit output.
  h264: correct implicit_weight for field-interlaced pictures.
  mpegvideo: set correct offset for edge emulation buffer.
  mpegvideo: fix position of bottom edge.

Conflicts:
	libavcodec/motionpixels.c
	libavcodec/mpegvideo.c
	libavcodec/version.h
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-07 03:38:50 +02:00
Anton Khirnov
d97efd7f87 libx264: support 9- and 10-bit output. 2011-10-06 09:16:06 +02:00
Mohamed Naufal Basheer
f990dc374e Add the G723.1 demuxer and decoder 2011-09-29 21:44:03 +02:00
Michael Niedermayer
7c1aba4f01 Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  fate: allow testing with libavfilter disabled
  x86: XOP/FMA4 CPU detection support
  ws_snd: misc cosmetic clean-ups
  ws_snd: remove the 2-bit ADPCM table and just subtract 2 instead.
  ws_snd: use memcpy() and memset() instead of loops
  ws_snd: use samples pointer for loop termination instead of a separate iterator variable.
  ws_snd: make sure number of channels is 1
  ws_snd: add some checks to prevent buffer overread or overwrite.
  ws_snd: decode to AV_SAMPLE_FMT_U8 instead of S16.
  flacdec: fix buffer size checking in get_metadata_size()
  rtp: Simplify ff_rtp_get_payload_type
  rtpenc: Add a payload type private option
  rtp: Correct ff_rtp_get_payload_type documentation
  avconv: replace all fprintf() by av_log().
  avconv: change av_log verbosity from ERROR to FATAL for fatal errors.
  cmdutils: replace fprintf() by av_log()
  avtools: parse loglevel before all the other options.
  oggdec: add support for Xiph's CELT codec
  sol: return error if av_get_packet() fails.
  cosmetics: reindent and pretty-print
  ...

Conflicts:
	avconv.c
	cmdutils.c
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/oggparsecelt.c
	libavformat/utils.c
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 02:14:37 +02:00
Nicolas George
4ca59d1948 oggdec: add support for Xiph's CELT codec
This patch also introduces CODEC_ID_CELT.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-09-26 13:51:29 +02:00
Michael Niedermayer
28d3738428 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add LATM demuxer
  avplay: flush audio decoder with empty packets at EOF if the decoder has CODEC_CAP_DELAY set.
  8svx/iff: fix decoding of compressed stereo 8svx files.
  8svx: log an error message if output buffer is too small
  8svx: check packet size before reading the initial sample value.
  8svx: output 8-bit samples instead of 16-bit.
  8svx: split delta decoding into a separate function.
  mp4: Don't read an empty Decoder Config Descriptor
  fate.sh: Ignore errors from rm command during cleanup.
  fate.sh: Run git-pull in quiet mode to avoid console spam.
  Apple ProRes decoder
  rtmp: Make the input FLV parser handle data cut at any point
  rv34: Check for invalid slices offsets
  eval: test isnan(sqrt(-1)) instead of just sqrt(-1)

Conflicts:
	Changelog
	libavcodec/8svx.c
	libavcodec/proresdec.c
	libavcodec/version.h
	libavformat/iff.c
	libavformat/version.h
	tests/ref/fate/eval

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 00:35:31 +02:00
Maxim Poliakovski
be64629a13 Apple ProRes decoder
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-22 14:54:46 +03:00
Michael Niedermayer
645cebbe4f lavc: add CODEC_FLAG2_SHOW_ALL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-18 15:33:50 +02:00
Elvis Presley
5554de13b2 ProRes Decoder
Signed-off-by: Elvis Presley <elvis@e.p>
2011-09-15 15:58:56 +02:00
Michael Niedermayer
15240feb99 Merge remote-tracking branch 'hexene/scratchpad'
* hexene/scratchpad:
  Move & Rename buildscript, remove tabs
  Fix regular build
  Support (H/W accelerated) H.264 decoding on Android via Stagefright
  Add build-script for Android
  C++ Support ;)

Conflicts:
	Changelog
	Makefile
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-14 01:23:16 +02:00
Michael Niedermayer
1889c6724a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  AVOptions: fix av_set_string3() doxy to match reality.
  cmdutils: get rid of dummy contexts for examining AVOptions.
  lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions.
  AVOptions: add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find().
  cpu detection: avoid a signed overflow

Conflicts:
	avconv.c
	cmdutils.c
	doc/APIchanges
	ffmpeg.c
	libavcodec/options.c
	libavcodec/version.h
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-04 04:11:53 +02:00
Anton Khirnov
fb4ca26bdb lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions. 2011-09-03 20:53:35 +02:00
Michael Niedermayer
0ed7bc49a3 Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  libx264: set default thread count to 0 (auto)
  lavc: cosmetics, group deprecated codec flags
  mpeg12: add 'scan_offset' private option.
  h263/p encoder: add 'structured_slices' private option.
  h263/p encoder: add 'obmc' private option.
  h263p encoder: add 'aiv' private option.
  h263p encoder: add 'umv' private option.
  mpeg12enc/mpeg4videoenc: add 'alternate_scan' private option.
  mjpegdec: add 'extern_huff' private option.
  mpeg4enc: add 'data_partitioning' private option.
  snow: add 'memc_only' private option.
  libx264: add 'mbtree' private option.
  libx264: add 'psy' private option.
  libmp3lame: add 'reservoir' private option.
  mpeg2enc: add 'non_linear_quant' private option
  mpeg12enc: add drop_frame_timecode private option.
  mpeg12enc: add intra_vlc private option.
  VC1: Support dynamic dimension changes
  mjpeg: treat external huffman table setup failure as codec init failure if external huffman table use requested
  lavc: deprecate CODEC_FLAG2_BRDO
  ...

Conflicts:
	avconv.c
	libavcodec/libmp3lame.c
	libavcodec/libx264.c
	libavcodec/mjpegdec.c
	libavcodec/mpeg12enc.c
	libavcodec/mpegvideo.h
	libavcodec/vc1.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-01 00:01:21 +02:00
Anton Khirnov
1f0c7020a1 mjpegdec: add 'extern_huff' private option.
Deprecate CODEC_FLAG_EXTERN_HUFF
2011-08-31 13:25:54 +02:00
Anton Khirnov
0cc06b9e23 snow: add 'memc_only' private option.
Deprecate CODEC_FLAG2_MEMC_ONLY
2011-08-31 13:24:16 +02:00
Anton Khirnov
a7cec3a094 libmp3lame: add 'reservoir' private option.
Deprecate CODEC_FLAG2_BIT_RESERVOIR
2011-08-31 13:22:53 +02:00
Anton Khirnov
297d9cb3dc mpeg12enc: add intra_vlc private option.
Deprecate CODEC_FLAG2_INTRA_VLC.
2011-08-31 13:19:14 +02:00
Mohamed Naufal
84f26f5288 Support (H/W accelerated) H.264 decoding on Android via Stagefright 2011-08-31 05:12:54 +05:30
Michael Niedermayer
bd4640375e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: Replace goto redo on decode fail with continue.
  avconv: Remove dead store.
  libx264: add 'crf_max' private option.
  libx264: add 'weightp' private option.
  libx264: add 'rc_lookahead' private option.
  libx264: add 'psy_trellis' private option.
  libx264: add 'psy_rd' private option.
  libx264: add 'aq_strength' private option.
  libx264: add 'aq_mode' private option.
  libx264: add 'cqp' private option.
  libx264: add 'crf' private option.
  lavc: remove vbv_delay option
  lavf utils: Fix bad indentation.
  avconv: use av_clip_int16 for audio clipping

Conflicts:
	libavcodec/libx264.c
	libavcodec/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-24 20:26:48 +02:00
Anton Khirnov
d5dc8cc297 libx264: add 'crf' private option.
Deprecate corresponding global option.

Ideally all x264 private options should be generated automatically, but
x264 doesn't provide the API for this yet.
2011-08-24 14:26:12 +02:00
Michael Niedermayer
4ca6a151e0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: print the codecs names in the stream mapping.
  avconv: move the avcodec_find_decoder() call to add_input_streams().
  Windows Media Image decoder (WMVP/WVP2)
  ac3enc: remove outdated TODO comment for apply_channel_coupling()

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-23 18:26:37 +02:00
Alberto Delmás
45ecda8554 Windows Media Image decoder (WMVP/WVP2)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-23 11:18:35 +02:00
Michael Niedermayer
27fbe31c92 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "avconv: use stream copy by default when possible."
  avconv: print stream copy information.
  avconv: use stream copy by default when possible.
  matroskaenc: vertical alignment.
  matroskaenc: implement query_codec()
  lavf: add avformat_query_codec().
  lavc: add avcodec_get_type() for mapping codec_id -> type.
  flvenc: use int64_t to store offsets
  avconv: don't segfault on 0 input files.
  Do not write ID3v1 tags by default
  mpegts: log into an AVFormatContext rather than MpegTSContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h
	libavformat/avformat.h
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-17 14:23:20 +02:00
Anton Khirnov
bca06e77e1 lavc: add avcodec_get_type() for mapping codec_id -> type. 2011-08-16 20:24:20 +02:00
Michael Niedermayer
a9aa88df1d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: make avcodec_init() static on next bump.
  ac3enc: remove unneeded #include
  ac3enc: restructure coupling coordinate reuse calculation
  ac3enc: allow new coupling coordinates to be sent independently for each channel.
  ac3enc: separate exponent bit counting from exponent grouping.
  h264: propagate error return values for AV_LOG_ERROR-triggering events
  aac: Don't attempt to output configure an invalid channel configuration.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-10 16:29:51 +02:00
Anton Khirnov
7221139ba0 lavc: make avcodec_init() static on next bump.
It's called from avcodec_register() anyway, so there's no reason for it
to be public.
2011-08-10 12:49:57 +02:00
Michael Niedermayer
0d4ea7b324 lavc: bump minor for Go2Meeting codec ID
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-09 22:11:08 +02:00
Michael Niedermayer
1d186e9e12 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "swscale: use 15-bit intermediates for 9/10-bit scaling."
  swscale: use 15-bit intermediates for 9/10-bit scaling.
  dct32: Add SSE2 ASM optimizations
  Correct chroma vector calculation for RealVideo 3.
  lavf: Add an option to discard corrupted frames
  mpegts: Mark wrongly-sized packets as corrupted
  mpegts: Move scan test to handle_packets
  mpegts: Mark corrupted packets
  mpegts: Reset continuity counter on seek
  mpegts: Fix for continuity counter
  mpegts: Silence "can't seek" warning on unseekable
  apichange: add an entry for AV_PKT_FLAG_CORRUPT
  avpacket: signal possibly corrupted packets
  mpeg4videodec: remove dead code that would have detected erroneous encoding
  aac: Remove some suspicious illegal memcpy()s from LTP.
  bink: Eliminate unnecessary shadow declaration.

Conflicts:
	doc/APIchanges
	libavcodec/version.h
	libavformat/avformat.h
	libavformat/options.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-02 22:12:18 +02:00
Luca Barbato
9d39cbf6cf avpacket: signal possibly corrupted packets
Use AV_PKT_FLAG_CORRUPT flag to mark packets that might be incomplete
or have errors. Formats that have a mean to validate their packets
should use this flag to deliver such information instead of silently
dropping the packets.
2011-08-02 02:19:31 +02:00
Michael Niedermayer
335bbe424f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: Deprecate unused FF_ER_VERY_AGGRESSIVE
  x11grab: add show_region AVOption.
  x11grab: add follow_mouse AVOption.
  Do not convert RGB buffer at once when stride does not fit exact samples.

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-01 00:35:57 +02:00
Dustin Brody
18cb40f074 lavc: Deprecate unused FF_ER_VERY_AGGRESSIVE
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-31 14:53:38 -07:00
Michael Niedermayer
5271b857eb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dnxhddec: avoid a branch in 10-bit decode_dct_block()
  H.264: Add optimizations to predict x86 assembly.
  riff: Add mpgv MPEG-2 fourcc
  add Flash Screen Video 2 decoder

Conflicts:
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-23 16:47:10 +02:00
Kostya Shishkov
c2d23309ef add Flash Screen Video 2 decoder
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-22 09:12:30 -07:00
Michael Niedermayer
5dc6bd86f0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  APIchanges: fill in missing hashes and dates.
  Add an APIChanges entry and bump minor versions for recent changes.
  ffmpeg: print the low bitrate warning after the codec is openend.
  doxygen: Move function documentation into the macro generating the function.
  doxygen: Make sure parameter names match between .c and .h files.
  h264: move fill_decode_neighbors()/fill_decode_caches() to h264_mvpred.h
  H.264: Add more x86 assembly for 10-bit H.264 predict functions
  lavf: fix invalid reads in avformat_find_stream_info()
  cmdutils: replace opt_default with opt_default2() and remove set_context_opts
  ffmpeg: use new avcodec_open2 and avformat_find_stream_info API.
  ffplay: use new avcodec_open2 and avformat_find_stream_info API.
  cmdutils: store all codec options in one dict instead of video/audio/sub
  ffmpeg: check experimental flag after codec is opened.
  ffmpeg: do not set GLOBAL_HEADER flag in the options context

Conflicts:
	cmdutils.c
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavcodec/version.h
	libavformat/version.h
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-14 20:44:58 +02:00
Anton Khirnov
f2f523fffc Add an APIChanges entry and bump minor versions for recent changes. 2011-07-14 14:16:16 +02:00
Michael Niedermayer
3602ad7ee6 Merge commit '142e76f1055de5dde44696e71a5f63f2cb11dedf'
* commit '142e76f1055de5dde44696e71a5f63f2cb11dedf':
  swscale: fix crash with dithering due incorrect offset calculation.
  matroskadec: fix stupid typo (!= -> ==)
  build: remove duplicates from order-only directory prerequisite list
  build: rework rules for things in the tools dir
  configure: fix --cpu=host with gcc 4.6
  ARM: use const macro to define constant data in asm
  bitdepth: simplify FUNC/FUNCC macros
  dsputil: remove ff_emulated_edge_mc macro used in one place
  9/10-bit: simplify clipping macros
  matroskadec: reindent
  matroskadec: defer parsing of cues element until we seek.
  lavc: add support for codec-specific defaults.
  lavc: make avcodec_alloc_context3 officially public.
  lavc: remove a half-working attempt at different defaults for audio/video codecs.
  ac3dec: add a drc_scale private option
  lavf: add avformat_find_stream_info()
  lavc: introduce avcodec_open2() as a replacement for avcodec_open().

Conflicts:
	Makefile
	libavcodec/utils.c
	libavformat/avformat.h
	libswscale/swscale_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-11 04:23:25 +02:00
Anton Khirnov
71a861cf40 lavc: make avcodec_alloc_context3 officially public.
Deprecate avcodec_alloc_context/2.
2011-07-10 17:09:28 +02:00
Anton Khirnov
9b83919f44 ac3dec: add a drc_scale private option
Deprecate corresponding AVCodecContext option.

This is the first test of decoder private options.
2011-07-10 17:07:12 +02:00
Anton Khirnov
0b950fe240 lavc: introduce avcodec_open2() as a replacement for avcodec_open().
Adds support for decoder-private options and makes setting other options
simpler.
2011-07-10 17:06:22 +02:00
Stefano Sabatini
62519c6139 lavc: bump minor after the addition of AVCodecContext.request_sample_fmt 2011-06-10 12:13:08 +02:00
Stefano Sabatini
e71f26086a lavu: add av_get_pix_fmt_name() convenience function
Also deprecate avcodec_get_pix_fmt_name() in its favor.
2011-05-28 18:25:40 +02:00
Stefano Sabatini
8f653e28f5 lavu: add av_get_pix_fmt_name() convenience function
Also deprecate avcodec_get_pix_fmt_name() in its favor.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-28 09:44:18 -04:00
Justin Ruggles
aa47c35dff ac3enc: add support for E-AC-3 encoding.
This adds basic stream format support and allows for arbitrary bit rates
rather than just those supported in AC-3.
2011-05-27 16:25:22 -04:00
Justin Ruggles
64150ff014 Add request_sample_fmt field to AVCodecContext.
This will allow audio decoders to support output of different sample formats
as a runtime option.
2011-05-18 17:27:06 -04:00
Stefano Sabatini
e280a4da2a iff/8svx: redesign 8SVX demuxing and decoding for handling stereo samples correctly
Make the iff demuxer send the whole audio chunk to the decoder as a
single packet, move stereo interleaving from the iff demuxer to the
decoder, and introduce an 8svx_raw decoder which performs
stereo interleaving.

This is required for handling stereo data correctly, indeed samples
are stored like:
LLLLLL....RRRRRR

that is all left samples are at the beginning of the chunk, all right
samples at the end, so it is necessary to store and process the whole
buffer in order to decode each frame. Thus the decoder needs all the
audio chunk before it can return interleaved data.

Fix decoding of files 8svx_exp.iff and 8svx_fib.iff, fix trac issue #169.
2011-05-17 00:58:33 +02:00