[FFmpeg-devel] [PATCH] Move fast bilinear scaler code to the existing h[yc]scale_fast() functions.

Ramiro Polla ramiro.polla
Mon Dec 21 02:56:33 CET 2009


On Sun, Dec 20, 2009 at 7:18 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Sun, Dec 20, 2009 at 03:24:13PM -0200, Ramiro Polla wrote:
>> On Sun, Dec 20, 2009 at 10:05 AM, Michael Niedermayer <michaelni at gmx.at> wrote:
>> > On Sun, Dec 20, 2009 at 01:44:04AM -0200, Ramiro Polla wrote:
>> >> .
>> >
>> >> ?swscale_internal.h | ? ?4
>> >> ?swscale_template.c | ?386 ++++++++++++++++++++++++++---------------------------
>> >> ?2 files changed, 196 insertions(+), 194 deletions(-)
>> >> 94b7203e5183bc2ceb5131656d9c70208d2b034a ?0003-Move-fast-bilinear-scaler-code-to-the-existing-h-yc.patch
>> >> From f9a094384bb6f99da7cd2d2b84754e23774c6c35 Mon Sep 17 00:00:00 2001
>> >> From: Ramiro Polla <ramiro.polla at gmail.com>
>> >> Date: Sun, 20 Dec 2009 01:32:48 -0200
>> >> Subject: [PATCH] Move fast bilinear scaler code to the existing h[yc]scale_fast() functions.
>> >>
>> >> ---
>> >> ?swscale_internal.h | ? ?4 +-
>> >> ?swscale_template.c | ?386 ++++++++++++++++++++++++++--------------------------
>> >> ?2 files changed, 196 insertions(+), 194 deletions(-)
>> >>
>> >> diff --git a/swscale_internal.h b/swscale_internal.h
>> >> index 0dab9f6..6957e57 100644
>> >> --- a/swscale_internal.h
>> >> +++ b/swscale_internal.h
>> >> @@ -262,10 +262,10 @@ typedef struct SwsContext {
>> >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? const uint8_t *src1, const uint8_t *src2,
>> >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? long width, uint32_t *pal);
>> >
>> >> ? ? ?void (*hyscale_fast)(struct SwsContext *c,
>> >> - ? ? ? ? ? ? ? ? ? ? ? ? int16_t *dst, int dstWidth,
>> >> + ? ? ? ? ? ? ? ? ? ? ? ? int16_t *dst, long dstWidth,
>> >> ? ? ? ? ? ? ? ? ? ? ? ? ? const uint8_t *src, int srcW, int xInc);
>> >> ? ? ?void (*hcscale_fast)(struct SwsContext *c,
>> >> - ? ? ? ? ? ? ? ? ? ? ? ? int16_t *dst, int dstWidth,
>> >> + ? ? ? ? ? ? ? ? ? ? ? ? int16_t *dst, long dstWidth,
>> >> ? ? ? ? ? ? ? ? ? ? ? ? ? const uint8_t *src1, const uint8_t *src2,
>> >> ? ? ? ? ? ? ? ? ? ? ? ? ? int srcW, int xInc);
>> >>
>> >
>> > these need doxy (seperate patch of course)
>> > and hcscale_internal() seems a poor name (seperate patch of course)
>> > [...9
>>
>> ok, I'll look into that.
>>
>> >> ?#if defined(PIC)
>> >> - ? ? ? ?DECLARE_ALIGNED(8, uint64_t, ebxsave);
>> >> + ? ?DECLARE_ALIGNED(8, uint64_t, ebxsave);
>> >> ?#endif
>> >> - ? ? ? ?if (canMMX2BeUsed) {
>> >> - ? ? ? ? ? ?__asm__ volatile(
>> >> + ? ?if (canMMX2BeUsed) {
>> >> + ? ? ? ?__asm__ volatile(
>> >> ?#if defined(PIC)
>> >> - ? ? ? ? ? ? ? ?"mov ? ? ? ? ? ? ? %%"REG_b", %5 ? ? ? ?\n\t"
>> >> + ? ? ? ? ? ?"mov ? ? ? ? ?%%"REG_b", %6 ? ? ? ? \n\t"
>> >
>> > ehm
>>
>> yes, that's right. svn diff is screwing up the diff because the code
>> is so similar. What the patch does is:
>> - Change int dstWidth to long dstWidth because the mmx2 code uses it this way
>> - Move all fast bilinear code into the existing fast_bilinear functions
>> - Indent (I don't think this is worth an extra commit since it's move+indent)
>> - Remove av_unused from the mmx2 bits because they're now under ifdef.
>
> ok

Applied.

>> I've attached a new patch without the indentation, but now it messes
>> up the C code between luma and chroma.
>
> i dont like these kind of half readable patches ...
> i cant review them so i have to trust that you made no mistake

Ok, sorry. I'll try splitting them more next time so that diff doesn't
mess the patches up. (doing first the luma and then the chroma or the
other way around should have made them less messy).

Ramiro Polla



More information about the ffmpeg-devel mailing list