Lines Matching defs:block

69  * Return the number of bits that encoding the 8x8 block in block would need.
70 * @param[in] block_last_index last index in scantable order that refers to a non zero element in block.
72 static inline int get_block_rate(MpegEncContext *s, int16_t block[64],
81 int level = block[index];
100 * Restore the ac coefficients in block that have been changed by decide_ac_pred().
102 * @param[in,out] block MB coefficients, these will be restored
103 * @param[in] dir ac prediction direction for each 8x8 block
104 * @param[out] st scantable for each 8x8 block
107 static inline void restore_ac_coeffs(MpegEncContext *s, int16_t block[6][64],
121 block[n][s->idsp.idct_permutation[i]] = ac_val[i + 8];
125 block[n][s->idsp.idct_permutation[i << 3]] = ac_val[i];
133 * @param[in,out] block MB coefficients, these will be updated if 1 is returned
134 * @param[in] dir ac prediction direction for each 8x8 block
135 * @param[out] st scantable for each 8x8 block
138 static inline int decide_ac_pred(MpegEncContext *s, int16_t block[6][64],
151 score -= get_block_rate(s, block[n], s->block_last_index[n],
163 const int level = block[n][s->idsp.idct_permutation[i]];
164 block[n][s->idsp.idct_permutation[i]] = level - ac_val[i + 8];
165 ac_val1[i] = block[n][s->idsp.idct_permutation[i << 3]];
171 const int level = block[n][s->idsp.idct_permutation[i]];
172 block[n][s->idsp.idct_permutation[i]] = level - ROUNDED_DIV(ac_val[i + 8] * qscale_table[xy], s->qscale);
173 ac_val1[i] = block[n][s->idsp.idct_permutation[i << 3]];
185 const int level = block[n][s->idsp.idct_permutation[i << 3]];
186 block[n][s->idsp.idct_permutation[i << 3]] = level - ac_val[i];
188 ac_val1[i + 8] = block[n][s->idsp.idct_permutation[i]];
193 const int level = block[n][s->idsp.idct_permutation[i << 3]];
194 block[n][s->idsp.idct_permutation[i << 3]] = level - ROUNDED_DIV(ac_val[i] * qscale_table[xy], s->qscale);
196 ac_val1[i + 8] = block[n][s->idsp.idct_permutation[i]];
203 if (block[n][st[n][i]])
207 score += get_block_rate(s, block[n], s->block_last_index[n], st[n]);
213 restore_ac_coeffs(s, block, dir, st, zigzag_last_index);
263 * @param n block index (0-3 are luma, 4-5 are chroma)
287 * Encode an 8x8 block.
288 * @param n block index (0-3 are luma, 4-5 are chroma)
291 int16_t *block, int n, int intra_dc,
319 int level = block[scan_table[i]];
336 int level = block[scan_table[i]];
352 int16_t *block, int n,
377 int level = block[scan_table[i]];
391 int level = block[scan_table[i]];
405 static inline void mpeg4_encode_blocks(MpegEncContext *s, int16_t block[6][64],
416 mpeg4_get_block_length(s, block[i], i,
419 /* encode each block */
421 mpeg4_encode_block(s, block[i], i,
428 mpeg4_get_block_length(s, block[i], i, 0,
431 /* encode each block */
433 mpeg4_encode_block(s, block[i], i, 0,
439 static inline int get_b_cbp(MpegEncContext *s, int16_t block[6][64],
468 s->bdsp.clear_block(s->block[i]);
483 void ff_mpeg4_encode_mb(MpegEncContext *s, int16_t block[6][64],
526 cbp = get_b_cbp(s, block, motion_x, motion_y, mb_type);
627 mpeg4_encode_blocks(s, block, NULL, NULL, NULL, &s->pb);
632 cbp = get_p_cbp(s, block, motion_x, motion_y);
791 mpeg4_encode_blocks(s, block, NULL, NULL, NULL, tex_pb);
805 dc_diff[i] = ff_mpeg4_pred_dc(s, i, block[i][0], &dir[i], 1);
808 s->ac_pred = decide_ac_pred(s, block, dir, scan_table, zigzag_last_index);
847 mpeg4_encode_blocks(s, block, dc_diff, scan_table, dc_pb, tex_pb);
856 restore_ac_coeffs(s, block, dir, scan_table, zigzag_last_index);