[FFmpeg-cvslog] avcodec/vvcdec: increase edge_emu_buffer for RPR
Nuo Mi
git at videolan.org
Tue May 21 15:29:36 EEST 2024
ffmpeg | branch: master | Nuo Mi <nuomi2021 at gmail.com> | Sun May 19 21:27:47 2024 +0800| [cae0b01282d0d21be24d619692c48ce3181d56dd] | committer: Nuo Mi
avcodec/vvcdec: increase edge_emu_buffer for RPR
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cae0b01282d0d21be24d619692c48ce3181d56dd
---
libavcodec/vvc/ctu.h | 9 ++++-----
1 file 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];
More information about the ffmpeg-cvslog
mailing list