Commit Graph

2110 Commits

Author SHA1 Message Date
Michael Niedermayer
242f1152bf ffmpeg: drop usage of coded_frame
It causes all kinds of problems and there is no code in the muxers that reads
this field

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 03:06:43 +01:00
Christophe Gisquet
4c592c3908 ffmpeg: take bsf arguments from the command line
The format is now:
-bsf:X filter1[=opt1=str1/opt2=str2],filter2
ie the parameters are appended after the filter name using '='. As ','
has been reserved already for the list of filters, '/' is just an
example of token separation for now, but that could become part of the
API to avoid each bsf using its own tokenization.

The proper solution would be using AVOption, but this is overkill for now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 13:11:34 +01:00
Michael Niedermayer
98e8a9e2f2 ffmpeg: Print a debug message if the frame parameters mismatch the context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 15:47:49 +01:00
Michael Niedermayer
33bc81e437 ffmpeg: skip duration cliping for passthrough & drop modes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 20:18:03 +01:00
Michael Niedermayer
4e20e94921 ffmpeg: Check duration for overlap and clip in fps cfr/vfr code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 18:36:36 +01:00
Michael Niedermayer
c509202590 ffmpeg: Use input packet duration in vfr/cfr code if available and valid
Fixes Ticket3052
2014-11-19 18:35:40 +01:00
Michael Niedermayer
61fc1cbfbd ffmpeg: fix printed timestamp for droped frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 13:26:59 +01:00
Michael Niedermayer
9f6d48d696 ffmpeg: better CFR frame duplication selection
This improves the handling of cases where the frame duration is not known

Fixes Ticket 4119
Fixes Ticket 1578

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 05:14:32 +01:00
Michael Niedermayer
8b43b0e8b6 ffmpeg: fix variable type for end char
fixes warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 03:05:09 +01:00
Michael Niedermayer
9421d974bc ffmpeg: Fix last newline at log level less than "info"
Fixes Ticket3058

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 04:25:01 +01:00
Michael Niedermayer
6ef5e29220 Merge commit '88b32673db39440422a73ec3047d3326c96b4fb2'
* commit '88b32673db39440422a73ec3047d3326c96b4fb2':
  avconv: copy stream-level side data when streamcopying

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 13:14:33 +02:00
Michael Niedermayer
2896b98183 Merge commit 'd0c093021943e9b9c23528b12cd61ca2a5b01b4f'
* commit 'd0c093021943e9b9c23528b12cd61ca2a5b01b4f':
  avconv: Use av_gettime_relative

Conflicts:
	ffmpeg.c

See: 76191c08f8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 12:30:55 +02:00
Michael Niedermayer
9bdb7a6c1a ffmpeg: avoid endlessly reading from one input while another is unavailable
Testcase in Ticket 4051

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-22 22:26:32 +02:00
Michael Niedermayer
c48e8d9dca Merge commit '59b55c494e01de09dfd7cbf9cbbe7223265ac283'
* commit '59b55c494e01de09dfd7cbf9cbbe7223265ac283':
  lavc: deprecate unused me_threshold field

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:04:42 +02:00
Michael Niedermayer
61c6e69709 Merge commit 'c92965dbfbb7e2b49df14db2fd0e23a29295730a'
* commit 'c92965dbfbb7e2b49df14db2fd0e23a29295730a':
  avconv: check return value

Conflicts:
	ffmpeg.c

