[FFmpeg-trac] #3014(swscale:new): sws_scale() renders a frame buffer invalid for memory freeing in a specific situation

FFmpeg trac at avcodec.org
Sun Nov 3 00:27:18 CET 2013


#3014: sws_scale() renders a frame buffer invalid for memory freeing in a specific
situation
------------------------------------+-----------------------------------
             Reporter:  cyril       |                    Owner:
                 Type:  defect      |                   Status:  new
             Priority:  normal      |                Component:  swscale
              Version:  git-master  |               Resolution:
             Keywords:              |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+-----------------------------------

Comment (by cyril):

 It seems like nobody wants to analyze the issue. Well, I did some more
 investigations.

 The frame buffer ''pDest'' still get corrupted by ''sws_scale()'' and then
 cannot be freed by ''avpicture_free()'' even if I only use MinGW tools to
 compile and then debug this simple application. So this bug is really not
 related to VC++ or whatever.

 Moreover, I can see that ''sws_scale()'' eventually calls the function
 pointed by ''pSwsContext.swscale'', which is set to
 ''yuv420_rgb32_MMX()''.

 The source code for ''yuv420_rgb32_MMX()'' can be found in
 ''libswscale/x86/yuv2rgb_template.c'' and refers to assembly codes.

 I can't read assembly and don't know how to fix this. So I hope that
 somebody with ASM skills is willing to look at this :)

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/3014#comment:1>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list