[FFmpeg-devel] [RFC] Scalar color conversion utils (colorutils.[hc])?

Stefano Sabatini stefano.sabatini-lala
Sat May 2 22:46:33 CEST 2009


On date Saturday 2009-05-02 22:11:42 +0200, Michael Niedermayer encoded:
> On Sat, May 02, 2009 at 09:37:09PM +0200, Stefano Sabatini wrote:
> > On date Saturday 2009-05-02 18:45:49 +0200, Michael Niedermayer encoded:
[...]
> > > I will add the enum to AVCodecContext myself, the rest is currently not of
> > > any relevance as it isnt and would not be used by anything. It requires lavfi
> > > to be merged first ...
> > 
> > I have a patch for this, but I have many things to study before to be
> > confident with the field, also I'm not sure the idea of including CIE
> > colorspaces is really a good idea.
> 
> my suggestion is attached, ill commit mine if there are no suggestions for
> improvment.

[...]
> Index: libavcodec/options.c
> ===================================================================
> --- libavcodec/options.c	(revision 18731)
> +++ libavcodec/options.c	(working copy)
> @@ -394,6 +394,10 @@
>  {"rc_max_vbv_use", NULL, OFFSET(rc_max_available_vbv_use), FF_OPT_TYPE_FLOAT, 1.0/3, 0.0, FLT_MAX, V|E},
>  {"rc_min_vbv_use", NULL, OFFSET(rc_min_vbv_overflow_use),  FF_OPT_TYPE_FLOAT, 3,     0.0, FLT_MAX, V|E},
>  {"ticks_per_frame", NULL, OFFSET(ticks_per_frame), FF_OPT_TYPE_INT, 1, 1, INT_MAX, A|V|E|D},
> +{"color_primaries", NULL, OFFSET(color_primaries), FF_OPT_TYPE_INT, COLPRI_UNSPECIFIED, 1, COLPRI_NB-1, V|E|D},
> +{"color_trc", NULL, OFFSET(color_trc), FF_OPT_TYPE_INT, COLTRC_UNSPECIFIED, 1, COLTRC_NB-1, V|E|D},
> +{"colorspace", NULL, OFFSET(colorspace), FF_OPT_TYPE_INT, COLSPC_UNSPECIFIED, 1, COLSPC_NB-1, V|E|D},
> +{"color_range", NULL, OFFSET(color_range), FF_OPT_TYPE_INT, COLRANGE_UNSPECIFIED, 0, COLRANGE_NB-1, V|E|D},
>  {NULL},
>  };
>  
> Index: libavcodec/avcodec.h
> ===================================================================
> --- libavcodec/avcodec.h	(revision 18731)
> +++ libavcodec/avcodec.h	(working copy)
> @@ -441,6 +441,43 @@
>      AVDISCARD_ALL    = 48, ///< discard all
>  };
>  
> +enum AVColorPrimaries{
> +    COLPRI_BT709      =1, ///< also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B
> +    COLPRI_UNSPECIFIED=2,
> +    COLPRI_BT470M     =4,
> +    COLPRI_BT470BG    =5, ///< also BT601-6 625 / BT1358 625 / BT1700 625 PAL & SECAM

What about _ITU-R_ BT... here and below?

> +    COLPRI_SMPTE170M  =6, ///< also BT601-6 525 / BT1358 525 / BT1700 NTSC
> +    COLPRI_SMPTE240M  =7, ///< functionally identical to above
> +    COLPRI_FILM       =8,
> +    COLPRI_NB           , ///< Not part of ABI
> +};

Also maybe adding AV_ or FF_ here and below may exorcise namespace
conflict problems.

[...]

Regards.
-- 
FFmpeg = Faboulous & Fast Merciful Patchable Extended Ghost



More information about the ffmpeg-devel mailing list