Browse Source

libavcodec/imgconvert.c: support left band while cropping

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.8
Przemysław Sobala Michael Niedermayer 10 years ago
parent
commit
c39637f36a
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      libavcodec/imgconvert.c

+ 3
- 3
libavcodec/imgconvert.c View File

@@ -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];


Loading…
Cancel
Save