From 5cc8b816875d3ae110ba7bde6b16bd0246f2e225 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 24 Aug 2013 00:56:26 +0200 Subject: [PATCH] mpeg4videodec: fix GEOV/GEOX fliping Fixes Ticket317 Signed-off-by: Michael Niedermayer --- libavcodec/h263dec.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index bf9e072546..3fe37e95a8 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -757,6 +757,21 @@ intrax8_decoded: } 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 = -((-pict-> width)>>!!p); + int h = -((-pict->height)>>!!p); + int linesize = pict->linesize[p]; + for (y=0; y<(h>>1); y++) + for (x=0; xdata[p][x + y*linesize], + pict->data[p][x + (h-1-y)*linesize]); + } + } *got_frame = 1; }