Commit Graph

105 Commits

Author SHA1 Message Date
Nicolas George d9b311d44c ffmpeg: use buffersink accessors. 2017-01-12 14:06:16 +01:00
Nicolas George 0b66c456f9 lavfi, ffmpeg: simplify filter names.
The names are only used for technical output and debugging.
Make them similar to C identifiers for easier quick reading
of debug dumps.
2017-01-12 14:06:16 +01:00
Paul B Mahol 8f5a2bed5e ffmpeg_filter: fix several logic failures
Move global thread variables to better place.
Use correct variable for simple and complex filtergraphs.

This makes number of threads set per filter work again.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-11-24 16:27:55 +01:00
Hendrik Leppkes 198e8b8e77 Merge commit '50722b4f0cbc5940e9e6e21d113888436cc89ff5'
* commit '50722b4f0cbc5940e9e6e21d113888436cc89ff5':
  avconv: decouple configuring filtergraphs and setting output parameters

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-11-13 15:33:39 +01:00
Hendrik Leppkes ca7cdffb70 ffmpeg_filter: fix hwaccel transcoding
Based on a patch by Yogender Gupta <ygupta@nvidia.com>
2016-11-13 15:16:14 +01:00
DeHackEd 6d50dff816 ffmpeg: parameters for filter thread counts
Enables specifying how many threads are available to each filtergraph.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-06 15:27:25 +01:00
Hendrik Leppkes 31d657130b ffmpeg: fix width/height overrides for sub2video processing 2016-11-03 16:20:59 +01:00
Hendrik Leppkes b6422902d8 Merge commit '722ec3eb35bc152ce91d0a4502eca0df1c0086d0'
* commit '722ec3eb35bc152ce91d0a4502eca0df1c0086d0':
  avconv: decouple configuring filtergraphs and setting input parameters

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-11-03 14:53:58 +01:00
Clément Bœsch 955b818cf9 ffmpeg: switch to codecpar
This commit is largely based on commit 15e84ed3 from Anton Khirnov
<anton@khirnov.net> which was previously skipped in bbf5ef9d.

There are still a bunch of things raising codecpar related warnings that
need fixing, such as:
- the use of codec->debug in the interactive debug mode
- read_ffserver_streams(): it's probably broken now but there is no test
- lowres stuff
- codec copy apparently required by bitstream filters

The matroska references are updated because they now properly forward
the field_order (previously unknown, now progressive).

Thanks to James Almer for fixing a bunch of FATE issues in this commit.

Signed-off-by: Clément Bœsch <clement@stupeflix.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-09-21 15:39:28 +02:00
Timothy Gu 1b04ea1a6c Merge commit '73c6ec6d659bab11ac424a4ba6ce3a56246295ee' into merge
* commit '73c6ec6d659bab11ac424a4ba6ce3a56246295ee':
  avconv: create simple filtergraphs earlier

Merged-by: Timothy Gu <timothygu99@gmail.com>
2016-08-03 20:53:03 -07:00
Timothy Gu 9aa3023672 Merge commit '49670e4218d34899a1c37abb7a11615efc16f757'
* commit '49670e4218d34899a1c37abb7a11615efc16f757':
  avconv: add a function for determining whether a filtergraph is simple

Conflicts:
	avconv.c

Merged-by: Timothy Gu <timothygu99@gmail.com>
2016-08-03 20:33:57 -07:00
Michael Niedermayer 4a81bddb4d ffmpeg_filter: Fix AVBufferSrcParameters leak
Fixed: CID1361950

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-19 00:10:27 +02:00
Derek Buitenhuis 172d3568b3 Merge commit '5d273d3efac340ef8de445c955ff44c7abed4e8f'
* commit '5d273d3efac340ef8de445c955ff44c7abed4e8f':
  avconv: VAAPI hwcontext initialisation and hwaccel helper

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 22:39:39 +01:00
Lou Logan 06eef96b69 fix some a/an typos
Signed-off-by: Lou Logan <lou@lrcd.com>
2016-03-28 14:13:17 -08:00
Michael Niedermayer d94b11a721 ffmpeg_filter: Factor get_compliance_unofficial_pix_fmts() out
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-10 13:28:23 +01:00
Michael Niedermayer 82d2aa2b32 ffmpeg_filter: Add missing pixel formats to strict_std_compliance case for ljpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-10 13:28:23 +01:00
Michael Niedermayer a82ff49bb8 ffmpeg_filter: Add YUV 444 to strict_std_compliance case for mjpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-10 13:28:23 +01:00
Michael Niedermayer 8f3a960353 ffmpeg_filter: remove redundant null ptr check
Fixes: CID1338331

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-11 01:51:52 +01:00
Nicolas George e8e7eb150f ffmpeg_filter: check encoder before using it to set frame size.
Fix a segfault when no encoder is found for a default codec
with a complex filter graph.
2015-10-30 10:55:10 +01:00
Michael Niedermayer 14573b9b7c Revert "Merge commit '8b830ee9a26d47b138f12a82085cdb372f407f1e'" (avconv: Do not try to configure filter outputs without streams)
FFmpeg already tests for this case in configure_output_filter() and printed a
clearer error message

