|
int | ff_AMediaCodecProfile_getProfileFromAVCodecContext (AVCodecContext *avctx) |
| The following API around MediaCodec and MediaFormat is based on the NDK one provided by Google since Android 5.0. More...
|
|
char * | ff_AMediaCodecList_getCodecNameByType (const char *mime, int profile, int encoder, void *log_ctx) |
|
static FFAMediaFormat * | mediaformat_jni_new (void) |
|
static FFAMediaFormat * | mediaformat_jni_newFromObject (void *object) |
|
static int | mediaformat_jni_delete (FFAMediaFormat *ctx) |
|
static char * | mediaformat_jni_toString (FFAMediaFormat *ctx) |
|
static int | mediaformat_jni_getInt32 (FFAMediaFormat *ctx, const char *name, int32_t *out) |
|
static int | mediaformat_jni_getInt64 (FFAMediaFormat *ctx, const char *name, int64_t *out) |
|
static int | mediaformat_jni_getFloat (FFAMediaFormat *ctx, const char *name, float *out) |
|
static int | mediaformat_jni_getBuffer (FFAMediaFormat *ctx, const char *name, void **data, size_t *size) |
|
static int | mediaformat_jni_getString (FFAMediaFormat *ctx, const char *name, const char **out) |
|
static void | mediaformat_jni_setInt32 (FFAMediaFormat *ctx, const char *name, int32_t value) |
|
static void | mediaformat_jni_setInt64 (FFAMediaFormat *ctx, const char *name, int64_t value) |
|
static void | mediaformat_jni_setFloat (FFAMediaFormat *ctx, const char *name, float value) |
|
static void | mediaformat_jni_setString (FFAMediaFormat *ctx, const char *name, const char *value) |
|
static void | mediaformat_jni_setBuffer (FFAMediaFormat *ctx, const char *name, void *data, size_t size) |
|
static int | codec_init_static_fields (FFAMediaCodecJni *codec) |
|
static FFAMediaCodec * | codec_create (int method, const char *arg) |
|
static int | mediacodec_jni_delete (FFAMediaCodec *ctx) |
|
static char * | mediacodec_jni_getName (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_configure (FFAMediaCodec *ctx, const FFAMediaFormat *format_ctx, FFANativeWindow *window, void *crypto, uint32_t flags) |
|
static int | mediacodec_jni_start (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_stop (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_flush (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_releaseOutputBuffer (FFAMediaCodec *ctx, size_t idx, int render) |
|
static int | mediacodec_jni_releaseOutputBufferAtTime (FFAMediaCodec *ctx, size_t idx, int64_t timestampNs) |
|
static ssize_t | mediacodec_jni_dequeueInputBuffer (FFAMediaCodec *ctx, int64_t timeoutUs) |
|
static int | mediacodec_jni_queueInputBuffer (FFAMediaCodec *ctx, size_t idx, off_t offset, size_t size, uint64_t time, uint32_t flags) |
|
static ssize_t | mediacodec_jni_dequeueOutputBuffer (FFAMediaCodec *ctx, FFAMediaCodecBufferInfo *info, int64_t timeoutUs) |
|
static uint8_t * | mediacodec_jni_getInputBuffer (FFAMediaCodec *ctx, size_t idx, size_t *out_size) |
|
static uint8_t * | mediacodec_jni_getOutputBuffer (FFAMediaCodec *ctx, size_t idx, size_t *out_size) |
|
static FFAMediaFormat * | mediacodec_jni_getOutputFormat (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_infoTryAgainLater (FFAMediaCodec *ctx, ssize_t idx) |
|
static int | mediacodec_jni_infoOutputBuffersChanged (FFAMediaCodec *ctx, ssize_t idx) |
|
static int | mediacodec_jni_infoOutputFormatChanged (FFAMediaCodec *ctx, ssize_t idx) |
|
static int | mediacodec_jni_getBufferFlagCodecConfig (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_getBufferFlagEndOfStream (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_getBufferFlagKeyFrame (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_getConfigureFlagEncode (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_cleanOutputBuffers (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_signalEndOfInputStream (FFAMediaCodec *ctx) |
|
static int | mediacodec_jni_setAsyncNotifyCallback (FFAMediaCodec *codec, const FFAMediaCodecOnAsyncNotifyCallback *callback, void *userdata) |
|
static int | media_status_to_error (media_status_t status) |
|
static FFAMediaFormat * | mediaformat_ndk_create (AMediaFormat *impl) |
|
static FFAMediaFormat * | mediaformat_ndk_new (void) |
|
static int | mediaformat_ndk_delete (FFAMediaFormat *ctx) |
|
static char * | mediaformat_ndk_toString (FFAMediaFormat *ctx) |
|
static int | mediaformat_ndk_getInt32 (FFAMediaFormat *ctx, const char *name, int32_t *out) |
|
static int | mediaformat_ndk_getInt64 (FFAMediaFormat *ctx, const char *name, int64_t *out) |
|
static int | mediaformat_ndk_getFloat (FFAMediaFormat *ctx, const char *name, float *out) |
|
static int | mediaformat_ndk_getBuffer (FFAMediaFormat *ctx, const char *name, void **data, size_t *size) |
|
static int | mediaformat_ndk_getString (FFAMediaFormat *ctx, const char *name, const char **out) |
|
static int | mediaformat_ndk_getRect (FFAMediaFormat *ctx, const char *name, int32_t *left, int32_t *top, int32_t *right, int32_t *bottom) |
|
static void | mediaformat_ndk_setInt32 (FFAMediaFormat *ctx, const char *name, int32_t value) |
|
static void | mediaformat_ndk_setInt64 (FFAMediaFormat *ctx, const char *name, int64_t value) |
|
static void | mediaformat_ndk_setFloat (FFAMediaFormat *ctx, const char *name, float value) |
|
static void | mediaformat_ndk_setString (FFAMediaFormat *ctx, const char *name, const char *value) |
|
static void | mediaformat_ndk_setBuffer (FFAMediaFormat *ctx, const char *name, void *data, size_t size) |
|
static void | mediaformat_ndk_setRect (FFAMediaFormat *ctx, const char *name, int32_t left, int32_t top, int32_t right, int32_t bottom) |
|
static char * | mediacodec_ndk_getName (FFAMediaCodec *ctx) |
|
static FFAMediaCodec * | ndk_codec_create (int method, const char *arg) |
|
static int | mediacodec_ndk_delete (FFAMediaCodec *ctx) |
|
static int | mediacodec_ndk_configure (FFAMediaCodec *ctx, const FFAMediaFormat *format_ctx, FFANativeWindow *window, void *crypto, uint32_t flags) |
|
static uint8_t * | mediacodec_ndk_getInputBuffer (FFAMediaCodec *ctx, size_t idx, size_t *out_size) |
|
static uint8_t * | mediacodec_ndk_getOutputBuffer (FFAMediaCodec *ctx, size_t idx, size_t *out_size) |
|
static ssize_t | mediacodec_ndk_dequeueInputBuffer (FFAMediaCodec *ctx, int64_t timeoutUs) |
|
static int | mediacodec_ndk_queueInputBuffer (FFAMediaCodec *ctx, size_t idx, off_t offset, size_t size, uint64_t time, uint32_t flags) |
|
static ssize_t | mediacodec_ndk_dequeueOutputBuffer (FFAMediaCodec *ctx, FFAMediaCodecBufferInfo *info, int64_t timeoutUs) |
|
static FFAMediaFormat * | mediacodec_ndk_getOutputFormat (FFAMediaCodec *ctx) |
|
static int | mediacodec_ndk_releaseOutputBuffer (FFAMediaCodec *ctx, size_t idx, int render) |
|
static int | mediacodec_ndk_releaseOutputBufferAtTime (FFAMediaCodec *ctx, size_t idx, int64_t timestampNs) |
|
static int | mediacodec_ndk_infoTryAgainLater (FFAMediaCodec *ctx, ssize_t idx) |
|
static int | mediacodec_ndk_infoOutputBuffersChanged (FFAMediaCodec *ctx, ssize_t idx) |
|
static int | mediacodec_ndk_infoOutputFormatChanged (FFAMediaCodec *ctx, ssize_t idx) |
|
static int | mediacodec_ndk_getBufferFlagCodecConfig (FFAMediaCodec *ctx) |
|
static int | mediacodec_ndk_getBufferFlagEndOfStream (FFAMediaCodec *ctx) |
|
static int | mediacodec_ndk_getBufferFlagKeyFrame (FFAMediaCodec *ctx) |
|
static int | mediacodec_ndk_getConfigureFlagEncode (FFAMediaCodec *ctx) |
|
static int | mediacodec_ndk_cleanOutputBuffers (FFAMediaCodec *ctx) |
|
static int | mediacodec_ndk_signalEndOfInputStream (FFAMediaCodec *ctx) |
|
static void | mediacodec_ndk_onInputAvailable (AMediaCodec *impl, void *userdata, int32_t index) |
|
static void | mediacodec_ndk_onOutputAvailable (AMediaCodec *impl, void *userdata, int32_t index, AMediaCodecBufferInfo *buffer_info) |
|
static void | mediacodec_ndk_onFormatChanged (AMediaCodec *impl, void *userdata, AMediaFormat *format) |
|
static void | mediacodec_ndk_onError (AMediaCodec *impl, void *userdata, media_status_t status, int32_t actionCode, const char *detail) |
|
static int | mediacodec_ndk_setAsyncNotifyCallback (FFAMediaCodec *ctx, const FFAMediaCodecOnAsyncNotifyCallback *callback, void *userdata) |
|
FFAMediaFormat * | ff_AMediaFormat_new (int ndk) |
|
FFAMediaCodec * | ff_AMediaCodec_createCodecByName (const char *name, int ndk) |
|
FFAMediaCodec * | ff_AMediaCodec_createDecoderByType (const char *mime_type, int ndk) |
|
FFAMediaCodec * | ff_AMediaCodec_createEncoderByType (const char *mime_type, int ndk) |
|
int | ff_Build_SDK_INT (AVCodecContext *avctx) |
|
enum AVColorRange | ff_AMediaFormatColorRange_to_AVColorRange (int color_range) |
| Map MediaFormat color range to AVColorRange. More...
|
|
int | ff_AMediaFormatColorRange_from_AVColorRange (enum AVColorRange color_range) |
| Map AVColorRange to MediaFormat color range. More...
|
|
enum AVColorSpace | ff_AMediaFormatColorStandard_to_AVColorSpace (int color_standard) |
| Map MediaFormat color standard to AVColorSpace. More...
|
|
int | ff_AMediaFormatColorStandard_from_AVColorSpace (enum AVColorSpace color_space) |
| Map AVColorSpace to MediaFormat color standard. More...
|
|
enum AVColorPrimaries | ff_AMediaFormatColorStandard_to_AVColorPrimaries (int color_standard) |
| Map MediaFormat color standard to AVColorPrimaries. More...
|
|
enum AVColorTransferCharacteristic | ff_AMediaFormatColorTransfer_to_AVColorTransfer (int color_transfer) |
| Map MediaFormat color transfer to AVColorTransferCharacteristic. More...
|
|
int | ff_AMediaFormatColorTransfer_from_AVColorTransfer (enum AVColorTransferCharacteristic color_transfer) |
| Map AVColorTransferCharacteristic to MediaFormat color transfer. More...
|
|
int ff_AMediaCodecProfile_getProfileFromAVCodecContext |
( |
AVCodecContext * |
avctx | ) |
|
The following API around MediaCodec and MediaFormat is based on the NDK one provided by Google since Android 5.0.
Differences from the NDK API:
Buffers returned by ff_AMediaFormat_toString and ff_AMediaFormat_getString are newly allocated buffer and must be freed by the user after use.
The MediaCrypto API is not implemented.
ff_AMediaCodec_infoTryAgainLater, ff_AMediaCodec_infoOutputBuffersChanged, ff_AMediaCodec_infoOutputFormatChanged, ff_AMediaCodec_cleanOutputBuffers ff_AMediaCodec_getName and ff_AMediaCodec_getBufferFlagEndOfStream are not part of the original NDK API and are convenience functions to hide JNI implementation.
The API around MediaCodecList is not part of the NDK (and is lacking as we still need to retrieve the codec name to work around faulty decoders and encoders).
For documentation, please refers to NdkMediaCodec.h NdkMediaFormat.h and http://developer.android.com/reference/android/media/MediaCodec.html.
Definition at line 309 of file mediacodec_wrapper.c.
Referenced by mediacodec_dec_get_video_codec(), and mediacodec_init().