Commit Graph

2152 Commits

Author SHA1 Message Date
Michael Niedermayer 3734c3ea51 ffmpeg: reduce frame rate for mpeg4 to be within the spec limits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-19 18:40:27 +01:00
Michael Niedermayer 3868e97c6b ffmpeg: fix vstats
Broken by: 394fb56c29
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-10 20:31:06 +01:00
Stefano Sabatini 290da7e754 ffmpeg: tweak debug_ts logging and add more of it
Help with debugging timestamp issues.
2014-02-02 13:11:52 +01:00
Michael Niedermayer 2e02d71237 ffmpeg: print data size too in statistic
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-31 01:36:47 +01:00
Michael Niedermayer be7b76230f ffmpeg: also count data streams bytes
Fixes wrong error message about empty output file

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-30 20:17:10 +01:00
Stefano Sabatini 9651239f67 ffmpeg: use intermediary variables in reap_filters, increase readability 2014-01-26 18:06:39 +01:00
Stefano Sabatini 094516a5d0 ffmpeg: use av_err2str() macro
Simplify.
2014-01-23 16:29:44 +01:00
Stefano Sabatini 9f956d9d8d ffmpeg: apply misc cosmetics to process_input() code 2014-01-23 16:29:39 +01:00
Michael Niedermayer 740e6042a0 ffmpeg: change ost->finished to an enum
Idea-by: ramiro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 23:57:02 +01:00
Michael Niedermayer d73f897669 ffmpeg: update statistics only when a packet is actually muxed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 23:47:39 +01:00
Michael Niedermayer 5c459504f6 ffmpeg/flush_encoders: dont mux packets once ost->finished has been set
Fixes muxing frames after av_interleaved_write_frame() failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 23:47:38 +01:00
Michael Niedermayer 706741e8d7 ffmpeg: properly close down muxers on av_interleaved_write_frame() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 23:47:38 +01:00
Michael Niedermayer 4ff77d4451 ffmpeg: check ost->finished in check_output_constraints()
No testcase but it seems logic to stop when finished is set

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 23:47:37 +01:00
Michael Niedermayer 7d91fb305e ffmpeg: check ost->finished in reap_filters()
This avoids finished output streams continuing to receive frames

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 23:47:36 +01:00
Michael Niedermayer 206c06d96f Merge commit '2ce8bca51f7264b47027f69d50dd8e49aa2fd683'
* commit '2ce8bca51f7264b47027f69d50dd8e49aa2fd683':
  avconv: print a warning when falling back to default 25fps

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 16:11:53 +01:00
Michael Niedermayer 88956f73f2 ffmpeg: use timestamp from before and after the decoder to detect backward moving dts for discontinuity detection
This should make discontinuity detection more robust and detect
more cases. Timestamps after the decoder can be delayed due to threads,
timestamps before can be missing

no testcase available/known

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-22 19:48:00 +01:00
Jan Gerber 200cfab8c4 remuxing .opus files to .webm codec->delay must be copied too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-19 23:43:14 +01:00
Michael Niedermayer e22e943ef9 Merge commit '674fa49110a661694188a958be13d529b7c8c5dd'
* commit '674fa49110a661694188a958be13d529b7c8c5dd':
  avconv: do not call avcodec_get_frame_defaults()

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 23:36:10 +01:00
Michael Niedermayer 4cbf3eb9e6 Merge commit 'eb891b3114f499e96b9faddd0b0ae856345dfbd9'
* commit 'eb891b3114f499e96b9faddd0b0ae856345dfbd9':
  Replace all uses of avcodec_free_frame with av_frame_free().

Conflicts:
	doc/examples/decoding_encoding.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 23:18:51 +01:00
Marton Balint 31bb172be2 ffmpeg: ensure that -fix_sub_duration doesnt create subtitles with zero duration
When fix_sub_duration is used, and the duration fixing code is generating 0
duration, that is definitely zero, and not undefined or infinite (which may be
the case for decoded AVSubtitles depending on the codec), so it is safe to drop
it.

It fixes teletext subtitle sources, when the subtitles are transmitted twice
after each other for some reason.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Nicolas George <george@nsup.org>
2013-11-28 21:30:03 +01:00
Marton Balint 4d6f2ff524 ffmpeg: free empty subtitles as well in transcode_subtitles
Even if it does not matter at the moment, because subtitles with num_rect == 0
have no memory allocated, this is how we expect the users to use the API, a
returned AVSubtitle should be freed with avsubtitle_free.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Nicolas George <george@nsup.org>
2013-11-28 21:30:03 +01:00
Marton Balint 3e396ca8ed ffmpeg: do not pass possibly undefined subtitles to sub2video_update
It should not matter for real-life usage, it is just cleaner this way.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Nicolas George <george@nsup.org>
2013-11-28 21:29:54 +01:00
Michael Niedermayer 738ebb4a0e ffmpeg: set VCFR when copying timestamps
This fixes unreasonable initial frame repeats
Fixes Ticket3176

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 02:28:50 +01:00
Michael Niedermayer ccdfa3e271 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add missing #includes for *INT64_MAX and *INT64_C

Conflicts:
	ffmpeg.c
	ffmpeg_filter.c
	ffplay.c
	libavformat/assdec.c
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 05:21:19 +01:00
Michael Niedermayer 62e10c3759 Merge commit '07fd0a22192805d56c635eb294dc26b0a54ae325'
* commit '07fd0a22192805d56c635eb294dc26b0a54ae325':
  avconv: add infrastructure for using hwaccels

Conflicts:
	ffmpeg.c
	ffmpeg.h
	ffmpeg_filter.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-23 14:31:15 +01:00
Michael Niedermayer d7ac887cd6 cmdutils&ffmpeg: use av_fopen_utf8() for passlogfile
might fix Ticket3056

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-21 18:27:46 +01:00
Michael Niedermayer df87cfd798 ffmpeg: fix do_streamcopy() so it copies side data too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-20 00:23:23 +01:00
Michael Niedermayer 0ee905e243 Merge commit '5b9c3b4505206143d85398c1410949319fa1180f'
* commit '5b9c3b4505206143d85398c1410949319fa1180f':
  Replace all instances of avcodec_alloc_frame() with av_frame_alloc().

Conflicts:
	doc/examples/decoding_encoding.c
	doc/examples/muxing.c
	ffmpeg.c
	libavcodec/alacenc.c
	libavcodec/libopenjpegenc.c
	libavcodec/libvpxenc.c
	libavcodec/pcm.c
	libavcodec/xbmenc.c
	libavcodec/xwdenc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-16 23:54:10 +01:00
Michael Niedermayer d7ebeba80c ffmpeg: Do not fill gap before the first decodable frame on single stream input files unless the user explicitly requests it.
Fixes different behavior to JM and probably several if not all
reference decoders.

We cannot just do this unconditionally as it would ruin AV sync in
some use cases.