example:
./ffmpeg -f lavfi -i color -f lavfi -i color -filter_complex "[1]null[x],[0][1]overlay" -f null -
before the merge / after the revert:
Filter null has a unconnected output

after the merge / before the revert:
Output pad "default" with type video of the filter instance "Parsed_null_0" of null not connected to any destination
Error configuring complex filters.
Invalid argument

This reverts commit 3e3779cd51, reversing
changes made to 0b28039a44.

Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
2015-10-11 12:24:43 +02:00
Hendrik Leppkes 3e3779cd51 Merge commit '8b830ee9a26d47b138f12a82085cdb372f407f1e'
* commit '8b830ee9a26d47b138f12a82085cdb372f407f1e':
  avconv: Do not try to configure filter outputs without streams

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-10 09:43:47 +02:00
Ronald S. Bultje 6495c4c687 lavfi: fix compilation with FF_API_OLD_FILTER_OPTS=0. 2015-08-18 22:22:49 -04:00
Michael Niedermayer 72237ef6e9 ffmpeg_filter: Do not override the dimensions in sub2video_prepare()
Fixes ticket4744 part1

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-15 17:41:48 +02:00
Michael Niedermayer 6dbaeed6b7 ffmpeg: switch swscale option handling to AVDictionary similar to what the other subsystems use
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-08 14:44:15 +02:00
Michael Niedermayer 444e9874a7 Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'
* commit 'def97856de6021965db86c25a732d78689bd6bb0':
  lavc: AV-prefix all codec capabilities

Conflicts:
	cmdutils.c
	ffmpeg.c
	ffplay.c
	libavcodec/8svx.c
	libavcodec/aacenc.c
	libavcodec/ac3dec.c
	libavcodec/adpcm.c
	libavcodec/alac.c
	libavcodec/atrac3plusdec.c
	libavcodec/bink.c
	libavcodec/dnxhddec.c
	libavcodec/dvdec.c
	libavcodec/dvenc.c
	libavcodec/ffv1dec.c
	libavcodec/ffv1enc.c
	libavcodec/fic.c
	libavcodec/flacdec.c
	libavcodec/flacenc.c
	libavcodec/flvdec.c
	libavcodec/fraps.c
	libavcodec/frwu.c
	libavcodec/gifdec.c
	libavcodec/h261dec.c
	libavcodec/hevc.c
	libavcodec/iff.c
	libavcodec/imc.c
	libavcodec/libopenjpegdec.c
	libavcodec/libvo-aacenc.c
	libavcodec/libvorbisenc.c
	libavcodec/libvpxdec.c
	libavcodec/libvpxenc.c
	libavcodec/libx264.c
	libavcodec/mjpegbdec.c
	libavcodec/mjpegdec.c
	libavcodec/mpegaudiodec_float.c
	libavcodec/msmpeg4dec.c
	libavcodec/mxpegdec.c
	libavcodec/nvenc_h264.c
	libavcodec/nvenc_hevc.c
	libavcodec/pngdec.c
	libavcodec/qpeg.c
	libavcodec/ra288.c
	libavcodec/rv10.c
	libavcodec/s302m.c
	libavcodec/sp5xdec.c
	libavcodec/takdec.c
	libavcodec/tiff.c
	libavcodec/tta.c
	libavcodec/utils.c
	libavcodec/v210dec.c
	libavcodec/vp6.c
	libavcodec/vp9.c
	libavcodec/wavpack.c
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 22:50:18 +02:00
Michael Niedermayer 94d68a41fa Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'
* commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615':
  lavc: AV-prefix all codec flags

Conflicts:
	doc/examples/muxing.c
	ffmpeg.c
	ffmpeg_opt.c
	ffplay.c
	libavcodec/aacdec.c
	libavcodec/aacenc.c
	libavcodec/ac3dec.c
	libavcodec/ac3enc_float.c
	libavcodec/atrac1.c
	libavcodec/atrac3.c
	libavcodec/atrac3plusdec.c
	libavcodec/dcadec.c
	libavcodec/ffv1enc.c
	libavcodec/h264.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_mb.c
	libavcodec/imc.c
	libavcodec/libmp3lame.c
	libavcodec/libtheoraenc.c
	libavcodec/libtwolame.c
	libavcodec/libvpxenc.c
	libavcodec/libxavs.c
	libavcodec/libxvid.c
	libavcodec/mpeg12dec.c
	libavcodec/mpeg12enc.c
	libavcodec/mpegaudiodec_template.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/nellymoserdec.c
	libavcodec/nellymoserenc.c
	libavcodec/nvenc.c
	libavcodec/on2avc.c
	libavcodec/options_table.h
	libavcodec/opus_celt.c
	libavcodec/pngenc.c
	libavcodec/ra288.c
	libavcodec/ratecontrol.c
	libavcodec/twinvq.c
	libavcodec/vc1_block.c
	libavcodec/vc1_loopfilter.c
	libavcodec/vc1_mc.c
	libavcodec/vc1dec.c
	libavcodec/vorbisdec.c
	libavcodec/vp3.c
	libavcodec/wma.c
	libavcodec/wmaprodec.c
	libavcodec/x86/hpeldsp_init.c
	libavcodec/x86/me_cmp_init.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 22:10:35 +02:00
