Commit c5230955 authored by Paul B Mahol's avatar Paul B Mahol Committed by Luca Barbato

utvideodec: Support UQY2

Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
parent 9e4a5eb5
...@@ -39,3 +39,9 @@ int ff_ut_huff_cmp_len(const void *a, const void *b) ...@@ -39,3 +39,9 @@ int ff_ut_huff_cmp_len(const void *a, const void *b)
const HuffEntry *aa = a, *bb = b; const HuffEntry *aa = a, *bb = b;
return (aa->len - bb->len)*256 + aa->sym - bb->sym; return (aa->len - bb->len)*256 + aa->sym - bb->sym;
} }
int ff_ut10_huff_cmp_len(const void *a, const void *b)
{
const HuffEntry *aa = a, *bb = b;
return (aa->len - bb->len) * 1024 + aa->sym - bb->sym;
}
...@@ -76,6 +76,7 @@ typedef struct UtvideoContext { ...@@ -76,6 +76,7 @@ typedef struct UtvideoContext {
int compression; int compression;
int interlaced; int interlaced;
int frame_pred; int frame_pred;
int pro;
ptrdiff_t slice_stride; ptrdiff_t slice_stride;
uint8_t *slice_bits, *slice_buffer[4]; uint8_t *slice_bits, *slice_buffer[4];
...@@ -83,12 +84,13 @@ typedef struct UtvideoContext { ...@@ -83,12 +84,13 @@ typedef struct UtvideoContext {
} UtvideoContext; } UtvideoContext;
typedef struct HuffEntry { typedef struct HuffEntry {
uint8_t sym; uint16_t sym;
uint8_t len; uint8_t len;
uint32_t code; uint32_t code;
} HuffEntry; } HuffEntry;
/* Compare huffman tree nodes */ /* Compare huffman tree nodes */
int ff_ut_huff_cmp_len(const void *a, const void *b); int ff_ut_huff_cmp_len(const void *a, const void *b);
int ff_ut10_huff_cmp_len(const void *a, const void *b);
#endif /* AVCODEC_UTVIDEO_H */ #endif /* AVCODEC_UTVIDEO_H */
This diff is collapsed.
...@@ -342,6 +342,7 @@ const AVCodecTag ff_codec_bmp_tags[] = { ...@@ -342,6 +342,7 @@ const AVCodecTag ff_codec_bmp_tags[] = {
{ AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'Y', '2') }, { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'Y', '2') },
{ AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'H', '0') }, { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'H', '0') },
{ AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'H', '2') }, { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'H', '2') },
{ AV_CODEC_ID_UTVIDEO, MKTAG('U', 'Q', 'Y', '2') },
{ AV_CODEC_ID_VBLE, MKTAG('V', 'B', 'L', 'E') }, { AV_CODEC_ID_VBLE, MKTAG('V', 'B', 'L', 'E') },
{ AV_CODEC_ID_ESCAPE130, MKTAG('E', '1', '3', '0') }, { AV_CODEC_ID_ESCAPE130, MKTAG('E', '1', '3', '0') },
{ AV_CODEC_ID_DXTORY, MKTAG('x', 't', 'o', 'r') }, { AV_CODEC_ID_DXTORY, MKTAG('x', 't', 'o', 'r') },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment