TUT HEVC Encoder
Data Structures | Functions
image.h File Reference

A reference counted YUV pixel buffer. More...

#include "global.h"
#include "kvazaar.h"
#include "strategies/optimized_sad_func_ptr_t.h"
Include dependency graph for image.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  lcu_yuv_t
 
struct  yuv_t
 
struct  yuv_im_t
 

Functions

kvz_picturekvz_image_alloc_420 (const int32_t width, const int32_t height)
 Allocate a new image with 420. More...
 
kvz_picturekvz_image_alloc (enum kvz_chroma_format chroma_format, const int32_t width, const int32_t height)
 Allocate a new image. More...
 
void kvz_image_free (kvz_picture *im)
 Free an image. More...
 
kvz_picturekvz_image_copy_ref (kvz_picture *im)
 Get a new pointer to an image. More...
 
kvz_picturekvz_image_make_subimage (kvz_picture *const orig_image, const unsigned x_offset, const unsigned y_offset, const unsigned width, const unsigned height)
 
yuv_tkvz_yuv_t_alloc (int luma_size, int chroma_size)
 
void kvz_yuv_t_free (yuv_t *yuv)
 
unsigned kvz_image_calc_sad (const kvz_picture *pic, const kvz_picture *ref, int pic_x, int pic_y, int ref_x, int ref_y, int block_width, int block_height, optimized_sad_func_ptr_t optimized_sad)
 Calculate interpolated SAD between two blocks. More...
 
unsigned kvz_image_calc_satd (const kvz_picture *pic, const kvz_picture *ref, int pic_x, int pic_y, int ref_x, int ref_y, int block_width, int block_height)
 Calculate interpolated SATD between two blocks. More...
 
void kvz_pixels_blit (const kvz_pixel *orig, kvz_pixel *dst, unsigned width, unsigned height, unsigned orig_stride, unsigned dst_stride)
 

Function Documentation

◆ kvz_image_alloc()

kvz_picture * kvz_image_alloc ( enum kvz_chroma_format  chroma_format,
const int32_t  width,
const int32_t  height 
)
Returns
image pointer or NULL on failure
Here is the caller graph for this function:

◆ kvz_image_alloc_420()

kvz_picture * kvz_image_alloc_420 ( const int32_t  width,
const int32_t  height 
)

This function signature is part of the libkvz API.

Returns
image pointer or NULL on failure
Here is the call graph for this function:

◆ kvz_image_calc_sad()

unsigned kvz_image_calc_sad ( const kvz_picture pic,
const kvz_picture ref,
int  pic_x,
int  pic_y,
int  ref_x,
int  ref_y,
int  block_width,
int  block_height,
optimized_sad_func_ptr_t  optimized_sad 
)
Parameters
picImage for the block we are trying to find.
refImage where we are trying to find the block.
Returns
Sum of absolute differences
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kvz_image_calc_satd()

unsigned kvz_image_calc_satd ( const kvz_picture pic,
const kvz_picture ref,
int  pic_x,
int  pic_y,
int  ref_x,
int  ref_y,
int  block_width,
int  block_height 
)
Parameters
picImage for the block we are trying to find.
refImage where we are trying to find the block.
Here is the caller graph for this function:

◆ kvz_image_copy_ref()

kvz_picture * kvz_image_copy_ref ( kvz_picture im)

Increment reference count and return the image.

Here is the caller graph for this function:

◆ kvz_image_free()

void kvz_image_free ( kvz_picture *const  im)

Decrement reference count of the image and deallocate associated memory if no references exist any more.

Parameters
imimage to free
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kvz_image_make_subimage()

kvz_picture * kvz_image_make_subimage ( kvz_picture *const  orig_image,
const unsigned  x_offset,
const unsigned  y_offset,
const unsigned  width,
const unsigned  height 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kvz_pixels_blit()

void kvz_pixels_blit ( const kvz_pixel orig,
kvz_pixel dst,
unsigned  width,
unsigned  height,
unsigned  orig_stride,
unsigned  dst_stride 
)
Here is the caller graph for this function:

◆ kvz_yuv_t_alloc()

yuv_t * kvz_yuv_t_alloc ( int  luma_size,
int  chroma_size 
)
Here is the caller graph for this function:

◆ kvz_yuv_t_free()

void kvz_yuv_t_free ( yuv_t yuv)
Here is the caller graph for this function: