diff options
author | Guillaume Martres <smarter@ubuntu.com> | 2014-01-03 09:10:38 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2014-01-09 09:46:13 +0100 |
commit | e588615d938f8581f0d6f3771662d08cadfc00de (patch) | |
tree | 71ad5db7d18a025cc455749d49523a6b3693dd4d /libavcodec/hevc.h | |
parent | a246af86e47044dec243db2f708cc125d608ea78 (diff) | |
download | ffmpeg-e588615d938f8581f0d6f3771662d08cadfc00de.tar.gz |
hevc: fix decoding of one PU wide files
For those the block size may be larger than the source linesize (if the
edges are not allocated).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec/hevc.h')
-rw-r--r-- | libavcodec/hevc.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h index 014219795d..07d70739de 100644 --- a/libavcodec/hevc.h +++ b/libavcodec/hevc.h @@ -71,6 +71,8 @@ #define EPEL_EXTRA_AFTER 2 #define EPEL_EXTRA 3 +#define EDGE_EMU_BUFFER_STRIDE 80 + /** * Value of the luma sample at position (x, y) in the 2D array tab. */ @@ -741,8 +743,8 @@ typedef struct HEVCLocalContext { int start_of_tiles_x; int end_of_tiles_x; int end_of_tiles_y; - uint8_t *edge_emu_buffer; - int edge_emu_buffer_size; + /* +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]; CodingTree ct; CodingUnit cu; PredictionUnit pu; |