See: 4930cd13d6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 14:09:15 +02:00
Michael Niedermayer
137f7a630b Merge commit '557d4c4ecae080729e68df54ed2bd8420d0f037a'
* commit '557d4c4ecae080729e68df54ed2bd8420d0f037a':
  avconv: replace AVCodecContext.time_base with framerate

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 18:56:44 +02:00
Michael Niedermayer
83f84e4c53 ffmpeg: Fix stream copy with initial_padding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 03:30:03 +02:00
Michael Niedermayer
ac6b5bb834 Merge commit '6cfbe1de5ac6c57c41459626f7ac32841d63ace8'
* commit '6cfbe1de5ac6c57c41459626f7ac32841d63ace8':
  avconv: Use only audio and video to guess discontinuities

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 02:06:39 +02:00
Michael Niedermayer
2284413206 ffmpeg: replace impossible dts/pts combinations by a reasonable guess instead of hard failing
Fixes stream copy from tserror270.ts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 01:38:12 +02:00
Michael Niedermayer
16de4d927e ffmpeg: Do av_buffersink_set_frame_size() when reconfiguring the filtergraph not just when changing audio resample parameters
Fixes Ticket3562

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 04:55:58 +02:00
Michael Niedermayer
ab84effded ffmpeg: Copy extradata if it has been initialized later from the encoder
Fixes Ticket3909

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 03:13:44 +02:00
Michael Niedermayer
b01d2a5533 ffmpeg: Enable compute_edt only when the subtitles are used for a output stream instead of a filter
Fixes/works around Ticket3768

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 19:51:58 +02:00
Michael Niedermayer
a2dbf379f0 avcodec/dvbsubdec: make compute_edt user settable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 19:51:58 +02:00
Michael Niedermayer
31f9c228c0 ffmpeg: Fix missing {} in Stream to Packet side data code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 23:34:20 +02:00
Michael Niedermayer
81a663f49e Drop remaining unneeded != NULL
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 22:47:45 +02:00
Michael Niedermayer
fb33bff990 Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'
* commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39':
  cosmetics: Write NULL pointer equality checks more compactly

Conflicts:
	cmdutils.c
	ffmpeg_opt.c
	ffplay.c
	libavcodec/dvbsub.c
	libavcodec/dvdsubdec.c
	libavcodec/dvdsubenc.c
	libavcodec/dxa.c
	libavcodec/libxvid_rc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/rv10.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavcodec/vc1dec.c
	libavcodec/zmbv.c
	libavdevice/v4l2.c
	libavformat/matroskadec.c
	libavformat/movenc.c
	libavformat/sdp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
Michael Niedermayer
d3a22491c7 ffmpeg: remove 32 channel limit from audio_channels_map
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 05:38:47 +02:00
Christophe Gisquet
33fefdb449 ffmpeg: fix streamcopy with side data
The issue is that, when the main packet data buffer is changed, streamcopy
uses a temporary new packet to store that buffer, frees the old packet, and
replace it with the new packet.

However, in doing so, it forgets about the side data, which gets freed, but
is still needed and referenced. Then, when the packet gets freed again in
the normal code path, it attempts to free its side data which has already
been freed.

Therefore, simply avoid the first free on side data by removing that side
data from the packet.

Fixes ticket #3773.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 03:43:17 +02:00
Michael Niedermayer
097bf149c9 Merge commit 'aa51b0492bfced6d650fb5ff419e2b13fde6833d'
* commit 'aa51b0492bfced6d650fb5ff419e2b13fde6833d':
  avconv: rename output_packet() to process_input_packet()

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:23:30 +02:00
Michael Niedermayer
7d03732f7e ffmpeg: Do not fail if a demuxer and decoder use the same option identifer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 13:33:44 +02:00
Michael Niedermayer
01c17b5224 ffmpeg: Fix copying timebase to muxer context
Fixes Ticket3741

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 15:51:31 +02:00
Michael Niedermayer
8bbadc9b6e ffmpeg: Use av_stream_get_parser() to avoid ABI issues
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 21:17:20 +02:00
Michael Niedermayer
59975de777 ffmpeg: fix integer overflows with sub->*display_time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 02:23:48 +02:00
Michael Niedermayer
9098f0ecd7 ffmpeg: remove common factors from copied timebase
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 21:51:31 +02:00
Michael Niedermayer
8e7c8325d2 Merge commit '3f3232a371cc88696184d9aef1f812656264e56c'
* commit '3f3232a371cc88696184d9aef1f812656264e56c':
  avconv: set the output stream timebase

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 21:44:25 +02:00
Michael Niedermayer
4930cd13d6 ffmpeg: check av_opt_set_dict() return
Fixes CID1224275

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 05:53:13 +02:00
Sergey
6d2df3c00a ffmpeg: fix deadlock regression in threading error handing
Commit fc9c857c introduced deadlock regression when processing too many inputs:
  ffmpeg $(seq -f " -f lavfi -i aevalsrc=0:d=%.0f" 70) -vf concat=n=70:v=0:a=1 -f null -
