[FFmpeg-cvslog] libavcodec/imgconvert.c: support left band while cropping
Przemysław Sobala
git at videolan.org
Fri Jun 12 20:00:57 CEST 2015
ffmpeg | branch: master | Przemysław Sobala <przemyslaw.sobala at grupawp.pl> | Fri Jun 12 18:38:05 2015 +0200| [c39637f36aa3a942efaa098854bd0c2ae612bcd0] | committer: Michael Niedermayer
libavcodec/imgconvert.c: support left band while cropping
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c39637f36aa3a942efaa098854bd0c2ae612bcd0
---
libavcodec/imgconvert.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
index 8cb6099..dc67560 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];
More information about the ffmpeg-cvslog
mailing list