1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-18 03:19:31 +02:00
Commit Graph

1785 Commits

Author SHA1 Message Date
Michael Niedermayer
6d49e819be ffmpeg: revert 492cc1
This restores correct block_align values in case of stream copy.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-14 15:15:11 +02:00
Michael Niedermayer
70e9308dec ffmpeg: preserve bits_per_coded sample on stream copy.
Fixes Ticket1124

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-12 21:23:18 +02:00
Michael Niedermayer
9eb99ab25b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: employ better names and add a convenient shorthand for vp6 tests
  arm/neon: dsputil: use correct size specifiers on vld1/vst1
  arm: dsputil: prettify some conditional instructions in put_pixels macros
  vqavideo: change x/y loop counters to the usual pattern
  avconv: use lrint() for rounding double timestamps

Conflicts:
	tests/ref/fate/vc1-ism

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-11 20:57:39 +02:00
Michael Niedermayer
8616c44606 ffmpeg: fix deinterlace
Fixes ticket1295

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-11 02:45:34 +02:00
Michael Niedermayer
b7fe9c7a08 ffmpeg: fix pointer type (const) warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 20:03:29 +02:00
Michael Niedermayer
0ee32b9028 ffmpeg: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 20:03:13 +02:00
Michael Niedermayer
36ab79488e ffmpeg: fix uninitialized variable warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 20:02:49 +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
Michael Niedermayer
a54867121d ffmpeg: fix frame duration used for video sync.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-09 18:24:15 +02:00
Michael Niedermayer
c6aa2c4b12 ffmpeg: print next_dts too on debug_ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-07 18:56:06 +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
Nicolas George
870ca6a238 ffmpeg: do not include vsrc_buffer.h. 2012-05-06 16:14:34 +02:00
Nicolas George
ba7395aace ffmpeg: replace av_vsrc_buffer_add_frame by av_buffersrc_add_frame. 2012-05-06 16:14:34 +02:00
Nicolas George
6ec1e0fed9 ffmpeg: replace av_buffersrc_buffer with av_buffersrc_add_ref. 2012-05-06 16:14:34 +02:00
Clément Bœsch
9e6a1c8981 ffmpeg: fix indent in term_init(). 2012-05-04 19:22:28 +02:00
Clément Bœsch
49df97b282 ffmpeg: stronger ffpresets parsing.
This fixes at least issues with empty lines, and also allows CRLF lines
(in case a user makes its own preset on a MS plateform).
2012-05-04 18:47:50 +02:00
Clément Bœsch
fd4b4dda9c ffmpeg: fix indent. 2012-05-03 20:02:26 +02:00
Nicolas George
ae344b2c5e ffmpeg: use AVFrame accessor. 2012-05-03 18:47:16 +02:00
Michael Niedermayer
b197c1c1ac ffmpeg: preserve NULL ptrs in get_buffer()
Fixes Ticket1260, Ticket1267

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-02 10:48:28 +02:00
Michael Niedermayer
f08397642f ffmpeg: fix type of dither scale.
This allows non integer scales.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-01 20:13:32 +02:00
Reimar Döffinger
4f6a1c974f Fix parsing of -force_key_frames option.
Currently it always exits with an error when more than
one position is specified.
Fixes trac issue #1266.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-05-01 00:03:20 +02:00
Michael Niedermayer
7588b33ad4 ffmpeg: add the edge at the correct place in allocating of the buffer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-29 23:13:06 +02:00
Michael Niedermayer
3ead79eaa3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: use updated reference for aac-latm_stereo_to_51
  avconv: use libavresample
  Add libavresample
  FATE: avoid channel mixing in lavf-dv_fmt

Conflicts:
	Changelog
	Makefile
	cmdutils.c
	configure
	doc/APIchanges
	ffmpeg.c
	tests/lavf-regression.sh
	tests/ref/lavf/dv_fmt
	tests/ref/seek/lavf_dv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-25 23:17:41 +02:00
Michael Niedermayer
8f89954550 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: fix a segfault on -c copy with -filter_complex.
  isom: Support more DTS codec identifiers.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-24 23:45:09 +02:00
Michael Niedermayer
44bd2f90a9 ffmpeg: Fix initial dts for streamcopy, if the input packets lack dts.
Fixes Ticket1138

Based on a patch by: Eelco Lempsink <eml@tupil.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-24 19:00:41 +02:00
Nicolas George
62b745a6d3 ffmpeg: do not report EOF as an error.
Not all processing goes through filters,
so processing can continue even when
all filtergraphs have reached EOF on all sinks.
2012-04-24 15:46:03 +02:00
Nicolas George
99f29108d3 ffmpeg: directly request frames from filters.
It allows ffmpeg filtering logic to work with filters
that do not implement the poll_frame method,
such as split or tile.
2012-04-23 14:14:25 +02:00
Michael Niedermayer
2ea5f866e6 ffmpeg: assert the refcount of decoded frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-22 20:10:00 +02:00
Michael Niedermayer
22a6a23a45 ffmpeg: assert the refcount of allocated frames,
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-22 20:08:56 +02:00
Michael Niedermayer
cf09496cf9 ffmpeg: assert against creation of cycles in the pools linked list.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-22 20:07:04 +02:00
Michael Niedermayer
be2b927a6f ffmpeg: stricter refcount check in unref_buffer()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-22 20:05:58 +02:00
Nicolas George
23a6e4749f ffmpeg: fix validity test for file index.
Also fix a typo in the next line.
2012-04-22 12:45:35 +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
Nicolas George
34c426be4a ffmpeg: check encoder earlier.
Fixes a segfault with Ogg output, libtheora not compiled in
and no codec specified.
2012-04-20 16:30:58 +02:00
Michael Niedermayer
2a976debc1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dv: Initialize encoder tables during encoder init.
  dv: Replace some magic numbers by the appropriate #define.
  FATE: pass the decoded output format and audio source file to enc_dec_pcm
  FATE: specify the input format when decoding in enc_dec_pcm()
  x86inc: support AVX abstraction for 2-operand instructions
  configure: detect PGI compiler and set suitable flags
  avconv: check for an incompatible changing channel layout
  avio: make AVIOContext.av_class pointer to const
  nutdec: add malloc check and fix const to non-const conversion warnings

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-19 21:23:52 +02:00
Michael Niedermayer
1232723741 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacenc: Fix issues with huge values of bit_rate.
  dv_tablegen: Drop unnecessary av_unused attribute from dv_vlc_map_tableinit().
  proresenc: multithreaded quantiser search
  riff: use bps instead of bits_per_coded_sample in the WAVEFORMATEXTENSIBLE header
  avconv: only set the "channels" option when it exists for the specified input format
  avplay: update get_buffer to be inline with avconv
  aacdec: More robust output configuration.
  faac: Fix multi-channel ordering
  faac: Add .channel_layouts
  rtmp: Support 'rtmp_playpath', an option which overrides the stream identifier
  rtmp: Support 'rtmp_app', an option which overrides the name of application
  avutil: add better documentation for AVSampleFormat