Bug-Found-by: BugMaster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-16 14:27:29 +01:00
Michael Niedermayer 8cdf4e0823 ffmpeg: remove unneeded include "libswscale/swscale.h"
Found-by: ramiro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-10 21:45:19 +01:00
Michael Niedermayer 9c52ab6f4f ffmpeg: treat avi as VFR in framerate conversion code
It can be debated if avi is vfr or cfr, it can be either depending
on the definition of vfr and cfr.
This commit ensures that avi is treated correctly independent of
the AVFMT_VARIABLE_FPS value.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-09 00:09:32 +01:00
Michael Niedermayer c6c03dfdf1 Merge commit 'ccc71298456d97f64f539e303c771d04dcb33c53'
* commit 'ccc71298456d97f64f539e303c771d04dcb33c53':
  lavc: deprecate FF_DEBUG_MV and remove all traces of its use

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 18:22:42 +01:00
Michael Niedermayer 0460b9bb3e Merge commit 'c872d310cd9c605e5f994ad8ac79dc72303c0d29'
* commit 'c872d310cd9c605e5f994ad8ac79dc72303c0d29':
  avconv: stop accessing AVStream.parser

Conflicts:
	ffmpeg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 21:38:53 +01:00
Michael Niedermayer ed49e91fd7 Merge commit 'ddc589ce98c2bba1e59318b5b0224717325eac46'
* commit 'ddc589ce98c2bba1e59318b5b0224717325eac46':
  avconv: drop a now useless variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 10:46:47 +01:00
Michael Niedermayer a443b9732f ffmpeg: make stream default if its the only of its kind and no source can be unambigously assigned to it
Fixes Ticket2969

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 02:08:35 +02:00
Michael Niedermayer b36257921e ffmpeg: Dont crash on unconnected output pads before an error is printed
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 11:39:43 +02:00
Michael Niedermayer a72bf5fd11 ffmpeg: set the source_index for trivial filter graphs
Fixes one testcase in Ticket2969

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 00:51:09 +02:00
Michael Niedermayer b6b9c150f0 ffmpeg: add max_error_rate to allow tuning the point decoding errors are considered a failure of the whole transcoding.
Suggested-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-07 23:58:59 +02:00
Michael Niedermayer 38e13f55a5 ffmpeg: dont detect slight (0.1sec) backward moving dts as discontinuity 2013-10-07 01:36:05 +02:00
Michael Niedermayer 0425fd7eb2 ffmpeg: dont return reserved values
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 12:59:39 +02:00
Michael Niedermayer 7883827cb7 ffmpeg: check for unsupported "queing of command on first filter supporting the specific commend"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 14:13:44 +02:00
Michael Niedermayer 1525107313 ffmpeg: improve built in docs for passing commands
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 14:13:18 +02:00
Michael Niedermayer f8f4e48b6d ffmpeg: print command replies starting on column 0
This fixes formating issues with multi-line replies

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 13:57:29 +02:00
Carl Eugen Hoyos 47f9a5b737 Warn the user if a pix_fmt != yuv420p was chosen for MPEG-2 video encoding.
Fixes ticket #2870.
2013-08-18 22:00:35 +02:00
Michael Niedermayer b7fc2693c7 Merge commit '488a0fa68973d48e264d54f1722f7afb18afbea7'
* commit '488a0fa68973d48e264d54f1722f7afb18afbea7':
  avconv: support -t as an input option.

Conflicts:
	Changelog
	ffmpeg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 12:41:04 +02:00
Michael Niedermayer 3fa72de82f Merge commit '56ee3f9de7b9f6090d599a27d33a392890a2f7b8'
* commit '56ee3f9de7b9f6090d599a27d33a392890a2f7b8':
  avconv: distinguish between -ss 0 and -ss not being used

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 10:25:32 +02:00
Stefano Sabatini f118b41759 ffmpeg: raise level for message printed in case of auto-select pixel format
Increase visibility, in order to decrease troubleshooting for
users generating non playable H.264 content.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-08-01 21:14:48 +02:00
Michael Niedermayer f982d006bb Merge commit '636ced8e1dc8248a1353b416240b93d70ad03edb'
* commit '636ced8e1dc8248a1353b416240b93d70ad03edb':
  cmdutils: wrap exit explicitly

Conflicts:
	avprobe.c
	cmdutils.c
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 04:34:11 +02:00
Derek Buitenhuis 58950ca0df ffmpeg: Don't include colorspace.h
The header is private, and ffmpeg.c doesn't use it
for anything.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-29 16:44:12 -04:00
Michael Niedermayer cc61ef0479 Merge commit '42cc6cefd315c1556e2a52f7ebe2f766ec82b790'
* commit '42cc6cefd315c1556e2a52f7ebe2f766ec82b790':
  avconv: report the error for codec open failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 12:56:55 +02:00
Michael Niedermayer d894e64acc Merge commit '1e340af8d6a97cc013a2ad8ba77c77129625a34f'
* commit '1e340af8d6a97cc013a2ad8ba77c77129625a34f':
  avconv: drop additional strerror fallback

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 12:56:05 +02:00
Michael Niedermayer 4abd5a4318 Merge commit '274e134e49b1c92db0f0b8cb2ae7554fb7b9184c'
* commit '274e134e49b1c92db0f0b8cb2ae7554fb7b9184c':
  avconv: check that the output format context exists before accessing it

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 12:20:26 +02:00
Nicolas George fc82f4a1f8 ffmpeg: ignore EOF when pushing frames to filters.
EOF is not a fatal condition, it is normally produced
by a few filters.

TODO: take it into account to avoid useless decoding.
2013-06-02 23:19:42 +02:00
Justin Ruggles e816a8bc26 ffmpeg: use actual packet pts when discarding for the copypriorss option
The ist->pts value at this point does not necessarily match the actual packet
pts, which is what should be used to decide whether to discard the packet.
Without this change, some video packets that have pts on or after the start
time are getting discarded when they should not be.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-05-28 17:03:23 -04:00
Michael Niedermayer 2ad28840b3 Merge commit '538bf767373f176b6487e30181155e74b37cced6'
* commit '538bf767373f176b6487e30181155e74b37cced6':
  avconv: make -aspect work with streamcopy

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 08:52:03 +02:00
Michael Niedermayer 1a36c756d8 ffmpeg: free threads on error conditions.
Fixes Ticket2562

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 01:28:59 +02:00
Michael Niedermayer 33ff943f70 ffmpeg: add -apad option which injects a apad filter only in the presence of video streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Michael Niedermayer 410905f7fd ffmpeg: use av_freep() for forced_kf_pts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Michael Niedermayer 0966623604 ffmpeg: drop old non monotone dts workaround.
All bugs should now be fixed in the new so the old can be droped.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:04:47 +02:00
Michael Niedermayer af2d964336 ffmpeg: set correct log context for non monotone dts workaround warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:03:35 +02:00
Michael Niedermayer b2a1d92b7b ffmpeg: port loglevel selection code to new dts workaround code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:02:43 +02:00
Michael Niedermayer 30c05f6b02 ffmpeg: fix pts handling in the non monotone dts workaround
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:00:21 +02:00
Michael Niedermayer 007ee09d7c ffmpeg: fix the used maximum dts in the monotone dts workaround
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:58:28 +02:00
Michael Niedermayer 26b89f6274 ffmpeg: use a max variable to hold the maximum dts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:57:05 +02:00
Michael Niedermayer 6b2fbdb047 ffmpeg: Check dts before use in non monotone dts workaround
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:55:20 +02:00
Michael Niedermayer ee3824f6f6 ffmpeg: limit non monotone workaround to audio & video streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:55:12 +02:00
Michael Niedermayer 9fe2a62cc4 ffmpeg: move non monotone prevention code down
This moves the code to after the bitstream filters

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:52:37 +02:00
Michael Niedermayer 2b7f595aca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: do not send non-monotonous DTS to the muxers.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:52:03 +02:00
Michael Niedermayer 22dc25cb29 Merge commit 'b4a5a292274f904f404f40f826c51e6fc9cfb8fe'
* commit 'b4a5a292274f904f404f40f826c51e6fc9cfb8fe':
  avconv: improve -re implementation

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 13:53:08 +02:00
Michael Niedermayer 49ec4c7e49 ffmpeg: fix segfault with random output
Found-by: <durandal_1707>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 16:01:28 +02:00
Michael Niedermayer 4818388e6c Merge commit '8cd472d3f947a6233e7dc628f0dc71c74e62413a'
* commit '8cd472d3f947a6233e7dc628f0dc71c74e62413a':
  avconv: make output -ss insert trim/atrim filters.

