summaryrefslogtreecommitdiff
path: root/libavcodec/hevc.h
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2014-01-03 09:10:38 +0100
committerAnton Khirnov <anton@khirnov.net>2014-01-09 09:46:13 +0100
commite588615d938f8581f0d6f3771662d08cadfc00de (patch)
tree71ad5db7d18a025cc455749d49523a6b3693dd4d /libavcodec/hevc.h
parenta246af86e47044dec243db2f708cc125d608ea78 (diff)
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.h6
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;