comparison libvo/vo_vdpau.c @ 29729:42abcc270fb6

Support SMPTE-240M colourspace in vo_vdpau.
author cehoyos
date Mon, 12 Oct 2009 21:17:38 +0000
parents 3c1645511249
children 8adf928e517a
comparison
equal deleted inserted replaced
29728:af460532dd3a 29729:42abcc270fb6
408 { 408 {
409 VdpStatus vdp_st; 409 VdpStatus vdp_st;
410 VdpCSCMatrix matrix; 410 VdpCSCMatrix matrix;
411 static const VdpVideoMixerAttribute attributes[] = {VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX}; 411 static const VdpVideoMixerAttribute attributes[] = {VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX};
412 const void *attribute_values[] = {&matrix}; 412 const void *attribute_values[] = {&matrix};
413 static const VdpColorStandard vdp_colors[] = {0, VDP_COLOR_STANDARD_ITUR_BT_601, VDP_COLOR_STANDARD_ITUR_BT_709}; 413 static const VdpColorStandard vdp_colors[] = {0, VDP_COLOR_STANDARD_ITUR_BT_601, VDP_COLOR_STANDARD_ITUR_BT_709, VDP_COLOR_STANDARD_SMPTE_240M};
414 static const char * const vdp_names[] = {NULL, "BT.601", "BT.709"}; 414 static const char * const vdp_names[] = {NULL, "BT.601", "BT.709", "SMPTE-240M"};
415 int csp = colorspace; 415 int csp = colorspace;
416 416
417 if (!csp) 417 if (!csp)
418 csp = vid_width >= 1280 || vid_height > 576 ? 2 : 1; 418 csp = vid_width >= 1280 || vid_height > 576 ? 2 : 1;
419 419
1092 " Apply sharpening or softening, argument is strength from -1.0 to 1.0\n" 1092 " Apply sharpening or softening, argument is strength from -1.0 to 1.0\n"
1093 " colorspace\n" 1093 " colorspace\n"
1094 " 0: guess based on video resolution\n" 1094 " 0: guess based on video resolution\n"
1095 " 1: ITU-R BT.601 (default)\n" 1095 " 1: ITU-R BT.601 (default)\n"
1096 " 2: ITU-R BT.709\n" 1096 " 2: ITU-R BT.709\n"
1097 " 3: SMPTE-240M\n"
1097 ; 1098 ;
1098 1099
1099 static int preinit(const char *arg) 1100 static int preinit(const char *arg)
1100 { 1101 {
1101 int i; 1102 int i;
1118 } 1119 }
1119 if (deint) 1120 if (deint)
1120 deint_type = deint; 1121 deint_type = deint;
1121 if (deint > 1) 1122 if (deint > 1)
1122 deint_buffer_past_frames = 1; 1123 deint_buffer_past_frames = 1;
1123 if (colorspace < 0 || colorspace > 2) { 1124 if (colorspace < 0 || colorspace > 3) {
1124 mp_msg(MSGT_VO, MSGL_WARN, "[vdpau] Invalid color space specified, " 1125 mp_msg(MSGT_VO, MSGL_WARN, "[vdpau] Invalid color space specified, "
1125 "using BT.601\n"); 1126 "using BT.601\n");
1126 colorspace = 1; 1127 colorspace = 1;
1127 } 1128 }
1128 1129