Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>tags/n3.2
| @@ -317,6 +317,20 @@ typedef enum { | |||||
| MATROSKA_VIDEO_DISPLAYUNIT_UNKNOWN = 4, | MATROSKA_VIDEO_DISPLAYUNIT_UNKNOWN = 4, | ||||
| } MatroskaVideoDisplayUnit; | } MatroskaVideoDisplayUnit; | ||||
| typedef enum { | |||||
| MATROSKA_COLOUR_CHROMASITINGHORZ_UNDETERMINED = 0, | |||||
| MATROSKA_COLOUR_CHROMASITINGHORZ_LEFT = 1, | |||||
| MATROSKA_COLOUR_CHROMASITINGHORZ_HALF = 2, | |||||
| MATROSKA_COLOUR_CHROMASITINGHORZ_NB | |||||
| } MatroskaColourChromaSitingHorz; | |||||
| typedef enum { | |||||
| MATROSKA_COLOUR_CHROMASITINGVERT_UNDETERMINED = 0, | |||||
| MATROSKA_COLOUR_CHROMASITINGVERT_TOP = 1, | |||||
| MATROSKA_COLOUR_CHROMASITINGVERT_HALF = 2, | |||||
| MATROSKA_COLOUR_CHROMASITINGVERT_NB | |||||
| } MatroskaColourChromaSitingVert; | |||||
| /* | /* | ||||
| * Matroska Codec IDs, strings | * Matroska Codec IDs, strings | ||||
| */ | */ | ||||
| @@ -1827,6 +1827,14 @@ static int mkv_parse_video_color(AVStream *st, const MatroskaTrack *track) { | |||||
| if (track->video.color.range != AVCOL_RANGE_UNSPECIFIED && | if (track->video.color.range != AVCOL_RANGE_UNSPECIFIED && | ||||
| track->video.color.range <= AVCOL_RANGE_JPEG) | track->video.color.range <= AVCOL_RANGE_JPEG) | ||||
| st->codecpar->color_range = track->video.color.range; | st->codecpar->color_range = track->video.color.range; | ||||
| if (track->video.color.chroma_siting_horz != MATROSKA_COLOUR_CHROMASITINGHORZ_UNDETERMINED && | |||||
| track->video.color.chroma_siting_vert != MATROSKA_COLOUR_CHROMASITINGVERT_UNDETERMINED && | |||||
| track->video.color.chroma_siting_horz < MATROSKA_COLOUR_CHROMASITINGHORZ_NB && | |||||
| track->video.color.chroma_siting_vert < MATROSKA_COLOUR_CHROMASITINGVERT_NB) { | |||||
| st->codecpar->chroma_location = | |||||
| avcodec_chroma_pos_to_enum((track->video.color.chroma_siting_horz - 1) << 7, | |||||
| (track->video.color.chroma_siting_vert - 1) << 7); | |||||
| } | |||||
| if (has_mastering_primaries || has_mastering_luminance) { | if (has_mastering_primaries || has_mastering_luminance) { | ||||
| // Use similar rationals as other standards. | // Use similar rationals as other standards. | ||||