diff --git a/Resources/vrecord_functions b/Resources/vrecord_functions
index f17300e7..2b983e18 100644
--- a/Resources/vrecord_functions
+++ b/Resources/vrecord_functions
@@ -90,12 +90,13 @@ _update_config_file(){
echo "MP4_CRF_VALUE=\"${MP4_CRF_VALUE}\""
echo "CC2VTT=\"${CC2VTT}\""
echo "CC2SRT=\"${CC2SRT}\""
+ echo "HD_CHOICE=\"${HD_CHOICE}\""
} > "${CONFIG_FILE}"
. "${CONFIG_FILE}"
}
_validate_form(){
-
+
if [ "${VIDEO_CODEC_CHOICE}" = "FFV1 version 3" ] && [ "${CONTAINER_CHOICE}" = "MXF" ] ; then
echo "ERROR: Incompatible video codecs and containers have been selected."
elif [ "${AUDIO_CODEC_CHOICE}" = "24-bit FLAC" ] && [ "${CONTAINER_CHOICE}" = "QuickTime" ] ; then
diff --git a/vrecord b/vrecord
index e1871925..9a668f7b 100755
--- a/vrecord
+++ b/vrecord
@@ -419,6 +419,18 @@ _gtk_vbox_list() {
_update_config_file
timecode_scan
"
+ elif [[ "${VARIABLE_NAME}" == "STANDARD_CHOICE" ]] ; then
+ echo "
+
+
+ \"${HD_CHOICE}\"
+ HD_CHOICE
+ _update_config_file
+ STANDARD_CHOICE
+ STANDARD_CHOICE
+ STANDARD_CHOICE
+ refresh
+ "
elif [[ "${VARIABLE_NAME}" == "EMBED_LOGS_CHOICE" ]] ; then
echo "$(if $MKVPROPEDIT_INSTALLED ; then echo true ; else echo false ; fi)"
elif [[ "${VARIABLE_NAME}" == "QCTOOLSXML_CHOICE" ]] ; then
@@ -566,7 +578,7 @@ _setup_vrecord_process(){
VRECORD_STEPS="1" # Steps: player
fi
fi
-
+
# caption handling if ntsc
if [[ "${STANDARD}" == "ntsc" ]] ; then
CAPTION_TMP="$(_maketemp .eia608.txt)"
@@ -982,10 +994,10 @@ DECKLINK_INPUT_GUI=$(cat << DECKLINK_FORM
$(_gtk_vbox_list "VIDEO_INPUT_CHOICE" "80" "Video Input" "${VIDEO_INPUT_OPTIONS[@]}")
$(_gtk_vbox_list "AUDIO_INPUT_CHOICE" "130" "Audio Input" "${AUDIO_INPUT_OPTIONS[@]}")
$(_gtk_vbox_list "AUDIO_MAPPING_CHOICE" "-1" "Audio Channel Mapping" "${CHANNEL_MAPPING_OPTIONS[@]}" )
- $(_gtk_vbox_list "STANDARD_CHOICE" "50" "Standard" "${STANDARD_OPTIONS[@]}")
- $(_gtk_vbox_list "VIDEO_BIT_DEPTH_CHOICE" "60" "Video Bit Depth" "${VIDEO_BITDEPTH_OPTIONS[@]}")
- $(_gtk_vbox_list "ASPECT_RATIO_CHOICE" "60" "Display Aspect Ratio" "${ASPECT_RATIO_OPTIONS[@]}")
- $(_gtk_vbox_list "TIMECODE_CHOICE" "6 0" "Timecode format" "${TIMECODE_OPTIONS[@]}")
+ $(_gtk_vbox_list "STANDARD_CHOICE" "110" "Standard" "${STANDARD_OPTIONS[@]}")
+ $(_gtk_vbox_list "VIDEO_BIT_DEPTH_CHOICE" "40" "Video Bit Depth" "${VIDEO_BITDEPTH_OPTIONS[@]}")
+ $(_gtk_vbox_list "ASPECT_RATIO_CHOICE" "40" "Display Aspect Ratio" "${ASPECT_RATIO_OPTIONS[@]}")
+ $(_gtk_vbox_list "TIMECODE_CHOICE" "40" "Timecode format" "${TIMECODE_OPTIONS[@]}")
@@ -1892,7 +1904,46 @@ _lookup_choice(){
MIDDLEOPTIONS_ALL+=(-color_primaries bt470bg)
MIDDLEOPTIONS_ALL+=(-color_trc bt709)
MIDDLEOPTIONS_ALL+=(-colorspace bt470bg) ;;
- "Hi59")
+ "23ps - 1080p23.98")
+ STANDARD="23ps"
+ DECKLINK_FPS="24000/1001"
+ MIDDLEOPTIONS+=(-color_primaries bt709)
+ MIDDLEOPTIONS+=(-color_trc bt709)
+ MIDDLEOPTIONS+=(-colorspace bt709) ;;
+ "24ps - 1080p24")
+ STANDARD="24ps"
+ DECKLINK_FPS="24000/1000"
+ MIDDLEOPTIONS+=(-color_primaries bt709)
+ MIDDLEOPTIONS+=(-color_trc bt709)
+ MIDDLEOPTIONS+=(-colorspace bt709) ;;
+ "Hp25 - 1080p25")
+ STANDARD="Hp25"
+ DECKLINK_FPS="25000/1000"
+ MIDDLEOPTIONS+=(-color_primaries bt709)
+ MIDDLEOPTIONS+=(-color_trc bt709)
+ MIDDLEOPTIONS+=(-colorspace bt709) ;;
+ "Hp29 - 1080p29.97")
+ STANDARD="Hp29"
+ DECKLINK_FPS="30000/1001"
+ MIDDLEOPTIONS+=(-color_primaries bt709)
+ MIDDLEOPTIONS+=(-color_trc bt709)
+ MIDDLEOPTIONS+=(-colorspace bt709) ;;
+ "Hp30 - 1080p30")
+ STANDARD="Hp30"
+ DECKLINK_FPS="30000/1000"
+ MIDDLEOPTIONS+=(-color_primaries bt709)
+ MIDDLEOPTIONS+=(-color_trc bt709)
+ MIDDLEOPTIONS+=(-colorspace bt709) ;;
+ "Hi50 - 1080i50")
+ STANDARD="Hi50"
+ DECKLINK_FPS="25000/1000"
+ if [[ "${VIDEO_CODEC_CHOICE}" = "h264" ]] ; then
+ MIDDLEOPTIONS+=(-x264opts tff)
+ fi
+ MIDDLEOPTIONS+=(-color_primaries bt709)
+ MIDDLEOPTIONS+=(-color_trc bt709)
+ MIDDLEOPTIONS+=(-colorspace bt709) ;;
+ "Hi59 - 1080i59.94")
STANDARD="Hi59"
DECKLINK_FPS="30000/1001"
if [[ "${VIDEO_CODEC_CHOICE}" = "h264" ]] ; then
@@ -1901,6 +1952,33 @@ _lookup_choice(){
MIDDLEOPTIONS+=(-color_primaries bt709)
MIDDLEOPTIONS+=(-color_trc bt709)
MIDDLEOPTIONS+=(-colorspace bt709) ;;
+ "Hi60 - 1080i60")
+ STANDARD="Hi60"
+ DECKLINK_FPS="30000/1000"
+ if [[ "${VIDEO_CODEC_CHOICE}" = "h264" ]] ; then
+ MIDDLEOPTIONS+=(-x264opts tff)
+ fi
+ MIDDLEOPTIONS+=(-color_primaries bt709)
+ MIDDLEOPTIONS+=(-color_trc bt709)
+ MIDDLEOPTIONS+=(-colorspace bt709) ;;
+ "hp50 - 720p50")
+ STANDARD="hp50"
+ DECKLINK_FPS="50000/1000"
+ MIDDLEOPTIONS+=(-color_primaries bt709)
+ MIDDLEOPTIONS+=(-color_trc bt709)
+ MIDDLEOPTIONS+=(-colorspace bt709) ;;
+ "hp59 - 720p59.94")
+ STANDARD="hp59"
+ DECKLINK_FPS="60000/1001"
+ MIDDLEOPTIONS+=(-color_primaries bt709)
+ MIDDLEOPTIONS+=(-color_trc bt709)
+ MIDDLEOPTIONS+=(-colorspace bt709) ;;
+ "hp60 - 720p60")
+ STANDARD="hp60"
+ DECKLINK_FPS="60000/1000"
+ MIDDLEOPTIONS+=(-color_primaries bt709)
+ MIDDLEOPTIONS+=(-color_trc bt709)
+ MIDDLEOPTIONS+=(-colorspace bt709) ;;
# aspect ratio options
"4/3")
if [[ "${STANDARD}" = "ntsc" ]] ; then
@@ -1909,7 +1987,19 @@ _lookup_choice(){
elif [[ "${STANDARD}" = "pal " ]] ; then
RECORDINGFILTER+=",setsar=${PAL_43_SAR_CHOICE}"
RECORDINGFILTER_MP4+=",setsar=${PAL_43_SAR_CHOICE}"
- elif [[ "${STANDARD}" = "Hi59" ]] ; then
+ elif [[ "${STANDARD}" = "23ps" ]] ; then
+ RECORDINGFILTER+=",setdar=4/3"
+ RECORDINGFILTER_MP4+=",setdar=4/3"
+ elif [[ "${STANDARD}" = "24ps" ]] ; then
+ RECORDINGFILTER+=",setdar=4/3"
+ RECORDINGFILTER_MP4+=",setdar=4/3"
+ elif [[ "${STANDARD:0:2}" = "Hp" ]] ; then
+ RECORDINGFILTER+=",setdar=4/3"
+ RECORDINGFILTER_MP4+=",setdar=4/3"
+ elif [[ "${STANDARD:0:2}" = "Hi" ]] ; then
+ RECORDINGFILTER+=",setdar=4/3"
+ RECORDINGFILTER_MP4+=",setdar=4/3"
+ elif [[ "${STANDARD:0:2}" = "hp" ]] ; then
RECORDINGFILTER+=",setdar=4/3"
RECORDINGFILTER_MP4+=",setdar=4/3"
else
@@ -1922,7 +2012,19 @@ _lookup_choice(){
elif [[ "${STANDARD}" = "pal " ]] ; then
RECORDINGFILTER+=",setsar=${PAL_169_SAR_CHOICE}"
RECORDINGFILTER_MP4+=",setsar=${PAL_169_SAR_CHOICE}"
- elif [[ "${STANDARD}" = "Hi59" ]] ; then
+ elif [[ "${STANDARD}" = "23ps" ]] ; then
+ RECORDINGFILTER+=",setdar=16/9"
+ RECORDINGFILTER_MP4+=",setdar=16/9"
+ elif [[ "${STANDARD}" = "24ps" ]] ; then
+ RECORDINGFILTER+=",setdar=16/9"
+ RECORDINGFILTER_MP4+=",setdar=16/9"
+ elif [[ "${STANDARD:0:2}" = "Hp" ]] ; then
+ RECORDINGFILTER+=",setdar=16/9"
+ RECORDINGFILTER_MP4+=",setdar=16/9"
+ elif [[ "${STANDARD:0:2}" = "Hi" ]] ; then
+ RECORDINGFILTER+=",setdar=16/9"
+ RECORDINGFILTER_MP4+=",setdar=16/9"
+ elif [[ "${STANDARD:0:2}" = "hp" ]] ; then
RECORDINGFILTER+=",setdar=16/9"
RECORDINGFILTER_MP4+=",setdar=16/9"
else
@@ -2410,7 +2512,11 @@ PAL_43_SAR_OPTIONS=("12/11" "16/15" "128/117")
PAL_169_SAR_OPTIONS=("16/11" "64/45" "512/351")
CHANNEL_MAPPING_OPTIONS=("2 Stereo Tracks (Channels 1 & 2 -> 1st Track Stereo, Channels 3 & 4 -> 2nd Track Stereo)" "1 Stereo Track (From Channels 1 & 2)" "1 Stereo Track (From Channels 3 & 4)" "Channel 1 -> 1st Track Mono, Channel 2 -> 2nd Track Mono" "Channel 2 -> 1st Track Mono, Channel 1 -> 2nd Track Mono" "Channel 1 -> Single Track Mono" "Channel 2 -> Single Track Mono")
TIMECODE_OPTIONS=("none" "rp188vitc" "rp188vitc2" "rp188ltc" "rp188any" "vitc" "vitc2" "serial")
-STANDARD_OPTIONS=("NTSC" "PAL" "Hi59")
+if [[ ${HD_CHOICE} != "true" ]] ; then
+ STANDARD_OPTIONS=("NTSC" "PAL")
+else
+ STANDARD_OPTIONS=("NTSC" "PAL" "23ps - 1080p23.98" "24ps - 1080p24" "Hp25 - 1080p25" "Hp29 - 1080p29.97" "Hp30 - 1080p30" "Hi50 - 1080i50" "Hi59 - 1080i59.94" "Hi60 - 1080i60" "hp50 - 720p50" "hp59 - 720p59.94" "hp60 - 720p60")
+fi
QCTOOLSXML_OPTIONS=("Yes, concurrent with recording" "Yes, after recording" "No")
EMBED_LOGS_OPTIONS=("Yes" "No")
PLAYBACKVIEW_OPTIONS=("Unfiltered" "Visual" "Audio + Video" "Visual + Numerical" "Color Matrix" "Bit Planes" "Frame Positioning" "Captions")