You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
svq3: eliminate write_back_intra_pred_mode() usage
This function depends on the h264 internals and is so tiny that just copying the code out is the simplest replacement.
This commit is contained in:
@@ -714,6 +714,9 @@ static int svq3_decode_mb(SVQ3Context *s, unsigned int mb_type)
|
|||||||
|
|
||||||
mb_type = MB_TYPE_16x16;
|
mb_type = MB_TYPE_16x16;
|
||||||
} else if (mb_type == 8 || mb_type == 33) { /* INTRA4x4 */
|
} else if (mb_type == 8 || mb_type == 33) { /* INTRA4x4 */
|
||||||
|
int8_t *i4x4 = sl->intra4x4_pred_mode + h->mb2br_xy[sl->mb_xy];
|
||||||
|
int8_t *i4x4_cache = sl->intra4x4_pred_mode_cache;
|
||||||
|
|
||||||
memset(sl->intra4x4_pred_mode_cache, -1, 8 * 5 * sizeof(int8_t));
|
memset(sl->intra4x4_pred_mode_cache, -1, 8 * 5 * sizeof(int8_t));
|
||||||
|
|
||||||
if (mb_type == 8) {
|
if (mb_type == 8) {
|
||||||
@@ -759,7 +762,10 @@ static int svq3_decode_mb(SVQ3Context *s, unsigned int mb_type)
|
|||||||
memset(&sl->intra4x4_pred_mode_cache[scan8[0] + 8 * i], DC_PRED, 4);
|
memset(&sl->intra4x4_pred_mode_cache[scan8[0] + 8 * i], DC_PRED, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
write_back_intra_pred_mode(h, sl);
|
AV_COPY32(i4x4, i4x4_cache + 4 + 8 * 4);
|
||||||
|
i4x4[4] = i4x4_cache[7 + 8 * 3];
|
||||||
|
i4x4[5] = i4x4_cache[7 + 8 * 2];
|
||||||
|
i4x4[6] = i4x4_cache[7 + 8 * 1];
|
||||||
|
|
||||||
if (mb_type == 8) {
|
if (mb_type == 8) {
|
||||||
ff_h264_check_intra4x4_pred_mode(h, sl);
|
ff_h264_check_intra4x4_pred_mode(h, sl);
|
||||||
|
Reference in New Issue
Block a user