Commit Graph

1748 Commits

Author SHA1 Message Date
Michael Niedermayer 9ec5e956a2 ffmpeg: disable threading on mingw, it doesnt work due to dependance on internal code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 23:31:28 +02:00
Michael Niedermayer 0478d5f9fe ffmpeg: allow overriding framerate for stream copy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 03:00:28 +02:00
Michael Niedermayer 3630a07513 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libmp3lame: add missing layout terminator
  avconv: multithreaded demuxing.
  Bump lavu minor and add an APIChanges entry for audioconvert functions.
  audioconvert: add a function for extracting the channel with the given index
  audioconvert: add a function for getting the name of a single channel.
  audioconvert: add a function for getting channel's index in layout
  audioconvert: use av_popcount64 in av_get_channel_layout_nb_channels
  vf_libopencv: add missing headers.
  iac: add missing dependency

Conflicts:
	configure
	doc/APIchanges
	ffmpeg.c
	libavcodec/libmp3lame.c
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 21:34:15 +02:00
Michael Niedermayer eae983f4ff ffmpeg: fix fate breakage introduced by key=value buffersrc args.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 14:02:27 +02:00
Nicolas George 6fef82f22d ffmpeg: with filter_complex, avoid random in<->out mapping.
With complex filters, an output can come from any input,
or several inputs, including inputs of a different type.
Copying the codec parameters from the first input with
the same type does not make any sense.

This does not change anything for simple 1->1 filters,
as source_index is set in that case.
2012-06-09 08:42:50 +02:00
Nicolas George fbaa8fe6c6 ffmpeg: init icodec.
With complex filter graphs, it can end up accessed
without having been set.
2012-06-09 08:42:50 +02:00
Nicolas George 8362d734a3 ffmpeg: use the frame rate computed by lavfi.
This frame rate is more reliable than the one copied
from the input stream, so it is used in priority.
2012-06-09 08:42:50 +02:00
Nicolas George 5f281e94ba ffmpeg: add frame rate to the buffersrc arguments.
The arguments now use the key=value syntax.
2012-06-09 08:42:50 +02:00
Mike Scheutzow 1be7bfdd2b ffmpeg.c: fix erroneous "Output file is empty" message.
This message is printed whenever the RAWVIDEO codec is used, whether the
output file contains any frames or not. Test command:
./ffmpeg -i infile.y4m outfile.y4m

Signed-off-by: Mike Scheutzow <mjs973@optonline.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 18:22:40 +02:00
Nicolas George 25e87fc5f6 ffmpeg: move keyboard interaction in a function.
It makes the transcode loop easier to read (30% less code)
and the differences with avconv easier to spot.
2012-06-07 17:13:02 +02:00
Philip Langdale 92c065f93f ffmpeg: Set duration on encoded subtitle packets.
Currently, we don't set the duration on the packet of a newly
encoded subtitle. This information may be required by the
muxer.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 18:49:10 +02:00
Reimar Döffinger 93147daf59 ffmpeg: avoid a confusing and easy to break if().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 17:13:28 +02:00
Michael Niedermayer c8a11014b6 ffmpeg: use isatty() before messing with the terminal state
This fixes terminal messup in case of crashes (like in make fate)

Reviewed-by: François Revol <revol@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 03:54:02 +02: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
Michael Niedermayer 944d049eaa Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Write chan atom for all audio tracks in mov mode movies.
  mpegtsenc: use avio_open_dyn_buf(), zero pointers after freeing
  doc/avconv: add some details about the transcoding process.
  avidec: make scale and rate unsigned.
  avconv: check output stream recording time before each frame returned from filters
  avconv: split selecting input file out of transcode().
  avconv: split checking for active outputs out of transcode().
  avfiltergraph: make some functions static.

Conflicts:
	ffmpeg.c
	libavfilter/avfiltergraph.c
	libavfilter/internal.h
	libavformat/mpegtsenc.c
	tests/ref/fate/acodec-alac
	tests/ref/fate/acodec-pcm-s16be
	tests/ref/fate/acodec-pcm-s24be
	tests/ref/fate/acodec-pcm-s32be
	tests/ref/fate/acodec-pcm-s8
	tests/ref/lavf/mov

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 22:59:32 +02:00
Clément Bœsch df03ae8dd8 ffmpeg: remove two unused variables. 2012-06-04 22:32:26 +02:00
Michael Niedermayer 02ff89a1cd ffmpeg: disable audio volume insertion on the output side.
This fixes -vol leading to 2 inserted volume filters

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 15:49:03 +02:00
Clément Bœsch c790ae0265 ffmpeg: add missing return carriage in error message. 2012-06-04 09:10:07 +02:00
Clément Bœsch 6b35f1a2a6 timecode: move timecode muxer options to metadata.
Some demuxers set a timecode in the format or streams metadata. The
muxers now make use of this metadata instead of a duplicated private
option.

