h264: fully check cropping amount from sps

Even if sps.crop is true, the cropping amount may be zero.
Fixes a sample with a valid but broken container cropping.
This commit is contained in:
Vittorio Giovara 2014-08-25 20:40:19 -04:00
parent 0a02426826
commit e87f5e4e5f
1 changed files with 3 additions and 1 deletions

View File

@ -1028,9 +1028,11 @@ static int init_dimensions(H264Context *h)
{
int width = h->width - (h->sps.crop_right + h->sps.crop_left);
int height = h->height - (h->sps.crop_top + h->sps.crop_bottom);
int crop_present = h->sps.crop_left || h->sps.crop_top ||
h->sps.crop_right || h->sps.crop_bottom;
/* handle container cropping */
if (!h->sps.crop &&
if (!crop_present &&
FFALIGN(h->avctx->width, 16) == h->width &&
FFALIGN(h->avctx->height, 16) == h->height) {
width = h->avctx->width;