[FFmpeg-devel] [PATCH] [1/??] [3/3] Colorspace negotiation
Vitor Sessak
vitor1001
Sat Feb 9 23:07:14 CET 2008
Hi and thanks for the review,
Michael Niedermayer wrote:
> On Sat, Feb 09, 2008 at 07:33:04PM +0100, Vitor Sessak wrote:
>
>> /*
>> * Filter layer - format negotiation
> [...]
>> /* merge list of formats */
>> ret->formats = av_malloc(sizeof(int) * FFMIN(a->format_count,
>> b->format_count));
>
> sizeof(*ret->formats)
>
>
> [...]
>> /* merge and update all the references */
>> ret->refs = av_malloc(sizeof(AVFilterFormats**)*(a->refcount+b->refcount));
>> for(i = 0; i < a->refcount; i ++) {
>> ret->refs[ret->refcount] = a->refs[i];
>> *ret->refs[ret->refcount++] = ret;
>> }
>> for(i = 0; i < b->refcount; i ++) {
>> ret->refs[ret->refcount] = b->refs[i];
>> *ret->refs[ret->refcount++] = ret;
>> }
>>
>> av_free(a->refs);
>> av_free(a->formats);
>> av_free(a);
>>
>> av_free(b->refs);
>> av_free(b->formats);
>> av_free(b);
>
> that could be factored into a merge_ref or so function and
> merge_ref(ret, a);
> merge_ref(ret, b);
>
>
> [...]
>> ret->formats = av_malloc(sizeof(int) * len);
>
> sizeof(*ret->formats)
>
>
> [...]
>> 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);
>
> I dont like this, something based on PIX_FMT_NB should work better
Agree with all of the above. Modified code in
http://svn.mplayerhq.hu/soc/libavfilter/formats.c?content-type=text%2Fplain&view=co
.
-Vitor
More information about the ffmpeg-devel
mailing list