This makes possible transparent copy of the timecode when transmuxing
and transcoding.

-timecode option for MPEG1/2 codec is also renamed to -gop_timecode. The
global ffmpeg -timecode option will set it anyway so no option change
visible for the user.
2012-06-04 07:41:22 +02:00
Stefano Sabatini f1add01d98 ffmpeg: be more verbose when printing an error in transcode()
Helps debuggability.
2012-06-04 00:55:08 +02:00
Stefano Sabatini 6a9854e8f4 ffmpeg: specify more meaningful names for the lavfi buffer sources 2012-06-04 00:55:02 +02:00
Nicolas George 8b0e173529 ffmpeg: use filter time base as codec time base. 2012-06-03 23:43:57 +02:00
Nicolas George 48b5bcb3dd ffmpeg: avoid NULL dereference with filters.
icodec can be NULL if there is no input stream
clearly associated with the output stream.
2012-06-03 23:43:57 +02:00
Michael Niedermayer d43812e235 ffmpeg: move pan filter insertion up.
This fixes one (disabled) fate test.

Thanks-to: ubitux to pointing at the odd filter order and stereo/mono messup
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 18:43:13 +02:00
Michael Niedermayer 23b365f1c4 ffmpeg: fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 12:31:13 +02:00
Michael Niedermayer 60de761657 ffmpeg: allow overriding input top field first
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 12:42:02 +02:00
Michael Niedermayer 96fe99cb11 ffmpeg: disable autoinsertion for -async on the output side of the filtergraph.
This fixes the issue that since the last merge -async caused 2 aresample
filters to be inserted
users that generate funny timestamps in a filtergraph should probably
manually insert a aresample filter where they need it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 15:55:31 +02:00
Michael Niedermayer 16e25ef34b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: extend -r to work on any input stream.
  doc/avconv: expand documentation for the -s option.
  avconv: don't print filters inserted by avconv in stream mappings.
  avconv: merge configuration code for complex and simple filters
  avconv: split configuring input filters out of configure_complex_filter

Conflicts:
	configure
	doc/ffmpeg.texi
	ffmpeg.c
	tests/ref/fate/idroq-video-encode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 04:38:32 +02:00
Clément Bœsch d187e7616e ffmpeg: use %f instead of %lf in volume args format printf.
%f refers to a double argument already.
2012-05-28 22:17:05 +02:00
Michael Niedermayer 53ce990513 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  opt: Add av_opt_set_bin()
  avconv: Display the error returned by avformat_write_header
  rtpenc_chain: Return an error code instead of just a plain pointer
  rtpenc_chain: Free the URLContext on failure
  rtpenc: Expose the ssrc as an avoption
  avprobe: display the codec profile in show_stream()
  avprobe: fix function prototype
  cosmetics: Fix indentation
  avprobe: changelog entry
  avprobe: update documentation
  avprobe: provide JSON output
  avprobe: output proper INI format
  avprobe: improve formatting
  rtmp: fix url parsing
  fate: document TARGET_EXEC and its usage

Conflicts:
	doc/APIchanges
	doc/fate.texi
	doc/ffprobe.texi
	ffprobe.c
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 22:37:37 +02:00
Clément Bœsch d8e075b1a0 ffmpeg: use AUTO_INSERT_FILTER() for -async option. 2012-05-24 23:33:21 +02:00
Michael Niedermayer d0ad91c258 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  os_support: Define SHUT_RD, SHUT_WR and SHUT_RDWR on OS/2
  http: Add support for reading http POST reply headers
  http: Add http_shutdown() for ending writing of posts
  tcp: Allow signalling end of reading/writing
  avio: Add a function for signalling end of reading/writing
  lavfi: fix comment, audio is supported now.
  lavfi: fix incorrect comment.
  lavfi: remove avfilter_null_* from public API on next bump.
  lavfi: remove avfilter_default_* from public API on next bump.
  lavfi: deprecate default config_props() callback and refactor avfilter_config_links()
  avfiltergraph: smarter sample format selection.
  avconv: rename transcode_audio/video to decode_audio/video.
  asyncts: reset delta to 0 when it's not used.
  x86: lavc: use %if HAVE_AVX guards around AVX functions in yasm code.
  dwt: return errors from ff_slice_buffer_init()

