Commit 3ca34790 authored by Andreas Rheinhardt's avatar Andreas Rheinhardt

avcodec/h263dec: Avoid copying data when flipping image

Also remove an unchecked av_frame_make_writable().
Reviewed-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
parent 70a10242
......@@ -703,17 +703,11 @@ frame_end:
if (s->last_picture_ptr || s->low_delay) {
if ( pict->format == AV_PIX_FMT_YUV420P
&& (s->codec_tag == AV_RL32("GEOV") || s->codec_tag == AV_RL32("GEOX"))) {
int x, y, p;
av_frame_make_writable(pict);
for (p=0; p<3; p++) {
int w = AV_CEIL_RSHIFT(pict-> width, !!p);
for (int p = 0; p < 3; p++) {
int h = AV_CEIL_RSHIFT(pict->height, !!p);
int linesize = pict->linesize[p];
for (y=0; y<(h>>1); y++)
for (x=0; x<w; x++)
FFSWAP(int,
pict->data[p][x + y*linesize],
pict->data[p][x + (h-1-y)*linesize]);
pict->data[p] += (h - 1) * pict->linesize[p];
pict->linesize[p] *= -1;
}
}
*got_frame = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment