diff options
author | Sven Gothel <[email protected]> | 2013-08-29 22:46:57 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-08-29 22:46:57 +0200 |
commit | eca6a5cb1e2beda84dfbafc31ed225e272f4f3fb (patch) | |
tree | c77750eac39a611bbc46b77f64e5ae5c123e9427 /src/jogl/native/libav/ffmpeg_static.c | |
parent | 9bf14f3c6bf98bd86913bec6e7feb54537f9b7d3 (diff) |
Enhance GLMediaPlayer: Full FFMPeg support, 'dshow' camera support on windows, 2 more pixel formats, fail-safe data handling
- add support for ffmpeg 2 / libav 10 -> lavc55_lavf55_lavu52_lavr01
- add support for ffmpeg libswresample (similar to libavresample)
- handle BGRA (GL type) and BGR24 (texture shader)
- Change Camera URI semantics, drop 'host' and use 'path' for camera ID
and use 'query' for options.
- add support for Window's DShow camera selection
- our camera id -> index of list of video-input devices,
this gives us same behavior as w/ Linux
- requires windows libs: strmiids, uuid, ole32, oleaut32
- Compiles w/ MingW64, works w/ libav/ffmpeg
- TODO: test compilation w/ MingW 32bit !
- don't push data to texture if (linesize <= 0)
this may happen due to buggy decoder / setup ..
Tested manually on GNU/Linux x64 and Windows x64:
- GNU/Linux libav 0.8, libav 9, libav 10, ffmpeg 1.2, ffmpeg 2.0
- Windows libav 0.8, libav 9, ffmpeg 2.0
- videos and camera
Diffstat (limited to 'src/jogl/native/libav/ffmpeg_static.c')
-rw-r--r-- | src/jogl/native/libav/ffmpeg_static.c | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/src/jogl/native/libav/ffmpeg_static.c b/src/jogl/native/libav/ffmpeg_static.c index 171dda6a7..f079ee841 100644 --- a/src/jogl/native/libav/ffmpeg_static.c +++ b/src/jogl/native/libav/ffmpeg_static.c @@ -28,9 +28,6 @@ #ifdef _WIN32 #include <windows.h> - // __declspec(dllimport) void __stdcall Sleep(unsigned long dwMilliseconds); - - #define usleep(t) Sleep((t) / 1000) #endif #include <gluegen_stdint.h> @@ -46,34 +43,7 @@ typedef unsigned (APIENTRYP AV_GET_VERSION)(void); -JNIEXPORT jint JNICALL Java_jogamp_opengl_util_av_impl_FFMPEGStaticNatives_getAvUtilVersion0 - (JNIEnv *env, jclass clazz, jlong func) { - if( 0 != func ) { - return (jint) ((AV_GET_VERSION)func)(); - } else { - return 0; - } -} - -JNIEXPORT jint JNICALL Java_jogamp_opengl_util_av_impl_FFMPEGStaticNatives_getAvFormatVersion0 - (JNIEnv *env, jclass clazz, jlong func) { - if( 0 != func ) { - return (jint) ((AV_GET_VERSION)func)(); - } else { - return 0; - } -} - -JNIEXPORT jint JNICALL Java_jogamp_opengl_util_av_impl_FFMPEGStaticNatives_getAvCodecVersion0 - (JNIEnv *env, jclass clazz, jlong func) { - if( 0 != func ) { - return (jint) ((AV_GET_VERSION)func)(); - } else { - return 0; - } -} - -JNIEXPORT jint JNICALL Java_jogamp_opengl_util_av_impl_FFMPEGStaticNatives_getAvResampleVersion0 +JNIEXPORT jint JNICALL Java_jogamp_opengl_util_av_impl_FFMPEGStaticNatives_getAvVersion0 (JNIEnv *env, jclass clazz, jlong func) { if( 0 != func ) { return (jint) ((AV_GET_VERSION)func)(); |