Conflicts:
	Changelog
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:24:43 +02:00
Michael Niedermayer 76c1f9200f Merge commit 'a83c0da539fb07260310bc3b34056239d2b138b2'
* commit 'a83c0da539fb07260310bc3b34056239d2b138b2':
  avconv: make -t insert trim/atrim filters.

The filter insertion code is merged but disabled as it is buggy.
For example it fails in various ways when used with -s with some files.
Also the trimming is arguably less accurate than the default without
filters in some cases.
These issues should be fixed before auto inserting the filters,
until then the user can explicitly add a trim/atrim filter when one is
wanted.

Conflicts:
	Changelog
	ffmpeg.c
	ffmpeg_filter.c
	tests/ref/fate/bethsoft-vid
	tests/ref/lavf/aiff
	tests/ref/lavf/asf
	tests/ref/lavf/au
	tests/ref/lavf/avi
	tests/ref/lavf/dpx
	tests/ref/lavf/ffm
	tests/ref/lavf/gxf
	tests/ref/lavf/jpg
	tests/ref/lavf/mkv
	tests/ref/lavf/mmf
	tests/ref/lavf/mov
	tests/ref/lavf/mpg
	tests/ref/lavf/nut
	tests/ref/lavf/ogg
	tests/ref/lavf/pcx
	tests/ref/lavf/png
	tests/ref/lavf/rm
	tests/ref/lavf/ts
	tests/ref/lavf/voc
	tests/ref/lavf/voc_s16
	tests/ref/lavf/wav

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 14:23:52 +02:00
Nicolas George b1cc12d0e3 ffmpeg: make -aspect work with -vcodec copy. 2013-04-18 22:59:54 +02:00
Stefano Sabatini f6c9a325b7 ffmpeg: show error message in case of av_buffersrc_add_frame_flags() failure 2013-04-14 20:30:37 +02:00
Michael Niedermayer 835cc0f2e7 Merge commit 'fa2a34cd40d124161c748bb0f430dc63c94dd0da'
* commit 'fa2a34cd40d124161c748bb0f430dc63c94dd0da':
  lavfi: change the filter registering system to match the other libraries

Conflicts:
	cmdutils.c
	ffplay.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h

This removes the ability to put AVFilters in read only memory and having
them shareable.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:08:40 +02:00
Michael Niedermayer 231fd4411f Merge commit '38f0c0781a6e099f11c0acec07f9b8be742190c4'
* commit '38f0c0781a6e099f11c0acec07f9b8be742190c4':
  lavfi: merge avfiltergraph.h into avfilter.h

Conflicts:
	doc/APIchanges
	ffmpeg_filter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.h
	libavfilter/version.h
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:50:39 +02:00
Stefano Sabatini 270217908b ffmpeg: update error message, and make use of av_err2str() to simplify 2013-04-10 18:02:00 +02:00
Michael Niedermayer f1c0c6b7de Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  ffmpeg: use a rational for -aspect option.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 01:49:39 +02:00
Michael Niedermayer 6a78ec180e ffmpeg: print frame decoding error statistic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 01:47:03 +02:00
Michael Niedermayer eedcac68f3 ffmpeg: dont exit 0 if fewer than 1/3 of the input could be decoded.
Fixes Ticket2405

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 01:40:06 +02:00
Nicolas George de38e7c8c3 ffmpeg: use a rational for -aspect option. 2013-04-09 20:16:20 +02:00
Carl Eugen Hoyos 1c0d8f2563 Add a work-around for msvc compilation until c99-to-c89 issue 7 is fixed.
Tested-by: Nevcairiel
2013-04-04 00:01:34 +02:00
Michael Niedermayer 356363c898 ffmpeg: Fix forcing of the framerate for stream copy on input
Fixes Ticket2211

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 18:19:23 +02:00
Michael Niedermayer f7a02d5d69 ffmpeg: initialize got_output, this silences a compiler warning from icc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 20:47:48 +02:00
Michael Niedermayer ac1a1fd708 Merge commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c'
* commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c':
  lavfi/gradfun: remove rounding to match C and SSE code.
  lavfi/gradfun: fix dithering in MMX code.
  lavfi/gradfun: fix rounding in MMX code.
  lavfi/gradfun: do not increment DC pointer for odd values.
  fate: filter: Add dependencies
  avconv: add options for reading filtergraphs from a file.

Conflicts:
	Changelog
	doc/ffmpeg.texi
	doc/filters.texi
	ffmpeg.h
	ffmpeg_opt.c
	libavfilter/vf_gradfun.c
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 13:00:39 +01:00
Thierry Foucu fcf73f9c01 Call do_video_stats when duplicating frame
When multiple frame are encoded during vsync, current code only
do_video_stats once. This need to do it every frame.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 12:29:12 +01:00
Michael Niedermayer 4c1f61b1e8 ffmpeg: Correct inter stream timestamp discontinuities
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 04:53:44 +01:00
Michael Niedermayer 4257b804e2 ffmpeg: Replace -deinterlace (which was broken by the buffer ref stuff) with yadif injection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:54:04 +01:00
Nicolas George 6a90f6d789 ffmpeg: fix freeing of sub2video frame. 2013-03-20 21:13:55 +01:00
Carl Eugen Hoyos e4f5aa5e8d Inform the user if a pix_fmt != yuv420p was chosen for x264 encoding. 2013-03-19 01:16:37 +01:00
Michael Niedermayer b1a9a2c4ff ffmpeg: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:58:10 +01:00
Michael Niedermayer 32fdfdfbda Merge commit '354468fc12dcf93e7fb4af552e18906771913273'
* commit '354468fc12dcf93e7fb4af552e18906771913273':
  avplay: switch to new refcounted frames API
  avconv: convert to new refcounted AVFrame API

