From 2ecf00d7733c473358b652c50b83cb95f65174ff Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Thu, 23 Feb 2023 22:18:39 +0100 Subject: FFMPEGMediaPlayer: Add implementation update for FFmpeg version 4.* (Debian 11), 5.* (Debian 12) and 6.* (Current Development trunk) From here on, libav support has been dropped. Required FFmpeg libraries to be fully matched by their major runtime- and compiletime-versions are: - avcodec - avformat - avutil - swresample Library avdevice is optional and only used for video input devices (camera). Library avresample has been removed, since FFmpeg dropped it as well in version 6.* and swresample is preferred for lower versions. The matching major-versions of each library to the FFmpeg version is documented within FFMPEGMediaPlayer class API-doc. Each implementation version uses the non-deprecated FFmpeg code-path and compilation using matching header files is warning-free. --- .../opengl/util/av/impl/FFMPEGMediaPlayer.java | 110 +++++++++------------ 1 file changed, 44 insertions(+), 66 deletions(-) (limited to 'src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java') diff --git a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java index 6e44dcc37..c1a7eceda 100644 --- a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java +++ b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java @@ -56,16 +56,12 @@ import jogamp.opengl.util.av.GLMediaPlayerImpl; import jogamp.opengl.util.av.VideoPixelFormat; /*** - * Implementation utilizes Libav - * or FFmpeg which are ubiquitous + * Implementation utilizes FFmpeg which is ubiquitous * available and usually pre-installed on Unix platforms. *

- * Due to legal reasons we cannot deploy binaries of it, which contains patented codecs. - *

- *

* Besides the default BSD/Linux/.. repositories and installations, * precompiled binaries can be found at the - * listed location below. + * listed location below. *

* *
Implementation specifics
@@ -90,29 +86,26 @@ import jogamp.opengl.util.av.VideoPixelFormat; *

*

* - *

Libav Specifics
+ *
FFmpeg Specifics
*

- * Utilizes a slim dynamic and native binding to the Lib_av - * libraries: + * Utilizes a slim dynamic and native binding to the FFmpeg libraries: *

*

* - *
LibAV Compatibility
+ *
FFmpeg Compatibility
*

- * Currently we are binary compatible w/: + * Currently we are binary compatible with the following major versions: * - * - * - * - * - * - * + * + * + * + * *
libav / ffmpeglavclavflavulavr/lswr FFMPEG* class
0.8 53 53 51 FFMPEGv08
9.0 / 1.2 54 54 52 01/00 FFMPEGv09
10 / 2.[0-3] 55 55 53/52 01/00 FFMPEGv10
11 / 2.[4-8] 56 56 54 02/01 FFMPEGv11
12 / 2.[9-x] 57 57 55 02/01 TODO
ffmpeglavcodeclavformatlavdevicelavutilswresample FFMPEG* class
4 58 58 58 56 03 FFMPEGv0400
5 59 59 59 57 04 FFMPEGv0500
6 60 60 60 58 04 FFMPEGv0600
*

*

@@ -121,11 +114,6 @@ import jogamp.opengl.util.av.VideoPixelFormat; *

  • http://ffmpeg.org/documentation.html
  • *
  • http://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/APIchanges;hb=HEAD
  • * - * See libav: - * *

    *

    * Check tag 'FIXME: Add more planar formats !' @@ -141,15 +129,14 @@ import jogamp.opengl.util.av.VideoPixelFormat; * *

    * - *
    FFMPEG / LibAV Availability
    + *
    FFmpeg Availability
    *

    *