Libav
Functions | Variables
vaapi_encode.c File Reference
#include <inttypes.h>
#include <string.h>
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/log.h"
#include "libavutil/pixdesc.h"
#include "vaapi_encode.h"
#include "avcodec.h"

Go to the source code of this file.

Functions

static int vaapi_encode_make_packed_header (AVCodecContext *avctx, VAAPIEncodePicture *pic, int type, char *data, size_t bit_len)
 
static int vaapi_encode_make_param_buffer (AVCodecContext *avctx, VAAPIEncodePicture *pic, int type, char *data, size_t len)
 
static int vaapi_encode_wait (AVCodecContext *avctx, VAAPIEncodePicture *pic)
 
static int vaapi_encode_issue (AVCodecContext *avctx, VAAPIEncodePicture *pic)
 
static int vaapi_encode_output (AVCodecContext *avctx, VAAPIEncodePicture *pic, AVPacket *pkt)
 
static int vaapi_encode_discard (AVCodecContext *avctx, VAAPIEncodePicture *pic)
 
static VAAPIEncodePicturevaapi_encode_alloc (void)
 
static int vaapi_encode_free (AVCodecContext *avctx, VAAPIEncodePicture *pic)
 
static int vaapi_encode_step (AVCodecContext *avctx, VAAPIEncodePicture *target)
 
static int vaapi_encode_get_next (AVCodecContext *avctx, VAAPIEncodePicture **pic_out)
 
static int vaapi_encode_mangle_end (AVCodecContext *avctx)
 
static int vaapi_encode_clear_old (AVCodecContext *avctx)
 
int ff_vaapi_encode2 (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *input_image, int *got_packet)
 
static av_cold int vaapi_encode_check_config (AVCodecContext *avctx)
 
static void vaapi_encode_free_output_buffer (void *opaque, uint8_t *data)
 
static AVBufferRefvaapi_encode_alloc_output_buffer (void *opaque, int size)
 
av_cold int ff_vaapi_encode_init (AVCodecContext *avctx, const VAAPIEncodeType *type)
 
av_cold int ff_vaapi_encode_close (AVCodecContext *avctx)
 

Variables

static const char * picture_type_name [] = { "IDR", "I", "P", "B" }
 

Function Documentation

◆ vaapi_encode_make_packed_header()

static int vaapi_encode_make_packed_header ( AVCodecContext avctx,
VAAPIEncodePicture pic,
int  type,
char *  data,
size_t  bit_len 
)
static

Definition at line 32 of file vaapi_encode.c.

Referenced by vaapi_encode_issue().

◆ vaapi_encode_make_param_buffer()

static int vaapi_encode_make_param_buffer ( AVCodecContext avctx,
VAAPIEncodePicture pic,
int  type,
char *  data,
size_t  len 
)
static

Definition at line 74 of file vaapi_encode.c.

Referenced by vaapi_encode_issue().

◆ vaapi_encode_wait()

static int vaapi_encode_wait ( AVCodecContext avctx,
VAAPIEncodePicture pic 
)
static

Definition at line 98 of file vaapi_encode.c.

Referenced by vaapi_encode_discard(), vaapi_encode_issue(), and vaapi_encode_output().

◆ vaapi_encode_issue()

static int vaapi_encode_issue ( AVCodecContext avctx,
VAAPIEncodePicture pic 
)
static

Definition at line 129 of file vaapi_encode.c.

Referenced by vaapi_encode_step().

◆ vaapi_encode_output()

static int vaapi_encode_output ( AVCodecContext avctx,
VAAPIEncodePicture pic,
AVPacket pkt 
)
static

Definition at line 429 of file vaapi_encode.c.

Referenced by ff_vaapi_encode2().

◆ vaapi_encode_discard()

static int vaapi_encode_discard ( AVCodecContext avctx,
VAAPIEncodePicture pic 
)
static

Definition at line 490 of file vaapi_encode.c.

Referenced by vaapi_encode_free().

◆ vaapi_encode_alloc()

static VAAPIEncodePicture* vaapi_encode_alloc ( void  )
static

Definition at line 507 of file vaapi_encode.c.

Referenced by vaapi_encode_get_next().

◆ vaapi_encode_free()

static int vaapi_encode_free ( AVCodecContext avctx,
VAAPIEncodePicture pic 
)
static

◆ vaapi_encode_step()

static int vaapi_encode_step ( AVCodecContext avctx,
VAAPIEncodePicture target 
)
static

Definition at line 551 of file vaapi_encode.c.

Referenced by ff_vaapi_encode2().

◆ vaapi_encode_get_next()

static int vaapi_encode_get_next ( AVCodecContext avctx,
VAAPIEncodePicture **  pic_out 
)
static

Definition at line 618 of file vaapi_encode.c.

Referenced by ff_vaapi_encode2().

◆ vaapi_encode_mangle_end()

static int vaapi_encode_mangle_end ( AVCodecContext avctx)
static

Definition at line 729 of file vaapi_encode.c.

Referenced by ff_vaapi_encode2().

◆ vaapi_encode_clear_old()

static int vaapi_encode_clear_old ( AVCodecContext avctx)
static

Definition at line 790 of file vaapi_encode.c.

Referenced by ff_vaapi_encode2().

◆ ff_vaapi_encode2()

int ff_vaapi_encode2 ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame input_image,
int *  got_packet 
)

Definition at line 822 of file vaapi_encode.c.

◆ vaapi_encode_check_config()

static av_cold int vaapi_encode_check_config ( AVCodecContext avctx)
static

Definition at line 925 of file vaapi_encode.c.

Referenced by ff_vaapi_encode_init().

◆ vaapi_encode_free_output_buffer()

static void vaapi_encode_free_output_buffer ( void opaque,
uint8_t data 
)
static

Definition at line 1041 of file vaapi_encode.c.

Referenced by vaapi_encode_alloc_output_buffer().

◆ vaapi_encode_alloc_output_buffer()

static AVBufferRef* vaapi_encode_alloc_output_buffer ( void opaque,
int  size 
)
static

Definition at line 1055 of file vaapi_encode.c.

Referenced by ff_vaapi_encode_init().

◆ ff_vaapi_encode_init()

av_cold int ff_vaapi_encode_init ( AVCodecContext avctx,
const VAAPIEncodeType type 
)

◆ ff_vaapi_encode_close()

av_cold int ff_vaapi_encode_close ( AVCodecContext avctx)

Definition at line 1301 of file vaapi_encode.c.

Referenced by ff_vaapi_encode_init().

Variable Documentation

◆ picture_type_name

const char* picture_type_name[] = { "IDR", "I", "P", "B" }
static