Conflicts:
	cmdutils.c
	ffmpeg.c
	ffmpeg.h
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 14:16:02 +01:00
Nicolas George fb14e37dd0 ffmpeg: re-enable use of buffersrc flags.
AV_BUFFERSRC_FLAG_PUSH is necessary to detect closed streams.
2013-03-10 14:07:29 +01:00
Nicolas George f9b34b8bf9 ffmpeg: port sub2video to AVFrame.
And re-enable the FATE test.
2013-03-10 13:45:15 +01:00
Nicolas George 4e7c61b7a7 ffmpeg: do not give away our reference to the frame.
Note: the logic here is temporary until the updates to
ffmpeg.c are merged.
2013-03-10 01:41:50 +01:00
Michael Niedermayer a05a44e205 Merge commit '7e350379f87e7f74420b4813170fe808e2313911'
* commit '7e350379f87e7f74420b4813170fe808e2313911':
  lavfi: switch to AVFrame.

Conflicts:
	doc/filters.texi
	libavfilter/af_ashowinfo.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersink.c
	libavfilter/buffersrc.c
	libavfilter/buffersrc.h
	libavfilter/f_select.c
	libavfilter/f_setpts.c
	libavfilter/fifo.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/version.h
	libavfilter/vf_aspect.c
	libavfilter/vf_bbox.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fieldorder.c
	libavfilter/vf_fps.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_gradfun.c
	libavfilter/vf_hqdn3d.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_transpose.c
	libavfilter/vf_vflip.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavfilter/yadif.h

Following are notes about the merge authorship and various technical details.

Michael Niedermayer:
  * Main merge operation, notably avfilter.c and video.c
  * Switch to AVFrame:
    - afade
    - anullsrc
    - apad
    - aresample
    - blackframe
    - deshake
    - idet
    - il
    - mandelbrot
    - mptestsrc
    - noise
    - setfield
    - smartblur
    - tinterlace
  * various merge changes and fixes in:
    - ashowinfo
    - blackdetect
    - field
    - fps
    - select
    - testsrc
    - yadif

Nicolas George:
  * Switch to AVFrame:
    - make rawdec work with refcounted frames. Adapted from commit
      759001c534 by Anton Khirnov.
      Also, fix the use of || instead of | in a flags check.
    - make buffer sink and src, audio and video work all together

Clément Bœsch:
  * Switch to AVFrame:
    - aevalsrc
    - alphaextract
    - blend
    - cellauto
    - colormatrix
    - concat
    - earwax
    - ebur128
    - edgedetect
    - geq
    - histeq
    - histogram
    - hue
    - kerndeint
    - life
    - movie
    - mp (with the help of Michael)
    - overlay
    - pad
    - pan
    - pp
    - pp
    - removelogo
    - sendcmd
    - showspectrum
    - showwaves
    - silencedetect
    - stereo3d
    - subtitles
    - super2xsai
    - swapuv
    - thumbnail
    - tile

Hendrik Leppkes:
  * Switch to AVFrame:
    - aconvert
    - amerge
    - asetnsamples
    - atempo
    - biquads

Matthieu Bouron:
  * Switch to AVFrame
    - alphamerge
    - decimate
    - volumedetect

Stefano Sabatini:
  * Switch to AVFrame:
    - astreamsync
    - flite
    - framestep

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 01:40:35 +01:00
Michael Niedermayer 2653e12520 Merge commit '1afddbe59e96af75f1c07605afc95615569f388f'
* commit '1afddbe59e96af75f1c07605afc95615569f388f':
  avpacket: use AVBuffer to allow refcounting the packets.

Conflicts:
	libavcodec/avpacket.c
	libavcodec/utils.c
	libavdevice/v4l2.c
	libavformat/avidec.c
	libavformat/flacdec.c
	libavformat/id3v2.c
	libavformat/matroskaenc.c
	libavformat/mux.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 19:12:03 +01:00
Carl Eugen Hoyos 199db97fbd Close output codecs if input codec initialisation fails.
Fixes ticket #1546 and the remaining part of ticket #1244.
2013-03-08 02:46:46 +01:00
Michael Niedermayer 8cc5481d51 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: Deprecate the deinterlace functions in libavcodec
  h264: Integrate draw_horiz_band into ff_h264_draw_horiz_band

Conflicts:
	configure
	ffmpeg_opt.c
	libavcodec/avcodec.h
	libavcodec/h264.c
	libavcodec/imgconvert.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 11:50:17 +01:00
Ronald S. Bultje 2cffe38df3 Deprecate deinterlaced in libavcodec.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 21:11:48 +01:00
Michael Niedermayer 9af8179cdb ffmpeg: fix -stats -v 0
Fixes Ticket1687

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 19:38:13 +01:00
Michael Niedermayer 4ae74c6312 ffmpeg: print maxrss "-benchmark" data even on errors
Fixes Ticket2297

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 16:04:49 +01:00
Michael Niedermayer 41401773d3 Merge commit 'df0229a7caa124dcfb84c34b48d316744c467311'
* commit 'df0229a7caa124dcfb84c34b48d316744c467311':
  avconv: Apply codec options to streams that are copied as well

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 12:57:17 +01:00
Michael Niedermayer e20f2dc048 ffmpeg: fix variable name in psnr printing code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 00:25:03 +01:00
Nicolas George f102c24d90 ffmpeg: free last sub when using -fix_sub_duration.
Fix trac ticket #2242.

Note: under valid circumstances, when using -fix_sub_duration,
the last subtitle is a dummy termination packet, with no
allocated memory.
2013-02-27 18:57:33 +01:00
Michael Niedermayer ad899522ff ffmpeg: use a AVDictionary instead of the context to move swr parameters around
This avoids per parameter changes in ffmpeg at the cost of making access
somewhat more annoying.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 20:31:56 +01:00
Michael Niedermayer 6db37c9468 Merge commit '5c7db097ebe1fb5c233cedd8846615074e7d6044'
* commit '5c7db097ebe1fb5c233cedd8846615074e7d6044':
  avconv: pass libavresample options to AVFilterGraph

Conflicts:
	cmdutils.c
	cmdutils.h
	ffmpeg_filter.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 17:41:31 +01:00
