/work/svt-av1/Source/Lib/Codec/deblocking_common.h
Line | Count | Source |
1 | | /* |
2 | | * Copyright(c) 2019 Intel Corporation |
3 | | * Copyright (c) 2016, Alliance for Open Media. All rights reserved |
4 | | * |
5 | | * This source code is subject to the terms of the BSD 2 Clause License and |
6 | | * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License |
7 | | * was not distributed with this source code in the LICENSE file, you can |
8 | | * obtain it at https://www.aomedia.org/license/software-license. If the Alliance for Open |
9 | | * Media Patent License 1.0 was not distributed with this source code in the |
10 | | * PATENTS file, you can obtain it at https://www.aomedia.org/license/patent-license. |
11 | | */ |
12 | | |
13 | | #include "definitions.h" |
14 | | #include "av1_structs.h" |
15 | | |
16 | | #ifndef EbDeblockingCommon_h |
17 | | #define EbDeblockingCommon_h |
18 | | #ifdef __cplusplus |
19 | | extern "C" { |
20 | | #endif |
21 | | |
22 | | typedef enum EdgeDir { VERT_EDGE = 0, HORZ_EDGE = 1, NUM_EDGE_DIRS } EdgeDir; |
23 | | |
24 | | typedef struct Av1DeblockingParameters { |
25 | | // length of the filter applied to the outer edge |
26 | | uint32_t filter_length; |
27 | | // deblocking limits |
28 | | const uint8_t* lim; |
29 | | const uint8_t* mblim; |
30 | | const uint8_t* hev_thr; |
31 | | } Av1DeblockingParameters; |
32 | | |
33 | | static const int32_t mode_lf_lut[] = { |
34 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // INTRA_MODES |
35 | | 1, 1, 0, 1, // INTER_MODES (GLOBALMV == 0) |
36 | | 1, 1, 1, 1, 1, 1, 0, 1 // INTER_COMPOUND_MODES (GLOBAL_GLOBALMV == 0) |
37 | | }; |
38 | | |
39 | | uint8_t svt_aom_get_filter_level_delta_lf(FrameHeader* frm_hdr, const int32_t dir_idx, int32_t plane, |
40 | | int32_t* sb_delta_lf, uint8_t seg_id, PredictionMode pred_mode, |
41 | | MvReferenceFrame ref_frame_0); |
42 | | |
43 | 0 | static INLINE int32_t is_inter_block_no_intrabc(MvReferenceFrame ref_frame_0) { |
44 | 0 | return /*is_intrabc_block(mbmi) ||*/ ref_frame_0 > INTRA_FRAME; |
45 | 0 | } Unexecuted instantiation: deblocking_common.c:is_inter_block_no_intrabc Unexecuted instantiation: dlf_process.c:is_inter_block_no_intrabc Unexecuted instantiation: enc_dec_process.c:is_inter_block_no_intrabc Unexecuted instantiation: segmentation.c:is_inter_block_no_intrabc Unexecuted instantiation: coding_loop.c:is_inter_block_no_intrabc Unexecuted instantiation: deblocking_filter.c:is_inter_block_no_intrabc |
46 | | |
47 | | void svt_av1_loop_filter_frame_init(FrameHeader* frm_hdr, LoopFilterInfoN* lf_info, int32_t plane_start, |
48 | | int32_t plane_end); |
49 | | |
50 | | void svt_aom_update_sharpness(LoopFilterInfoN* lfi, int32_t sharpness_lvl); |
51 | | |
52 | | #ifdef __cplusplus |
53 | | } |
54 | | #endif |
55 | | #endif // EbDeblockingCommon_h |