[FFmpeg-devel] [PATCH] swscale: factorize plane copying code out of 2 functions

Michael Niedermayer michaelni
Sat Sep 11 10:52:10 CEST 2010


On Sat, Sep 11, 2010 at 02:06:41AM -0300, Ramiro Polla wrote:
> $subj

>  swscale.c |   53 ++++++++++++++++++++++++-----------------------------
>  1 file changed, 24 insertions(+), 29 deletions(-)
> 4c63fb8394923f3e5eff7b77cb81f76165f87f2e  0005-swscale-factorize-plane-copying-code-out-of-2-funct.patch
> From 7b7fe1e8456abc5db5a0f06b2c7be5909f44d5b1 Mon Sep 17 00:00:00 2001
> From: Ramiro Polla <ramiro.polla at gmail.com>
> Date: Fri, 10 Sep 2010 22:45:04 -0300
> Subject: [PATCH] swscale: factorize plane copying code out of 2 functions
> 
> ---
>  swscale.c |   53 ++++++++++++++++++++++++-----------------------------
>  1 files changed, 24 insertions(+), 29 deletions(-)
> 
> diff --git a/swscale.c b/swscale.c
> index 570ac02..155bf1a 100644
> --- a/swscale.c
> +++ b/swscale.c
> @@ -1308,24 +1308,32 @@ SwsFunc ff_getSwsFunc(SwsContext *c)
>  #endif //!CONFIG_RUNTIME_CPUDETECT
>  }
>  
> -static int planarToNv12Wrapper(SwsContext *c, const uint8_t* src[], int srcStride[], int srcSliceY,
> -                               int srcSliceH, uint8_t* dstParam[], int dstStride[])
> +static void copyPlane(const uint8_t *src, int srcStride,
> +                      int srcSliceY, int srcSliceH, int width,
> +                      uint8_t *dst, int dstStride)
>  {
> -    uint8_t *dst=dstParam[0] + dstStride[0]*srcSliceY;
> -    /* Copy Y plane */
> -    if (dstStride[0]==srcStride[0] && srcStride[0] > 0)
> -        memcpy(dst, src[0], srcSliceH*dstStride[0]);
> -    else {
> +    if (dstStride == srcStride && srcStride > 0) {
> +        memcpy(dst, src, srcSliceH * dstStride);
> +    } else {
>          int i;

> -        uint8_t *dstPtr= dst;
> -        for (i=0; i<srcSliceH; i++) {
> +        uint8_t *dstPtr = dst;
> +        for (i = 0; i < srcSliceH; i++) {

hmm

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Awnsering whenever a program halts or runs forever is
On a turing machine, in general impossible (turings halting problem).
On any real computer, always possible as a real computer has a finite number
of states N, and will either halt in less than N cycles or never halt.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100911/f4a4d558/attachment.pgp>



More information about the ffmpeg-devel mailing list