mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-13 19:01:03 +00:00
Merge commit '8435bca087c0e79385763c51de009fd89390b6a5'
* commit '8435bca087c0e79385763c51de009fd89390b6a5': indeo4: Do not access missing reference MV Conflicts: libavcodec/indeo4.c See:5216245a
,aae44fb4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
5462361937
@ -510,8 +510,11 @@ static int decode_mb_info(IVI45DecContext *ctx, IVIBandDesc *band,
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (band->inherit_mv && ref_mb) {
|
||||
mb->type = ref_mb->type; /* copy mb_type from corresponding reference mb */
|
||||
if (band->inherit_mv) {
|
||||
/* copy mb_type from corresponding reference mb */
|
||||
if (!ref_mb)
|
||||
return AVERROR_INVALIDDATA;
|
||||
mb->type = ref_mb->type;
|
||||
} else if (ctx->frame_type == FRAMETYPE_INTRA ||
|
||||
ctx->frame_type == FRAMETYPE_INTRA1) {
|
||||
mb->type = 0; /* mb_type is always INTRA for intra-frames */
|
||||
@ -534,15 +537,16 @@ static int decode_mb_info(IVI45DecContext *ctx, IVIBandDesc *band,
|
||||
if (!mb->type) {
|
||||
mb->mv_x = mb->mv_y = 0; /* there is no motion vector in intra-macroblocks */
|
||||
} else {
|
||||
if (band->inherit_mv && ref_mb) {
|
||||
/* motion vector inheritance */
|
||||
if (mv_scale) {
|
||||
mb->mv_x = ivi_scale_mv(ref_mb->mv_x, mv_scale);
|
||||
mb->mv_y = ivi_scale_mv(ref_mb->mv_y, mv_scale);
|
||||
} else {
|
||||
mb->mv_x = ref_mb->mv_x;
|
||||
mb->mv_y = ref_mb->mv_y;
|
||||
}
|
||||
if (band->inherit_mv) {
|
||||
if (ref_mb)
|
||||
/* motion vector inheritance */
|
||||
if (mv_scale) {
|
||||
mb->mv_x = ivi_scale_mv(ref_mb->mv_x, mv_scale);
|
||||
mb->mv_y = ivi_scale_mv(ref_mb->mv_y, mv_scale);
|
||||
} else {
|
||||
mb->mv_x = ref_mb->mv_x;
|
||||
mb->mv_y = ref_mb->mv_y;
|
||||
}
|
||||
} else {
|
||||
/* decode motion vector deltas */
|
||||
mv_delta = get_vlc2(&ctx->gb, ctx->mb_vlc.tab->table,
|
||||
|
Loading…
Reference in New Issue
Block a user