Conflicts:
	libavcodec/aac.h
	libavcodec/aacdec.c
	libavcodec/aacenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-18 00:28:06 +02:00
Michael Niedermayer
15141f939d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo3: add parens around some macro arguments
  h264: use proper PROLOGUE statement for a function using 8 registers.
  doc: Update sample Vim config with suitable (function) indentation settings.
  dv: Merge dvquant.h into dvdata.c where all other DV tables reside.
  dv: Move static tables only used in one place to where they are used.
  graphparser: set next to NULL on an entry extracted from inputs list
  doc/filters: update documentation.
  avconv: flush decoders immediately after an EOF.
  avconv: send EOF to vsrc_buffer.
  avconv: reindent.

Conflicts:
	doc/filters.texi
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 12:13:22 +02:00
Michael Niedermayer
788a60d9d6 ffmpeg: make max frames work again, after merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 04:37:08 +02:00
Michael Niedermayer
052ab20805 ffmpeg: fix regression with jpeg pix fmts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 04:05:01 +02:00
Michael Niedermayer
89f8637979 ffmpeg: fix regression with png
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 04:04:56 +02:00
Michael Niedermayer
8a28fa010a ffmpeg: choose_pix_fmt: pass target fmt in
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 04:04:49 +02:00
Michael Niedermayer
4778783160 Merge commit '3b266da3d35f3f7a61258b78384dfe920d875d29'
* commit '3b266da3d35f3f7a61258b78384dfe920d875d29':
  avconv: add support for complex filtergraphs.
  avconv: make filtergraphs global.
  avconv: move filtered_frame from InputStream to OutputStream.
  avconv: don't set output width/height directly from input value.
  avconv: move resample_{width,height,pix_fmt} to InputStream.
  avconv: remove a useless variable from OutputStream.
  avconv: get output pixel format from lavfi.
  graphparser: fix the order in which unlabeled input links are returned.
  avconv: change {input,output}_{streams,files} into arrays of pointers.
  avconv: don't pass input/output streams to some functions.

