FFmpeg
|
#include "config.h"
#include <dlfcn.h>
#include <OMX_Core.h>
#include <OMX_Component.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include "libavutil/avstring.h"
#include "libavutil/avutil.h"
#include "libavutil/common.h"
#include "libavutil/imgutils.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "h264.h"
#include "pthread_internal.h"
Go to the source code of this file.
Data Structures | |
struct | OMXContext |
struct | OMXCodecContext |
Macros | |
#define | to_omx_ticks(x) (x) |
#define | from_omx_ticks(x) (x) |
#define | INIT_STRUCT(x) |
#define | CHECK(x) |
#define | NB_MUTEX_CONDS 6 |
#define | OFF(field) offsetof(OMXCodecContext, field) |
#define | OFFSET(x) offsetof(OMXCodecContext, x) |
#define | VDE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
#define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Functions | |
static av_cold void * | dlsym_prefixed (void *handle, const char *symbol, const char *prefix) |
static av_cold int | omx_try_load (OMXContext *s, void *logctx, const char *libname, const char *prefix, const char *libname2) |
static av_cold OMXContext * | omx_init (void *logctx, const char *libname, const char *prefix) |
static av_cold void | omx_deinit (OMXContext *omx_context) |
DEFINE_OFFSET_ARRAY (OMXCodecContext, omx_codec_context, mutex_cond_inited_cnt,(OFF(input_mutex), OFF(output_mutex), OFF(state_mutex)),(OFF(input_cond), OFF(output_cond), OFF(state_cond))) | |
static void | append_buffer (pthread_mutex_t *mutex, pthread_cond_t *cond, int *array_size, OMX_BUFFERHEADERTYPE **array, OMX_BUFFERHEADERTYPE *buffer) |
static OMX_BUFFERHEADERTYPE * | get_buffer (pthread_mutex_t *mutex, pthread_cond_t *cond, int *array_size, OMX_BUFFERHEADERTYPE **array, int wait) |
static OMX_ERRORTYPE | event_handler (OMX_HANDLETYPE component, OMX_PTR app_data, OMX_EVENTTYPE event, OMX_U32 data1, OMX_U32 data2, OMX_PTR event_data) |
static OMX_ERRORTYPE | empty_buffer_done (OMX_HANDLETYPE component, OMX_PTR app_data, OMX_BUFFERHEADERTYPE *buffer) |
static OMX_ERRORTYPE | fill_buffer_done (OMX_HANDLETYPE component, OMX_PTR app_data, OMX_BUFFERHEADERTYPE *buffer) |
static av_cold int | find_component (OMXContext *omx_context, void *logctx, const char *role, char *str, int str_size) |
static av_cold int | wait_for_state (OMXCodecContext *s, OMX_STATETYPE state) |
static av_cold int | omx_component_init (AVCodecContext *avctx, const char *role) |
static av_cold void | cleanup (OMXCodecContext *s) |
static av_cold int | omx_encode_init (AVCodecContext *avctx) |
static int | omx_encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet) |
static av_cold int | omx_encode_end (AVCodecContext *avctx) |
Variables | |
static const OMX_CALLBACKTYPE | callbacks |
static const AVOption | options [] |
static enum AVPixelFormat | omx_encoder_pix_fmts [] |
static const AVClass | omx_mpeg4enc_class |
const FFCodec | ff_mpeg4_omx_encoder |
static const AVClass | omx_h264enc_class |
const FFCodec | ff_h264_omx_encoder |
#define INIT_STRUCT | ( | x | ) |
#define CHECK | ( | x | ) |
#define OFF | ( | field | ) | offsetof(OMXCodecContext, field) |
#define OFFSET | ( | x | ) | offsetof(OMXCodecContext, x) |
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
|
static |
Definition at line 90 of file omx.c.
Referenced by omx_try_load().
|
static |
Definition at line 97 of file omx.c.
Referenced by omx_init().
|
static |
Definition at line 141 of file omx.c.
Referenced by omx_encode_init().
|
static |
DEFINE_OFFSET_ARRAY | ( | OMXCodecContext | , |
omx_codec_context | , | ||
mutex_cond_inited_cnt | , | ||
(OFF(input_mutex), OFF(output_mutex), OFF(state_mutex)) | , | ||
(OFF(input_cond), OFF(output_cond), OFF(state_cond)) | |||
) |
|
static |
Definition at line 239 of file omx.c.
Referenced by empty_buffer_done(), fill_buffer_done(), omx_encode_frame(), and omx_encode_init().
|
static |
Definition at line 249 of file omx.c.
Referenced by cleanup(), omx_encode_frame(), and omx_encode_init().
|
static |
|
static |
|
static |
|
static |
Definition at line 345 of file omx.c.
Referenced by omx_encode_init().
|
static |
Definition at line 382 of file omx.c.
Referenced by cleanup(), and omx_component_init().
|
static |
Definition at line 394 of file omx.c.
Referenced by omx_encode_init().
|
static |
Definition at line 597 of file omx.c.
Referenced by omx_encode_end().
|
static |
|
static |
|
static |
|
static |
Definition at line 339 of file omx.c.
Referenced by ff_ass_split_override_codes(), and omx_component_init().
|
static |
|
static |
|
static |
const FFCodec ff_mpeg4_omx_encoder |
|
static |
const FFCodec ff_h264_omx_encoder |