diff options
author | Przemysław Sobala <przemyslaw.sobala@grupawp.pl> | 2015-06-12 18:38:05 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-06-12 19:52:30 +0200 |
commit | c39637f36aa3a942efaa098854bd0c2ae612bcd0 (patch) | |
tree | 8eeaa7f1b9fc29cfed04c24caefd4cdf2cb18e5e /libavcodec | |
parent | d0061e77cde56dc26caaec804384b1c58f22f3ea (diff) | |
download | ffmpeg-c39637f36aa3a942efaa098854bd0c2ae612bcd0.tar.gz |
libavcodec/imgconvert.c: support left band while cropping
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/imgconvert.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 8cb609946a..dc67560742 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -201,12 +201,14 @@ int av_picture_crop(AVPicture *dst, const AVPicture *src, const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt); int y_shift; int x_shift; + int max_step[4]; if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB) return -1; y_shift = desc->log2_chroma_h; x_shift = desc->log2_chroma_w; + av_image_fill_max_pixsteps(max_step, NULL, desc); if (is_yuv_planar(desc)) { dst->data[0] = src->data[0] + (top_band * src->linesize[0]) + left_band; @@ -215,9 +217,7 @@ int av_picture_crop(AVPicture *dst, const AVPicture *src, } else{ if(top_band % (1<<y_shift) || left_band % (1<<x_shift)) return -1; - if(left_band) //FIXME add support for this too - return -1; - dst->data[0] = src->data[0] + (top_band * src->linesize[0]) + left_band; + dst->data[0] = src->data[0] + (top_band * src->linesize[0]) + (left_band * max_step[0]); } dst->linesize[0] = src->linesize[0]; |