mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-28 05:50:43 +00:00
Merge commit '998fdcff41bbda8ef13c991743376556f910efa9'
* commit '998fdcff41bbda8ef13c991743376556f910efa9': lavc: replace some forgotten instances of PixelFormat with AVPixelFormat svq1: unmacroify macros used only once. Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
9c0ec23c7d
@ -267,7 +267,8 @@ AVCodec ff_asv1_encoder = {
|
||||
.priv_data_size = sizeof(ASV1Context),
|
||||
.init = encode_init,
|
||||
.encode2 = encode_frame,
|
||||
.pix_fmts = (const enum PixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
|
||||
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,
|
||||
AV_PIX_FMT_NONE },
|
||||
.long_name = NULL_IF_CONFIG_SMALL("ASUS V1"),
|
||||
};
|
||||
#endif
|
||||
@ -280,7 +281,8 @@ AVCodec ff_asv2_encoder = {
|
||||
.priv_data_size = sizeof(ASV1Context),
|
||||
.init = encode_init,
|
||||
.encode2 = encode_frame,
|
||||
.pix_fmts = (const enum PixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
|
||||
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,
|
||||
AV_PIX_FMT_NONE },
|
||||
.long_name = NULL_IF_CONFIG_SMALL("ASUS V2"),
|
||||
};
|
||||
#endif
|
||||
|
@ -141,32 +141,6 @@ static const uint8_t string_table[256] = {
|
||||
n2 &= n3 & 0x00FF00FF; \
|
||||
}
|
||||
|
||||
#define SVQ1_DO_CODEBOOK_INTRA() \
|
||||
for (y = 0; y < height; y++) { \
|
||||
for (x = 0; x < width / 4; x++, codebook++) { \
|
||||
n1 = n4; \
|
||||
n2 = n4; \
|
||||
SVQ1_ADD_CODEBOOK() \
|
||||
/* store result */ \
|
||||
dst[x] = n1 << 8 | n2; \
|
||||
} \
|
||||
dst += pitch / 4; \
|
||||
}
|
||||
|
||||
#define SVQ1_DO_CODEBOOK_NONINTRA() \
|
||||
for (y = 0; y < height; y++) { \
|
||||
for (x = 0; x < width / 4; x++, codebook++) { \
|
||||
n3 = dst[x]; \
|
||||
/* add mean value to vector */ \
|
||||
n1 = n4 + ((n3 & 0xFF00FF00) >> 8); \
|
||||
n2 = n4 + (n3 & 0x00FF00FF); \
|
||||
SVQ1_ADD_CODEBOOK() \
|
||||
/* store result */ \
|
||||
dst[x] = n1 << 8 | n2; \
|
||||
} \
|
||||
dst += pitch / 4; \
|
||||
}
|
||||
|
||||
#define SVQ1_CALC_CODEBOOK_ENTRIES(cbook) \
|
||||
codebook = (const uint32_t *)cbook[level]; \
|
||||
if (stages > 0) \
|
||||
@ -227,7 +201,17 @@ static int svq1_decode_block_intra(GetBitContext *bitbuf, uint8_t *pixels,
|
||||
memset(&dst[y * (pitch / 4)], mean, width);
|
||||
} else {
|
||||
SVQ1_CALC_CODEBOOK_ENTRIES(ff_svq1_intra_codebooks);
|
||||
SVQ1_DO_CODEBOOK_INTRA()
|
||||
|
||||
for (y = 0; y < height; y++) {
|
||||
for (x = 0; x < width / 4; x++, codebook++) {
|
||||
n1 = n4;
|
||||
n2 = n4;
|
||||
SVQ1_ADD_CODEBOOK()
|
||||
/* store result */
|
||||
dst[x] = n1 << 8 | n2;
|
||||
}
|
||||
dst += pitch / 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -275,7 +259,19 @@ static int svq1_decode_block_non_intra(GetBitContext *bitbuf, uint8_t *pixels,
|
||||
mean = get_vlc2(bitbuf, svq1_inter_mean.table, 9, 3) - 256;
|
||||
|
||||
SVQ1_CALC_CODEBOOK_ENTRIES(ff_svq1_inter_codebooks);
|
||||
SVQ1_DO_CODEBOOK_NONINTRA()
|
||||
|
||||
for (y = 0; y < height; y++) {
|
||||
for (x = 0; x < width / 4; x++, codebook++) {
|
||||
n3 = dst[x];
|
||||
/* add mean value to vector */
|
||||
n1 = n4 + ((n3 & 0xFF00FF00) >> 8);
|
||||
n2 = n4 + (n3 & 0x00FF00FF);
|
||||
SVQ1_ADD_CODEBOOK()
|
||||
/* store result */
|
||||
dst[x] = n1 << 8 | n2;
|
||||
}
|
||||
dst += pitch / 4;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -832,7 +828,7 @@ AVCodec ff_svq1_decoder = {
|
||||
.decode = svq1_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.flush = svq1_flush,
|
||||
.pix_fmts = (const enum PixelFormat[]) { AV_PIX_FMT_YUV410P,
|
||||
AV_PIX_FMT_NONE },
|
||||
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P,
|
||||
AV_PIX_FMT_NONE },
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user