On Tue, 25 Mar 2014 13:12:18 +0100, wm4 <[email protected]> wrote: > --- > doc/APIchanges | 5 ++++ > libavcodec/avcodec.h | 67 > ---------------------------------------------------- > libavutil/frame.c | 10 ++++++++ > libavutil/frame.h | 30 +++++++++++++++++++++++ > libavutil/pixfmt.h | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ > libavutil/version.h | 2 +- > 6 files changed, 108 insertions(+), 68 deletions(-) > > diff --git a/doc/APIchanges b/doc/APIchanges > index d800253..d18bd65 100644 > --- a/doc/APIchanges > +++ b/doc/APIchanges > @@ -13,6 +13,11 @@ libavutil: 2013-12-xx > > API changes, most recent first: > > +2014-xx-xx - xxxxxxx - lavu 53.09.0 - frame.h, pixfmt.h > + Move all color-related enums (AVColorPrimaries, AVColorSpace, AVColorRange, > + AVColorTransferCharacteristic, and AVChromaLocation) inside lavu, and add > + AVFrame fields for them. > + > 2014-02-xx - xxxxxxx - lavu 53.08.0 - frame.h > Add av_frame_remove_side_data() for removing a single side data > instance from a frame. > diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h > index 4fda36e..0d0d71a 100644 > --- a/libavcodec/avcodec.h > +++ b/libavcodec/avcodec.h > @@ -546,73 +546,6 @@ enum AVDiscard{ > AVDISCARD_ALL = 48, ///< discard all > }; > > -enum AVColorPrimaries{ > - AVCOL_PRI_BT709 = 1, ///< also ITU-R BT1361 / IEC 61966-2-4 / > SMPTE RP177 Annex B > - AVCOL_PRI_UNSPECIFIED = 2, > - AVCOL_PRI_BT470M = 4, > - AVCOL_PRI_BT470BG = 5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 > 625 / ITU-R BT1700 625 PAL & SECAM > - AVCOL_PRI_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 > 525 / ITU-R BT1700 NTSC > - AVCOL_PRI_SMPTE240M = 7, ///< functionally identical to above > - AVCOL_PRI_FILM = 8, > - AVCOL_PRI_BT2020 = 9, ///< ITU-R BT2020 > - AVCOL_PRI_NB , ///< Not part of ABI > -}; > - > -enum AVColorTransferCharacteristic{ > - AVCOL_TRC_BT709 = 1, ///< also ITU-R BT1361 > - AVCOL_TRC_UNSPECIFIED = 2, > - AVCOL_TRC_GAMMA22 = 4, ///< also ITU-R BT470M / ITU-R BT1700 625 > PAL & SECAM > - AVCOL_TRC_GAMMA28 = 5, ///< also ITU-R BT470BG > - AVCOL_TRC_SMPTE170M = 6, ///< also ITU-R BT601-6 525 or 625 / ITU-R > BT1358 525 or 625 / ITU-R BT1700 NTSC > - AVCOL_TRC_SMPTE240M = 7, > - AVCOL_TRC_LINEAR = 8, ///< "Linear transfer characteristics" > - AVCOL_TRC_LOG = 9, ///< "Logarithmic transfer characteristic > (100:1 range)" > - AVCOL_TRC_LOG_SQRT = 10, ///< "Logarithmic transfer characteristic > (100 * Sqrt( 10 ) : 1 range)" > - AVCOL_TRC_IEC61966_2_4 = 11, ///< IEC 61966-2-4 > - AVCOL_TRC_BT1361_ECG = 12, ///< ITU-R BT1361 Extended Colour Gamut > - AVCOL_TRC_IEC61966_2_1 = 13, ///< IEC 61966-2-1 (sRGB or sYCC) > - AVCOL_TRC_BT2020_10 = 14, ///< ITU-R BT2020 for 10 bit system > - AVCOL_TRC_BT2020_12 = 15, ///< ITU-R BT2020 for 12 bit system > - AVCOL_TRC_NB , ///< Not part of ABI > -}; > - > -enum AVColorSpace{ > - AVCOL_SPC_RGB = 0, > - AVCOL_SPC_BT709 = 1, ///< also ITU-R BT1361 / IEC 61966-2-4 > xvYCC709 / SMPTE RP177 Annex B > - AVCOL_SPC_UNSPECIFIED = 2, > - AVCOL_SPC_FCC = 4, > - AVCOL_SPC_BT470BG = 5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 > 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601 > - AVCOL_SPC_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 > 525 / ITU-R BT1700 NTSC / functionally identical to above > - AVCOL_SPC_SMPTE240M = 7, > - AVCOL_SPC_YCOCG = 8, ///< Used by Dirac / VC-2 and H.264 FRext, > see ITU-T SG16 > - AVCOL_SPC_BT2020_NCL = 9, ///< ITU-R BT2020 non-constant luminance > system > - AVCOL_SPC_BT2020_CL = 10, ///< ITU-R BT2020 constant luminance system > - AVCOL_SPC_NB , ///< Not part of ABI > -}; > - > -enum AVColorRange{ > - AVCOL_RANGE_UNSPECIFIED = 0, > - AVCOL_RANGE_MPEG = 1, ///< the normal 219*2^(n-8) "MPEG" YUV > ranges > - AVCOL_RANGE_JPEG = 2, ///< the normal 2^n-1 "JPEG" YUV > ranges > - AVCOL_RANGE_NB , ///< Not part of ABI > -}; > - > -/** > - * X X 3 4 X X are luma samples, > - * 1 2 1-6 are possible chroma positions > - * X X 5 6 X 0 is undefined/unknown position > - */ > -enum AVChromaLocation{ > - AVCHROMA_LOC_UNSPECIFIED = 0, > - AVCHROMA_LOC_LEFT = 1, ///< mpeg2/4, h264 default > - AVCHROMA_LOC_CENTER = 2, ///< mpeg1, jpeg, h263 > - AVCHROMA_LOC_TOPLEFT = 3, ///< DV > - AVCHROMA_LOC_TOP = 4, > - AVCHROMA_LOC_BOTTOMLEFT = 5, > - AVCHROMA_LOC_BOTTOM = 6, > - AVCHROMA_LOC_NB , ///< Not part of ABI > -}; > - > enum AVAudioServiceType { > AV_AUDIO_SERVICE_TYPE_MAIN = 0, > AV_AUDIO_SERVICE_TYPE_EFFECTS = 1, > diff --git a/libavutil/frame.c b/libavutil/frame.c > index cc4bfcd..bac11bf 100644 > --- a/libavutil/frame.c > +++ b/libavutil/frame.c > @@ -38,6 +38,11 @@ static void get_frame_defaults(AVFrame *frame) > frame->sample_aspect_ratio = (AVRational){ 0, 1 }; > frame->format = -1; /* unknown */ > frame->extended_data = frame->data; > + frame->color_primaries = AVCOL_PRI_UNSPECIFIED; > + frame->color_trc = AVCOL_TRC_UNSPECIFIED; > + frame->colorspace = AVCOL_SPC_UNSPECIFIED; > + frame->color_range = AVCOL_RANGE_UNSPECIFIED; > + frame->chroma_location = AVCHROMA_LOC_UNSPECIFIED; > } > > AVFrame *av_frame_alloc(void) > @@ -373,6 +378,11 @@ int av_frame_copy_props(AVFrame *dst, const AVFrame *src) > dst->coded_picture_number = src->coded_picture_number; > dst->display_picture_number = src->display_picture_number; > dst->flags = src->flags; > + dst->color_primaries = src->color_primaries; > + dst->color_trc = src->color_trc; > + dst->colorspace = src->colorspace; > + dst->color_range = src->color_range; > + dst->chroma_location = src->chroma_location; > > memcpy(dst->error, src->error, sizeof(dst->error)); > > diff --git a/libavutil/frame.h b/libavutil/frame.h > index 3bec8e5..2704a80 100644 > --- a/libavutil/frame.h > +++ b/libavutil/frame.h > @@ -33,6 +33,7 @@ > #include "dict.h" > #include "rational.h" > #include "samplefmt.h" > +#include "pixfmt.h" > #include "version.h" > > > @@ -408,6 +409,35 @@ typedef struct AVFrame { > * Frame flags, a combination of @ref lavu_frame_flags > */ > int flags; > + > + /** > + * MPEG vs JPEG YUV range. > + */ > + enum AVColorRange color_range; > + > + /** > + * Chromaticity coordinates of the source primaries. > + */ > + enum AVColorPrimaries color_primaries; > + > + /** > + * Color Transfer Characteristic. > + */ > + enum AVColorTransferCharacteristic color_trc; > + > + /** > + * YUV colorspace type. > + */ > + enum AVColorSpace colorspace; > + > + /** > + * Location of chroma samples. > + * > + * X X 3 4 X X are luma samples, > + * 1 2 1-6 are possible chroma positions > + * X X 5 6 X 0 is undefined/unknown position > + */
Why did you move those descriptions here? Seems to me they should be where the enums are defined. -- Anton Khirnov _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
