aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/huffyuv.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-01-23 01:41:39 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-01-26 00:23:03 +0100
commit53167ecfdb99151c1f0d243275675a75efb881a7 (patch)
tree77c530bccbc62bd8591f2a2d53942e000f2c15cb /libavcodec/huffyuv.h
parent214a3b8bf939c3c5dacfeafb77750fe3ce751b93 (diff)
downloadffmpeg-53167ecfdb99151c1f0d243275675a75efb881a7.tar.gz
avcodec/huffyuv: support AV_PIX_FMT_YUV(A)4XYP16 and GRAY16
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/huffyuv.h')
-rw-r--r--libavcodec/huffyuv.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/libavcodec/huffyuv.h b/libavcodec/huffyuv.h
index 0aecad0437..804c3b5c39 100644
--- a/libavcodec/huffyuv.h
+++ b/libavcodec/huffyuv.h
@@ -39,8 +39,9 @@
#define VLC_BITS 11
-#define MAX_BITS 14
+#define MAX_BITS 16
#define MAX_N (1<<MAX_BITS)
+#define MAX_VLC_N 16384
#if HAVE_BIGENDIAN
#define B 3
@@ -73,6 +74,7 @@ typedef struct HYuvContext {
int bgr32; //use bgr32 instead of bgr24
int bps;
int n; // 1<<bps
+ int vlc_n; // number of vlc codes (FFMIN(1<<bps, MAX_VLC_N))
int alpha;
int chroma;
int yuv;
@@ -85,9 +87,9 @@ typedef struct HYuvContext {
int last_slice_end;
uint8_t *temp[3];
uint16_t *temp16[3]; ///< identical to temp but 16bit type
- uint64_t stats[4][MAX_N];
- uint8_t len[4][MAX_N];
- uint32_t bits[4][MAX_N];
+ uint64_t stats[4][MAX_VLC_N];
+ uint8_t len[4][MAX_VLC_N];
+ uint32_t bits[4][MAX_VLC_N];
uint32_t pix_bgr_map[1<<VLC_BITS];
VLC vlc[8]; //Y,U,V,A,YY,YU,YV,AA
uint8_t *bitstream_buffer;