[FFmpeg-cvslog] r21736 - trunk/libavcodec/x86/dsputil_mmx.c
David Conrad
lessen42
Fri Feb 12 23:27:04 CET 2010
On Feb 12, 2010, at 2:53 PM, Michael Niedermayer wrote:
> On Fri, Feb 12, 2010 at 07:18:53PM +0000, M?ns Rullg?rd wrote:
>> Michael Niedermayer <michaelni at gmx.at> writes:
>>
>>> On Fri, Feb 12, 2010 at 05:19:03PM +0000, M?ns Rullg?rd wrote:
>>>> Michael Niedermayer <michaelni at gmx.at> writes:
>>>>
>>>>> On Thu, Feb 11, 2010 at 03:30:46PM +0000, M?ns Rullg?rd wrote:
>>>>>> Michael Niedermayer <michaelni at gmx.at> writes:
>>>>>>
>>>>>>> On Wed, Feb 10, 2010 at 05:08:07PM -0500, David Conrad wrote:
>>>>>>>> On Feb 10, 2010, at 4:16 PM, Alex Converse wrote:
>>>>>>>>
>>>>>>>>> On Tue, Feb 9, 2010 at 9:02 PM, conrad <subversion at mplayerhq.hu> wrote:
>>>>>>>>>> Author: conrad
>>>>>>>>>> Date: Wed Feb 10 03:02:06 2010
>>>>>>>>>> New Revision: 21736
>>>>>>>>>>
>>>>>>>>>> Log:
>>>>>>>>>> Enable SSE2 (put|avg)_pixels_16_sse2
>>>>>>>>>>
>>>>>>>>>> SVQ1 chroma has been special-cased aligned to 16-bytes
>>>>>>>>>> since at least r15466 Other architectures also assume
>>>>>>>>>> 16-byte alignment here too but set STRIDE_ALIGN to 16.
>>>>>>>>>>
>>>>>>>>>> Modified:
>>>>>>>>>> trunk/libavcodec/x86/dsputil_mmx.c
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> This broke vp6f:
>>>>>>>>> http://fate.multimedia.cx/index.php?build_record=178551
>>>>>>>>> http://fate.multimedia.cx/index.php?build_record=178488
>>>>>>>>
>>>>>>>> Looks like vp5 and vp6 use width 16 pixel functions on chroma
>>>>>>>> as well. I'd really prefer if SSE used 16-byte aligment like
>>>>>>>> other architectures (first patch). Otherwise VP5/6 need to be
>>>>>>>> special-cased as well (second patch), and potentially other
>>>>>>>> codecs that FATE doesn't test, which gets extremely ugly
>>>>>>>> fast.
>>>>>>>
>>>>>>> i prefer the second patch
>>>>>>> otherwise extensive benchmaring is needed
>>>>>>
>>>>>> Maybe we could make it a codec capability flag or something instead of
>>>>>> an ever-growing list of special cases.
>>>>>
>>>>> yes, but it should go into a non public header, the user app has
>>>>> no need to mess with it nor should we have to bump the ABI if we
>>>>> decide to increase STRIDE_ALIGN one day and remove this
>>>>
>>>> An app providing its own get_buffer would need to know, methinks...
>>>
>>> hmm
>>>
>>> maybe we should add avcodec_align_dimensions2() that provides
>>> width/height/lumastride/chromastide alignment values
>>
>> Fine with me, but I'd really like to see this fixed sooner rather than
>> later. FATE is in a very sorry state right now.
>>
>>> It is not what we do, but why we do it that matters.
>>
>> And when we do it...
>
> ill revert the offending commit later today unless someone else fixed it
> properly (too many things on my todo list for a proper fix from me)
It's not a proper fix, but I pushed the special casing of vp5/6.
Does something like the attached work to get rid of the format list in get_buffer()?
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ffmpeg-align16.txt
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20100212/723adb8d/attachment.txt>
More information about the ffmpeg-cvslog
mailing list