[FFmpeg-devel] [PATCH] Port x264 SSE2 deblocking code to H.264 decoder

Jason Garrett-Glaser darkshikari
Sat Dec 20 04:27:55 CET 2008

On Fri, Dec 19, 2008 at 7:18 PM, Mike Melanson <mike at multimedia.cx> wrote:
> Jason Garrett-Glaser wrote:
>> On Thu, Dec 18, 2008 at 8:28 PM, Jason Garrett-Glaser
>> <darkshikari at gmail.com> wrote:
>>> On Thu, Dec 18, 2008 at 5:34 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
>>>> On Thu, Dec 18, 2008 at 05:22:51PM -0800, Jason Garrett-Glaser wrote:
>>>>> On Thu, Dec 18, 2008 at 5:09 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
>>>>>> On Thu, Dec 18, 2008 at 04:47:24PM -0800, Jason Garrett-Glaser wrote:
>>>>>>> OK, now we have luma_intra in DSPutil, so this should be easier.
>>>>>>> Michael: how should we rename the x264 functions?  My thought was just
>>>>>>> to s/x264/ff_h264/ or something of the sort, which would modify the
>>>>>>> code from x264's version but make it trivial to modify the code before
>>>>>>> committing any updates from x264.  It wouldn't need ugly #defines
>>>>>>> either.
>>>>>> didint loren post some patch that changed cglobal to add a prefix
>>>>>> automagically ...
>>>>> Shouldn't that be a separate patch?  If it's fine, can I commit his
>>>>> patch now then?
>>>> ive approved his patch, so yes you can apply it of course
>>> applied (sorry for forgetting credit, forgot to add Loren's name to
>>> commit message).
>>> Updated x264 deblock patch attached.
>>> Dark Shikari
>> Small error in patch fixed.
> In case you did not see my response on ffmpeg-cvslog, this code causes
> the H.264 decoder to segfault (on about 90 of the conformance samples)
> when compiled with Intel's C Compiler, which we are sort of trying to
> support. I had time to look at it a little more but did not find much
> more useful information. I know that a build from a straight
> './configure --cc="icc"' config is fine, but not if --enable-gpl is also
> specified.
> Here comes the info dump, using the sample from this test spec:
> http://fate.multimedia.cx/index.php?test_spec=8

libavcodec requires an aligned stack on x86_32--however, as far as I
know, this is the first asm to be inserted into a very widely-used
location that explicitly requires that alignment.  If a compiler
cannot provide this, it cannot correctly compile libavcodec.

If this is a problem, perhaps we should revisit the issue of stack
alignment (and accordingly either implement x264's method of stack
alignment, or simply remove all SSE code from ffmpeg).

Dark Shikari

More information about the ffmpeg-devel mailing list