FFmpeg
Data Structures | Macros | Functions | Variables
amfenc.h File Reference
#include <AMF/core/Factory.h>
#include <AMF/components/VideoEncoderVCE.h>
#include <AMF/components/VideoEncoderHEVC.h>
#include "libavutil/fifo.h"
#include "avcodec.h"

Go to the source code of this file.

Data Structures

struct  AmfTraceWriter
 AMF trace writer callback class Used to capture all AMF logging. More...
 
struct  AmfContext
 AMF encoder context. More...
 

Macros

#define AMF_RETURN_IF_FALSE(avctx, exp, ret_value, ...)
 Error handling helper. More...
 

Functions

int ff_amf_encode_init (AVCodecContext *avctx)
 Common encoder initization function. More...
 
int ff_amf_encode_close (AVCodecContext *avctx)
 Common encoder termination function. More...
 
int ff_amf_send_frame (AVCodecContext *avctx, const AVFrame *frame)
 Ecoding one frame - common function for all AMF encoders. More...
 
int ff_amf_receive_packet (AVCodecContext *avctx, AVPacket *avpkt)
 

Variables

enum AVPixelFormat ff_amf_pix_fmts []
 Supported formats. More...
 

Macro Definition Documentation

#define AMF_RETURN_IF_FALSE (   avctx,
  exp,
  ret_value,
  ... 
)
Value:
if (!(exp)) { \
av_log(avctx, AV_LOG_ERROR, __VA_ARGS__); \
return ret_value; \
}
#define av_log(a,...)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition: log.h:176
int8_t exp
Definition: eval.c:72
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a it should return

Error handling helper.

Definition at line 144 of file amfenc.h.

Referenced by amf_copy_buffer(), amf_encode_init_h264(), amf_encode_init_hevc(), amf_init_context(), amf_init_encoder(), amf_load_library(), ff_amf_receive_packet(), and ff_amf_send_frame().

Function Documentation

int ff_amf_encode_init ( AVCodecContext avctx)

Common encoder initization function.

Definition at line 506 of file amfenc.c.

Referenced by amf_encode_init_h264(), and amf_encode_init_hevc().

int ff_amf_encode_close ( AVCodecContext avctx)

Common encoder termination function.

Definition at line 369 of file amfenc.c.

Referenced by ff_amf_encode_init().

int ff_amf_send_frame ( AVCodecContext avctx,
const AVFrame frame 
)

Ecoding one frame - common function for all AMF encoders.

Definition at line 591 of file amfenc.c.

int ff_amf_receive_packet ( AVCodecContext avctx,
AVPacket avpkt 
)

Definition at line 717 of file amfenc.c.

Variable Documentation

enum AVPixelFormat ff_amf_pix_fmts[]

Supported formats.

Definition at line 52 of file amfenc.c.