On Tue, Oct 04, 2011 at 10:17:08PM +0200, Ronald S. Bultje wrote: > Hi, > > On Tue, Oct 4, 2011 at 10:03 PM, Janne Grunau <[email protected]> wrote: > > On Tue, Oct 04, 2011 at 01:48:35PM +0000, Ronald S. Bultje wrote: > >> From 0e5dbaf40f975ab1ad4c199c007e908037d3e356 Mon Sep 17 00:00:00 2001 > >> From: Ronald S. Bultje <[email protected]> > >> Date: Mon, 3 Oct 2011 08:38:03 -0700 > >> Subject: [PATCH 1/2] mpegvideo: set correct offset for edge emulation > >> buffer. > >> > >> Using the old code, half of it was unused and the other half was too > >> small for e.g. >8bpp interlaced data, causing random buffer overruns. > >> --- > >> libavcodec/mpegvideo.c | 6 ++---- > >> libavcodec/mpegvideo.h | 1 - > >> 2 files changed, 2 insertions(+), 5 deletions(-) > >> > >> diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h > >> index 923d46c..78d4d4e 100644 > >> --- a/libavcodec/mpegvideo.h > >> +++ b/libavcodec/mpegvideo.h > >> @@ -319,7 +319,6 @@ typedef struct MpegEncContext { > >> uint8_t *mbintra_table; ///< used to avoid setting {ac, dc, > >> cbp}-pred stuff to zero on inter MB decoding > >> uint8_t *cbp_table; ///< used to store cbp, ac_pred for > >> partitioned decoding > >> uint8_t *pred_dir_table; ///< used to store pred_dir for > >> partitioned decoding > >> - uint8_t *allocated_edge_emu_buffer; > >> uint8_t *edge_emu_buffer; ///< points into the middle of > >> allocated_edge_emu_buffer > > > > please remove the wrong comment too > > > > Have you tried to verify that no codec tries to access negative indices > > in edge_emu_buffer? > > fate runs under valgrind. Not sure what other tests I should do?
Staring at code. I briefly looked through rv40's use of edge_emu_buffer and it looks safe. I guess fate under valgrind is good enough, though. Janne _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