Michael Niedermayer 2dbaec690d ffmpeg_filter: Check that filters have connected outputs before accessing the output stream
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 15:36:59 +02:00
Michael Niedermayer bc3f19641c Merge commit '6d592fbd0d8e89ecade3fc93b36ea200213dc01c'
* commit '6d592fbd0d8e89ecade3fc93b36ea200213dc01c':
  avconv: split creating and (re-)configuring complex filtergraphs

Conflicts:
	ffmpeg_filter.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 15:36:54 +02:00
rogerdpack a1c03b9d58 ffmpeg_filter: log more information on failure to init simple filter graph
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-02 04:56:10 +02:00
Michael Niedermayer 800df6a849 ffmpeg_filter: use get_rotation()
This unifies the rotation extraction code between ffplay and ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 00:14:36 +02:00
Michael Niedermayer f5b26fbc2f Merge commit '16302246b1fcb7ad4e6f7bd31c49956a455336d2'
* commit '16302246b1fcb7ad4e6f7bd31c49956a455336d2':
  avconv: Add an option for automatically rotating video according to display matrix

Conflicts:
	Changelog
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 22:39:00 +02:00
Rodger Combs 39f247121e ffmpeg: fix accurate seeking with -copyts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 17:31:26 +01:00
Nicolas George 90cdec5e26 ffmpeg: init sub2video.last_pts.
Get the heartbeat working when the video has negative timestamps.

Fix trac ticket #4062.

Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 21:04:36 +01:00
Michael Niedermayer 1dd38e99fd Merge commit 'c802a2e718fb3619291f310f851f1a1cdcf4f581'
* commit 'c802a2e718fb3619291f310f851f1a1cdcf4f581':
  avconv: fix leak in filter error

Conflicts:
	ffmpeg_filter.c

See: 14369f59c5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:47:49 +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 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
Carl Eugen Hoyos 494cbc4238 ffmpeg: Clean up if filter initialisation failed to avoid a memleak.
Fixes ticket #3858.

Reviewed-by: Nicolas George
2014-08-30 13:01:51 +02:00
Nicolas George 91244073fd ffmpeg_filter: refuse to configure input without a decoder.
The decoder is necessary in order to filter frames.
This makes the error message clearer in this case:
currently, it will usually fail because the pixel or sample
format is not defined and is converted into "(null)"
(non-portable).

Enhance trac ticket #3779.
2014-07-30 14:40:45 +02:00
Michael Niedermayer 758f929d21 ffmpeg: Fix choose_pixel_fmt() so it uses the correct encoding context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:16:08 +02:00
Michael Niedermayer 0949ff93c0 ffmpeg_filter: fix choose_pix_fmts() so it uses the correct encoding context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:15:46 +02:00
Michael Niedermayer 862120f980 Merge commit '383136264ef40452efd86cafb2d7221cd3830b3d'
* commit '383136264ef40452efd86cafb2d7221cd3830b3d':
  avconv: do not use the stream codec context for encoding

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 15:53:23 +02:00
Michael Niedermayer 921d5ae3bc ffmpeg: replace remaining, ffmpeg specific ist->st->codec by ist->dec_ctx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 15:30:51 +02:00
Michael Niedermayer d097935767 Merge commit '41776ba9c0ebbb71394cefdf7dd1b243e6c852d5'
* commit '41776ba9c0ebbb71394cefdf7dd1b243e6c852d5':
  avconv: do not use the stream codec context for decoding

Conflicts:
	ffmpeg.c
	ffmpeg_filter.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 14:35:53 +02:00
Michael Niedermayer d5ec1ddf7b Merge commit '9580818c5d934bde65a95efd2cee61c174721092'
* commit '9580818c5d934bde65a95efd2cee61c174721092':
  avconv: rename OutputStream.opts to OutputStream.encoder_opts

Conflicts:
	ffmpeg.c
	ffmpeg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 15:51:55 +02:00
Michael Niedermayer d80e7ba9b7 ffmpeg_filter: make *jpeg_formats static const
Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 00:22:38 +02:00
Michael Niedermayer 09b16619d3 ffmpeg_filter: fix pointer to local outside scope
Fixes CID1206652
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 05:07:29 +02: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 d9bc251d39 ffmpeg_filter: Fix non jpeg yuv in jpeg support
This is a regression, did not bisect so dont know what caused it but
likely some changes to the command line handling code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 17:41:06 +01:00
Michael Niedermayer da54ad9a72 ffmpeg_filter: Pass command line -threads X to filtergraph
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 23:15:30 +02:00