mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 03:59:43 +00:00
Add colorspace fields to AVCodecContext.
Originally committed as revision 18743 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
ee273f98e8
commit
4ee6a5c161
@ -441,6 +441,43 @@ 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_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_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_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
|
||||
};
|
||||
|
||||
typedef struct RcOverride{
|
||||
int start_frame;
|
||||
int end_frame;
|
||||
@ -2415,6 +2452,34 @@ typedef struct AVCodecContext {
|
||||
* - decoding: Set by user
|
||||
*/
|
||||
void *hwaccel_context;
|
||||
|
||||
/**
|
||||
* Chromaticity coordinates of the source primaries.
|
||||
* - encoding: Set by user
|
||||
* - decoding: Set by libavcodec
|
||||
*/
|
||||
enum AVColorPrimaries color_primaries;
|
||||
|
||||
/**
|
||||
* Color Transfer Characteristic.
|
||||
* - encoding: Set by user
|
||||
* - decoding: Set by libavcodec
|
||||
*/
|
||||
enum AVColorTransferCharacteristic color_trc;
|
||||
|
||||
/**
|
||||
* YUV colorspace type.
|
||||
* - encoding: Set by user
|
||||
* - decoding: Set by libavcodec
|
||||
*/
|
||||
enum AVColorSpace colorspace;
|
||||
|
||||
/**
|
||||
* MPEG vs JPEG YUV range.
|
||||
* - encoding: Set by user
|
||||
* - decoding: Set by libavcodec
|
||||
*/
|
||||
enum AVColorRange color_range;
|
||||
} AVCodecContext;
|
||||
|
||||
/**
|
||||
|
@ -394,6 +394,10 @@ static const AVOption options[]={
|
||||
{"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, AVCOL_PRI_UNSPECIFIED, 1, AVCOL_PRI_NB-1, V|E|D},
|
||||
{"color_trc", NULL, OFFSET(color_trc), FF_OPT_TYPE_INT, AVCOL_TRC_UNSPECIFIED, 1, AVCOL_TRC_NB-1, V|E|D},
|
||||
{"colorspace", NULL, OFFSET(colorspace), FF_OPT_TYPE_INT, AVCOL_SPC_UNSPECIFIED, 1, AVCOL_SPC_NB-1, V|E|D},
|
||||
{"color_range", NULL, OFFSET(color_range), FF_OPT_TYPE_INT, AVCOL_RANGE_UNSPECIFIED, 0, AVCOL_RANGE_NB-1, V|E|D},
|
||||
{NULL},
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user