const uint8_t *scantable= ctx->intra_scantable.scantable;
const int *qmat = ctx->q_intra_matrix[qscale];
int last_non_zero = 0;
+ int i;
ctx->dsp.fdct(block);
// Divide by 4 with rounding, to compensate scaling of DCT coefficients
block[0] = (block[0] + 2) >> 2;
- for (int i = 1; i < 64; ++i) {
+ for (i = 1; i < 64; ++i) {
int j = scantable[i];
int sign = block[j] >> 31;
int level = (block[j] ^ sign) - sign;
int sum = 0;
int sqsum = 0;
int mean, sqmean;
+ int i, j;
// Macroblocks are 16x16 pixels, unlike DCT blocks which are 8x8.
- for (int i = 0; i < 16; ++i) {
- for (int j = 0; j < 16; ++j) {
+ for (i = 0; i < 16; ++i) {
+ for (j = 0; j < 16; ++j) {
// Turn 16-bit pixels into 10-bit ones.
int const sample = (unsigned)pix[j] >> 6;
sum += sample;
}
AVCodec ff_dnxhd_encoder = {
- "dnxhd",
- AVMEDIA_TYPE_VIDEO,
- CODEC_ID_DNXHD,
- sizeof(DNXHDEncContext),
- dnxhd_encode_init,
- dnxhd_encode_picture,
- dnxhd_encode_end,
+ .name = "dnxhd",
+ .type = AVMEDIA_TYPE_VIDEO,
+ .id = CODEC_ID_DNXHD,
+ .priv_data_size = sizeof(DNXHDEncContext),
+ .init = dnxhd_encode_init,
+ .encode = dnxhd_encode_picture,
+ .close = dnxhd_encode_end,
.capabilities = CODEC_CAP_SLICE_THREADS,
.pix_fmts = (const enum PixelFormat[]){PIX_FMT_YUV422P, PIX_FMT_YUV422P10, PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"),