Browse Source

h264: Allow stream and container cropping at the same time

The container cropping is applied only when difference is within 16
pixels, and the smallest value between the two is chosen.

Bug-Id: 383
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
tags/n2.8
Vittorio Giovara 11 years ago
parent
commit
3e3056f2a0
1 changed files with 2 additions and 5 deletions
  1. +2
    -5
      libavcodec/h264_slice.c

+ 2
- 5
libavcodec/h264_slice.c View File

@@ -896,13 +896,10 @@ 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 (!crop_present &&
FFALIGN(h->avctx->width, 16) == h->width &&
FFALIGN(h->avctx->height, 16) == h->height) {
if (FFALIGN(h->avctx->width, 16) == FFALIGN(width, 16) &&
FFALIGN(h->avctx->height, 16) == FFALIGN(height, 16)) {
width = h->avctx->width;
height = h->avctx->height;
}


Loading…
Cancel
Save