diff options
author | Vittorio Giovara <vittorio.giovara@gmail.com> | 2015-03-08 04:06:32 +0000 |
---|---|---|
committer | Vittorio Giovara <vittorio.giovara@gmail.com> | 2015-06-30 15:34:37 +0200 |
commit | 3e3056f2a020dd77efdf379dbd4c06a65b4a499a (patch) | |
tree | 5aae453a69553d0fba5767fb09dcc83a036be7b5 /libavcodec | |
parent | 3ad678a85b96fc5fecd60e3d3a31ca5ffc89d67f (diff) | |
download | ffmpeg-streaming-3e3056f2a020dd77efdf379dbd4c06a65b4a499a.zip ffmpeg-streaming-3e3056f2a020dd77efdf379dbd4c06a65b4a499a.tar.gz |
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>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/h264_slice.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index 16043dc..d287662 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -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; } |