Michael Niedermayer c3fb20bab4 ffmpeg: Check for parameter changes at the output of the audio filter graph
It is currently possible that such changes leak through from the decoder as
well as a filter could generate such changes itself.
This commit blocks such changed packets unless the encoder declares support.

Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 23:56:51 +01:00
Michael Niedermayer 3b1f037df5 ffmpeg: fix streamcopy of lsf mp3.
Fixes streamcopy of bear_mpeg4_mp3.avi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 00:38:22 +01:00
Michael Niedermayer 127ff88639 ffmpeg: do not call exit from exit_program()
This should fix  Ticket2116

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 04:03:52 +01:00
Stefano Sabatini 43af18ef8b ffmpeg: implement -force_key_frames expression evalution 2013-01-27 16:56:47 +01:00
Nicolas George 41f025dff0 ffmpeg: support filtering of unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George fccd8c21c4 ffmpeg: add -guess_layout_max option. 2013-01-26 11:15:38 +01:00
Michael Niedermayer bee044d7c2 ffmpeg: copy tmcd track timebase parameters
Fixes part of Ticket2045

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 18:37:32 +01:00
Michael Niedermayer 144529e094 Merge commit 'd9bf716945046333c24580d538f450b516f15710'
* commit 'd9bf716945046333c24580d538f450b516f15710':
  ppc: vorbisdsp: Drop some unnecessary #includes
  avconv: Increase the SDP buffer size to fit xiph SDPs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 14:10:32 +01:00
Nicolas George beb5d8f07d ffmpeg: accept "chapters" as forced key frames.
Allow to force a key frame at the beginning of each chapter.
2013-01-19 15:22:34 +01:00
Carl Eugen Hoyos 9a038a95d2 Use new function av_codec_get_tag2() in ffmpeg.c.
Fixes ticket #1953.
2013-01-17 20:46:21 +01:00
rogerdpack 40648d8cc3 add note on windows pipe
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 17:47:49 +01:00
Stefano Sabatini 750382d5c8 ffmpeg: remove annoying logs and improve reporting in case of unavailable bitrate 2012-12-27 15:47:15 +01:00
Michael Niedermayer af4b1c02ac Merge commit '77bd1bc73a1946b0f0ce09a7cbb242a65e138d06'
* commit '77bd1bc73a1946b0f0ce09a7cbb242a65e138d06':
  avconv: use new options parser.

Conflicts:
	ffmpeg.c
	ffmpeg.h
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 02:38:02 +01:00
Michael Niedermayer c4a32d92fe ffmpeg: Fix shortest with libx264
Encoders that buffer a significant number of frames where a "few"
frames off with -shortest

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 00:08:37 +01:00
Peter Ross c16f768d73 ffmpeg: replace magic number with VSYNC_CFR 2012-12-16 09:48:54 +11:00
Nicolas George 0f236345fb ffmpeg: sub2video: use start and end time.
Until now, the end_display_time was ignored, making single
packets subtitles (like dvdsub) stay indefinitely.

start_display_time was also ignored, but is it almost always 0.
2012-12-12 15:05:50 +01:00
Clément Bœsch 3b1b8f88b7 ffmpeg: small indent fix. 2012-12-04 16:40:11 +01:00
Michael Niedermayer 60c2cddff0 ffmpeg: use the correct variables in do_video_stats()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-04 16:36:09 +01:00
Thierry Foucu e98fab1372 Update video stats log during encode flush
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-04 16:36:09 +01:00
Michael Niedermayer 66244baf1d ffmpeg: fix mixed declarations and statements.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 03:02:11 +01:00
Michael Niedermayer d92073ac93 ffmpeg: Correct starttime based on non discarded streams.
Fixes Ticket1830

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 01:54:49 +01:00
Michael Niedermayer fe97bf60b8 ffmpeg: minor simplification of wraping code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 01:34:26 +01:00
Tim Nicholson dcbf72836c ffmpeg: add setting of field_order flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-22 05:30:43 +01:00
Stefano Sabatini 3a0f3ffe8e ffmpeg: fix weird reindent 2012-11-22 00:13:14 +01:00
Stefano Sabatini 02b4ae0427 ffmpeg: print debug_ts off and off_time values with timestamp helper routines 2012-11-22 00:13:14 +01:00
Peter Ross 9ccc349f77 ensure comment blocks that contain doxygen commands start with double asterix
Reveiwed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 23:55:15 +01:00
Stefano Sabatini 3d52083a27 ffmpeg: rework debugging timestamp logs in process_input()
Print timestamps before and after ffmpeg timestamp postprocessing.
Help to debug how ffmpeg processes the input timestamps.
2012-11-20 22:48:28 +01:00
Michael Niedermayer 9f088712d4 ffmpeg: fix double ;;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 02:06:50 +01:00
Michael Niedermayer 9406d6be55 ffmpeg: fix audio timestamps on stream copy with -ss
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 01:42:33 +01:00
Michael Niedermayer 03b078721c Merge commit '97bf7c03b1338a867da52c159a2afecbdedcfa88'
* commit '97bf7c03b1338a867da52c159a2afecbdedcfa88':
  doc: git-howto: Leave reviewers time to react before pushing patches
  Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
  lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	doc/git-howto.texi
	ffmpeg_filter.c
	libavcodec/flacdec.c
	libavcodec/imc.c
	libavcodec/mpegaudiodec.c
	libavcodec/utils.c
	libavfilter/asrc_anullsrc.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffer.c
	libavutil/Makefile
	libavutil/audioconvert.h
	libavutil/channel_layout.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 11:32:11 +01:00
Thierry Foucu 98cbbabadb Fix the packet duration when flushing the encoder.
A similar patch was posted by Justin Ruggles <justin.ruggles@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 22:29:11 +01:00
Michael Niedermayer 37e81996dc Merge commit '9221efef7968463f3e3d9ce79ea72eaca082e73f'
* commit '9221efef7968463f3e3d9ce79ea72eaca082e73f':
  lavf: fix av_interleaved_write_frame() doxy.
  lavf: clarify the lifetime of demuxed packets.
  avconv: do not free muxed packet on streamcopy.
  crc: move doxy to the header
  vf_drawtext: do not use deprecated av_tree_node_size
  x86: Refactor PSWAPD fallback implementations and port to cpuflags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 14:24:11 +01:00
Michael Niedermayer cd37963684 Merge commit '381dc1a5ec0925b281c573457c413ae643567086'
* commit '381dc1a5ec0925b281c573457c413ae643567086':
  fate: ac3: Place E-AC-3 tests and AC-3 tests in different groups
  fate: Add shorthands for acodec PCM and ADPCM tests
  avconv: Drop unused function argument from do_video_stats()
  cmdutils: Conditionally compile libswscale-related bits
  aacenc: Drop some unused function arguments
  rtsp: Avoid a cast when calling strtol
  nut: support textual data
  nutenc: verbosely report unsupported negative pts

Conflicts:
	cmdutils.c
	ffmpeg.c
	libavformat/nut.c
	libavformat/nutenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 13:52:03 +01:00
Michael Niedermayer 1909dbf11d ffmpeg: use av_rescale_delta() for audio stream copy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 04:01:31 +02:00
Michael Niedermayer a9d97e1b0a ffmpeg: use av_rescale_delta() on the audio filter input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 00:26:35 +02:00
Michael Niedermayer 03e44bcb3f ffmpeg: trivial simplification
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 00:26:35 +02:00
Michael Niedermayer 507f2940cc Merge commit '1b891d17c531e8a63c2974aab4bf997ce70746f3'
* commit '1b891d17c531e8a63c2974aab4bf997ce70746f3':
  avconv: fix bitrate report when writing to /dev/null
  avfilter: fix graphparser memleaks on error paths
  rawdec: remove ff_raw_read_header
  pcmdec: remove dependency from rawdec
  g722: refactor out of rawdec.c
  rawvideo: use a specific read_header