Happens for different number of inputs, depending on available memory size,
overcommit settings, ulimits, etc. Easily noticeable for 32-bit builds,
that exhaust address space allocating 8-10 MB stack for each thread.
Earlier ffmpeg versions exited with unhelpful "Conversion failed!" message.

This patch fixes both problems: it frees the queue to prevent deadlock
and adds a meaningful error message if pthread_create() fails.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 17:45:38 +02:00
Michael Niedermayer
c69f729947 ffmpeg: fix reinitializing with threads while flushing
With threads the decoder has a delay and will thus have multiple
frames at EOF left in its buffers which will be returned when flushing
the decoder. The code that extracts such frames from the decoder at the
end does not pull frames from the filtergraph, thus when one of these
frames causes the filtergraph to be reinited, the frames still inside
the graph at that point re lost

This commit changes the flushing to be more similar to normal decoding
and 1 frame at a time

Fixes hqx fate with threads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 00:09:09 +02:00
Anshul Maheshwari
7e6cf36453 ffmpeg: fix transcoding dvbsub to dvbsub
fix ticket #2024

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 21:07:40 +02:00
Anshul Maheshwari
3639343478 ffmpeg: fix memleak and corruption of AVSubtitle with multiple outputs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-21 13:21:08 +02:00
Michael Niedermayer
afa7ab557a Merge commit '452860d7e056f9a894cac2fe52cdedeae4c38251'
* commit '452860d7e056f9a894cac2fe52cdedeae4c38251':
  Use av_packet_rescale_ts() to simplify code.

Conflicts:
	doc/examples/muxing.c
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 17:03:58 +02:00
Michael Niedermayer
fa0d0fb42e Merge commit '71d6551e674c86d07c165439c2bf6613b3892307'
* commit '71d6551e674c86d07c165439c2bf6613b3892307':
  avconv: use the correct variable in comparison

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-17 12:58:16 +02:00
Michael Niedermayer
5ded0b390b ffmpeg: for h264 we need has_b_frames from the decoder
Other solutions welcome

Fixes Ticket3711

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 23:32:08 +02:00
Michael Niedermayer
378ad22492 ffmpeg: print values of mismatching has_b_frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 23:09:21 +02:00
Michael Niedermayer
10012fa961 ffmpeg: Fix bitstream filters manipulating AVCodecContext
Fixes Ticket3715

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 00:50:50 +02:00
Michael Niedermayer
52ce6be86b Merge commit '48e50921337984ba4ec2c1cafe45d43787f84498'
* commit '48e50921337984ba4ec2c1cafe45d43787f84498':
  avconv: make -shortest work with streamcopy

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 13:13:12 +02:00
Michael Niedermayer
27856b2fe9 ffmpeg: prevent pts < dts to be passed through to the muxer on stream copy
Fixes Ticket3658

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 18:37:32 +02:00
Michael Niedermayer
0efe3be71d Merge commit '39ec5e1cf8444f827c42effb76e5694e091bbff3'
* commit '39ec5e1cf8444f827c42effb76e5694e091bbff3':
  avconv: Report the codec and the encoder separately

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 20:08:22 +02:00
Lou Logan
88f2586adb fix various typos
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 10:58:19 -08:00
Michael Niedermayer
137c5e115b ffmpeg: try to use the more fitting of the 2 encoder contexts
This fixes the interactively enabled encoder debug by pressing 'D'

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 19:48:25 +02:00