#include "config_components.h"
#include <stdint.h>
#include <string.h>
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/pixfmt.h"
#include "libavutil/internal.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
#include "h264_parse.h"
#include "h264_ps.h"
#include "hevc/parse.h"
#include "hwconfig.h"
#include "internal.h"
#include "jni.h"
#include "mediacodec_wrapper.h"
#include "mediacodecdec_common.h"
Go to the source code of this file.
◆ OFFSET
◆ VD
◆ DECLARE_MEDIACODEC_VCLASS
#define DECLARE_MEDIACODEC_VCLASS |
( |
|
short_name | ) |
|
◆ DECLARE_MEDIACODEC_VDEC
#define DECLARE_MEDIACODEC_VDEC |
( |
|
short_name, |
|
|
|
full_name, |
|
|
|
codec_id, |
|
|
|
bsf |
|
) |
| |
Value:
const
FFCodec ff_ ## short_name ## _mediacodec_decoder = { \
.
p.
name = #short_name
"_mediacodec", \
CODEC_LONG_NAME(full_name " Android MediaCodec decoder"), \
.p.priv_class = &ff_##short_name##_mediacodec_dec_class, \
.bsfs = bsf, \
.p.wrapper_name = "mediacodec", \
}; \
Definition at line 619 of file mediacodecdec.c.
◆ AD
◆ DECLARE_MEDIACODEC_ACLASS
#define DECLARE_MEDIACODEC_ACLASS |
( |
|
short_name | ) |
|
◆ DECLARE_MEDIACODEC_ADEC
#define DECLARE_MEDIACODEC_ADEC |
( |
|
short_name, |
|
|
|
full_name, |
|
|
|
codec_id, |
|
|
|
bsf |
|
) |
| |
Value:
const
FFCodec ff_ ## short_name ## _mediacodec_decoder = { \
.
p.
name = #short_name
"_mediacodec", \
CODEC_LONG_NAME(full_name " Android MediaCodec decoder"), \
.p.priv_class = &ff_##short_name##_mediacodec_dec_class, \
.bsfs = bsf, \
.p.wrapper_name = "mediacodec", \
}; \
Definition at line 684 of file mediacodecdec.c.
◆ mediacodec_decode_close()
◆ mediacodec_decode_init()
◆ mediacodec_receive_frame()
◆ mediacodec_decode_flush()
◆ mediacodec_hw_configs
◆ ff_mediacodec_vdec_options
const AVOption ff_mediacodec_vdec_options[] |
|
static |
Initial value:= {
{ "delay_flush", "Delay flush until hw output buffers are returned to the decoder",
{ "ndk_codec", "Use MediaCodec from NDK",
{ "operating_rate", "The desired operating rate that the codec will need to operate at, zero for unspecified",
}
Definition at line 601 of file mediacodecdec.c.
◆ ff_mediacodec_adec_options
const AVOption ff_mediacodec_adec_options[] |
|
static |
Initial value:= {
{ "ndk_codec", "Use MediaCodec from NDK",
{ "operating_rate", "The desired operating rate that the codec will need to operate at, zero for unspecified",
}
Definition at line 668 of file mediacodecdec.c.
#define AV_CODEC_CAP_HARDWARE
Codec is backed by a hardware implementation.
@ AV_HWDEVICE_TYPE_MEDIACODEC
#define FF_CODEC_CAP_NOT_INIT_THREADSAFE
The codec is not known to be init-threadsafe (i.e.
AVCodec p
The public AVCodec.
@ AV_CODEC_HW_CONFIG_METHOD_AD_HOC
The codec supports this format by some ad-hoc method.
@ AV_PIX_FMT_MEDIACODEC
hardware decoding through MediaCodec
#define LIBAVUTIL_VERSION_INT
Describe the class of an AVClass context structure.
const char * av_default_item_name(void *ptr)
Return the context name.
@ AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX
The codec supports this format via the hw_device_ctx interface.
int(* init)(AVBSFContext *ctx)
const char * name
Name of the codec implementation.
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
#define FF_CODEC_RECEIVE_FRAME_CB(func)
@ AV_OPT_TYPE_INT
Underlying C type is int.
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
@ AV_OPT_TYPE_BOOL
Underlying C type is int.
#define AV_CODEC_CAP_AVOID_PROBING
Decoder is not a preferred choice for probing.