"Ronald S. Bultje" <[email protected]> writes:

> Hi,
>
> 2012/1/31 Måns Rullgård <[email protected]>:
>> "Ronald S. Bultje" <[email protected]> writes:
>>> 2012/1/31 Måns Rullgård <[email protected]>:
>>>> "Ronald S. Bultje" <[email protected]> writes:
>>>>
>>>>>  void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size)
>>>>>  {
>>>>>      if(min_size < *size)
>>>>> @@ -793,7 +839,7 @@ int attribute_align_arg avcodec_open2(AVCodecContext 
>>>>> *avctx, AVCodec *codec, AVD
>>>>>      }
>>>>>
>>>>>      if(avctx->codec->init && 
>>>>> !(avctx->active_thread_type&FF_THREAD_FRAME)){
>>>>> -        ret = avctx->codec->init(avctx);
>>>>> +        ret = testxmmclobbers(avctx->codec->init, avctx);
>>>>>          if (ret < 0) {
>>>>>              goto free_and_end;
>>>>>          }
>>>>
>>>> You're kidding, right?
>>>
>>> It's not my code, this is really what Ramiro wrote. I'm open for
>>> better solutions, I just want this test in so Michael Kostylev can add
>>> this as a fate machine (h264 on Win64 is broken with this enabled
>>> right now - I want to catch regressions once I've fixed it, and right
>>> now we can't).
>>
>> I appreciate the good cause, but this is just too ugly.
>
> I agree the current code is ugly. Can we un-uglify it?

[...]

> And we can think of other things also. Again, this is (IMO) critical
> to prevent future regressions on Win64, I've just been tracking down a
> couple that Michael Kostylev detected, and I'd prefer to not break
> this again all too often in the near future.

Does the --wrap linker flag [1] work on Windows?  If it does, and I see
no reason for it not to, this could be used to wrap avcodec_decode_foo()
calls with checking functions in a separate file.

[1] 
http://sourceware.org/binutils/docs-2.22/ld/Options.html#index-g_t_002d_002dwrap_003d_0040var_007bsymbol_007d-263

-- 
Måns Rullgård
[email protected]
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to