Commit Graph

156 Commits

Author SHA1 Message Date
Thilo Borgmann e113692c89 lavu/ffmpeg_opt: Check return value of avcodec_find_encoder().
Prevents a segfault if a stream featuring a known but unavailable codec (like external lib codec) should be opened.

Bug found by: Jonas Geistert <j.geistert@yahoo.de>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 18:03:09 +02:00
Michael Niedermayer 7a67ab5cba ffmpeg_opt: reduce diff to libav in opt_target() by 16 lines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 14:27:30 +02:00
Michael Niedermayer 2082c00ea2 Merge commit 'f5245a9c6206878b892adf3ccbccc9311c202af5'
* commit 'f5245a9c6206878b892adf3ccbccc9311c202af5':
  avconv: fix parsing the AVOptions for -target

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 12:55:31 +02:00
Reimar Döffinger a0941c8a2b Use new av_dict_set_int helper function.
Get rid of the many, slightly differing, implementations
of basically the same thing.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-16 14:31:41 +02:00
Clément Bœsch 11aab8d6cb ffmpeg: look for encoding options in both avcodec and avformat
This patch is the same as 8a1714ad85 but
applied to encoding. It fixes the current clash of the -password option
between tta decoder and the icecast protocol.
2014-08-15 23:56:09 +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
Carl Eugen Hoyos 7d585bc94c Do not automatically map subtitles if the decoder and encoder properties are different.
Fixes ticket #3819.
2014-08-07 13:18:00 +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 956f4087c6 ffmpeg_opt: Use av_guess_codec() instead of AVOutputFormat->*codec
Fixes part of ticket2236

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 03:29:42 +02:00
Michael Niedermayer 25a2060890 Merge commit 'dc71f1958846bb1d96de43a4603983dc8450cfcc'
* commit 'dc71f1958846bb1d96de43a4603983dc8450cfcc':
  video4linux2: Avoid a floating point exception

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 00:06:32 +02:00
Michael Niedermayer e10b62ab5d ffmpeg_opt: remove intra_dc_precision, its handled by AVOptions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 20:18:19 +02:00
Michael Niedermayer f02a440814 ffmpeg_opt: route -ab to -b:a
Fixes combining -ab with -target pal-dvd
Fixes Ticket3736

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-29 02:47:49 +02:00
Michael Niedermayer eec55e622a ffmpeg_opt: Dont exit on avformat_find_stream_info() failure if there are streams
This allows "-codec copy -f framecrc" on files with only unindentifyable streams

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 21:35:54 +02:00
Michael Niedermayer 01ef127bf8 ffmpeg: support setting AVStream.discard
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 21:26:22 +02:00
Michael Niedermayer 5affab960c ffmpeg_opt: remove unused variable and undocumented and not working command line option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 21:13:08 +02:00
Michael Niedermayer 909dbb07eb ffmpeg_opt: fix ffserver with the 2 encoder contexts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:29:59 +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 229022e788 ffmpeg_opt: fix attachment streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:15:56 +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 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 1f359c8559 ffmpeg: use av_stream_get_end_pts()
Simplifies code and should correct timing values when -*sync drop is used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 18:53:42 +02:00
Michael Niedermayer be2bbc5266 ffmpeg_opt: dont copy "encoder" metadata unless stream copy is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 02:01:18 +02:00
Michael Niedermayer 87f5ede6b5 ffmpeg: add last_mux_dts_plus_duration
Fixes 1 frame error in the duration and derived values,
introduced by not using AVStream.pts in the previous commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 15:35:20 +02:00
Michael Niedermayer 5460ab73d2 Merge commit '1839fafa951308237c4672ffd9a94f927b26eac7'
* commit '1839fafa951308237c4672ffd9a94f927b26eac7':
  avconv: Support VDA hwaccel

Conflicts:
	Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 02:44:28 +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 42b7bda41a Merge commit 'f3a6ad22c977c8fea87c4c5e4535061db6324d66'
* commit 'f3a6ad22c977c8fea87c4c5e4535061db6324d66':
  avconv: rename InputStream.opts to InputStream.decoder_opts

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 14:44:33 +02:00
Michael Niedermayer 21c7e99659 Merge commit 'a61c2115fb936d50b8b0328d00562fe529a7c46a'
* commit 'a61c2115fb936d50b8b0328d00562fe529a7c46a':
  configure: rework dxva in avconv handling

