You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gstreamer1-libav/libav-dsputil-fix-segfault-...

45 lines
1.5 KiB

From ae8f132ace291534ed64023029023c2338f8d3bb Mon Sep 17 00:00:00 2001
From: Sebastian Keller <sebastian-keller@gmx.de>
Date: Sat, 9 Mar 2013 23:57:14 +0100
Subject: [PATCH] dsputil: fix segfault in dsputil_init with gcc 4.8
---
libavcodec/dsputil.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index 66f1f93..621b00c 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -2788,7 +2788,7 @@ int ff_check_alignment(void){
av_cold void dsputil_init(DSPContext* c, AVCodecContext *avctx)
{
- int i;
+ int i, j;
ff_check_alignment();
@@ -3154,11 +3154,13 @@ av_cold void dsputil_init(DSPContext* c, AVCodecContext *avctx)
if (ARCH_SH4) dsputil_init_sh4 (c, avctx);
if (ARCH_BFIN) dsputil_init_bfin (c, avctx);
- for(i=0; i<64; i++){
- if(!c->put_2tap_qpel_pixels_tab[0][i])
- c->put_2tap_qpel_pixels_tab[0][i]= c->put_h264_qpel_pixels_tab[0][i];
- if(!c->avg_2tap_qpel_pixels_tab[0][i])
- c->avg_2tap_qpel_pixels_tab[0][i]= c->avg_h264_qpel_pixels_tab[0][i];
+ for(i=0; i<4; i++){
+ for(j=0; j<16; j++) {
+ if(!c->put_2tap_qpel_pixels_tab[i][j])
+ c->put_2tap_qpel_pixels_tab[i][j]= c->put_h264_qpel_pixels_tab[i][j];
+ if(!c->avg_2tap_qpel_pixels_tab[i][j])
+ c->avg_2tap_qpel_pixels_tab[i][j]= c->avg_h264_qpel_pixels_tab[i][j];
+ }
}
ff_init_scantable_permutation(c->idct_permutation,
--
1.8.1.4