Conflicts:
	ffmpeg.c
	libavformat/Makefile
	libavformat/rawdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 14:24:57 +02:00
Michael Niedermayer fa48da1ee9 ffmpeg: fix null ptr deref in psnr printing code
Fixes CID205005
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 01:38:15 +02:00
Michael Niedermayer d0ab71ed11 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  asfdec: cosmetics, reformat ff_asf_parse_packet()
  g.723.1: add missing CODEC_CAP_DR1
  avconv: remove now unneeded calls to avcodec_get_frame_defaults().
  lavc: initialize output AVFrame before decoding.

Conflicts:
	libavformat/asfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 14:26:13 +02:00
Michael Niedermayer 2dbc93455c Merge commit '80521c1997a23e148edf89e11b939ab8646297ca'
* commit '80521c1997a23e148edf89e11b939ab8646297ca':
  build: allow targets to specify extra objects to link with executables
  swscale: avoid pointless use of compound literals
  libm: add fallbacks for various single-precision functions
  network: use getservbyport() only if available
  network: add fallbacks for INADDR_LOOPBACK and INET_ADDRSTRLEN
  Include sys/time.h before sys/resource.h

Conflicts:
	Makefile
	configure
	libavutil/libm.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 12:53:26 +02:00
Michael Niedermayer 3318d6b940 ffmpeg: check avpicture_get_size() retuen value
Fixes CID205018
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 00:22:23 +02:00
Michael Niedermayer 22793d7bb3 ffmpeg/lavc: move experimental warnings to libavcodec.
This way they are available to all applications and not just ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 17:58:33 +02:00
Michael Niedermayer e3a91c51f7 Merge commit 'c3e15f7b39aac2012f09ee4ca86d2bc674ffdbd4'
* commit 'c3e15f7b39aac2012f09ee4ca86d2bc674ffdbd4':
  rtpdec: Don't pass a non-AVClass pointer as log context
  rtsp: Update a comment to the current filename scheme
  avcodec: handle AVERROR_EXPERIMENTAL
  avutil: Add AVERROR_EXPERIMENTAL
  avcodec: prefer decoders without CODEC_CAP_EXPERIMENTAL

Conflicts:
	doc/APIchanges
	ffmpeg.c
	libavcodec/utils.c
	libavformat/rtpdec.c
	libavutil/error.c
	libavutil/error.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 14:39:12 +02:00
Michael Niedermayer 3e0b29ccd0 ffmpeg: Make video filter graph reinit user selectable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 00:06:12 +02:00
Michael Niedermayer b4ca1b159f Merge commit 'bc4620e5d61a4dd9a1f654fadd281a172aab04be'
* commit 'bc4620e5d61a4dd9a1f654fadd281a172aab04be':
  Remove libmpeg2 #define remnants
  De-doxygenize some top-level files

Conflicts:
	ffmpeg.c
	ffmpeg.h
	ffmpeg_filter.c
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 15:01:39 +02:00
Michael Niedermayer b7ebb49d03 Merge commit 'fb722a900fc5cc9e003b9fef25b27ed7fc5547a2'
* commit 'fb722a900fc5cc9e003b9fef25b27ed7fc5547a2':
  avconv: remove -same_quant

Conflicts:
	Changelog
	doc/faq.texi
	ffmpeg.c
	ffmpeg.h
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 13:51:07 +02:00
Michael Niedermayer 8f0168a3b9 fix exit_program() prototypes
This fixes 2 warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 21:55:31 +02:00
Michael Niedermayer 032ba74ed2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: fix Thumb PIC on Apple
  nut: add do {} while (0) to GET_V
  tiffenc: Check av_malloc() results.
  tiffenc: Simplify pixel format setup using AVPixFmtDescriptor.
  Use atexit() instead of defining a custom exit_program() interface.
  msvc: Fix detection of VFW & Avisynth required libs

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	ffserver.c
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 19:48:54 +02:00
Michael Niedermayer 44ae7badae ffmpeg: print muxed packet sizes in debug output too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 02:14:02 +02:00
The makemkv authors 89a823ace9 ffmpeg: disable buffering for stderr, needed for win32 runtime
Found in http://www.makemkv.com/download/ffmpeg/mmffmpeg-1.7.7.patch.gz

Commit message by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 15:13:35 +02:00
Michael Niedermayer 65f7aee63b ffmpeg: add option to control copying of frames prior to start.
Normally we discard things prior to the intended start
for stream copy this is not always possible, and its not done by default
this option allows discarding to be enabled

this is primarely usefull when transcoding a video and stream copying an
audio stream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 03:52:31 +02:00
Michael Niedermayer cddbafb56a ffmpeg: allow printing muxer side packet timestamp debuging info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 22:58:02 +02:00
Michael Niedermayer 46a35959d8 Merge commit '7751e4693dd10ec98c20fbd9887233b575034272'
* commit '7751e4693dd10ec98c20fbd9887233b575034272':
  ogg: check that the expected number of headers had been parsed
  libx264: change default to closed gop to match x264cli
  Use avcodec_free_frame() to free AVFrames.
  lavf: use a malloced AVFrame in try_decode_frame().
  lavc: add avcodec_free_frame().
  lavc: ensure extended_data is set properly on decoding
  lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
  lavc: use av_mallocz to allocate AVFrames.
  lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	libavcodec/utils.c
	libavcodec/version.h
	libavfilter/src_movie.c
	libavformat/oggdec.c
	libavformat/oggdec.h
	libavformat/oggparsetheora.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:15:16 +02:00
Clément Bœsch 4390f8c28d Fix two "skiping" typo. 2012-09-25 07:42:32 +02:00
Clément Bœsch 405ee405c9 ffmpeg: complete mov/mp4 based timebase hack with "f4v" format. 2012-09-21 17:27:57 +02:00
Nicolas George a9e4817716 ffmpeg: use PTS from the AVSubtitle structure for sub2video. 2012-09-15 16:14:33 +02:00
Nicolas George 6d8b32633e ffmpeg: use PTS from the AVSubtitle structure. 2012-09-15 16:14:33 +02:00
Nicolas George 1b9a251438 ffmpeg: call sub2video_update for end packets.
Without that change, all subtitles will stay until the next one.
2012-09-15 15:58:42 +02:00
Derek Buitenhuis 23a5a24c0f ffmpeg: Only include unistd.h if it exists
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 22:59:43 +02:00
Michael Niedermayer 5829b7d29e ffmpeg: check timebase validity before considering it to be used for stream copy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 20:57:23 +02:00
Michael Niedermayer f0d5050090 ffmpeg: fix bytes written statistics.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 20:57:23 +02:00
Michael Niedermayer 98298eb103 Merge commit 'ec36aa69448f20a78d8c4588265022e0b2272ab5'
* commit 'ec36aa69448f20a78d8c4588265022e0b2272ab5':
  x86: Fix linking with some or all of yasm, mmx, optimizations disabled
  configure: Add more fine-grained SSE CPU capabilities flags
  avfilter: x86: Use more precise compile template names
  x86: cosmetics: Comment some #endifs for better readability
  g723_1: add comfort noise generation
  utvideoenc: Switch to dsputils' median prediction
  utvideoenc: Avoid writing into the input picture
  avtools: remove the distinction between func_arg and func2_arg.
  avconv: make the -passlogfile option per-stream.
  avconv: make the -pass option per-stream.
  cmdutils: make -codecs print lossy/lossless flags.
  lavc: add lossy/lossless codec properties.

