Commit Graph

1998 Commits

Author SHA1 Message Date
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