![]() |
AOMedia AV1 Codec
|
Functions | |
| void | av1_loop_restoration_filter_unit (const RestorationTileLimits *limits, const RestorationUnitInfo *rui, const RestorationStripeBoundaries *rsb, RestorationLineBuffers *rlbs, const AV1PixelRect *tile_rect, int tile_stripe0, int ss_x, int ss_y, int highbd, int bit_depth, uint8_t *data8, int stride, uint8_t *dst8, int dst_stride, int32_t *tmpbuf, int optimized_lr) |
| Function for applying loop restoration filter to a single unit. More... | |
| void | av1_loop_restoration_filter_frame (YV12_BUFFER_CONFIG *frame, struct AV1Common *cm, int optimized_lr, void *lr_ctxt) |
| Function for applying loop restoration filter to a frame. More... | |
| void | av1_pick_filter_restoration (const YV12_BUFFER_CONFIG *sd, AV1_COMP *cpi) |
| Algorithm for AV1 loop restoration search and estimation. More... | |
This module describes the loop restoration search and estimation algorithm in AV1. More details will be added.
| void av1_loop_restoration_filter_unit | ( | const RestorationTileLimits * | limits, |
| const RestorationUnitInfo * | rui, | ||
| const RestorationStripeBoundaries * | rsb, | ||
| RestorationLineBuffers * | rlbs, | ||
| const AV1PixelRect * | tile_rect, | ||
| int | tile_stripe0, | ||
| int | ss_x, | ||
| int | ss_y, | ||
| int | highbd, | ||
| int | bit_depth, | ||
| uint8_t * | data8, | ||
| int | stride, | ||
| uint8_t * | dst8, | ||
| int | dst_stride, | ||
| int32_t * | tmpbuf, | ||
| int | optimized_lr | ||
| ) |
Function for applying loop restoration filter to a single unit.
This function applies the loop restoration filter to a single loop restoration unit.
| [in] | limits | Limits of the unit |
| [in] | rui | The parameters to use for this unit and its coefficients |
| [in] | rsb | Deblocked pixels to use for stripe boundaries |
| [in] | rlbs | Space to use as a scratch buffer |
| [in] | tile_rect | Limits of the tile containing this unit |
| [in] | tile_stripe0 | Index of the first stripe in this tile |
| [in] | ss_x | Horizontal subsampling for plane |
| [in] | ss_y | Vertical subsampling for plane |
| [in] | highbd | Whether high bitdepth pipeline is used |
| [in] | bit_depth | Bit-depth of the video |
| [in] | data8 | Frame data (pointing at the top-left corner of the frame, not the restoration unit). |
| [in] | stride | Stride of data8 |
| [out] | dst8 | Buffer where the results will be written. Like data8, dst8 should point at the top-left corner of the frame |
| [in] | dst_stride | Stride of dst8 |
| [in] | tmpbuf | Scratch buffer used by the sgrproj filter which should be at least SGRPROJ_TMPBUF_SIZE big. |
| [in] | optimized_lr | Whether to use fast optimized Loop Restoration |
dst8 at the proper restoration unit offset. | void av1_loop_restoration_filter_frame | ( | YV12_BUFFER_CONFIG * | frame, |
| struct AV1Common * | cm, | ||
| int | optimized_lr, | ||
| void * | lr_ctxt | ||
| ) |
Function for applying loop restoration filter to a frame.
This function applies the loop restoration filter to a frame.
| [in,out] | frame | Compressed frame buffer |
| [in,out] | cm | Pointer to top level common structure |
| [in] | optimized_lr | Whether to use fast optimized Loop Restoration |
| [in] | lr_ctxt | Loop restoration context |
frame. Referenced by cdef_restoration_frame().
| void av1_pick_filter_restoration | ( | const YV12_BUFFER_CONFIG * | sd, |
| AV1_COMP * | cpi | ||
| ) |
Algorithm for AV1 loop restoration search and estimation.
This function determines proper restoration filter types and associated parameters for each restoration unit in a frame.
| [in] | sd | Source frame buffer |
| [in,out] | cpi | Top-level encoder structure |
rst_info structure of type RestorationInfo inside cpi->common: rst_info[ 0 ]: Chosen parameters for Y plane rst_info[ 1 ]: Chosen parameters for U plane if it exists rst_info[ 2 ]: Chosen parameters for V plane if it exists rst_info[ p], p = 0, 1, 2 are populated: rst_info[ p ].frame_restoration_type rst_info[ p ].unit_info[ u ], for each u in 0, 1, ..., n( p ) - 1, where n( p ) is the number of restoration units in plane p. rst_info[ p ].unit_info[ u ], p = 0, 1, 2 and u = 0, 1, ..., n( p ) - 1, of type RestorationUnitInfo are populated: rst_info[ p ].unit_info[ u ].restoration_type rst_info[ p ].unit_info[ u ].wiener_info OR rst_info[ p ].unit_info[ u ].sgrproj_info OR neither, depending on rst_info[ p ].unit_info[ u ].restoration_type Referenced by cdef_restoration_frame().