Commit Graph

85 Commits

Author SHA1 Message Date
Michael Niedermayer 67ac31d1be Merge commit '247aa7af7d8197247c181e3fbfe8d93d75e41b29'
* commit '247aa7af7d8197247c181e3fbfe8d93d75e41b29':
  avisynth: Simplify shared library name construction

Conflicts:
	libavformat/avisynth.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 20:03:16 +02:00
Diego Biurrun 247aa7af7d avisynth: Simplify shared library name construction 2015-04-15 14:52:57 +02:00
Stephen Hutchinson 7a5f444766 avisynth: Bump minimum required version to interface version 6
The AVSC_API changes in the new headers mean that the 2.6 alphas
are just as incompatible as 2.5 is.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 13:53:04 +02:00
Stephen Hutchinson a6a45e5a9a avisynth: Fix detection of AviSynth 2.5
In order to safely exit when the user tries to use AviSynth 2.5, the
continue_on_fail value for 2.6's functions need to be set to 1.
Otherwise, the library loader fails before the 'upgrade to 2.6'
log message appears.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 13:52:41 +02:00
Stephen Hutchinson 3723a18310 avisynth: Bump minimum required version to interface version 6
The AVSC_API changes in the new headers mean that the 2.6 alphas
are just as incompatible as 2.5 is.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 23:52:48 +02:00
Stephen Hutchinson d858c3a18f avisynth: Fix detection of AviSynth 2.5
In order to safely exit when the user tries to use AviSynth 2.5,
the continue_on_fail value for 2.6's functions need to be set to
1.  Otherwise, the library loader fails before the 'upgrade to
2.6' log message appears.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 23:30:08 +02:00
Stephen Hutchinson 1492118c9d avisynth: drop support of AviSynth 2.5
If the user attempts to use AviSynth 2.5, an error message will
now tell them they need to upgrade.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 20:37:26 +01:00
Michael Niedermayer 153073201c Merge commit 'a8c99205ca8703bd849efae13fcf844315c7147d'
* commit 'a8c99205ca8703bd849efae13fcf844315c7147d':
  avisynth: Fix compilation against current 2.6 header(s).

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 11:40:12 +01:00
Stephen Hutchinson 1188119624 avisynth: update documentation about the avisynth_c.h header
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-24 10:31:04 +01:00
Stephen Hutchinson a8c99205ca avisynth: Fix compilation against current 2.6 header(s).
AviSynth 2.6 (and by extension, AviSynth+) moves these functions
into AVSC_API. This requires both adjusting their normal use,
and for AvxSynth, adjusting the position/use of the USING_AVISYNTH
ifdefs.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-24 10:31:04 +01:00
Michael Niedermayer 4bcb58b3ad Merge commit 'f2ad1495f23376ce61542967f4fc14205f284d40'
* commit 'f2ad1495f23376ce61542967f4fc14205f284d40':
  avisynth: Use RTLD_LOCAL instead of RTLD_GLOBAL

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 13:24:57 +01:00
Martin Storsjö f2ad1495f2 avisynth: Use RTLD_LOCAL instead of RTLD_GLOBAL
There shouldn't be any need to add the loaded libraries to the global
symbol namespace.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 02:30:03 +02:00
Hendrik Leppkes 7c377f0e74 avisynth: set duration of audio streams
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-16 14:41:02 +02:00
Hendrik Leppkes ae8e2d7634 avisynth: set duration of audio streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 04:38:33 +02:00
Michael Niedermayer c9db8694a8 avisynth: fix setting packet properties
Reviewed-by: Stephen Hutchinson <qyot27@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-01-17 11:11:08 +01:00
Michael Niedermayer 4cb9c20136 avformat/avisynth simplify packet allocation
Reviewed-by: Stephen Hutchinson <qyot27@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-10 15:38:59 +01:00
Stephen Hutchinson 16ae337bd8 avisynth: Use av_packet_from_data instead of av_new_packet
If the audio changes from 9eac7c4 were merged as they were, this
would cause scripts with both video+audio to fail with a lot of
audio decoding errors (the video would be fine). Scripts with
only one of either video or audio were unaffected. Additionally,
the av_packet changes in general caused seeking to break.

Using av_packet_from_data allows video+audio scripts to work as
expected, without audio decoding errors.  It also fixes seeking.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 12:54:27 +01:00
Anton Khirnov 02dd178d9d avisynth: More av_new_packet changes
These are the remaining av_packet-related bits from 9eac7c4
that didn't get merged at that time.

Changes authored by Anton Khirnov <anton@khirnov.net>, split out
from 9eac7c4 by Stephen Hutchinson <qyot27@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 12:54:22 +01:00
Michael Niedermayer 9eac7c435f Merge commit 'f0b234ab9e406efee85c17eb435db646092a943b'
* commit 'f0b234ab9e406efee85c17eb435db646092a943b':
  avformat: AviSynth demuxer rewrite

Conflicts:
	configure
	libavformat/avisynth.c

See: b9ad009475 (as well as later commits)
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 12:03:09 +01:00
d s f0b234ab9e avformat: AviSynth demuxer rewrite
Directly loads AviSynth through LoadLibrary instead of relying on
Video for Windows, and supports using AvxSynth (via dlopen) to
open scripts on Linux and OS X.

Error messages from AviSynth/AvxSynth are now reported through
av_log and exit, rather than the traditional behavior of generating
an error video that the user would need to watch to diagnose.

The main rewrite was authored by d s <avxsynth.testing@gmail.com>
from the AvxSynth team, with additional contributions by