Conflicts:
	Changelog
	cmdutils.c
	configure
	doc/APIchanges
	ffmpeg.h
	ffmpeg_opt.c
	ffprobe.c
	libavcodec/codec_desc.c
	libavcodec/g723_1.c
	libavcodec/utvideoenc.c
	libavcodec/version.h
	libavcodec/x86/mpegaudiodec.c
	libavcodec/x86/rv40dsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 13:01:30 +02:00
Nicolas George a9b1a151d2 ffmpeg: count finished streams for last stats line.
Otherwise, all streams are finished and the time is nonsensical.
2012-08-28 23:19:33 +02:00
Nicolas George 18217bb0f5 ffmpeg: report max time of unfinished streams in stats.
Eliminating finished streams avoids the progress stopping
with the first stream.
Using the max instead of the min avoids the progress stopping
with gaps in sparse streams (subtitles).
Negligible change for normal circumstances.
2012-08-28 18:48:32 +02:00
Michael Niedermayer 17106a7c90 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  audio_frame_queue: Clean up ff_af_queue_log_state debug function
  dwt: Remove unused code.
  cavs: convert cavsdata.h to a .c file
  cavs: Move inline functions only used in one file out of the header
  cavs: Move data tables used in only one place to that file
  fate: Add a single symbol Ut Video decoder test
  vf_hqdn3d: x86 asm
  vf_hqdn3d: support 16bit colordepth
  avconv: prefer user-forced input framerate when choosing output framerate

Conflicts:
	ffmpeg.c
	libavcodec/audio_frame_queue.c
	libavcodec/dwt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:40:02 +02:00
Michael Niedermayer 91c18beb9d ffmpeg: fix wrap correction code.
The code failed with negative timestamps due to using unsigned numbers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 01:39:32 +02:00
Nicolas George 8b61abac2e ffmpeg: use close_output_stream more systematically. 2012-08-22 19:04:30 +02:00
Nicolas George 666fd092be ffmpeg: move close_output_stream earlier.
It will avoid a forward declaration.
2012-08-22 19:04:30 +02:00
Nicolas George 425b77114b ffmpeg: make decoding_needed a counter. 2012-08-22 19:04:30 +02:00
Nicolas George ac07f941ae ffmpeg: use AV_BUFFERSRC_FLAG_PUSH.
It reduces the lifespan of buffers in filter graphs,
and therefore the memory consumption.
2012-08-22 19:04:30 +02:00
Nicolas George dcae2ecc13 ffmpeg: remove useless flags to EOF av_buffersrc_add_ref. 2012-08-20 23:45:15 +02:00
rogerdpack d0b68a9d57 fix spelling
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 21:49:26 +02:00
Nicolas George 13b965ead4 ffmpeg: reindent after last commit. 2012-08-19 11:23:59 +02:00
Nicolas George 429c6cab1c ffmpeg: reduce differences with avconv for in/out scheduling.
Rework the transcode() function and its immediate annexes to have
the same structure as in avconv, while still maintaining proper
scheduling to avoid accumulation.

Using -filter_complex without inputs now works.
2012-08-19 11:20:56 +02:00
Michael Niedermayer af5086087e ffmpeg: Clip invalid video timestamps like audio instead of failing hard.
Fixes Ticket976

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-19 02:42:53 +02:00
Michael Niedermayer 6c180b35c4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo_enc: don't use deprecated avcodec_encode_video().
  cmdutils: refactor -codecs option.
  avconv: make -shortest a per-output file option.
  lavc: add avcodec_descriptor_get_by_name().
  lavc: add const to AVCodec* function parameters.
  swf(dec): replace CODEC_ID with AV_CODEC_ID
  dvenc: don't use deprecated AVCODEC_MAX_AUDIO_FRAME_SIZE
  rtmpdh: Do not generate the same private key every time when using libnettle
  rtp: remove ff_rtp_get_rtcp_file_handle().
  rtsp.c: use ffurl_get_multi_file_handle() instead of ff_rtp_get_rtcp_file_handle()
  avio: add (ff)url_get_multi_file_handle() for getting more than one fd
  h264: vdpau: fix crash with unsupported colorspace
  amrwbdec: Decode the fr_quality bit properly

Conflicts:
	Changelog
	cmdutils.c
	cmdutils_common_opts.h
	doc/ffmpeg.texi
	ffmpeg.c
	ffmpeg.h
	ffmpeg_opt.c
	libavcodec/h264.c
	libavcodec/options.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 15:20:32 +02:00
Michael Niedermayer 7427d1ca4a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  g723.1: simplify scale_vector()
  g723.1: simplify normalize_bits()
  vda: cosmetics: fix Doxygen comment formatting
  vda: better frame allocation
  vda: Merge implementation into one file
  vda: support synchronous decoding
  vda: Reuse the bitstream buffer and reallocate it only if needed
  build: Factor out mpegvideo encoding dependencies to CONFIG_MPEGVIDEOENC
  avprobe: Include libm.h for the log2 fallback
  proresenc: use the edge emulation buffer
  rtmp: handle bytes read reports
  configure: Fix typo in mpeg2video/svq1 decoder dependency declaration
  Use log2(x) instead of log(x) / log(2)
  x86: swscale: fix fragile memory accesses
  x86: swscale: remove disabled code
  x86: yadif: fix asm with suncc
  x86: cabac: allow building with suncc
  x86: mlpdsp: avoid taking address of void
  ARM: intmath: use native-size return types for clipping functions

Conflicts:
	configure
	ffprobe.c
	libavcodec/Makefile
	libavcodec/g723_1.c
	libavcodec/v210dec.h
	libavcodec/vda.h
	libavcodec/vda_h264.c
	libavcodec/x86/cabac.h
	libavfilter/x86/yadif_template.c
	libswscale/x86/rgb2rgb_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 15:34:39 +02:00
Nicolas George 690ef618b1 ffmpeg: copy subtitles frame dimensions.
The sub-movtextenc ref file changes because the dimensions
(400×60) are stored by the format.
2012-08-14 11:17:45 +02:00
Nicolas George 0cad101ea1 ffmpeg: add an option to fix subtitles durations.
With this option, transcoding DVB subtitles becomes possible.
2012-08-14 11:17:45 +02:00
Michael Niedermayer c5ea3a009b ffmpeg: Do not discard slightly invalid timestamps.
Fixes Ticket1627