Conflicts:
	cmdutils.c
	cmdutils.h
	doc/ffmpeg.texi
	ffmpeg.c
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 04:03:50 +02:00
Reimar Döffinger
071292b8c9 Respect -copyinkf for subtitles.
Necessary to make it possible to copy teletext streams
(trac issue #531).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-16 22:13:12 +02:00
Michael Niedermayer
bd3ea31797 ffmpeg: Compensate non monotonicity errors in the audio TSs.
Audio timestamps are passed through by default and when the input
doesnt contain clean timestamps this can lead to non monotonicity
errors. (rounding to a course timebase can cause this too)

Print a warning when the errors in the timestamps are large

Fixes Ticket1167 (regression since timestamps are passed through)

This is a generic workaround that is intended to handle
slightly incorrect input files. It is very possible that some
demuxers contain bugs that lead to wrong timestamps, these demuxers
should of course still be fixed even if this change happens to
hide the issue.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-13 02:12:22 +02:00
Michael Niedermayer
8274b21c09 ffmpeg: fix ticks_per_frame for the avi stream copy case
Should not make any difference, but its more correct.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 12:57:22 +02:00
Nicolas George
733cf0ad51 ffmpeg: add -benchmark_all option. 2012-04-12 09:35:09 +02:00
Nicolas George
81a9d32f0d ffmpeg: move getutime to the start of the file. 2012-04-12 09:35:09 +02:00
Michael Niedermayer
6c704d9c30 ffmpeg: support changing dither parameters for swr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 14:10:22 +02: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
Michael Niedermayer
6101e5322f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec_asf: Set the no_resync_search option for the chained asf demuxer
  asfdec: Add an option for not searching for the packet markers
  cosmetics: Clean up the tiffenc pix_fmts declaration to match the style of others
  cosmetics: Align codec declarations
  cosmetics: Convert mimic.c to utf-8
  avconv: remove an unused function parameter.
  avconv: remove now pointless variables.
  avconv: drop support for building without libavfilter.
  nellymoserenc: fix crash due to memsetting the wrong area.
  libavformat: Only require first packet to be known for audio/video streams
  avplay: Don't try to scale timestamps if the tb isn't set

Conflicts:
	Changelog
	configure
	ffmpeg.c
	libavcodec/aacenc.c
	libavcodec/bmpenc.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c
	libavcodec/ffv1.c
	libavcodec/flacenc.c
	libavcodec/fraps.c
	libavcodec/huffyuv.c
	libavcodec/libopenjpegdec.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videodec.c
	libavcodec/pamenc.c
	libavcodec/pgssubdec.c
	libavcodec/pngenc.c
	libavcodec/qtrleenc.c
	libavcodec/rawdec.c
	libavcodec/sgienc.c
	libavcodec/tiffenc.c
	libavcodec/v210dec.c
	libavcodec/wmv2dec.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 22:41:37 +02:00
Clément Bœsch
735fb8ce59 ffmpeg: remove unused MetadataMap.
This struct was forgotten after
e5df74dc56.
2012-04-06 14:25:35 +02:00
Clément Bœsch
e5df74dc56 ffmpeg: remove unused meta_data_maps.
This is unused since a7b5e841ff.
2012-04-06 14:09:48 +02:00
Clément Bœsch
e29f66d64a ffmpeg: fix a few typo. 2012-04-04 11:50:16 +02:00
Matthieu Bouron
2663540821 ffmpeg: affect source stream index in new_output_stream function
Fix map_channel when mapped audio stream index is greater than 0.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-02 17:27:09 +02:00
Michael Niedermayer
ce9bd30379 ffmpeg: fix plain -profile support
Fixes Ticket387

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-01 20:48:20 +02:00
Michael Niedermayer
d61ef05bc5 ffmpeg: check pts like dts for being in the past.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-29 22:32:53 +02:00
Michael Niedermayer
4204364678 ffmpeg: switch duration calculation code from avg to r frame_rate.
This heuristic is less likely to overshoot and cause encoder failure.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-29 19:23:22 +02:00
Michael Niedermayer
a37a281778 ffmpeg: pass bitexact flag to vsrc_buffer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-29 05:56:47 +02:00
Michael Niedermayer
9aeacc9546 ffmpeg: dont disable dr1 when changing dimensions are encountered in codec_get_buffer().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-29 04:37:14 +02:00
Michael Niedermayer
e5c3b51cd1 ffmpeg: disable dr1 when frame sizes change.
dr1 seems to work fine with frame size changes but many filters
cant handle it yet. Simply disabling it forces the alternative
non dr1 code path which has been tested more completely and
is known to handle frame size changes in a wider varity of
cases.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-29 04:13:27 +02:00
Stefano Sabatini
99bb88c588 doc/ffmpeg: update and extend documentation for -copytb
Address trac ticket #1120.
2012-03-28 23:39:44 +02:00
Michael Niedermayer
a0820eaa8a ffmpeg: fix handling or empty audio packets
Fixes Ticket1131

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-27 02:43:40 +02:00
Michael Niedermayer
b62b9df798 ffmpeg: more verbose error messages in case of audio encoding failure.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-27 02:30:08 +02:00
Clément Bœsch
21d650cb69 ffmpeg: more expressive sample rate automatic selection.
Output now lists the available sample rates with commands like
ffmpeg -f lavfi -i aevalsrc=0 -ar 20000 -y /tmp/out.mp3
2012-03-26 22:46:40 +02:00
Julien Ramseier
e479013ae4 Fix SVCD scan_offset option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-25 19:29:31 +02:00
Michael Niedermayer
8bf95e8bd5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avc: Add a function for converting mp4 style extradata to annex b
  pthread: free progress if buffer allocation failed.
  lavc/avconv: support changing frame sizes in codecs with frame mt.
  libavformat: Document who sets the AVStream.id field
  utvideo: mark output picture as keyframe.
  sunrast: Add support for negative linesize.
  vp8: fix update_lf_deltas in libavcodec/vp8.c
  ralf: read Huffman code lengths without GetBitContext

Conflicts:
	ffmpeg.c
	libavcodec/sunrastenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-25 01:56:53 +01:00
Michael Niedermayer
f4c380a5e6 ffmpeg: drop struct from SwrContext.
Its a typdef now and doesnt need the struct anymore.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-25 01:00:07 +01:00
Michael Niedermayer
e2d110d8d2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv34: Handle only complete frames in frame-mt.
  MPV: set reference frame pointers to NULL when allocation of dummy pictures fails
  configure: die if x11grab dependencies are unavailable
  zerocodec: factorize loop
  avconv: fix the resampling safety factors for output audio buffer allocation
  avconv: move audio output buffer allocation to a separate function
  avconv: make the async buffer global and free it in exit_program()

Conflicts:
	ffmpeg.c
	libavcodec/mpegvideo.c
	libavcodec/rv34.c
	libavcodec/zerocodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-23 21:20:06 +01:00
Michael Niedermayer
1664edb998 ffmpeg: check samplerate from decoder.
Fixes FPE

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-23 10:59:03 +01:00
Reimar Döffinger
ffa28da180 Support dropping audio dts/pts via -async -1.
Allows working around issue #605.
Note: as a side effect this fixes that -vsync drop
as far as I could tell would not drop pts/dts values
when duplicating frames or when flushing encoder delay.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-03-22 20:36:16 +01:00
Michael Niedermayer
0ebd83617f Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  avconv: free packet in write_frame() when discarding due to frame number limit
  FATE: use +/- flag option syntax for vp8 emu-edge tests
  lavf: make av_interleave_packet_per_dts() private.
  lavf: deprecate av_read_packet().
  oggdec: output correct timestamps for Vorbis
  avconv: pass input stream timestamps to audio encoders
  lavc: shrink encoded audio packet size after encoding.
  xa: set correct bit rate
  xa: do not set bit_rate, block_align, or bits_per_coded_sample
  xa: fix end-of-file handling
  xa: fix timestamp calculation
  bink: fix typo in FFALIGN() argument
  bink: align plane width to 8 when calculating bundle sizes
  doc: pass -Idoc texi2html and texi2pod
  doc: texi2pod: add -I flag
  movenc: Add a min_frag_duration option
  rtsp: Set the default delay to 0.1 s for the RTSP/SDP/RTP demuxers
  libavformat: Set the default for the max_delay option to -1
  Generate manpages for AV{Format,Codec}Context AVOptions.
  doc/avconv: remove entries for AVOptions.
  ...

Conflicts:
	doc/Makefile
	doc/ffmpeg.texi
	doc/muxers.texi
	ffmpeg.c
	libavcodec/Makefile
	libavcodec/options.c
	libavcodec/vp8.c
	libavformat/options.c
	tests/fate/demux.mak
	tests/ref/fate/truemotion1-15
	tests/ref/fate/truemotion1-24

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-21 01:33:53 +01:00
Michael Niedermayer
4c1da0d11e ffmpeg: allow selective and complete disabling of map_metadata.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-17 03:16:09 +01:00
Michael Niedermayer
4257ce112c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dxa: remove useless code
  lavf: don't select an attached picture as default stream for seeking.
  avconv: remove pointless checks.
  avconv: check for get_filtered_frame() failure.
  avconv: remove a pointless check.
  swscale: convert hscale() to use named arguments.
  x86inc: add *mp named argument support to DEFINE_ARGS.
  swscale: convert hscale to cpuflags().

Conflicts:
	ffmpeg.c
	libswscale/x86/scale.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-16 01:36:49 +01:00
Michael Niedermayer
7230116000 ffmpeg: Fix planar audio input.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-14 08:03:29 +01:00
Michael Niedermayer
6968a7d193 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc/general: update supported devices table.
  doc/general: add missing @tab to codecs table.
  h264: Fix invalid interlaced/progressive MB combinations for direct mode prediction.
  avconv: reindent
  avconv: link '-passlogfile' option to libx264 'stats' AVOption.
  libx264: add 'stats' private option for setting 2pass stats filename.
  libx264: fix help text for slice-max-size option.
  http: Clear the auth state on redirects
  http: Retry auth if it failed due to being stale
  rtsp: Resend new keepalive commands if they used stale auth
  rtsp: Retry authentication if failed due to being stale
  httpauth: Parse the stale field in digest auth
  dxva2_vc1: pass the overlap flag to the decoder
  dxva2_vc1: fix decoding of BI frames
  FATE: add shorthand to wavpack test
  dfa: convert to bytestream2 API
  anm decoder: move buffer allocation from decode_init() to decode_frame()
  h264: improve parsing of broken AVC SPS

Conflicts:
	ffmpeg.c
	libavcodec/anm.c
	libavcodec/dfa.c
	libavcodec/h264.c
	libavcodec/h264_direct.c
	libavcodec/h264_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-14 02:10:11 +01:00
Michael Niedermayer
ad53c7f9ec lavf: Add system to seperate relative timestamps from absolute ones.
With this we can always know if a timestamp is based on added durations
from an unknown origin or if it is based on a correct timestamp (and possibly
added durations)
This should fix some bugs where this distinction was mixed up.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-09 19:36:12 +01:00
Nicolas George
78306c51ef ffmpeg: show fps more accurately when it is small. 2012-03-08 00:11:59 +01:00
Michael Niedermayer
6df42f9874 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  SBR DSP: fix SSE code to not use SSE2 instructions.
  cpu: initialize mask to -1, so that by default, optimizations are used.
  error_resilience: initialize s->block_index[].
  svq3: protect against negative quantizers.
  Don't use ff_cropTbl[] for IDCT.
  swscale: make filterPos 32bit.
  FATE: add CPUFLAGS variable, mapping to -cpuflags avconv option.
  avconv: add -cpuflags option for setting supported cpuflags.
  cpu: add av_set_cpu_flags_mask().
  libx264: Allow overriding the sliced threads option
  avconv: fix counting encoded video size.

Conflicts:
	doc/APIchanges
	doc/fate.texi
	doc/ffmpeg.texi
	ffmpeg.c
	libavcodec/h264idct_template.c
	libavcodec/svq3.c
	libavutil/avutil.h
	libavutil/cpu.c
	libavutil/cpu.h
	libswscale/swscale.c
	tests/Makefile
	tests/fate-run.sh
	tests/regression-funcs.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-07 03:22:49 +01:00
Rick van der Zwet
d33a091cb3 ffm options should also set discard automatically.
commit 13f6917ca9 handles discards automatically,
but the ffm discard options are not fully parsed. Causing the input streams not
to be used, so no stream towards the ffserver after the initial probing.

Signed-off-by: Rick van der Zwet <info@rickvanderzwet.nl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-04 00:20:10 +01:00
Michael Niedermayer
c250063523 get_buffers: Check that pix_fmt is not NONE.
This is somewhat redundant as no decoder should call get_buffer() with such argument.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-29 06:27:38 +01:00
Michael Niedermayer
ddd86a2924 ffmpeg: Fix division by 0 due to invalid timebase
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-28 18:41:01 +01:00
Carl Eugen Hoyos
7b4e1466d4 Exit ffmpeg if swr_convert() fails. 2012-02-27 19:02:28 +01:00
Michael Niedermayer
574dcb5baf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: don't guess r_frame_rate from either stream or codec timebase.
  avconv: set discard on input streams automatically.
  Fix parser not to clobber has_b_frames when extradata is set.
  lavf: don't set codec timebase in avformat_find_stream_info().
  avconv: saner output video timebase.
  rawdec: set timebase to 1/fps.
  avconv: refactor vsync code.
  FATE: remove a bunch of useless -vsync 0
  cdxl: bit line plane arrangement support
  cdxl: remove early check for bpp
  cdxl: set pix_fmt PAL8 only if palette is available

Conflicts:
	ffmpeg.c
	libavcodec/h264_parser.c
	libavformat/rawdec.c
	tests/fate/demux.mak
	tests/fate/ea.mak
	tests/fate/h264.mak
	tests/fate/prores.mak
	tests/fate/video.mak
	tests/ref/fate/bethsoft-vid
	tests/ref/fate/creatureshock-avs
	tests/ref/fate/ea-cmv
	tests/ref/fate/interplay-mve-16bit
	tests/ref/fate/interplay-mve-8bit
	tests/ref/fate/nuv
	tests/ref/fate/prores-alpha
	tests/ref/fate/qtrle-16bit
	tests/ref/fate/qtrle-1bit
	tests/ref/fate/real-rv40
	tests/ref/fate/rpza
	tests/ref/fate/wmv8-drm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-27 04:35:35 +01:00
Reimar Döffinger
6a3f1726af Add missing av_free_packet.
Fixes memory leak when encoding at least with mpegvideo using the
new encode2 function.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-20 21:23:00 +01:00
Michael Niedermayer
f3bd226de6 ffmpeg: Fix setting flags for codec copy.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-18 14:34:16 +01:00
Michael Niedermayer
8c1ebdcea2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  shorten: Use separate pointers for the allocated memory for decoded samples.
  atrac3: Fix crash in tonal component decoding.
  ws_snd1: Fix wrong samples counts.
  movenc: Don't set a default sample duration when creating ismv
  rtp: Factorize the check for distinguishing RTCP packets from RTP
  golomb: avoid infinite loop on all-zero input (or end of buffer).
  bethsoftvid: synchronize video timestamps with audio sample rate
  bethsoftvid: add audio stream only after getting the first audio packet
  bethsoftvid: Set video packet duration instead of accumulating pts.
  bethsoftvid: set packet key frame flag for audio and I-frame video packets.
  bethsoftvid: fix read_packet() return codes.
  bethsoftvid: pass palette in side data instead of in a separate packet.
  sdp: Ignore RTCP packets when autodetecting RTP streams
  proresenc: initialise 'sign' variable
  mpegaudio: replace memcpy by SIMD code
  vc1: prevent using last_frame as a reference for I/P first frame.

Conflicts:
	libavcodec/atrac3.c
	libavcodec/golomb.h
	libavcodec/shorten.c
	libavcodec/ws-snd1.c
	tests/ref/fate/bethsoft-vid

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-17 00:35:06 +01:00
Michael Niedermayer
60991ad6ae ffmpeg: Fix image allocation.
This probably fixes some of the use of uninitialized issues valgrind shows in fate.
It might also fix other issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-15 20:35:14 +01:00
Michael Niedermayer
c980be9e3a Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  CDXL demuxer and decoder
  hls: Re-add legacy applehttp name to preserve interface compatibility.
  hlsproto: Rename the functions and context
  hlsproto: Encourage users to try the hls demuxer instead of the proto
  doc: Move the hls protocol section into the right place
  libavformat: Rename the applehttp protocol to hls
  hls: Rename the functions and context
  libavformat: Rename the applehttp demuxer to hls
  rtpdec: Support H263 in RFC 2190 format
  rv30: check block type validity
  ttadec: CRC checking
  movenc: Support muxing VC1
  avconv: Don't split out inline sequence headers when stream copying VC1
  rv34: handle size changes during frame multithreading
  rv40: prevent undefined signed overflow in rv40_loop_filter()
  rv34: use AVERROR return values in ff_rv34_decode_frame()
  rv34: use uint16_t for RV34DecContext.deblock_coefs
  librtmp: Add "lib" prefix to librtmp URLProtocol declarations.
  movenc: Use defines instead of hardcoded numbers for RTCP types
  smjpegdec: implement seeking
  ...

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/avcodec.h
	libavcodec/rv30.c
	libavcodec/tta.c
	libavcodec/version.h
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/version.h
	libswscale/x86/swscale_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-15 01:52:14 +01:00
Stefano Sabatini
5d12b83ff1 ffmpeg.c: implement -debug_ts option
Mostly useful for debugging purposes.
2012-02-14 18:01:37 +01:00
Clément Bœsch
b986590810 ffmpeg: remove unneeded ost->picref check.
If there ost->picref is NULL, it will likely crash anyway a few lines
below by dereferencing it in order to access video attribute.
2012-02-13 23:32:39 +01:00
Clément Bœsch
c214e98634 ffmpeg: remove pointless avcodec_get_frame_defaults().
filtered_frame is overwritten just below anyway.
2012-02-13 23:32:39 +01:00
Clément Bœsch
73413e6bca ffmpeg: raise ENOMEM on avfilter_graph_alloc() failure. 2012-02-13 23:32:35 +01:00
Michael Niedermayer
4e04e1b81e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: convert yuv2yuvX() to using named arguments.
  swscale: rename "dstw" to "w" to prevent name collisions.
  swscale: use named registers in yuv2yuv1_plane() place.
  lavf: fix aspect ratio mismatch message.
  avconv: set AVFormatContext.duration from '-t'
  cljr: implement encode2.
  cljr: set the properties of the coded_frame, not input frame.
  dnxhdenc: switch to encode2.
  bmpenc: switch to encode2().

Conflicts:
	libavcodec/bmpenc.c
	libavcodec/cljr.c
	libavformat/utils.c
	tests/ref/vsynth1/cljr
	tests/ref/vsynth2/cljr

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-13 02:06:44 +01:00
Reimar Döffinger
c15f3bd3db Simplify: use local variable with same contents directly.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-12 18:56:07 +01:00
Michael Niedermayer
85f25cfa19 ffmpeg: fix passlogfile with multiple libx264 streams.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-12 00:03:26 +01:00
Michael Niedermayer
a78f6b8cb9 Merge remote-tracking branch 'qatar/master'
* qatar/master: (38 commits)
  v210enc: remove redundant check for pix_fmt
  wavpack: allow user to disable CRC checking
  v210enc: Use Bytestream2 functions
  cafdec: Check return value of avio_seek and avoid modifying state if it fails
  yop: Check return value of avio_seek and avoid modifying state if it fails
  tta: Check return value of avio_seek and avoid modifying state if it fails
  tmv: Check return value of avio_seek and avoid modifying state if it fails
  r3d: Check return value of avio_seek and avoid modifying state if it fails
  nsvdec: Check return value of avio_seek and avoid modifying state if it fails
  mpc8: Check return value of avio_seek and avoid modifying state if it fails
  jvdec: Check return value of avio_seek and avoid modifying state if it fails
  filmstripdec: Check return value of avio_seek and avoid modifying state if it fails
  ffmdec: Check return value of avio_seek and avoid modifying state if it fails
  dv: Check return value of avio_seek and avoid modifying state if it fails
  bink: Check return value of avio_seek and avoid modifying state if it fails
  Check AVCodec.pix_fmts in avcodec_open2()
  svq3: Prevent illegal reads while parsing extradata.
  remove ParseContext1
  vc1: use ff_parse_close
  mpegvideo parser: move specific fields into private context
  ...

Conflicts:
	libavcodec/4xm.c
	libavcodec/aacdec.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/mpeg4video_parser.c
	libavcodec/svq3.c
	libavcodec/v210enc.c
	libavformat/cafdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-11 01:22:22 +01:00
Clément Bœsch
a3c4371f3c ffmpeg: prefer NULL over 0 for av_log context pointer parameter. 2012-02-10 20:47:42 +01:00
Clément Bœsch
158bd596a6 ffmpeg: move quality parameter to do_video_out() scope.
This make do_video_out() and do_audio_out() consistent. Also simplifies
callers.
2012-02-10 20:13:36 +01:00
Clément Bœsch
63b5e99fab ffmpeg: make use of ret error out in transcode_video(). 2012-02-10 20:13:36 +01:00
Clément Bœsch
086fc4d765 ffmpeg: move filtered_frame to the CONFIG_AVFILTER scope.
This simplifies a bit the #ifdefery.
2012-02-10 20:13:36 +01:00
Clément Bœsch
9303b794b8 ffmpeg: move do_video_stats() above do_video_out().
This avoid a forward declaration.
2012-02-10 20:12:52 +01:00
Clément Bœsch
a78dd826ee ffmpeg: move video stats code to do_video_out().
This will allow some simplifications in transcode_video().
2012-02-10 20:12:52 +01:00
Clément Bœsch
cf31060127 ffmpeg: move filtered_frame to video stream processing scope. 2012-02-10 20:12:52 +01:00
Clément Bœsch
aede21f1b6 ffmpeg: reindent after video frame polling simplification. 2012-02-10 19:59:38 +01:00
Clément Bœsch
e22c7b4e25 ffmpeg: simplify video frame polling.
input_video_filter and output_video_filter can't be NULL at this point.
If they are, the current code would likely crash anyway (since
filtered_frame would be NULL and sent to do_video_out().
2012-02-10 19:59:38 +01:00
Clément Bœsch
4ab4b3db5a ffmpeg: use exit_program() if configure_video_filters() fails. 2012-02-10 19:59:38 +01:00
Michael Niedermayer
29034e6503 ffmpeg: Add threshold to discard crazy/damaged timestamps.
The added tests are limited to the case where timestamp discontinuities
are not allowed. The default is 30 hours which is arbitrarily picked and
quite conservative.
This prevents a out of memory condition due to duplicating a frame
millions of times.

Found-by:  Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-10 05:40:42 +01:00
Michael Niedermayer
677911ad81 ffmpeg: better dox for *pts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 19:03:31 +01:00
Michael Niedermayer
f2b20b7a8b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pixdesc: mark pseudopaletted formats with a special flag.
  avconv: switch to avcodec_encode_video2().
  libx264: implement encode2().
  libx264: split extradata writing out of encode_nals().
  lavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacket
  cmdutils: update copyright year to 2012.
  swscale: sign-extend integer function argument to qword on x86-64.
  x86inc: support yasm -f win64 flag also.
  h264: manually save/restore XMM registers for functions using INIT_MMX.
  x86inc: allow manual use of WIN64_SPILL_XMM.
  aacdec: Use correct speaker order for 7.1.
  aacdec: Remove incorrect comment.
  aacdec: Simplify output configuration.
  Remove Sun medialib glue code.
  dsputil: set STRIDE_ALIGN to 16 for x86 also.
  pngdsp: swap argument inversion.

Conflicts:
	cmdutils.c
	configure
	doc/APIchanges
	ffmpeg.c
	libavcodec/aacdec.c
	libavcodec/dsputil.h
	libavcodec/libx264.c
	libavcodec/mlib/dsputil_mlib.c
	libavcodec/utils.c
	libavfilter/vf_scale.c
	libavutil/avutil.h
	libswscale/mlib/yuv2rgb_mlib.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 01:27:12 +01:00
Michael Niedermayer
d8710228ea ffmpeg: change sync_opts code to be more similar to qatar.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 23:50:37 +01:00
Michael Niedermayer
fba318a4b0 ffmpeg: update (next_)pts in the stream copy case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 17:26:06 +01:00
Michael Niedermayer
160008a60f ffmpeg: use ist->dts in rate_emu_sleep()
Based on change by Anton Khirnov.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 17:25:40 +01:00
Michael Niedermayer
e7f4de34ad ffmpeg: use ist->dts in do_streamcopy()
Based on change by Anton Khirnov.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 17:25:01 +01:00
Anton Khirnov
67c63176ad ffmpeg: remove setting fb->pts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 16:59:50 +01:00
Anton Khirnov
d97fa416d6 ffmpeg: reduce overloading for InputStream.pts.
It currently has different meanings at different times (dts of the last
read packet/pts of the last decoded frame). Reduce obfuscation by
storing pts of the decoded frame in the frame itself.

Conflicts:

	ffmpeg.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 16:41:32 +01:00
Michael Niedermayer
67700e877d ffmpeg: update dts variables in transcode_audio()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 16:28:56 +01:00
Michael Niedermayer
6028bd0dc6 ffmpeg: move next_dts/pts update out of transcode_video()
this makes it placed similar to qatar

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 16:16:42 +01:00
Michael Niedermayer
7665da46ce ffmpeg: update ist->pts in transcode_audio with the audio decoders output.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 16:15:47 +01:00
Michael Niedermayer
8ea81805d4 ffmpeg: print more details and rescaled timestamps in debug code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 15:49:21 +01:00
Michael Niedermayer
c0be67cac1 ffmpeg: use (next_)dts in timestamp discontinuity detection code.
Strongly based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 15:49:02 +01:00
Michael Niedermayer
e806ceaa7b ffmpeg: Use the correct (dts) variables for stream copy.
Strongly based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 08:01:20 +01:00
Michael Niedermayer
f070bf0894 ffmpeg: Fix (next)_dts/pts init.
Based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 08:01:05 +01:00
Michael Niedermayer
4eea0cfc22 ffmpeg: use ist->dts instead of passing an argument into transcode_video().
This makes the code more similar to qatar
And fixes decoding of the last frame of fate/vc1-ism

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 06:46:58 +01:00
Michael Niedermayer
f72eaf69ab ffmpeg: Init dts variables in output_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 06:19:43 +01:00
Michael Niedermayer
fe380adbfb ffmpeg: add (next_dts/dts) variables.
Strongly based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 06:13:44 +01:00
Michael Niedermayer
18d0a16fc9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: make yuv2yuv1 use named registers.
  h264: mark h264_idct_add8_10 with number of XMM registers.
  swscale: fix V plane memory location in bilinear/unscaled RGB/YUYV case.
  vp8: always update next_framep[] before returning from decode_frame().
  avconv: estimate next_dts from framerate if it is set.
  avconv: better next_dts usage.
  avconv: rename InputStream.pts to last_dts.
  avconv: reduce overloading for InputStream.pts.
  avconv: rename InputStream.next_pts to next_dts.
  avconv: rework -t handling for encoding.
  avconv: set encoder timebase for subtitles.
  pva-demux test: add -vn
  swscale: K&R formatting cosmetics for SPARC code
  apedec: allow the user to set the maximum number of output samples per call
  apedec: do not unnecessarily zero output samples for mono frames
  apedec: allocate a single flat buffer for decoded samples
  apedec: use sizeof(field) instead of sizeof(type)
  swscale: split C output functions into separate file.
  swscale: Split C input functions into separate file.
  bytestream: Add bytestream2 writing API.

The avconv changes are due to massive regressions and bugs not merged yet.

Conflicts:
	ffmpeg.c
	libavcodec/vp8.c
	libswscale/swscale.c
	libswscale/x86/swscale_template.c
	tests/fate/demux.mak
	tests/ref/lavf/asf
	tests/ref/lavf/avi
	tests/ref/lavf/mkv
	tests/ref/lavf/mpg
	tests/ref/lavf/nut
	tests/ref/lavf/ogg
	tests/ref/lavf/rm
	tests/ref/lavf/ts
	tests/ref/seek/lavf_avi
	tests/ref/seek/lavf_mkv
	tests/ref/seek/lavf_rm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-08 05:53:35 +01:00
Stefano Sabatini
f491f033f5 ffmpeg: document the unit for the -fs option parameter 2012-02-06 20:47:09 +01:00
Stefano Sabatini
70ffda3217 lavu: introduce av_parse_ratio() and use it in ffmpeg and lavfi/aspect
Factorize code and provide ratio parsing consistency.
2012-02-06 11:30:54 +01:00
Michael Niedermayer
982783ac49 ffmpeg: document avi special case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-05 05:14:26 +01:00
Michael Niedermayer
3b46daa31f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: remove debug message in dsputil_init().
  movdec: Avoid av_malloc(0) in stss
  build: Drop YASM-OBJS-FFT from SUBDIR_VARS.
  build: Drop unused X86-OBJS variable.
  avconv: remove debugging cruft from do_video_out().
  avconv: factorize setting stream_index for the output packet.
  frame{crc/md5}: set the stream timebase from codec timebase.
  apedec: remove unneeded #include of get_bits.h and associated macro
  apedec: av_fast_malloc() instead of av_realloc()
  apedec: fix handling of packet sizes that are not a multiple of 4 bytes

Conflicts:
	libavcodec/apedec.c
	tests/ref/fate/4xm-1
	tests/ref/fate/4xm-2
	tests/ref/fate/aasc
	tests/ref/fate/armovie-escape124
	tests/ref/fate/bethsoft-vid
	tests/ref/fate/cljr
	tests/ref/fate/creatureshock-avs
	tests/ref/fate/cscd
	tests/ref/fate/cvid-partial
	tests/ref/fate/deluxepaint-anm
	tests/ref/fate/dfa1
	tests/ref/fate/dfa10
	tests/ref/fate/dfa11
	tests/ref/fate/dfa2
	tests/ref/fate/dfa3
	tests/ref/fate/dfa4
	tests/ref/fate/dfa5
	tests/ref/fate/dfa6
	tests/ref/fate/dfa7
	tests/ref/fate/dfa8
	tests/ref/fate/dfa9
	tests/ref/fate/film-cvid-pcm-stereo-8bit
	tests/ref/fate/flic-af11-palette-change
	tests/ref/fate/flic-magiccarpet
	tests/ref/fate/fraps-v2
	tests/ref/fate/fraps-v3
	tests/ref/fate/h264-lossless
	tests/ref/fate/interplay-mve-16bit
	tests/ref/fate/interplay-mve-8bit
	tests/ref/fate/mimic
	tests/ref/fate/motionpixels
	tests/ref/fate/mpeg2-field-enc
	tests/ref/fate/msvideo1-16bit
	tests/ref/fate/mtv
	tests/ref/fate/nuv
	tests/ref/fate/pictor
	tests/ref/fate/prores-alpha
	tests/ref/fate/ptx
	tests/ref/fate/qtrle-16bit
	tests/ref/fate/qtrle-1bit
	tests/ref/fate/quickdraw
	tests/ref/fate/rpza
	tests/ref/fate/sierra-vmd
	tests/ref/fate/targa-conformance-CCM8
	tests/ref/fate/targa-conformance-UCM8
	tests/ref/fate/tiertex-seq
	tests/ref/fate/truemotion1-15
	tests/ref/fate/truemotion1-24
	tests/ref/fate/tscc-15bit
	tests/ref/fate/tscc-32bit
	tests/ref/fate/v210
	tests/ref/fate/vc1-ism
	tests/ref/fate/vc1_sa00040
	tests/ref/fate/vc1_sa00050
	tests/ref/fate/vc1_sa10091
	tests/ref/fate/vc1_sa20021
	tests/ref/fate/vmnc-16bit
	tests/ref/fate/vmnc-32bit
	tests/ref/fate/vp5
	tests/ref/fate/vp8-sign-bias
	tests/ref/fate/vqa-cc
	tests/ref/fate/wmv8-drm
	tests/ref/fate/yop
	tests/ref/fate/zmbv-8bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-04 02:34:14 +01:00
Clément Bœsch
c673671333 ffmpeg: fix -map_channel being ignored when resampling is not needed. 2012-01-31 17:44:46 +01:00
Michael Niedermayer
151ecc2aec Merge remote-tracking branch 'qatar/master'
* qatar/master: (26 commits)
  avconv: deprecate the -deinterlace option
  doc: Fix the name of the new function
  aacenc: make sure to encode enough frames to cover all input samples.
  aacenc: only use the number of input samples provided by the user.
  wmadec: Verify bitstream size makes sense before calling init_get_bits.
  kmvc: Log into a context at a log level constant.
  mpeg12: Pad framerate tab to 16 entries.
  kgv1dec: Increase offsets array size so it is large enough.
  kmvc: Check palsize.
  nsvdec: Propagate errors
  nsvdec: Be more careful with av_malloc().
  nsvdec: Fix use of uninitialized streams.
  movenc: cosmetics: Get rid of camelCase identifiers
  swscale: more generic check for planar destination formats with alpha
  doc: Document mov/mp4 fragmentation options
  build: Use order-only prerequisites for creating FATE reference file dirs.
  x86 dsputil: provide SSE2/SSSE3 versions of bswap_buf
  rtsp: Remove some unused variables from ff_rtsp_connect().
  avutil: make intfloat api public
  avformat_write_header(): detail error message
  ...

Conflicts:
	doc/APIchanges
	doc/ffmpeg.texi
	doc/muxers.texi
	ffmpeg.c
	libavcodec/kmvc.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_yasm.asm
	libavcodec/x86/pngdsp-init.c
	libavformat/movenc.c
	libavformat/movenc.h
	libavformat/mpegtsenc.c
	libavformat/nsvdec.c
	libavformat/utils.c
	libavutil/avutil.h
	libswscale/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 02:46:26 +01:00
Reimar Döffinger
05741d70c7 Fallback to input timestamps for non-delay encoders.
Causes FFmpeg to pass through the correct pts values,
instead of clobbering all to AV_NOPTS_VALUE (the av_init_packet
default) to then make up new ones based on only fps when muxing.
Included are also the related FATE ref changes, which all
some reasonable on quick investigation.
Also set all H.264 references to us -vsync drop to reduce the
diff for the ref files.
Otherwise almost all H.264 references need to change, mostly due
to now starting with negative pts values.
About 20 additional H.264 conformance tests needed -vsync
drop anyway because they create pts values that are out of
order and thus not possible to mux otherwise.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 14:17:11 +01:00
Reimar Döffinger
47a5274104 Add -vsync drop.
This allows to work around any non-monotonic time-stamp errors
by just discarding all time stamps.
This will be necessary to allow H.264 conformance tests to pass
after fixing time stamps to be passed through rawenc.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 22:01:09 +01:00
Reimar Döffinger
836110665f Compare video_sync_method against the appropriate defines.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 22:01:09 +01:00
Michael Niedermayer
e37f161e66 Merge remote-tracking branch 'qatar/master'
* qatar/master: (71 commits)
  movenc: Allow writing to a non-seekable output if using empty moov
  movenc: Support adding isml (smooth streaming live) metadata
  libavcodec: Don't crash in avcodec_encode_audio if time_base isn't set
  sunrast: Document the different Sun Raster file format types.
  sunrast: Add a check for experimental type.
  libspeexenc: use AVSampleFormat instead of deprecated/removed SampleFormat
  lavf: remove disabled FF_API_SET_PTS_INFO cruft
  lavf: remove disabled FF_API_OLD_INTERRUPT_CB cruft
  lavf: remove disabled FF_API_REORDER_PRIVATE cruft
  lavf: remove disabled FF_API_SEEK_PUBLIC cruft
  lavf: remove disabled FF_API_STREAM_COPY cruft
  lavf: remove disabled FF_API_PRELOAD cruft
  lavf: remove disabled FF_API_NEW_STREAM cruft
  lavf: remove disabled FF_API_RTSP_URL_OPTIONS cruft
  lavf: remove disabled FF_API_MUXRATE cruft
  lavf: remove disabled FF_API_FILESIZE cruft
  lavf: remove disabled FF_API_TIMESTAMP cruft
  lavf: remove disabled FF_API_LOOP_OUTPUT cruft
  lavf: remove disabled FF_API_LOOP_INPUT cruft
  lavf: remove disabled FF_API_AVSTREAM_QUALITY cruft
  ...

Conflicts:
	doc/APIchanges
	libavcodec/8bps.c
	libavcodec/avcodec.h
	libavcodec/libx264.c
	libavcodec/mjpegbdec.c
	libavcodec/options.c
	libavcodec/sunrast.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/h264_deblock.asm
	libavdevice/libdc1394.c
	libavdevice/v4l2.c
	libavformat/avformat.h
	libavformat/avio.c
	libavformat/avio.h
	libavformat/aviobuf.c
	libavformat/dv.c
	libavformat/mov.c
	libavformat/utils.c
	libavformat/version.h
	libavformat/wtv.c
	libavutil/Makefile
	libavutil/file.c
	libswscale/x86/input.asm
	libswscale/x86/swscale_mmx.c
	libswscale/x86/swscale_template.c
	tests/ref/lavf/ffm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 07:53:34 +01:00
Michael Niedermayer
fe0089a6ed ffmpeg: fix -qscale X breaking audio codecs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-26 19:54:38 +01:00
Michael Niedermayer
3c5fe5b527 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  wma: Clip WMA1 and WMA2 frame length to 11 bits.
  movenc: Don't require frame_size to be set for modes other than mov
  doc: Update APIchanges with info on muxer flushing
  movenc: Reindent a block
  tools: Remove some unnecessary #undefs.
  rv20: prevent calling ff_h263_decode_mba() with unset height/width
  tools: K&R reformatting cosmetics
  Ignore generated aviocat and ismindex tools.
  build: Automatically include architecture-specific library Makefile snippets.
  indeo5: prevent null pointer dereference on broken files
  pktdumper: Use usleep instead of sleep
  cosmetics: Remove some unnecessary block braces.
  Drop unnecessary prefix from *sink* variable and struct names.
  Add a tool for creating smooth streaming manifests
  movdec: Calculate an average bit rate for fragmented streams, too
  movenc: Write the sample rate instead of time scale in the stsd atom
  movenc: Add a separate ismv/isma (smooth streaming) muxer
  movenc: Allow the caller to decide on fragmentation
  libavformat: Add a flag for muxers that support write_packet(NULL) for flushing
  movenc: Add support for writing fragmented mov files
  ...

Conflicts:
	Changelog
	cmdutils.c
	cmdutils.h
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavfilter/Makefile
	libavformat/Makefile
	libavformat/avformat.h
	libavformat/movenc.c
	libavformat/movenc.h
	libavformat/version.h
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-26 02:23:56 +01:00
Michael Niedermayer
668494acd8 ffmpeg: add image size check to codec_get_buffer()
Fixes CVE-2011-3935

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-25 06:48:30 +01:00
Michael Niedermayer
20aed9ed4f ffmpeg: Allocate buffers of the size needed by the decoder.
Fixes bug127

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-24 15:36:38 +01:00
Anton Khirnov
0fec2cb15c Remove ffmpeg. 2012-01-23 21:04:29 +01:00
Michael Niedermayer
c5c7e0ebc1 git show 2473a45c85 avconv.c | patch ffmpeg.c
Original commit:
commit 2473a45c85
Author: Janne Grunau <janne-libav@jannau.net>
Date:   Wed Jan 18 10:53:41 2012 +0100

    threads: change the default for threads back to 1

    Using threaded decoding by default breaks backward compatibility if
    AVHWAccel is used or if an appliction sets threadunsafe callbacks.
    Avconv and avplay still use -threads auto if not specified.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-21 23:23:23 +01:00
Stefano Sabatini
72092188ef ffmpeg: remove unused and commented variable OutputStream.sync_ipts 2012-01-20 10:58:00 +01:00
Diego Biurrun
45f2908d02 cosmetics: Rename ffsink to avsink. 2012-01-19 00:19:43 +01:00
Michael Niedermayer
e191f1f414 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  tta: cast output data pointer to the correct type
  avconv: fix -frames for video encoders with delay.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-18 02:08:12 +01:00
Reimar Döffinger
d393f41a33 Fix memleak after switch to encode_audio2 API.
Obviously the packet allocated by the encoder must be freed somewhere.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-17 22:16:07 +01:00
Reimar Döffinger
71a2c9b265 ffmpeg: check tcgetattr result.
This fixes parallel FATE (make fate -j4) failing under valgrind with:
 Syscall param ioctl(TCSET{S,SW,SF}) points to uninitialised byte(s)
    at 0x5D98B23: tcsetattr (tcsetattr.c:88)
    by 0x43D66C: term_init (ffmpeg.c:734)
    by 0x43CD8D: main (ffmpeg.c:5071)
  Address 0x7fefffdd0 is on thread 1's stack
  Uninitialised value was created by a stack allocation
    at 0x43D5B0: term_init (ffmpeg.c:716)

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-17 20:16:50 +01:00
Michael Niedermayer
67f5650a78 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv34: add NEON rv34_idct_add
  rv34: 1-pass inter MB reconstruction
  add SMJPEG muxer
  avformat: split out common SMJPEG code
  pictordec: Use bytestream2 functions
  avconv: use avcodec_encode_audio2()
  pcmenc: use AVCodec.encode2()
  avcodec: bump minor version and add APIChanges for the new audio encoding API
  avcodec: Add avcodec_encode_audio2() as replacement for avcodec_encode_audio()
  avcodec: add a public function, avcodec_fill_audio_frame().
  rv34: Intra 16x16 handling
  rv34: Inter/intra MB code split

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/pictordec.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/rv34dsp.asm
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-17 02:37:30 +01:00
Carl Eugen Hoyos
93af38ca93 Increase maximum encoding video buffer size.
libavutil now supports 64bit RGB formats.
2012-01-14 00:59:02 +01:00