Oka Motofumi <chikuzen.mo@gmail.com>
Stephen Hutchinson <qyot27@gmail.com>
Diego Biurrun <diego@biurrun.de>
Anton Khirnov <anton@khirnov.net>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-08 21:54:50 +01:00
Michael Niedermayer b2c89453dc avformat/avisynth: remove duplicate av_new_packet() call
Found-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-01 22:12:57 +01:00
Anton Khirnov c46ab34d81 avisynth: make avs_library statically allocated.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-01 13:14:47 +01:00
Stephen Hutchinson 801c186440 avisynth: Move to av_new_packet/av_free_packet.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-01 13:14:42 +01:00
Clément Bœsch 8d55362fd0 avformat/avisynth: re-add trailing \n.
Regression since ac9529ce.

Spotted by Timothy Gu.
2013-10-29 19:42:08 +01:00
Stephen Hutchinson f87a2e1272 avisynth: Factor out a couple of returns
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:30:43 +01:00
Stephen Hutchinson ac9529ceec avisynth: Simplify a stray av_log message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:30:36 +01:00
Stephen Hutchinson 7ac67583c3 avisynth: Switch a couple of AVERROR_UNKNOWNs to AVERROR(ENOMEM)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:30:20 +01:00
Stephen Hutchinson c7f9aab801 avisynth: Use AV_* prefixes for video and audio IDs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:26:56 +01:00
Stephen Hutchinson cf31c1d4f8 avisynth: Remove outdated undef block
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:26:47 +01:00
Stephen Hutchinson df6279e737 avisynth: Remove a couple of useless AviSynthContext casts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:26:37 +01:00
Stephen Hutchinson da9852670c avisynth: Don't declare structs anonymously
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:26:28 +01:00
Stephen Hutchinson d10d60be68 avisynth: Compact AvxSynth's avoidance of 2.6's colorspaces.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:26:14 +01:00
Stephen Hutchinson 2c18bfe6af avisynth: Cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:25:26 +01:00
Stephen Hutchinson 1549122d26 avisynth: Change most of the comments to /* */ from //
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:25:12 +01:00
Stephen Hutchinson bd97ba72dc avisynth: Introduce USING_AVISYNTH macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 22:24:58 +01:00
Michael Niedermayer 86ca6a7568 Merge commit '97b052e56807fab6887e9ba210a28a622e6a4b78'
* commit '97b052e56807fab6887e9ba210a28a622e6a4b78':
  avisynth: Add missing #include for NULL_IF_CONFIG_SMALL

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 13:39:15 +02:00
Diego Biurrun c16ddcc90b avisynth: K&R formatting cosmetics 2013-09-06 11:13:36 +02:00
Diego Biurrun 97b052e568 avisynth: Add missing #include for NULL_IF_CONFIG_SMALL 2013-09-06 09:09:07 +02:00
Stephen Hutchinson 2c25e83b1d avisynth: Support video input from AviSynth 2.5 properly.
Uses the 2.5 compatibility header included with the variant of
FFMS2 that uses AviSynth's C-interface. A copy of this header is
now provided in compat/avisynth.

avs_get_row_size_p and avs_get_height_p changed between versions
2.5 and 2.6. Since the avisynth_c.h header that avformat uses
assumes AviSynth 2.6, it would cause 2.5 to crash if given any
kind of real video (the Version() function was known to work,
though).

AvxSynth was unaffected by this issue because, despite being based
on AviSynth 2.5.8 and using 2.5.8's interface version number of 3,
it actually uses 2.6's versions of these functions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 14:27:25 +02:00
Stephen Hutchinson 9db353bc47 avisynth: Exit gracefully when trying to serve video from v2.5.8.
'Fixes' ticket #2526 insofar as it stops 2.5.8 from crashing and
tells the user to upgrade to 2.6 if they want to make video input
work. A real solution to #2526 would be to get video input from
2.5.8 to work right.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 10:38:48 +02:00
Stephen Hutchinson f277d6bf42 avisynth: Cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 10:37:19 +02:00
Diego Biurrun 0e8c6f221a avisynth: Fix a "AVISynth" vs. "AviSynth" struct name typo
Also fix some similar typos in comments and documentation.
2013-07-29 20:09:59 +02:00
Diego Biurrun 03039f4c8c miscellaneous typo fixes 2013-07-25 19:43:32 +02:00
Paul B Mahol d64f3b72e0 replace some deprecated defines
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-06 05:43:24 +00:00
Oka Motofumi 81c5ceeda2 avisynth: Make sure the filename passed to Avisynth is in the right code page
Avisynth is a non-unicode application and cannot accept UTF-8
characters. Therefore, the input filename should be converted to
the code page that it expects.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-22 16:41:43 -04:00
Stephen Hutchinson ff99b42e04 avformat/avisynth: Don't insert null frames or samples at the start of a stream.
This is the last remaining issue from ticket #2412

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:32:14 +02:00
d s 685617ac29 avformat/avisynth: Cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 02:25:34 +02:00
d s ca3cef719e avformat/avisynth: Fix off-by-one error in avisynth demuxer.
Fixes ticket #2412.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 02:25:34 +02:00
Stephen Hutchinson 8cd7aab1bb Use PIX_FMT_BGR24 for the AviSynth demuxer, instead of RGB24.
Partial fix for ticket #2412 in that using PIX_FMT_BGR24 fixes the
swapped channels issue when using scripts serving RGB24.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 01:09:33 +01:00
d s 444001bda6 Fix avisynth_context_create constructor error handling.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 03:47:49 +01:00