![]() |
AOMedia AV1 Codec
|
Stores the prediction/txfm mode of the current coding block. More...
#include <blockd.h>
Data Fields | |
General Info of the Coding Block | |
| BLOCK_SIZE | bsize |
| The block size of the current coding block. | |
| PARTITION_TYPE | partition |
| The partition type of the current coding block. | |
| PREDICTION_MODE | mode |
| The prediction mode used. | |
| UV_PREDICTION_MODE | uv_mode |
| The UV mode when intra is used. | |
| int | current_qindex |
| The q index for the current coding block. | |
Inter Mode Info | |
| int_mv | mv [2] |
| The motion vectors used by the current inter mode. | |
| MV_REFERENCE_FRAME | ref_frame [2] |
| The reference frames for the MV. | |
| int_interpfilters | interp_filters |
| Filter used in subpel interpolation. | |
| MOTION_MODE | motion_mode |
| The motion mode used by the inter prediction. | |
| uint8_t | num_proj_ref |
| Number of samples used by warp causal. | |
| uint8_t | overlappable_neighbors |
| The number of overlapped neighbors above/left for obmc/warp motion mode. | |
| WarpedMotionParams | wm_params |
| The parameters used in warp motion mode. | |
| INTERINTRA_MODE | interintra_mode |
| The type of intra mode used by inter-intra. | |
| int8_t | interintra_wedge_index |
| The type of wedge used in interintra mode. | |
| INTERINTER_COMPOUND_DATA | interinter_comp |
| Struct that stores the data used in interinter compound mode. | |
Intra Mode Info | |
| int8_t | angle_delta [PLANE_TYPES] |
| Directional mode delta: the angle is base angle + (angle_delta * step). | |
| FILTER_INTRA_MODE_INFO | filter_intra_mode_info |
| The type of filter intra mode used (if applicable). | |
| int8_t | cfl_alpha_signs |
| Chroma from Luma: Joint sign of alpha Cb and alpha Cr. | |
| uint8_t | cfl_alpha_idx |
| Chroma from Luma: Index of the alpha Cb and alpha Cr combination. | |
| PALETTE_MODE_INFO | palette_mode_info |
| Stores the size and colors of palette mode. | |
Transform Info | |
| uint8_t | skip_txfm |
| Whether to skip transforming and sending. | |
| TX_SIZE | tx_size |
| Transform size when fixed size txfm is used (e.g. intra modes). | |
| TX_SIZE | inter_tx_size [INTER_TX_SIZE_BUF_LEN] |
| Transform size when recursive txfm tree is on. | |
Loop Filter Info | |
| int8_t | delta_lf_from_base |
| int8_t | delta_lf [FRAME_LF_COUNT] |
Bitfield for Memory Reduction | |
| uint8_t | segment_id: 3 |
| The segment id. | |
| uint8_t | seg_id_predicted: 1 |
| Only valid when temporal update if off. | |
| uint8_t | ref_mv_idx: 2 |
| Which ref_mv to use. | |
| uint8_t | skip_mode: 1 |
| Inter skip mode. | |
| uint8_t | use_intrabc: 1 |
| Whether intrabc is used. | |
| uint8_t | comp_group_idx: 1 |
| Indicates if masked compound is used(1) or not (0). | |
| uint8_t | compound_idx: 1 |
| Indicates whether dist_wtd_comp(0) is used or not (0). | |
| uint8_t | use_wedge_interintra: 1 |
| Whether to use interintra wedge. | |
| int8_t | cdef_strength: 4 |
| CDEF strength per BLOCK_64X64. | |
Stores the prediction/txfm mode of the current coding block.
| BLOCK_SIZE MB_MODE_INFO::bsize |
The block size of the current coding block.
Referenced by av1_nonrd_pick_intra_mode(), av1_rd_pick_inter_mode(), av1_rd_pick_intra_sbuv_mode(), av1_rd_pick_intra_sby_mode(), av1_rd_use_partition(), av1_search_intra_uv_modes_in_interframe(), intra_block_yrd(), intra_mode_info_cost_uv(), intra_mode_info_cost_y(), motion_mode_rd(), palette_rd_y(), and pick_sb_modes().
| PARTITION_TYPE MB_MODE_INFO::partition |
The partition type of the current coding block.
Referenced by av1_rd_pick_inter_mode(), encode_b(), and pick_sb_modes().
| PREDICTION_MODE MB_MODE_INFO::mode |
The prediction mode used.
Referenced by av1_handle_intra_y_mode(), av1_interpolation_filter_search(), av1_nonrd_pick_inter_mode_sb(), av1_nonrd_pick_intra_mode(), av1_rd_pick_inter_mode(), av1_rd_pick_intra_sbuv_mode(), av1_rd_pick_intra_sby_mode(), av1_search_palette_mode(), av1_search_palette_mode_luma(), cfl_rd_pick_alpha(), fast_interp_search(), handle_filter_intra_mode(), handle_inter_mode(), intra_block_yrd(), intra_mode_info_cost_y(), motion_mode_rd(), pick_sb_modes_nonrd(), rd_pick_filter_intra_sby(), rd_pick_intrabc_mode_sb(), search_intra_modes_in_interframe(), and set_y_mode_and_delta_angle().
| UV_PREDICTION_MODE MB_MODE_INFO::uv_mode |
The UV mode when intra is used.
Referenced by av1_nonrd_pick_intra_mode(), av1_rd_pick_intra_sbuv_mode(), av1_search_intra_uv_modes_in_interframe(), av1_search_palette_mode(), av1_search_palette_mode_luma(), intra_mode_info_cost_uv(), rd_pick_intrabc_mode_sb(), and search_intra_modes_in_interframe().
| int MB_MODE_INFO::current_qindex |
The q index for the current coding block.
Referenced by encode_b(), encode_rd_sb(), and setup_delta_q().
| int_mv MB_MODE_INFO::mv[2] |
The motion vectors used by the current inter mode.
Referenced by av1_nonrd_pick_inter_mode_sb(), av1_nonrd_pick_intra_mode(), av1_rd_pick_inter_mode(), av1_rd_pick_intra_mode_sb(), handle_inter_mode(), motion_mode_rd(), prune_zero_mv_with_sse(), rd_pick_intrabc_mode_sb(), search_filter_ref(), and search_new_mv().
| MV_REFERENCE_FRAME MB_MODE_INFO::ref_frame[2] |
The reference frames for the MV.
Referenced by av1_handle_intra_y_mode(), av1_interpolation_filter_search(), av1_nonrd_pick_inter_mode_sb(), av1_rd_pick_intra_mode_sb(), av1_search_intra_uv_modes_in_interframe(), av1_search_palette_mode(), av1_search_palette_mode_luma(), combined_motion_search(), encode_b(), handle_inter_mode(), motion_mode_rd(), and prune_zero_mv_with_sse().
| int_interpfilters MB_MODE_INFO::interp_filters |
Filter used in subpel interpolation.
Referenced by av1_interpolation_filter_search(), av1_nonrd_pick_inter_mode_sb(), av1_rd_pick_inter_mode(), fast_interp_search(), motion_mode_rd(), rd_pick_intrabc_mode_sb(), and search_filter_ref().
| MOTION_MODE MB_MODE_INFO::motion_mode |
The motion mode used by the inter prediction.
Referenced by av1_nonrd_pick_inter_mode_sb(), encode_b(), fast_interp_search(), handle_inter_mode(), motion_mode_rd(), and rd_pick_intrabc_mode_sb().
| uint8_t MB_MODE_INFO::num_proj_ref |
Number of samples used by warp causal.
Referenced by av1_nonrd_pick_inter_mode_sb(), find_predictors(), handle_inter_mode(), and motion_mode_rd().
| WarpedMotionParams MB_MODE_INFO::wm_params |
The parameters used in warp motion mode.
Referenced by av1_nonrd_pick_inter_mode_sb(), and motion_mode_rd().
| INTERINTER_COMPOUND_DATA MB_MODE_INFO::interinter_comp |
Struct that stores the data used in interinter compound mode.
Referenced by av1_nonrd_pick_inter_mode_sb(), encode_b(), handle_inter_mode(), and process_compound_inter_mode().
| int8_t MB_MODE_INFO::angle_delta[PLANE_TYPES] |
Directional mode delta: the angle is base angle + (angle_delta * step).
Referenced by av1_nonrd_pick_inter_mode_sb(), av1_rd_pick_inter_mode(), av1_rd_pick_intra_sbuv_mode(), av1_rd_pick_intra_sby_mode(), av1_search_intra_uv_modes_in_interframe(), av1_search_palette_mode(), intra_mode_info_cost_uv(), intra_mode_info_cost_y(), rd_pick_intra_angle_sbuv(), search_intra_modes_in_interframe(), and set_y_mode_and_delta_angle().
| FILTER_INTRA_MODE_INFO MB_MODE_INFO::filter_intra_mode_info |
The type of filter intra mode used (if applicable).
Referenced by av1_handle_intra_y_mode(), av1_nonrd_pick_inter_mode_sb(), av1_rd_pick_inter_mode(), av1_rd_pick_intra_sby_mode(), handle_filter_intra_mode(), intra_mode_info_cost_y(), rd_pick_filter_intra_sby(), and rd_pick_intrabc_mode_sb().
| int8_t MB_MODE_INFO::cfl_alpha_signs |
Chroma from Luma: Joint sign of alpha Cb and alpha Cr.
Referenced by av1_rd_pick_intra_sbuv_mode().
| uint8_t MB_MODE_INFO::cfl_alpha_idx |
Chroma from Luma: Index of the alpha Cb and alpha Cr combination.
Referenced by av1_rd_pick_intra_sbuv_mode().
| PALETTE_MODE_INFO MB_MODE_INFO::palette_mode_info |
Stores the size and colors of palette mode.
Referenced by av1_nonrd_pick_inter_mode_sb(), av1_nonrd_pick_intra_mode(), av1_rd_pick_inter_mode(), av1_rd_pick_intra_sby_mode(), av1_search_intra_uv_modes_in_interframe(), av1_search_palette_mode(), av1_search_palette_mode_luma(), intra_mode_info_cost_uv(), intra_mode_info_cost_y(), palette_rd_y(), rd_pick_filter_intra_sby(), and rd_pick_intrabc_mode_sb().
| uint8_t MB_MODE_INFO::skip_txfm |
Whether to skip transforming and sending.
Referenced by av1_rd_pick_inter_mode(), av1_rd_pick_intra_mode_sb(), av1_rd_pick_intra_sbuv_mode(), av1_search_palette_mode(), av1_search_palette_mode_luma(), encode_b(), intra_block_yrd(), motion_mode_rd(), pick_sb_modes(), and rd_pick_intrabc_mode_sb().
| TX_SIZE MB_MODE_INFO::tx_size |
Transform size when fixed size txfm is used (e.g. intra modes).
Referenced by av1_nonrd_pick_inter_mode_sb(), av1_nonrd_pick_intra_mode(), av1_rd_pick_intra_sby_mode(), handle_filter_intra_mode(), intra_block_yrd(), intra_mode_info_cost_uv(), intra_mode_info_cost_y(), palette_rd_y(), rd_pick_filter_intra_sby(), search_filter_ref(), and search_intra_modes_in_interframe().
| TX_SIZE MB_MODE_INFO::inter_tx_size[INTER_TX_SIZE_BUF_LEN] |
Transform size when recursive txfm tree is on.
Referenced by av1_nonrd_pick_inter_mode_sb().
| int8_t MB_MODE_INFO::delta_lf_from_base |
Since actual frame level loop filtering level value is not available at the beginning of the tile (only available during actual filtering) at encoder side.we record the delta_lf (against the frame level loop filtering level) and code the delta between previous superblock's delta lf and current delta lf. It is equivalent to the delta between previous superblock's actual lf and current lf.
Referenced by encode_b(), and setup_delta_q().
| int8_t MB_MODE_INFO::delta_lf[FRAME_LF_COUNT] |
We have four frame filter levels for different plane and direction. So, to support the per superblock update, we need to add a few more params:
Referenced by encode_b(), and setup_delta_q().
| uint8_t MB_MODE_INFO::segment_id |
The segment id.
Referenced by av1_nonrd_pick_inter_mode_sb(), av1_nonrd_pick_intra_mode(), av1_rd_pick_inter_mode(), av1_rd_pick_intra_sbuv_mode(), av1_rd_pick_intra_sby_mode(), encode_b(), intra_block_yrd(), palette_rd_y(), pick_sb_modes(), pick_sb_modes_nonrd(), search_intra_modes_in_interframe(), and setup_delta_q().
| uint8_t MB_MODE_INFO::ref_mv_idx |
Which ref_mv to use.
Referenced by av1_interpolation_filter_search(), av1_rd_pick_inter_mode(), combined_motion_search(), handle_inter_mode(), and motion_mode_rd().
| uint8_t MB_MODE_INFO::skip_mode |
Inter skip mode.
Referenced by av1_rd_pick_intra_mode_sb(), encode_b(), and pick_sb_modes().
| uint8_t MB_MODE_INFO::use_intrabc |
Whether intrabc is used.
Referenced by av1_rd_pick_intra_mode_sb(), intra_mode_info_cost_uv(), intra_mode_info_cost_y(), and rd_pick_intrabc_mode_sb().
| uint8_t MB_MODE_INFO::comp_group_idx |
Indicates if masked compound is used(1) or not (0).
Referenced by av1_nonrd_pick_inter_mode_sb(), encode_b(), and handle_inter_mode().
| uint8_t MB_MODE_INFO::compound_idx |
Indicates whether dist_wtd_comp(0) is used or not (0).
Referenced by av1_nonrd_pick_inter_mode_sb(), encode_b(), handle_inter_mode(), and motion_mode_rd().
| int8_t MB_MODE_INFO::cdef_strength |
CDEF strength per BLOCK_64X64.
Referenced by encode_nonrd_sb(), and pick_sb_modes_nonrd().