FFmpeg
|
MediaCodec details. More...
#include <hwcontext_mediacodec.h>
Data Fields | |
void * | surface |
android/view/Surface handle, to be filled by the user. More... | |
void * | native_window |
Pointer to ANativeWindow. More... | |
int | create_window |
Enable createPersistentInputSurface automatically. More... | |
MediaCodec details.
Allocated as AVHWDeviceContext.hwctx
Definition at line 27 of file hwcontext_mediacodec.h.
void* AVMediaCodecDeviceContext::surface |
android/view/Surface handle, to be filled by the user.
This is the default surface used by decoders on this device.
Definition at line 33 of file hwcontext_mediacodec.h.
Referenced by mc_device_init(), mediacodec_dec_get_video_codec(), and mediacodec_init().
void* AVMediaCodecDeviceContext::native_window |
Pointer to ANativeWindow.
It both surface and native_window is NULL, try to create it automatically if create_window is true and OS support createPersistentInputSurface.
It can be used as output surface for decoder and input surface for encoder.
Definition at line 45 of file hwcontext_mediacodec.h.
Referenced by mc_device_init(), mc_device_uninit(), mediacodec_dec_get_video_codec(), and mediacodec_init().
int AVMediaCodecDeviceContext::create_window |
Enable createPersistentInputSurface automatically.
Disabled by default.
It can be enabled by setting this flag directly, or by setting AVDictionary of av_hwdevice_ctx_create(), with "create_window" as key. The second method is useful for ffmpeg cmdline, e.g., we can enable it via: -init_hw_device mediacodec=mediacodec,create_window=1
Definition at line 58 of file hwcontext_mediacodec.h.
Referenced by mc_device_create(), and mc_device_init().