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:
@@ -267,7 +267,8 @@ AVCodec ff_asv1_encoder = {
|
|||||||
.priv_data_size = sizeof(ASV1Context),
|
.priv_data_size = sizeof(ASV1Context),
|
||||||
.init = encode_init,
|
.init = encode_init,
|
||||||
.encode2 = encode_frame,
|
.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"),
|
.long_name = NULL_IF_CONFIG_SMALL("ASUS V1"),
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
@@ -280,7 +281,8 @@ AVCodec ff_asv2_encoder = {
|
|||||||
.priv_data_size = sizeof(ASV1Context),
|
.priv_data_size = sizeof(ASV1Context),
|
||||||
.init = encode_init,
|
.init = encode_init,
|
||||||
.encode2 = encode_frame,
|
.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"),
|
.long_name = NULL_IF_CONFIG_SMALL("ASUS V2"),
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -141,32 +141,6 @@ static const uint8_t string_table[256] = {
|
|||||||
n2 &= n3 & 0x00FF00FF; \
|
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) \
|
#define SVQ1_CALC_CODEBOOK_ENTRIES(cbook) \
|
||||||
codebook = (const uint32_t *)cbook[level]; \
|
codebook = (const uint32_t *)cbook[level]; \
|
||||||
if (stages > 0) \
|
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);
|
memset(&dst[y * (pitch / 4)], mean, width);
|
||||||
} else {
|
} else {
|
||||||
SVQ1_CALC_CODEBOOK_ENTRIES(ff_svq1_intra_codebooks);
|
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;
|
mean = get_vlc2(bitbuf, svq1_inter_mean.table, 9, 3) - 256;
|
||||||
|
|
||||||
SVQ1_CALC_CODEBOOK_ENTRIES(ff_svq1_inter_codebooks);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -832,7 +828,7 @@ AVCodec ff_svq1_decoder = {
|
|||||||
.decode = svq1_decode_frame,
|
.decode = svq1_decode_frame,
|
||||||
.capabilities = CODEC_CAP_DR1,
|
.capabilities = CODEC_CAP_DR1,
|
||||||
.flush = svq1_flush,
|
.flush = svq1_flush,
|
||||||
.pix_fmts = (const enum PixelFormat[]) { AV_PIX_FMT_YUV410P,
|
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P,
|
||||||
AV_PIX_FMT_NONE },
|
AV_PIX_FMT_NONE },
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),
|
.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user