Sample Adaptive Offset filter.
More...
#include "checkpoint.h"
#include "cu.h"
#include "encoder.h"
#include "encoderstate.h"
#include "global.h"
#include "kvazaar.h"
#include "videoframe.h"
Go to the source code of this file.
|
| enum | sao_type { SAO_TYPE_NONE = 0
, SAO_TYPE_BAND
, SAO_TYPE_EDGE
} |
| |
| enum | sao_eo_class {
SAO_EO0 = 0
, SAO_EO1
, SAO_EO2
, SAO_EO3
,
SAO_NUM_EO
} |
| |
| enum | sao_eo_cat {
SAO_EO_CAT0 = 0
, SAO_EO_CAT1
, SAO_EO_CAT2
, SAO_EO_CAT3
,
SAO_EO_CAT4
, NUM_SAO_EDGE_CATEGORIES
} |
| |
|
| void | kvz_sao_reconstruct (const encoder_state_t *state, const kvz_pixel *buffer, int stride, int frame_x, int frame_y, int width, int height, const sao_info_t *sao, color_t color) |
| | Reconstruct SAO.
|
| |
| void | kvz_sao_search_lcu (const encoder_state_t *const state, int lcu_x, int lcu_y) |
| |
| void | kvz_calc_sao_offset_array (const encoder_control_t *const encoder, const sao_info_t *sao, int *offset, color_t color_i) |
| | calculate an array of intensity correlations for each intensity value
|
| |
◆ CHECKPOINT_SAO_INFO
Value:
"merge_left_flag=%d merge_up_flag=%d band_position=%d " \
"offsets[0]=%d offsets[1]=%d offsets[2]=%d offsets[3]=%d offsets[4]=%d", \
(
sao).type, (
sao).eo_class, (
sao).ddistortion, \
(
sao).merge_left_flag, (
sao).merge_up_flag, (
sao).band_position[0], \
(
sao).offsets[0], (
sao).offsets[1], (
sao).offsets[2], (
sao).offsets[3], (
sao).offsets[4])
#define CHECKPOINT(str,...)
Definition checkpoint.h:117
#define MAX_TILES_PER_DIM
Definition global.h:232
◆ sao_info_t
◆ sao_eo_cat
| Enumerator |
|---|
| SAO_EO_CAT0 | |
| SAO_EO_CAT1 | |
| SAO_EO_CAT2 | |
| SAO_EO_CAT3 | |
| SAO_EO_CAT4 | |
| NUM_SAO_EDGE_CATEGORIES | |
◆ sao_eo_class
| Enumerator |
|---|
| SAO_EO0 | |
| SAO_EO1 | |
| SAO_EO2 | |
| SAO_EO3 | |
| SAO_NUM_EO | |
◆ sao_type
| Enumerator |
|---|
| SAO_TYPE_NONE | |
| SAO_TYPE_BAND | |
| SAO_TYPE_EDGE | |
◆ kvz_calc_sao_offset_array()
◆ kvz_sao_reconstruct()
- Parameters
-
| encoder | encoder state |
| buffer | Buffer containing the deblocked input pixels. The area to filter starts at index 0. |
| stride | stride of buffer |
| frame_x | x-coordinate of the top-left corner in pixels |
| frame_y | y-coordinate of the top-left corner in pixels |
| width | width of the area to filter |
| height | height of the area to filter |
| sao | SAO information |
| color | color plane index |
◆ kvz_sao_search_lcu()
◆ g_sao_edge_offsets
Initial value:= {
{ { -1, 0 }, { 1, 0 } },
{ { 0, -1 }, { 0, 1 } },
{ { -1, -1 }, { 1, 1 } },
{ { 1, -1 }, { -1, 1 } }
}