The fate change is due to ffmpeg no longer pushing audio timestamps
aggressively up (which is what caused the AV sync issues in the ticket)
but leaving them as they are.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 01:22:48 +02:00
Michael Niedermayer 969267482d ffmpeg: Allocate new buffer for bitstream filter when buffer shifted
fix crash with aac_adtstoasc bitstream filter
Fixes Ticket1441

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 04:36:43 +02:00
Michael Niedermayer 9f088a1ed4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: reduce excessive inlining of mpeg_motion()
  mpegvideo: convert mpegvideo_common.h to a .c file
  build: factor out mpegvideo.o dependencies to CONFIG_MPEGVIDEO
  Move MASK_ABS macro to libavcodec/mathops.h
  x86: move MANGLE() and related macros to libavutil/x86/asm.h
  x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
  aacdec: Don't fall back to the old output configuration when no old configuration is present.
  rtmp: Add message tracking
  rtsp: Support mpegts in raw udp packets
  rtsp: Support receiving plain data over UDP without any RTP encapsulation
  rtpdec: Remove an unused include
  rtpenc: Remove an av_abort() that depends on user-supplied data
  vsrc_movie: discourage its use with avconv.
  avconv: allow no input files.
  avconv: prevent invalid reads in transcode_init()
  avconv: rename OutputStream.is_past_recording_time to finished.

Conflicts:
	configure
	doc/filters.texi
	ffmpeg.c
	ffmpeg.h
	libavcodec/Makefile
	libavcodec/aacdec.c
	libavcodec/mpegvideo.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 19:31:56 +02:00
Michael Niedermayer fc97f8e0e2 ffmpeg: factorize process_input() out
Based-on:
	commit 0c00fd80ee
	Author: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 18:21:45 +02:00
Michael Niedermayer b7e9eea31f Merge commit 'f154ef1ae5b03f288dd8c025dab1884b4cb20c1a'
* commit 'f154ef1ae5b03f288dd8c025dab1884b4cb20c1a':
  avconv: send EOF to lavfi even if flushing the decoder fails
  avconv: get rid of pointless temporary variable.
  avconv: simplify transcode().
  avconv: cosmetics
  avconv: replace no_packet array in transcode() with a var in InputStream
  avconv: remove unused variable from InputFile.
  avconv: remove commented out cruft.
  avconv: maintain sync on lavfi outputs.

Conflicts:
	ffmpeg.c
	ffmpeg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 15:23:00 +02:00
Nicolas George aed032c25b dvbsub: fix encoding of termination packets.
The old code generates a termination packet with the same regions as the
start packet and page_state set to "only what changed"; the result is
that the termination packet is decoded as identical to the start packet.

The new code does as found in some DVB broadcasts: produce a packet with
no regions. This is done by expecting num_rects to be 0 rather than
using a flip-flop. ffmpeg.c is updated accordingly.
2012-08-09 11:03:22 +02:00
Michael Niedermayer 2cdb0810f1 ffmpeg: reduce difference to qatar by a few lines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 04:12:50 +02:00
Michael Niedermayer 11a1033c9f Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  build: cosmetics: Reorder some lists in a more logical fashion
  x86: pngdsp: Fix assembly for OS/2
  fate: add test for RTjpeg in nuv with frameheader
  rtmp: send check_bw as notification
  g723_1: clip argument for 15-bit version of normalize_bits()
  g723_1: use all LPC vectors in formant postfilter
  id3v2: Support v2.2 PIC
  avplay: fix build with lavfi disabled.
  avconv: split configuring filter configuration to a separate file.
  avconv: split option parsing into a separate file.
  mpc8: do not leave padding after last frame in buffer for the next decode call
  mpegaudioenc: list supported channel layouts.
  mpegaudiodec: don't print an error on > 1 frame in a packet.
  api-example: update to new audio encoding API.
  configure: add --enable/disable-random option
  doc: cygwin: Update list of FATE package requirements
  build: Remove all installed headers and header directories on uninstall
  build: change checkheaders to use regular build rules
  rtmp: Add a new option 'rtmp_subscribe'
  rtmp: Add support for subscribing live streams
  ...

Conflicts:
	Makefile
	common.mak
	configure
	doc/examples/decoding_encoding.c
	ffmpeg.c
	libavcodec/g723_1.c
	libavcodec/mpegaudiodec.c
	libavcodec/x86/pngdsp.asm
	libavformat/version.h
	library.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 00:51:02 +02:00
Michael Niedermayer 7a72695c05 Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
  Replace all CODEC_ID_* with AV_CODEC_ID_*
  lavc: add AV prefix to codec ids.

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Clément Bœsch 16dc5f2050 Replace various inlined inverse AVRational with av_inv_q(). 2012-08-06 00:04:36 +02:00
Michael Niedermayer b4780d03d0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: h264_idct: Rename x264_add8x4_idct_sse2 --> h264_add8x4_idct_sse2
  rational: add av_inv_q() returning the inverse of an AVRational
  dpx: Make start offset unsigned
  lavfi: properly signal out-of-memory error in ff_filter_samples
  cosmetics: Fix a few switched periods and linebreaks
  zerocodec: Fix memleak in decode_frame
  zerocodec: Cosmetics

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 22:17:02 +02:00
Philip Langdale 50b4dbf65a ass subtitles: Fix valgrind warnings.
We're now running some of this code through valgrind for the first
time, and a few warnings showed up stemming from two problems.

1) The ASS code assumes the subtitle header is null terminated, but
it wasn't, and passing the size down doesn't look like fun, so I
added a terminator

2) The code wasn't freeing all of its state.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-05 09:11:11 -07:00
Nicolas George 88fc1438c6 ffmpeg: insert bitmap subtitles as video in filters.
With this feature, it becomes possible to perform commonly
requested tasks, such as hardcoding bitmap subtitles.

This will be reverted once libavfilter has proper support
for subtitles. All the changes have the string "sub2video"
in them, it makes it easy to spot the parts.
2012-08-04 21:49:05 +02:00
Clément Bœsch 53a3748ed2 ffmpeg: honor -ss and -t parameters with muxed subtitles.
This patch fixes two things:

 - in case of subtitles, check_recording_time() is comparing the current
   PTS to the recording time (-t option, set to INT_MAX by default), so
   the -ss option needs to be taken into account. It is not required in
   do_{audio,video}_out() because this adjustment is set while polling
   the filtergraph (see poll_filters()).

 - It also adjusts the PTS sent to the encoder (and later transmitted to
   the muxer) so the TS in the output make sense and are not kept
   verbatim.

Note: this only works for muxers honoring the PTS, such as
lavf/matroskaenc. But for other such as the ASS muxer which just does a
verbatim copy, or the SubRip muxer which doesn't write the TS in some
cases, it will not work yet.
2012-08-01 20:37:34 +02:00