867
867
dctblock[0] = binkb_get_value(c, BINKB_SRC_INTRA_DC);
868
868
qp = binkb_get_value(c, BINKB_SRC_INTRA_Q);
869
869
read_dct_coeffs(gb, dctblock, bink_scan, binkb_intra_quant, qp);
870
c->bdsp.idct_put(dst, stride, dctblock);
870
c->binkdsp.idct_put(dst, stride, dctblock);
873
873
xoff = binkb_get_value(c, BINKB_SRC_X_OFF);
881
881
put_pixels8x8_overlapped(dst, ref, stride);
883
c->dsp.clear_block(block);
883
c->bdsp.clear_block(block);
884
884
v = binkb_get_value(c, BINKB_SRC_INTER_COEFS);
885
885
read_residue(gb, block, v);
886
c->dsp.add_pixels8(dst, block, stride);
886
c->binkdsp.add_pixels8(dst, block, stride);
889
889
xoff = binkb_get_value(c, BINKB_SRC_X_OFF);
900
900
dctblock[0] = binkb_get_value(c, BINKB_SRC_INTER_DC);
901
901
qp = binkb_get_value(c, BINKB_SRC_INTER_Q);
902
902
read_dct_coeffs(gb, dctblock, bink_scan, binkb_inter_quant, qp);
903
c->bdsp.idct_add(dst, stride, dctblock);
903
c->binkdsp.idct_add(dst, stride, dctblock);
906
906
v = binkb_get_value(c, BINKB_SRC_COLORS);
907
c->dsp.fill_block_tab[1](dst, v, stride, 8);
907
c->bdsp.fill_block_tab[1](dst, v, stride, 8);
910
910
for (i = 0; i < 2; i++)
1043
1043
memset(dctblock, 0, sizeof(*dctblock) * 64);
1044
1044
dctblock[0] = get_value(c, BINK_SRC_INTRA_DC);
1045
1045
read_dct_coeffs(gb, dctblock, bink_scan, bink_intra_quant, -1);
1046
c->bdsp.idct_put(ublock, 8, dctblock);
1046
c->binkdsp.idct_put(ublock, 8, dctblock);
1048
1048
case FILL_BLOCK:
1049
1049
v = get_value(c, BINK_SRC_COLORS);
1050
c->dsp.fill_block_tab[0](dst, v, stride, 16);
1050
c->bdsp.fill_block_tab[0](dst, v, stride, 16);
1052
1052
case PATTERN_BLOCK:
1053
1053
for (i = 0; i < 2; i++)
1068
1068
return AVERROR_INVALIDDATA;
1070
1070
if (blk != FILL_BLOCK)
1071
c->bdsp.scale_block(ublock, dst, stride);
1071
c->binkdsp.scale_block(ublock, dst, stride);
1117
1117
return AVERROR_INVALIDDATA;
1119
1119
c->hdsp.put_pixels_tab[1][0](dst, ref, stride, 8);
1120
c->dsp.clear_block(block);
1120
c->bdsp.clear_block(block);
1121
1121
v = get_bits(gb, 7);
1122
1122
read_residue(gb, block, v);
1123
c->dsp.add_pixels8(dst, block, stride);
1123
c->binkdsp.add_pixels8(dst, block, stride);
1125
1125
case INTRA_BLOCK:
1126
1126
memset(dctblock, 0, sizeof(*dctblock) * 64);
1127
1127
dctblock[0] = get_value(c, BINK_SRC_INTRA_DC);
1128
1128
read_dct_coeffs(gb, dctblock, bink_scan, bink_intra_quant, -1);
1129
c->bdsp.idct_put(dst, stride, dctblock);
1129
c->binkdsp.idct_put(dst, stride, dctblock);
1131
1131
case FILL_BLOCK:
1132
1132
v = get_value(c, BINK_SRC_COLORS);
1133
c->dsp.fill_block_tab[1](dst, v, stride, 8);
1133
c->bdsp.fill_block_tab[1](dst, v, stride, 8);
1135
1135
case INTER_BLOCK:
1136
1136
xoff = get_value(c, BINK_SRC_X_OFF);
1140
1140
memset(dctblock, 0, sizeof(*dctblock) * 64);
1141
1141
dctblock[0] = get_value(c, BINK_SRC_INTER_DC);
1142
1142
read_dct_coeffs(gb, dctblock, bink_scan, bink_inter_quant, -1);
1143
c->bdsp.idct_add(dst, stride, dctblock);
1143
c->binkdsp.idct_add(dst, stride, dctblock);
1145
1145
case PATTERN_BLOCK:
1146
1146
for (i = 0; i < 2; i++)
1311
1311
avctx->pix_fmt = c->has_alpha ? AV_PIX_FMT_YUVA420P : AV_PIX_FMT_YUV420P;
1313
ff_dsputil_init(&c->dsp, avctx);
1313
ff_blockdsp_init(&c->bdsp, avctx);
1314
1314
ff_hpeldsp_init(&c->hdsp, avctx->flags);
1315
ff_binkdsp_init(&c->bdsp);
1315
ff_binkdsp_init(&c->binkdsp);
1317
1317
init_bundles(c);