[FFmpeg-devel] [RFC] Make swscale-test perform only one convertion

Ramiro Polla ramiro.polla
Thu Jul 22 17:30:50 CEST 2010


On Wed, Jul 21, 2010 at 11:28 AM, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Mon, Jul 19, 2010 at 07:47:51PM -0300, Ramiro Polla wrote:
>> On Fri, Feb 19, 2010 at 1:31 AM, Ramiro Polla <ramiro.polla at gmail.com> wrote:
>> > Things now crash at:
>> > rgb565le 96x96 -> abgr ? 96x ?96 flags= 1 SSD= ? 11, ? ?3, ? ?4, ? ?0
>>
>> And now things crash on:
>> rgb24 96x96 -> argb ? 96x ?96 flags= 2
>>
>> A workaround hack is to allocate more memory for the pictures as in
>> attached patch, but that doesn't fix the issue of writing beyond the
>> slice.
>>
>> I'm sorry to have caused delay on the original patch for lack of
>> testing on Windows. I think it's a good idea to separate the tests so
>> that they may be run in parallel make and also bug reports may be
>> reproduced more quickly (but your patch doesn't take care of parallel
>> make). I now have more time to test the patch on Windows (but I think
>> you can also test MinGW now too).
>>
>> I also think we should get back to thinking on how to implement
>> swscale regression tests in a way that does take many megabytes like
>> the output from swscale-test. It might make more sense to have one ref
>> file for each input file instead of each input/output pair (otherwise
>> we'd need to have 1764 ref files).
>>
>> Ramiro Polla
>
>> ?swscale-test.c | ? ?6 +++---
>> ?1 file changed, 3 insertions(+), 3 deletions(-)
>> 52eea7c23b081df0a6416a80366622fca31498e0 ?swscale-test.diff
>> Index: libswscale/swscale-test.c
>> ===================================================================
>> --- libswscale/swscale-test.c (revision 31757)
>> +++ libswscale/swscale-test.c (working copy)
>> @@ -106,9 +106,9 @@
>> ? ? ? ? ? * prefer, as long as they're aligned enough for the architecture, and
>> ? ? ? ? ? * they're freed appropriately (such as using av_free for buffers
>> ? ? ? ? ? * allocated with av_malloc). */
>> - ? ? ? ?src[i]= av_mallocz(srcStride[i]*srcH);
>> - ? ? ? ?dst[i]= av_mallocz(dstStride[i]*dstH);
>> + ? ? ? ?src[i]= av_mallocz(srcStride[i]*srcH+16);
>> + ? ? ? ?dst[i]= av_mallocz(dstStride[i]*dstH+16);
>
> ok

Applied along with a comment explaining the extra 16 bytes.



More information about the ffmpeg-devel mailing list