TUT HEVC Encoder
Loading...
Searching...
No Matches
Functions | Variables
kvazaar.c File Reference
#include "kvazaar.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "bitstream.h"
#include "cfg.h"
#include "checkpoint.h"
#include "encoder.h"
#include "encoder_state-bitstream.h"
#include "encoder_state-ctors_dtors.h"
#include "encoderstate.h"
#include "global.h"
#include "image.h"
#include "input_frame_buffer.h"
#include "kvazaar_internal.h"
#include "strategyselector.h"
#include "threadqueue.h"
#include "videoframe.h"
#include "rate_control.h"
Include dependency graph for kvazaar.c:

Functions

static void kvazaar_close (kvz_encoder *encoder)
 
static kvz_encoderkvazaar_open (const kvz_config *cfg)
 
static void set_frame_info (kvz_frame_info *const info, const encoder_state_t *const state)
 
static int kvazaar_headers (kvz_encoder *enc, kvz_data_chunk **data_out, uint32_t *len_out)
 
static int yuv_io_extract_field (const kvz_picture *frame_in, unsigned source_scan_type, unsigned field_parity, kvz_picture *field_out)
 Separate a single field from a frame.
 
static int kvazaar_encode (kvz_encoder *enc, kvz_picture *pic_in, kvz_data_chunk **data_out, uint32_t *len_out, kvz_picture **pic_out, kvz_picture **src_out, kvz_frame_info *info_out)
 
static int kvazaar_field_encoding_adapter (kvz_encoder *enc, kvz_picture *pic_in, kvz_data_chunk **data_out, uint32_t *len_out, kvz_picture **pic_out, kvz_picture **src_out, kvz_frame_info *info_out)
 
const kvz_apikvz_api_get (int bit_depth)
 

Variables

static const kvz_api kvz_8bit_api
 

Function Documentation

◆ kvazaar_close()

static void kvazaar_close ( kvz_encoder encoder)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kvazaar_encode()

static int kvazaar_encode ( kvz_encoder enc,
kvz_picture pic_in,
kvz_data_chunk **  data_out,
uint32_t len_out,
kvz_picture **  pic_out,
kvz_picture **  src_out,
kvz_frame_info info_out 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kvazaar_field_encoding_adapter()

static int kvazaar_field_encoding_adapter ( kvz_encoder enc,
kvz_picture pic_in,
kvz_data_chunk **  data_out,
uint32_t len_out,
kvz_picture **  pic_out,
kvz_picture **  src_out,
kvz_frame_info info_out 
)
static
Here is the call graph for this function:

◆ kvazaar_headers()

static int kvazaar_headers ( kvz_encoder enc,
kvz_data_chunk **  data_out,
uint32_t len_out 
)
static
Here is the call graph for this function:

◆ kvazaar_open()

static kvz_encoder * kvazaar_open ( const kvz_config cfg)
static
Here is the call graph for this function:

◆ kvz_api_get()

const kvz_api * kvz_api_get ( int  bit_depth)
Here is the caller graph for this function:

◆ set_frame_info()

static void set_frame_info ( kvz_frame_info *const  info,
const encoder_state_t *const  state 
)
static
Here is the caller graph for this function:

◆ yuv_io_extract_field()

static int yuv_io_extract_field ( const kvz_picture frame_in,
unsigned  source_scan_type,
unsigned  field_parity,
kvz_picture field_out 
)
static
Parameters
frame_ininput frame to extract field from
source_scan_typescan type of input material (0: progressive, 1:top field first, 2:bottom field first)
fieldparity
field_out
Returns
1 on success, 0 on failure
Here is the caller graph for this function:

Variable Documentation

◆ kvz_8bit_api

const kvz_api kvz_8bit_api
static
Initial value:
= {
.config_alloc = kvz_config_alloc,
.config_init = kvz_config_init,
.config_destroy = kvz_config_destroy,
.config_parse = kvz_config_parse,
.picture_alloc = kvz_image_alloc_420,
.picture_free = kvz_image_free,
.encoder_open = kvazaar_open,
.encoder_close = kvazaar_close,
.encoder_headers = kvazaar_headers,
.encoder_encode = kvazaar_field_encoding_adapter,
.picture_alloc_csp = kvz_image_alloc,
}
void kvz_bitstream_free_chunks(kvz_data_chunk *chunk)
Free a list of chunks.
Definition bitstream.c:112
int kvz_config_destroy(kvz_config *cfg)
Definition cfg.c:197
int kvz_config_parse(kvz_config *cfg, const char *name, const char *value)
Definition cfg.c:452
kvz_config * kvz_config_alloc(void)
Definition cfg.c:43
int kvz_config_init(kvz_config *cfg)
Definition cfg.c:48
kvz_picture * kvz_image_alloc(enum kvz_chroma_format chroma_format, const int32_t width, const int32_t height)
Allocate a new image.
Definition image.c:56
kvz_picture * kvz_image_alloc_420(const int32_t width, const int32_t height)
Allocate a new image with 420.
Definition image.c:47
void kvz_image_free(kvz_picture *const im)
Free an image.
Definition image.c:118
static void kvazaar_close(kvz_encoder *encoder)
Definition kvazaar.c:56
static int kvazaar_field_encoding_adapter(kvz_encoder *enc, kvz_picture *pic_in, kvz_data_chunk **data_out, uint32_t *len_out, kvz_picture **pic_out, kvz_picture **src_out, kvz_frame_info *info_out)
Definition kvazaar.c:317
static kvz_encoder * kvazaar_open(const kvz_config *cfg)
Definition kvazaar.c:90
static int kvazaar_headers(kvz_encoder *enc, kvz_data_chunk **data_out, uint32_t *len_out)
Definition kvazaar.c:180