Conflicts:
	Makefile
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 01:47:53 +02:00
Michael Niedermayer c6eee3120a Merge commit '35177ba77ff60a8b8839783f57e44bcc4214507a'
* commit '35177ba77ff60a8b8839783f57e44bcc4214507a':
  avconv: add support for DXVA2 decoding

Conflicts:
	Makefile
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 01:22:22 +02:00
Michael Niedermayer 25bcf24d4d ffmpeg_opt: check that a subtitle encoder is available before auto mapping streams
Fixes Ticket3470

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 15:15:02 +01:00
Michael Niedermayer 8803b970ef ffmpeg_opt: Check ist is valid before using it in audio_channels_map init
Fixes segfault and instead provides an error message
Fixes Ticket3465

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 22:14:08 +01:00
Timothy Gu 774239be71 ffmpeg_opt: get_preset_file_2(): fix avio_open2() return code check
avio_open2() only return < 0 when error.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-25 00:05:37 +01:00
Michael Niedermayer cc6cc84bc4 Merge commit '746dca483a2f0f2639265f6e1c0085c8861875a1'
* commit '746dca483a2f0f2639265f6e1c0085c8861875a1':
  avconv: support forcing codec tags for input streams

Conflicts:
	doc/ffmpeg.texi

See: 6bca574a98
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-24 09:15:46 +01:00
Michael Niedermayer 3e70c7023e ffmpeg: support setting the chroma intra matrix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-18 18:19:28 +01:00
Alexander Strasser 2b17c7685f ffmpeg_opt: assert_file_overwrite: Work for all file protocol outputs
Currently the file overwrite check does not work for paths that
contain a colon.

Use avio_find_protocol to always execute the existence check if
the file protocol is going to be used.

Fix remaining part of ticket #3249.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2014-02-16 22:34:21 +01:00
Michael Niedermayer 8a1714ad85 ffmpeg: do not fail when options are routed to libavformat and libavcodec and only one can be used
Fixes setting frame_size for pulse demuxer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-03 02:24:27 +01:00
Carl Eugen Hoyos e079661d23 ffmpeg_opt: Fix -target vcd
The removed line makes no sense and doesnt work

fixes ticket #3239

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-25 21:31:19 +01:00
Michael Niedermayer c302811643 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: initialize hwaccel_pix_fmt

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 04:30:46 +01:00
Michael Niedermayer 3e641b4842 Merge commit '7671dd7cd7d51bbd637cc46d8f104a141bc355ea'
* commit '7671dd7cd7d51bbd637cc46d8f104a141bc355ea':
  avconv: add support for VDPAU decoding

Conflicts:
	Changelog
	Makefile
	configure
	ffmpeg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-23 14:46:48 +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 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 9647c6dedd ffmpeg_opt: fix overriding values set by -target
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-13 22:07:19 +01:00
Stefano Sabatini f591ba60ff ffmpeg: generate more specific error message in case of inconsistent filtering options
In particular, distinguish if the option was -filter or -filter_script.

Suggested-by: Nicolas George
2013-11-09 19:05:35 +01:00
Stefano Sabatini 0f8bdfe3e8 ffmpeg: store value of -filter and -filter_script per-stream option in OutputStream struct
Avoid the need for multiple potentially inconsistent access operations,
slightly factorize code.
2013-11-09 19:05:34 +01:00
Stefano Sabatini 535d58959d ffmpeg: add verbose consistency checks in case of filtering inconsistent options
In particular, warn in case -filter and streamcopy is used at the same
time, fix trac ticket #678.
2013-11-03 18:05:43 +01:00
Paul B Mahol c655216939 make it possible to compile ffmpeg without swscale
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-21 13:57:00 +00: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 4d5d905eed ffmpeg: avoid direct access to lowres use av_codec_g/set_lowres()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 17:20:53 +02:00
Michael Niedermayer 64327aabb9 ffmpeg: add support to force specific AVCodecs
previously only codec_ids could be forced, which did not allow
forcing a specific implementation like libopenjpeg vs jpeg2000.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 22:56:03 +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 6d77279ed8 ffmpeg_opt: Remove support for specifying -t anywhere to set the duration
This would otherwise conflict with the semantics of using -t for the input

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 12:06:28 +02:00