mirror of https://github.com/sipwise/jitsi.git
Commits the source of the native JNI FFMPEG wrapper utilized in r4922 for the purposes of the H.264 encoder and decoder.
parent
3b10be78a0
commit
078bb85a2a
@ -0,0 +1,395 @@
|
||||
/*
|
||||
* SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
|
||||
*
|
||||
* Distributable under LGPL license.
|
||||
* See terms of license at gnu.org.
|
||||
*/
|
||||
#include "net_java_sip_communicator_impl_media_codec_video_FFMPEG.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <libavutil/avutil.h>
|
||||
#include <libavcodec/avcodec.h>
|
||||
#include <libavformat/avformat.h>
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_av_1free (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong ptr) {
|
||||
av_free ((void *) ptr);
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_av_1malloc (
|
||||
JNIEnv *jniEnv, jclass clazz, jint size) {
|
||||
return (jlong) av_malloc ((unsigned int) size);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_av_1register_1all (
|
||||
JNIEnv *jniEnv, jclass clazz) {
|
||||
av_register_all ();
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1alloc_1context (
|
||||
JNIEnv *jniEnv, jclass clazz) {
|
||||
return (jlong) avcodec_alloc_context ();
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1alloc_1frame (
|
||||
JNIEnv *jniEnv, jclass clazz) {
|
||||
return (jlong) avcodec_alloc_frame ();
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1close (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx) {
|
||||
return (jint) avcodec_close ((AVCodecContext *) avctx);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1decode_1video (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jlong frame,
|
||||
jbooleanArray got_picture, jbyteArray buf, jint buf_size) {
|
||||
jint ret;
|
||||
int n_got_picture;
|
||||
|
||||
if (buf) {
|
||||
jbyte *buf_ptr = (*jniEnv)->GetByteArrayElements (jniEnv, buf, NULL);
|
||||
|
||||
if (buf_ptr) {
|
||||
ret = (jint)
|
||||
avcodec_decode_video ((AVCodecContext *) avctx,
|
||||
(AVFrame *) frame, &n_got_picture,
|
||||
(const uint8_t *) buf_ptr, (int) buf_size);
|
||||
(*jniEnv)->ReleaseByteArrayElements (jniEnv, buf, buf_ptr, 0);
|
||||
|
||||
if (got_picture) {
|
||||
jboolean j_got_picture = n_got_picture ? JNI_TRUE : JNI_FALSE;
|
||||
|
||||
(*jniEnv)->SetBooleanArrayRegion (jniEnv, got_picture, 0, 1,
|
||||
&j_got_picture);
|
||||
}
|
||||
} else
|
||||
ret = -1;
|
||||
} else
|
||||
ret = -1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1encode_1video (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jbyteArray buf,
|
||||
jint buf_size, jlong frame) {
|
||||
jint ret;
|
||||
|
||||
if (buf) {
|
||||
jbyte *buf_ptr = (*jniEnv)->GetByteArrayElements (jniEnv, buf, NULL);
|
||||
|
||||
if (buf_ptr) {
|
||||
ret = (jint)
|
||||
avcodec_encode_video ((AVCodecContext *) avctx,
|
||||
(uint8_t *) buf_ptr, (int) buf_size,
|
||||
(const AVFrame *) frame);
|
||||
(*jniEnv)->ReleaseByteArrayElements (jniEnv, buf, buf_ptr, 0);
|
||||
} else
|
||||
ret = -1;
|
||||
} else
|
||||
ret = -1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1find_1decoder (
|
||||
JNIEnv *jniEnv, jclass clazz, jint id) {
|
||||
return (jlong) avcodec_find_decoder ((enum CodecID) id);
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1find_1encoder (
|
||||
JNIEnv *jniEnv, jclass clazz, jint id) {
|
||||
return (jlong) avcodec_find_encoder ((enum CodecID) id);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1init (
|
||||
JNIEnv *jniEnv, jclass clazz) {
|
||||
avcodec_init ();
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1open (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jlong codec) {
|
||||
return (jint) avcodec_open ((AVCodecContext *) avctx, (AVCodec *) codec);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1add_1flags (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint flags) {
|
||||
((AVCodecContext *) avctx)->flags |= (int) flags;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1add_1partitions (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint partitions) {
|
||||
((AVCodecContext *) avctx)->partitions |= (int) partitions;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1get_1height (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx) {
|
||||
return (jint) (((AVCodecContext *) avctx)->height);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1get_1pix_1fmt (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx) {
|
||||
return (jint) (((AVCodecContext *) avctx)->pix_fmt);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1get_1width (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx) {
|
||||
return (jint) (((AVCodecContext *) avctx)->width);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1bit_1rate (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint bit_rate) {
|
||||
((AVCodecContext *) avctx)->bit_rate = (int) bit_rate;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1bit_1rate_1tolerance (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint bit_rate_tolerance) {
|
||||
((AVCodecContext *) avctx)->bit_rate_tolerance = (int) bit_rate_tolerance;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1crf (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jfloat crf) {
|
||||
((AVCodecContext *) avctx)->crf = (float) crf;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1gop_1size (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint gop_size) {
|
||||
((AVCodecContext *) avctx)->gop_size = (int) gop_size;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1i_1quant_1factor (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jfloat i_quant_factor) {
|
||||
((AVCodecContext *) avctx)->i_quant_factor = (float) i_quant_factor;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1mb_1decision (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint mb_decision) {
|
||||
((AVCodecContext *) avctx)->mb_decision = (int) mb_decision;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1me_1cmp (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint me_cmp) {
|
||||
((AVCodecContext *) avctx)->me_cmp = (int) me_cmp;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1me_1method (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint me_method) {
|
||||
((AVCodecContext *) avctx)->me_method = (int) me_method;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1me_1range (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint me_range) {
|
||||
((AVCodecContext *) avctx)->me_range = (int) me_range;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1me_1subpel_1quality (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint me_subpel_quality) {
|
||||
((AVCodecContext *) avctx)->me_subpel_quality = (int) me_subpel_quality;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1pix_1fmt (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint pix_fmt) {
|
||||
((AVCodecContext *) avctx)->pix_fmt = (int) pix_fmt;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1qcompress (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jfloat qcompress) {
|
||||
((AVCodecContext *) avctx)->qcompress = (float) qcompress;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1quantizer (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint qmin, jint qmax,
|
||||
jint max_qdiff) {
|
||||
AVCodecContext *n_avctx = (AVCodecContext *) avctx;
|
||||
|
||||
n_avctx->qmin = (int) qmin;
|
||||
n_avctx->qmax = (int) qmax;
|
||||
n_avctx->max_qdiff = (int) max_qdiff;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1rc_1buffer_1size (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint rc_buffer_size) {
|
||||
((AVCodecContext *) avctx)->rc_buffer_size = (int) rc_buffer_size;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1rc_1eq (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jstring rc_eq) {
|
||||
char *n_rc_eq;
|
||||
|
||||
if (rc_eq) {
|
||||
const char * j_rc_eq =
|
||||
(*jniEnv)->GetStringUTFChars (jniEnv, rc_eq, NULL);
|
||||
|
||||
if (j_rc_eq) {
|
||||
n_rc_eq = strdup (j_rc_eq);
|
||||
(*jniEnv)->ReleaseStringUTFChars (jniEnv, rc_eq, j_rc_eq);
|
||||
} else
|
||||
n_rc_eq = NULL;
|
||||
} else
|
||||
n_rc_eq = NULL;
|
||||
((AVCodecContext *) avctx)->rc_eq = n_rc_eq;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1rc_1max_1rate (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint rc_max_rate) {
|
||||
((AVCodecContext *) avctx)->rc_max_rate = (int) rc_max_rate;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1sample_1aspect_1ratio (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint num, jint den) {
|
||||
AVRational *sample_aspect_ratio =
|
||||
&(((AVCodecContext *) avctx)->sample_aspect_ratio);
|
||||
|
||||
sample_aspect_ratio->num = (int) num;
|
||||
sample_aspect_ratio->den = (int) den;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1scenechange_1threshold (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint scenechange_threshold) {
|
||||
((AVCodecContext *) avctx)->scenechange_threshold =
|
||||
(int) scenechange_threshold;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1size (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint width, jint height) {
|
||||
AVCodecContext *n_avctx = (AVCodecContext *) avctx;
|
||||
|
||||
n_avctx->width = (int) width;
|
||||
n_avctx->height = (int) height;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1thread_1count (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint thread_count) {
|
||||
((AVCodecContext *) avctx)->thread_count = (int) thread_count;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1time_1base (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint num, jint den) {
|
||||
AVRational *time_base = &(((AVCodecContext *) avctx)->time_base);
|
||||
|
||||
time_base->num = (int) num;
|
||||
time_base->den = (int) den;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1workaround_1bugs (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong avctx, jint workaround_bugs) {
|
||||
((AVCodecContext *) avctx)->workaround_bugs = (int) workaround_bugs;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avframe_1set_1data (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong frame, jlong data0, jlong offset1,
|
||||
jlong offset2) {
|
||||
AVFrame *n_frame = (AVFrame *) frame;
|
||||
|
||||
n_frame->data[0] = (uint8_t *) data0;
|
||||
n_frame->data[1] = n_frame->data[0] + offset1;
|
||||
n_frame->data[2] = n_frame->data[1] + offset2;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avframe_1set_1key_1frame (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong frame, jboolean key_frame) {
|
||||
((AVFrame *) frame)->key_frame = (JNI_TRUE == key_frame) ? 1 : 0;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avframe_1set_1linesize (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong frame, jint linesize0,
|
||||
jint linesize1, jint linesize2) {
|
||||
AVFrame *n_frame = (AVFrame *) frame;
|
||||
|
||||
n_frame->linesize[0] = (int) linesize0;
|
||||
n_frame->linesize[1] = (int) linesize1;
|
||||
n_frame->linesize[2] = (int) linesize2;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avpicture_1fill (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong picture, jlong ptr, jint pix_fmt,
|
||||
jint width, jint height) {
|
||||
return (jint)
|
||||
avpicture_fill ((AVPicture *) picture, (uint8_t *) ptr, (int) pix_fmt,
|
||||
(int) width, (int) height);
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avpicture_1get_1data0 (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong picture) {
|
||||
return (jlong) (((AVPicture *) picture)->data[0]);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avpicture_1get_1size (
|
||||
JNIEnv *jniEnv, jclass clazz, jint pix_fmt, jint width, jint height) {
|
||||
return (jint) avpicture_get_size ((int) pix_fmt, (int) width, (int) height);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_img_1convert (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong dst, jint dst_pix_fmt, jlong src,
|
||||
jint pix_fmt, jint width, jint height) {
|
||||
return (jint)
|
||||
img_convert ((AVPicture *) dst, (int) dst_pix_fmt,
|
||||
(const AVPicture *) src, (int) pix_fmt, (int) width, (int) height);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_memcpy___3IIIJ (
|
||||
JNIEnv *jniEnv, jclass clazz, jintArray dst, jint dst_offset,
|
||||
jint dst_length, jlong src) {
|
||||
jint *dst_ptr = (*jniEnv)->GetIntArrayElements (jniEnv, dst, NULL);
|
||||
|
||||
if (dst_ptr) {
|
||||
memcpy (dst_ptr + dst_offset, (const void *) src,
|
||||
dst_length * sizeof (jint));
|
||||
(*jniEnv)->ReleaseIntArrayElements (jniEnv, dst, dst_ptr, 0);
|
||||
}
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_memcpy__J_3BII (
|
||||
JNIEnv *jniEnv, jclass clazz, jlong dst, jbyteArray src,
|
||||
jint src_offset, jint src_length) {
|
||||
(*jniEnv)->GetByteArrayRegion (jniEnv, src, src_offset, src_length,
|
||||
(jbyte *) dst);
|
||||
}
|
||||
@ -0,0 +1,397 @@
|
||||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
||||
#include <jni.h>
|
||||
/* Header for class net_java_sip_communicator_impl_media_codec_video_FFMPEG */
|
||||
|
||||
#ifndef _Included_net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
#define _Included_net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: av_free
|
||||
* Signature: (J)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_av_1free
|
||||
(JNIEnv *, jclass, jlong);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: av_malloc
|
||||
* Signature: (I)J
|
||||
*/
|
||||
JNIEXPORT jlong JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_av_1malloc
|
||||
(JNIEnv *, jclass, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: av_register_all
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_av_1register_1all
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodec_alloc_context
|
||||
* Signature: ()J
|
||||
*/
|
||||
JNIEXPORT jlong JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1alloc_1context
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodec_alloc_frame
|
||||
* Signature: ()J
|
||||
*/
|
||||
JNIEXPORT jlong JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1alloc_1frame
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodec_close
|
||||
* Signature: (J)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1close
|
||||
(JNIEnv *, jclass, jlong);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodec_decode_video
|
||||
* Signature: (JJ[Z[BI)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1decode_1video
|
||||
(JNIEnv *, jclass, jlong, jlong, jbooleanArray, jbyteArray, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodec_encode_video
|
||||
* Signature: (J[BIJ)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1encode_1video
|
||||
(JNIEnv *, jclass, jlong, jbyteArray, jint, jlong);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodec_find_decoder
|
||||
* Signature: (I)J
|
||||
*/
|
||||
JNIEXPORT jlong JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1find_1decoder
|
||||
(JNIEnv *, jclass, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodec_find_encoder
|
||||
* Signature: (I)J
|
||||
*/
|
||||
JNIEXPORT jlong JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1find_1encoder
|
||||
(JNIEnv *, jclass, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodec_init
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1init
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodec_open
|
||||
* Signature: (JJ)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodec_1open
|
||||
(JNIEnv *, jclass, jlong, jlong);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_add_flags
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1add_1flags
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_add_partitions
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1add_1partitions
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_get_height
|
||||
* Signature: (J)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1get_1height
|
||||
(JNIEnv *, jclass, jlong);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_get_pix_fmt
|
||||
* Signature: (J)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1get_1pix_1fmt
|
||||
(JNIEnv *, jclass, jlong);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_get_width
|
||||
* Signature: (J)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1get_1width
|
||||
(JNIEnv *, jclass, jlong);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_bit_rate
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1bit_1rate
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_bit_rate_tolerance
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1bit_1rate_1tolerance
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_crf
|
||||
* Signature: (JF)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1crf
|
||||
(JNIEnv *, jclass, jlong, jfloat);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_gop_size
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1gop_1size
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_i_quant_factor
|
||||
* Signature: (JF)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1i_1quant_1factor
|
||||
(JNIEnv *, jclass, jlong, jfloat);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_mb_decision
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1mb_1decision
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_me_cmp
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1me_1cmp
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_me_method
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1me_1method
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_me_range
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1me_1range
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_me_subpel_quality
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1me_1subpel_1quality
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_pix_fmt
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1pix_1fmt
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_qcompress
|
||||
* Signature: (JF)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1qcompress
|
||||
(JNIEnv *, jclass, jlong, jfloat);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_quantizer
|
||||
* Signature: (JIII)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1quantizer
|
||||
(JNIEnv *, jclass, jlong, jint, jint, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_rc_buffer_size
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1rc_1buffer_1size
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_rc_eq
|
||||
* Signature: (JLjava/lang/String;)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1rc_1eq
|
||||
(JNIEnv *, jclass, jlong, jstring);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_rc_max_rate
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1rc_1max_1rate
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_sample_aspect_ratio
|
||||
* Signature: (JII)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1sample_1aspect_1ratio
|
||||
(JNIEnv *, jclass, jlong, jint, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_scenechange_threshold
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1scenechange_1threshold
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_size
|
||||
* Signature: (JII)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1size
|
||||
(JNIEnv *, jclass, jlong, jint, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_thread_count
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1thread_1count
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_time_base
|
||||
* Signature: (JII)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1time_1base
|
||||
(JNIEnv *, jclass, jlong, jint, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avcodeccontext_set_workaround_bugs
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avcodeccontext_1set_1workaround_1bugs
|
||||
(JNIEnv *, jclass, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avframe_set_data
|
||||
* Signature: (JJJJ)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avframe_1set_1data
|
||||
(JNIEnv *, jclass, jlong, jlong, jlong, jlong);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avframe_set_key_frame
|
||||
* Signature: (JZ)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avframe_1set_1key_1frame
|
||||
(JNIEnv *, jclass, jlong, jboolean);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avframe_set_linesize
|
||||
* Signature: (JIII)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avframe_1set_1linesize
|
||||
(JNIEnv *, jclass, jlong, jint, jint, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avpicture_fill
|
||||
* Signature: (JJIII)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avpicture_1fill
|
||||
(JNIEnv *, jclass, jlong, jlong, jint, jint, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avpicture_get_data0
|
||||
* Signature: (J)J
|
||||
*/
|
||||
JNIEXPORT jlong JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avpicture_1get_1data0
|
||||
(JNIEnv *, jclass, jlong);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: avpicture_get_size
|
||||
* Signature: (III)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_avpicture_1get_1size
|
||||
(JNIEnv *, jclass, jint, jint, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: img_convert
|
||||
* Signature: (JIJIII)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_img_1convert
|
||||
(JNIEnv *, jclass, jlong, jint, jlong, jint, jint, jint);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: memcpy
|
||||
* Signature: ([IIIJ)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_memcpy___3IIIJ
|
||||
(JNIEnv *, jclass, jintArray, jint, jint, jlong);
|
||||
|
||||
/*
|
||||
* Class: net_java_sip_communicator_impl_media_codec_video_FFMPEG
|
||||
* Method: memcpy
|
||||
* Signature: (J[BII)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_sip_communicator_impl_media_codec_video_FFMPEG_memcpy__J_3BII
|
||||
(JNIEnv *, jclass, jlong, jbyteArray, jint, jint);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
Loading…
Reference in new issue