[FFmpeg-soc] [soc]: r1875 - libavfilter/formats.c

Bobby Bingham uhmmmm at gmail.com
Sun Feb 10 01:02:42 CET 2008


On Sat, 09 Feb 2008 22:52:54 +0100
Vitor Sessak <vitor1001 at gmail.com> wrote:

> Hi
> 
> Bobby Bingham wrote:
> > On Sat,  9 Feb 2008 21:58:34 +0100 (CET)
> > vitor <subversion at mplayerhq.hu> wrote:
> > 
> >> Author: vitor
> >> Date: Sat Feb  9 21:58:34 2008
> >> New Revision: 1875
> >>
> >> Log:
> >> Do not hardcode the list of pixel formats and use PIX_FMT_NB
> >> instead.
> >>
> >> Modified:
> >>    libavfilter/formats.c
> >>
> >> Modified: libavfilter/formats.c
> >> ==============================================================================
> >> --- libavfilter/formats.c	(original)
> >> +++ libavfilter/formats.c	Sat Feb  9 21:58:34 2008
> >> @@ -85,23 +85,17 @@ AVFilterFormats *avfilter_make_format_li
> >>  
> >>  AVFilterFormats *avfilter_all_colorspaces(void)
> >>  {
> >> -    return avfilter_make_format_list(35,
> >> -                PIX_FMT_YUV444P,  PIX_FMT_YUV422P,
> >> PIX_FMT_YUV420P,
> >> -                PIX_FMT_YUV411P,  PIX_FMT_YUV410P,
> >> -                PIX_FMT_YUYV422,  PIX_FMT_UYVY422,
> >> PIX_FMT_UYYVYY411,
> >> -                PIX_FMT_YUVJ444P, PIX_FMT_YUVJ422P,
> >> PIX_FMT_YUVJ420P,
> >> -                PIX_FMT_YUV440P,  PIX_FMT_YUVJ440P,
> >> -                PIX_FMT_RGB32,    PIX_FMT_BGR32,
> >> -                PIX_FMT_RGB32_1,  PIX_FMT_BGR32_1,
> >> -                PIX_FMT_RGB24,    PIX_FMT_BGR24,
> >> -                PIX_FMT_RGB565,   PIX_FMT_BGR565,
> >> -                PIX_FMT_RGB555,   PIX_FMT_BGR555,
> >> -                PIX_FMT_RGB8,     PIX_FMT_BGR8,
> >> -                PIX_FMT_RGB4_BYTE,PIX_FMT_BGR4_BYTE,
> >> -                PIX_FMT_GRAY16BE, PIX_FMT_GRAY16LE,
> >> -                PIX_FMT_GRAY8,    PIX_FMT_PAL8,
> >> -                PIX_FMT_MONOWHITE,PIX_FMT_MONOBLACK,
> >> -                PIX_FMT_NV12,     PIX_FMT_NV21);
> >> +    AVFilterFormats *ret;
> >> +    int i;
> >> +
> >> +    ret = av_mallocz(sizeof(AVFilterFormats));
> >> +    ret->formats = av_malloc(sizeof(*ret->formats) * PIX_FMT_NB);
> >> +    ret->format_count = PIX_FMT_NB;
> >> +
> >> +    for(i = 0; i < PIX_FMT_NB; i ++)
> >> +        ret->formats[i] = i;
> >> +
> >> +    return ret;
> >>  }
> >>  
> > 
> > Hrmmm.
> > I must have missed when some of those formats were added to the
> > list.
> 
> I added them when I saw that the missing formats stopped regression 
> tests from working (he couldn't find a colorspace for vf_scale).
> Maybe it would be a nice idea to have avfilter_usual_colorspaces()
> for most filters and avfilter_all_colorspaces() for vf_scale, vf_fps,
> vf_setpts etc... Also, in the same spirit, maybe it would also be
> useful something having a avfilter_planar_colorspaces(), at least for
> flipping, rotating and transposing...
> 
> > What I originally had in mind for that function wasn't exactly
> > listing "all" formats, but listing the most commonly supported
> > subset, to avoid duplicating this code in every single filter.  The
> > function name was obviously a little less than ideal.
> > 
> > Maybe how exactly this is done should be thought out a little more.
> > But I think a function which returns a list of all the formats is
> > pretty useless, because few if any filters will actually support
> > them
> 
> Well, there are the timestamps-based filters...

Good point.

> 
> > all.  And what about the XVMC formats?  I don't know much about
> > XVMC, but is the image data even there for filtering, or is it off
> > on the videocard somewhere?
> 
> I have no idea about XVMC...
> 
> BTW, are you following the thread in -devel?
> 

Yes I am.

There are a couple more features I had planned to add before getting it
committed to svn, but I really don't have enough time to work on it at
the moment, and it's not really worth holding the whole thing up.
Thanks for taking the initiative to try to get this committed.

> -Vitor

-- 
Bobby Bingham
Never trust atoms.  Or anything made of atoms.
このメールは再利用されたバイトでできている。



More information about the FFmpeg-soc mailing list