av_log(ctx, AV_LOG_ERROR, "Invalid sync code\n");
return AVERROR_INVALIDDATA;
}
- if (ctx->profile == 1) {
+ if (ctx->profile >= 1) {
if ((fmt = read_colorspace_details(ctx)) < 0)
return fmt;
} else {
}
AV_ZERO32(pmv);
+ clamp_mv(pmv, pmv, s);
#undef INVALID_MV
#undef RETURN_MV
#undef RETURN_SCALE_MV
}
// emulated overhangs if the stride of the target buffer can't hold. This
- // allows to support emu-edge and so on even if we have large block
+ // makes it possible to support emu-edge and so on even if we have large block
// overhangs
emu[0] = (col + w4) * 8 > f->linesize[0] ||
(row + h4) > s->rows;
int size = pkt->size;
VP9Context *s = ctx->priv_data;
int res, tile_row, tile_col, i, ref, row, col;
- int retain_segmap_ref = s->segmentation.enabled && !s->segmentation.update_map;
+ int retain_segmap_ref = s->segmentation.enabled && !s->segmentation.update_map
+ && s->frames[REF_FRAME_SEGMAP].segmentation_map;
ptrdiff_t yoff, uvoff, ls_y, ls_uv;
AVFrame *f;
int bytesperpixel;
tile_row, s->tiling.log2_tile_rows, s->sb_rows);
if (s->pass != 2) {
for (tile_col = 0; tile_col < s->tiling.tile_cols; tile_col++) {
- unsigned tile_size;
+ int64_t tile_size;
if (tile_col == s->tiling.tile_cols - 1 &&
tile_row == s->tiling.tile_rows - 1) {