diff options
| author | Stefano Sabatini <[email protected]> | 2012-08-14 21:34:01 +0200 | 
|---|---|---|
| committer | Stefano Sabatini <[email protected]> | 2012-08-16 14:13:54 +0200 | 
| commit | 6efce3a894d497e045ba85555efaa4abfd685ba3 (patch) | |
| tree | d79b850bd0e697f46e40c7d39c7755d6cb33edba | |
| parent | e701b0cf7553202085840d3bfd1aff432b4de513 (diff) | |
lavfi/mp: remove hue wrapped filter
hue was integrated as a native libavfilter filter.
| -rw-r--r-- | doc/filters.texi | 1 | ||||
| -rw-r--r-- | libavfilter/Makefile | 1 | ||||
| -rw-r--r-- | libavfilter/libmpcodecs/vf_hue.c | 181 | ||||
| -rw-r--r-- | libavfilter/version.h | 2 | ||||
| -rw-r--r-- | libavfilter/vf_mp.c | 2 | 
5 files changed, 1 insertions, 186 deletions
diff --git a/doc/filters.texi b/doc/filters.texi index 763085c290..dff3cc2e00 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -2361,7 +2361,6 @@ The list of the currently supported filters follows:  @item geq  @item harddup  @item hqdn3d -@item hue  @item il  @item ilpack  @item ivtc diff --git a/libavfilter/Makefile b/libavfilter/Makefile index b6aeb76853..a73f5934da 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -167,7 +167,6 @@ OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/vf_fspp.o  OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/vf_geq.o  OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/vf_harddup.o  OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/vf_hqdn3d.o -OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/vf_hue.o  OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/vf_il.o  OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/vf_ilpack.o  OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/vf_ivtc.o diff --git a/libavfilter/libmpcodecs/vf_hue.c b/libavfilter/libmpcodecs/vf_hue.c deleted file mode 100644 index 9a8fc8b61b..0000000000 --- a/libavfilter/libmpcodecs/vf_hue.c +++ /dev/null @@ -1,181 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <inttypes.h> -#include <math.h> - -#include "config.h" -#include "mp_msg.h" -#include "cpudetect.h" - -#include "img_format.h" -#include "mp_image.h" -#include "vf.h" - -#include "libvo/video_out.h" - -struct vf_priv_s { -        uint8_t *buf[2]; -        float hue; -        float saturation; -}; - -static void process_C(uint8_t *udst, uint8_t *vdst, uint8_t *usrc, uint8_t *vsrc, int dststride, int srcstride, -                    int w, int h, float hue, float sat) -{ -        int i; -        const int s= rint(sin(hue) * (1<<16) * sat); -        const int c= rint(cos(hue) * (1<<16) * sat); - -        while (h--) { -                for (i = 0; i<w; i++) -                { -                        const int u= usrc[i] - 128; -                        const int v= vsrc[i] - 128; -                        int new_u= (c*u - s*v + (1<<15) + (128<<16))>>16; -                        int new_v= (s*u + c*v + (1<<15) + (128<<16))>>16; -                        if(new_u & 768) new_u= (-new_u)>>31; -                        if(new_v & 768) new_v= (-new_v)>>31; -                        udst[i]= new_u; -                        vdst[i]= new_v; -                } -                usrc += srcstride; -                vsrc += srcstride; -                udst += dststride; -                vdst += dststride; -        } -} - -static void (*process)(uint8_t *udst, uint8_t *vdst, uint8_t *usrc, uint8_t *vsrc, int dststride, int srcstride, -                    int w, int h, float hue, float sat); - -/* FIXME: add packed yuv version of process */ - -static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts) -{ -        mp_image_t *dmpi; - -        dmpi=vf_get_image(vf->next, mpi->imgfmt, -                          MP_IMGTYPE_EXPORT, 0, -                          mpi->w, mpi->h); - -        dmpi->planes[0] = mpi->planes[0]; -        dmpi->stride[0] = mpi->stride[0]; -        dmpi->stride[1] = mpi->stride[1]; -        dmpi->stride[2] = mpi->stride[2]; - -        if (!vf->priv->buf[0]){ -                vf->priv->buf[0] = malloc(mpi->stride[1]*mpi->h >> mpi->chroma_y_shift); -                vf->priv->buf[1] = malloc(mpi->stride[2]*mpi->h >> mpi->chroma_y_shift); -        } - -        if (vf->priv->hue == 0 && vf->priv->saturation == 1){ -                dmpi->planes[1] = mpi->planes[1]; -                dmpi->planes[2] = mpi->planes[2]; -        }else { -                dmpi->planes[1] = vf->priv->buf[0]; -                dmpi->planes[2] = vf->priv->buf[1]; -                process(dmpi->planes[1], dmpi->planes[2], -                        mpi->planes[1], mpi->planes[2], -                        dmpi->stride[1],mpi->stride[1], -                        mpi->w>> mpi->chroma_x_shift, mpi->h>> mpi->chroma_y_shift, -                        vf->priv->hue, vf->priv->saturation); -        } - -        return vf_next_put_image(vf,dmpi, pts); -} - -static int control(struct vf_instance *vf, int request, void* data) -{ -        vf_equalizer_t *eq; - -        switch (request) { -        case VFCTRL_SET_EQUALIZER: -                eq = data; -                if (!strcmp(eq->item,"hue")) { -                        vf->priv->hue = eq->value * M_PI / 100; -                        return CONTROL_TRUE; -                } else if (!strcmp(eq->item,"saturation")) { -                        vf->priv->saturation = (eq->value + 100)/100.0; -                        return CONTROL_TRUE; -                } -                break; -        case VFCTRL_GET_EQUALIZER: -                eq = data; -                if (!strcmp(eq->item,"hue")) { -                        eq->value = rint(vf->priv->hue *100 / M_PI); -                        return CONTROL_TRUE; -                }else if (!strcmp(eq->item,"saturation")) { -                        eq->value = rint(vf->priv->saturation*100 - 100); -                        return CONTROL_TRUE; -                } -                break; -        } -        return vf_next_control(vf, request, data); -} - -static int query_format(struct vf_instance *vf, unsigned int fmt) -{ -        switch (fmt) { -        case IMGFMT_YVU9: -        case IMGFMT_IF09: -        case IMGFMT_YV12: -        case IMGFMT_I420: -        case IMGFMT_IYUV: -        case IMGFMT_CLPL: -        case IMGFMT_444P: -        case IMGFMT_422P: -        case IMGFMT_411P: -                return vf_next_query_format(vf, fmt); -        } -        return 0; -} - -static void uninit(struct vf_instance *vf) -{ -        free(vf->priv->buf[0]); -        free(vf->priv->buf[1]); -        free(vf->priv); -} - -static int vf_open(vf_instance_t *vf, char *args) -{ -        vf->control=control; -        vf->query_format=query_format; -        vf->put_image=put_image; -        vf->uninit=uninit; - -    vf->priv = malloc(sizeof(struct vf_priv_s)); -    memset(vf->priv, 0, sizeof(struct vf_priv_s)); -    sscanf(args, "%f:%f", &vf->priv->hue, &vf->priv->saturation); -        vf->priv->hue *= M_PI / 180.0; - -        process = process_C; -        return 1; -} - -const vf_info_t vf_info_hue = { -        "hue changer", -        "hue", -        "Michael Niedermayer", -        "", -        vf_open, -}; diff --git a/libavfilter/version.h b/libavfilter/version.h index 13cca9968c..85a839fe9e 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -30,7 +30,7 @@  #define LIBAVFILTER_VERSION_MAJOR  3  #define LIBAVFILTER_VERSION_MINOR  9 -#define LIBAVFILTER_VERSION_MICRO 100 +#define LIBAVFILTER_VERSION_MICRO 101  #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \                                                 LIBAVFILTER_VERSION_MINOR, \ diff --git a/libavfilter/vf_mp.c b/libavfilter/vf_mp.c index 4fa02c773a..1cae03ccbd 100644 --- a/libavfilter/vf_mp.c +++ b/libavfilter/vf_mp.c @@ -150,7 +150,6 @@ extern const vf_info_t vf_info_geq;  extern const vf_info_t vf_info_halfpack;  extern const vf_info_t vf_info_harddup;  extern const vf_info_t vf_info_hqdn3d; -extern const vf_info_t vf_info_hue;  extern const vf_info_t vf_info_il;  extern const vf_info_t vf_info_ilpack;  extern const vf_info_t vf_info_ivtc; @@ -210,7 +209,6 @@ static const vf_info_t* const filters[]={      &vf_info_geq,      &vf_info_harddup,      &vf_info_hqdn3d, -    &vf_info_hue,      &vf_info_il,      &vf_info_ilpack,      &vf_info_ivtc,  | 
