diff options
author | Nuo Mi <nuomi2021@gmail.com> | 2024-05-19 21:27:47 +0800 |
---|---|---|
committer | Nuo Mi <nuomi2021@gmail.com> | 2024-05-21 20:20:25 +0800 |
commit | cae0b01282d0d21be24d619692c48ce3181d56dd (patch) | |
tree | 45f1520205b21744dd92066af5bd530a271094b4 /libavcodec/vvc | |
parent | 7904ec2d34a4c1b5b330ab28fd5525b942995dfd (diff) | |
download | ffmpeg-cae0b01282d0d21be24d619692c48ce3181d56dd.tar.gz |
avcodec/vvcdec: increase edge_emu_buffer for RPR
Diffstat (limited to 'libavcodec/vvc')
-rw-r--r-- | libavcodec/vvc/ctu.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libavcodec/vvc/ctu.h b/libavcodec/vvc/ctu.h index 50109154aa..a987328d81 100644 --- a/libavcodec/vvc/ctu.h +++ b/libavcodec/vvc/ctu.h @@ -46,7 +46,8 @@ #define MAX_QP 63 #define MAX_PB_SIZE 128 -#define EDGE_EMU_BUFFER_STRIDE (MAX_PB_SIZE + 32) +#define MAX_SCALING_RATIO 8 +#define EDGE_EMU_BUFFER_STRIDE ((MAX_PB_SIZE + 32) * MAX_SCALING_RATIO) #define CHROMA_EXTRA_BEFORE 1 #define CHROMA_EXTRA_AFTER 2 @@ -375,10 +376,8 @@ typedef struct VVCLocalContext { int end_of_tiles_x; int end_of_tiles_y; - /* +7 is for subpixel interpolation, *2 for high bit depths */ - DECLARE_ALIGNED(32, uint8_t, edge_emu_buffer)[(MAX_PB_SIZE + 7) * EDGE_EMU_BUFFER_STRIDE * 2]; - /* The extended size between the new edge emu buffer is abused by SAO */ - DECLARE_ALIGNED(32, uint8_t, edge_emu_buffer2)[(MAX_PB_SIZE + 7) * EDGE_EMU_BUFFER_STRIDE * 2]; + /* *2 for high bit depths */ + DECLARE_ALIGNED(32, uint8_t, edge_emu_buffer)[EDGE_EMU_BUFFER_STRIDE * EDGE_EMU_BUFFER_STRIDE * 2]; DECLARE_ALIGNED(32, int16_t, tmp)[MAX_PB_SIZE * MAX_PB_SIZE]; DECLARE_ALIGNED(32, int16_t, tmp1)[MAX_PB_SIZE * MAX_PB_SIZE]; DECLARE_ALIGNED(32, int16_t, tmp2)[MAX_PB_SIZE * MAX_PB_SIZE]; |