Conflicts:
	ffmpeg.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/formats.c
	libavfilter/version.h
	libavfilter/vf_blackframe.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_format.c
	libavfilter/vf_showinfo.c
	libavfilter/video.c
	libavfilter/video.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-23 21:48:31 +02:00
Matthieu Bouron 432fe9a38a ffmpeg: fix a crash with complex filters when pix_fmt is not specified
ffmpeg -i in.mxf -filter_complex "[0:0]fieldorder=tff" out.wav will
fail with an error message instead of crashing.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 19:36:00 +02:00
Michael Niedermayer 318e395764 ffmpeg: drop get_sync_ipts() and drop related special case for video
Idea found in a commit from Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 19:36:00 +02:00
Michael Niedermayer cf9812d22b ffmpeg: move setting big_picture.pts up
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 16:29:07 +02:00
Michael Niedermayer bf3dce6b59 ffmpeg: change AVFMT_RAWPICTURE pts to reduce diff to qatar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 12:29:33 +02:00
Michael Niedermayer 13c254a216 ffmpeg: random cosmectics to reduce diff to qatar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 12:24:49 +02:00
Michael Niedermayer 9ce3d03fc2 ffmpeg: cosmetics to reduce difference to qatar by 101 lines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 12:12:13 +02:00
Michael Niedermayer 3ba90d9e97 ffmpeg: cosmetics to reduce difference to qatar by about 90 lines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 12:12:13 +02:00
Michael Niedermayer c53326afad ffmpeg: move ost->frame_rate setting code before the filtergraph stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 11:55:25 +02:00
Michael Niedermayer 953df5d962 ffmpeg: drop pkt_pts
Reduces diff to qatar by 9 lines
Should not change anything

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 11:40:05 +02:00
Michael Niedermayer ef7ac8e8ec ffmpeg: set the video filters timebase to the demuxers.
Inspired-by a change from Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 11:40:05 +02:00
Michael Niedermayer 3cf5591344 ffmpeg: reintroducing check_recording_time()
This reduces the difference to qatar by 27 lines
No functional change, the code should be unused

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 11:35:08 +02:00
Michael Niedermayer 8364cb9719 ffmpeg: fix uninitialized variable warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-20 11:35:08 +02:00
Michael Niedermayer 040a796dab Merge commit '755cd4197d53946208e042f095b930dca18d9430'
* commit '755cd4197d53946208e042f095b930dca18d9430':
  mov: enable parsing for VC-1.
  lavfi: Add fps filter.
  lavfi: initialize pts to AV_NOPTS_VALUE when creating new buffer refs.
  avconv: add support for audio in complex filtergraphs.

Conflicts:
	ffmpeg.c
	libavfilter/version.h
	libavformat/mov.c
	tests/ref/fate/vc1-ism

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 20:31:24 +02:00
Michael Niedermayer 9d30a96aa1 ffmpeg: inject a aresample filter for -async
Based on similar code from anton

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:38 +02:00
Clément Bœsch eb945ab484 ffmpeg: misc cosmetics.
Reduce diff against avconv, and change some doxycomments into normal
comments (no point in doxifying ffmpeg internal fields).
2012-05-19 12:05:05 +02:00
Nicolas George 00be2f5726 ffmpeg: adapt to the buffersrc API changes. 2012-05-19 10:59:52 +02:00
Michael Niedermayer 31dfe20dd2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: Replace some @file tags by more suitable markup.
  fate: Set FUZZ factor of vorbis-13 test to 2.
  fate: Set FUZZ factor of (e)ac3-encode test to 3.
  fate: remove unused code from regressions-funcs.sh
  rtmp: Don't assume path points to a string of nonzero length
  avconv: fix behavior with -ss as an output option.

Conflicts:
	doc/platform.texi
	doc/protocols.texi
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 00:52:25 +02:00
Michael Niedermayer 48a40e09c4 ffmpeg: fix warning & bug for keep_pix_fmt
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 00:23:56 +02:00