104 |
/* MPEG-4 PROFILES/LEVELS ============================================================== */ |
/* MPEG-4 PROFILES/LEVELS ============================================================== */ |
105 |
/* ===================================================================================== */ |
/* ===================================================================================== */ |
106 |
|
|
107 |
|
#define DXN_PROFILES |
108 |
|
|
109 |
/* default vbv_occupancy is (64/170)*vbv_buffer_size */ |
/* default vbv_occupancy is (64/170)*vbv_buffer_size */ |
110 |
|
|
259 |
{"vhq_mode", ®.vhq_mode, 1}, |
{"vhq_mode", ®.vhq_mode, 1}, |
260 |
{"vhq_bframe", ®.vhq_bframe, 0}, |
{"vhq_bframe", ®.vhq_bframe, 0}, |
261 |
{"chromame", ®.chromame, 1}, |
{"chromame", ®.chromame, 1}, |
|
{"cartoon_mode", ®.cartoon_mode, 0}, |
|
262 |
{"turbo", ®.turbo, 0}, |
{"turbo", ®.turbo, 0}, |
263 |
{"max_key_interval", ®.max_key_interval, 300}, |
{"max_key_interval", ®.max_key_interval, 300}, |
264 |
{"frame_drop_ratio", ®.frame_drop_ratio, 0}, |
{"frame_drop_ratio", ®.frame_drop_ratio, 0}, |
289 |
}; |
}; |
290 |
|
|
291 |
static const REG_STR reg_strs[] = { |
static const REG_STR reg_strs[] = { |
292 |
{"profile", reg.profile_name, "AS @ L5"}, |
{"profile", reg.profile_name, "(unrestricted)"}, |
293 |
{"stats", reg.stats, CONFIG_2PASS_FILE}, |
{"stats", reg.stats, CONFIG_2PASS_FILE}, |
294 |
}; |
}; |
295 |
|
|
304 |
{"zone%i_greyscale", &stmp.greyscale, 0}, |
{"zone%i_greyscale", &stmp.greyscale, 0}, |
305 |
{"zone%i_chroma_opt", &stmp.chroma_opt, 0}, |
{"zone%i_chroma_opt", &stmp.chroma_opt, 0}, |
306 |
{"zone%i_bvop_threshold", &stmp.bvop_threshold, 0}, |
{"zone%i_bvop_threshold", &stmp.bvop_threshold, 0}, |
307 |
|
{"zone%i_cartoon_mode", &stmp.cartoon_mode, 0}, |
308 |
}; |
}; |
309 |
|
|
310 |
static const BYTE default_qmatrix_intra[] = { |
static const BYTE default_qmatrix_intra[] = { |
940 |
/* step 2: calculate audio_size (kbytes)*/ |
/* step 2: calculate audio_size (kbytes)*/ |
941 |
if (audio_type!=NO_AUDIO) { |
if (audio_type!=NO_AUDIO) { |
942 |
if (audio_mode==0) { |
if (audio_mode==0) { |
943 |
audio_size = (int)( (1000.0 * duration * audio_rate) / (8.0*1024) ); |
int new_audio_size = (int)( (1000.0 * duration * audio_rate) / (8.0*1024) ); |
944 |
SetDlgItemInt(hDlg, IDC_BITRATE_ASIZE, audio_size, TRUE); |
|
945 |
|
/* this check is needed to avoid a loop */ |
946 |
|
if (new_audio_size!=audio_size) { |
947 |
|
audio_size = new_audio_size; |
948 |
|
SetDlgItemInt(hDlg, IDC_BITRATE_ASIZE, new_audio_size, TRUE); |
949 |
|
} |
950 |
}else{ |
}else{ |
951 |
int tmp_rate = (int)( (audio_size * 8.0 * 1024) / (1000.0 * duration) ); |
int tmp_rate = (int)( (audio_size * 8.0 * 1024) / (1000.0 * duration) ); |
952 |
SetDlgItemInt(hDlg, IDC_BITRATE_ARATE, tmp_rate, TRUE); |
SetDlgItemInt(hDlg, IDC_BITRATE_ARATE, tmp_rate, TRUE); |
1005 |
if (vsize > 0) { |
if (vsize > 0) { |
1006 |
SetDlgItemInt(hDlg, IDC_BITRATE_VSIZE, vsize, TRUE); |
SetDlgItemInt(hDlg, IDC_BITRATE_VSIZE, vsize, TRUE); |
1007 |
/* convert from kbytes to kbits-per-second */ |
/* convert from kbytes to kbits-per-second */ |
1008 |
SetDlgItemInt(hDlg, IDC_BITRATE_VRATE, (vsize * 8 * 128) / (duration * 125), TRUE); |
SetDlgItemInt(hDlg, IDC_BITRATE_VRATE, ((__int64)vsize * 8 * 128) / (duration * 125), TRUE); |
1009 |
}else{ |
}else{ |
1010 |
SetDlgItemText(hDlg, IDC_BITRATE_VSIZE, "Overflow"); |
SetDlgItemText(hDlg, IDC_BITRATE_VSIZE, "Overflow"); |
1011 |
SetDlgItemText(hDlg, IDC_BITRATE_VRATE, "Overflow"); |
SetDlgItemText(hDlg, IDC_BITRATE_VRATE, "Overflow"); |
1141 |
CheckDlgButton(hDlg, IDC_ZONE_GREYSCALE, config->zones[config->cur_zone].greyscale); |
CheckDlgButton(hDlg, IDC_ZONE_GREYSCALE, config->zones[config->cur_zone].greyscale); |
1142 |
CheckDlgButton(hDlg, IDC_ZONE_CHROMAOPT, config->zones[config->cur_zone].chroma_opt); |
CheckDlgButton(hDlg, IDC_ZONE_CHROMAOPT, config->zones[config->cur_zone].chroma_opt); |
1143 |
|
|
1144 |
|
CheckDlg(hDlg, IDC_CARTOON, config->zones[config->cur_zone].cartoon_mode); |
1145 |
|
|
1146 |
SetDlgItemInt(hDlg, IDC_ZONE_BVOPTHRESHOLD, config->zones[config->cur_zone].bvop_threshold, TRUE); |
SetDlgItemInt(hDlg, IDC_ZONE_BVOPTHRESHOLD, config->zones[config->cur_zone].bvop_threshold, TRUE); |
1147 |
break; |
break; |
1148 |
|
|
1151 |
SendDlgItemMessage(hDlg, IDC_VHQ, CB_SETCURSEL, config->vhq_mode, 0); |
SendDlgItemMessage(hDlg, IDC_VHQ, CB_SETCURSEL, config->vhq_mode, 0); |
1152 |
CheckDlg(hDlg, IDC_VHQ_BFRAME, config->vhq_bframe); |
CheckDlg(hDlg, IDC_VHQ_BFRAME, config->vhq_bframe); |
1153 |
CheckDlg(hDlg, IDC_CHROMAME, config->chromame); |
CheckDlg(hDlg, IDC_CHROMAME, config->chromame); |
|
CheckDlg(hDlg, IDC_CARTOON, config->cartoon_mode); |
|
1154 |
CheckDlg(hDlg, IDC_TURBO, config->turbo); |
CheckDlg(hDlg, IDC_TURBO, config->turbo); |
1155 |
SetDlgItemInt(hDlg, IDC_FRAMEDROP, config->frame_drop_ratio, FALSE); |
SetDlgItemInt(hDlg, IDC_FRAMEDROP, config->frame_drop_ratio, FALSE); |
1156 |
SetDlgItemInt(hDlg, IDC_MAXKEY, config->max_key_interval, FALSE); |
SetDlgItemInt(hDlg, IDC_MAXKEY, config->max_key_interval, FALSE); |
1326 |
config->zones[config->cur_zone].chroma_opt = IsDlgButtonChecked(hDlg, IDC_ZONE_CHROMAOPT); |
config->zones[config->cur_zone].chroma_opt = IsDlgButtonChecked(hDlg, IDC_ZONE_CHROMAOPT); |
1327 |
|
|
1328 |
config->zones[config->cur_zone].bvop_threshold = config_get_int(hDlg, IDC_ZONE_BVOPTHRESHOLD, config->zones[config->cur_zone].bvop_threshold); |
config->zones[config->cur_zone].bvop_threshold = config_get_int(hDlg, IDC_ZONE_BVOPTHRESHOLD, config->zones[config->cur_zone].bvop_threshold); |
1329 |
|
config->zones[config->cur_zone].cartoon_mode = IsDlgChecked(hDlg, IDC_CARTOON); |
1330 |
break; |
break; |
1331 |
|
|
1332 |
case IDD_MOTION : |
case IDD_MOTION : |
1334 |
config->vhq_mode = SendDlgItemMessage(hDlg, IDC_VHQ, CB_GETCURSEL, 0, 0); |
config->vhq_mode = SendDlgItemMessage(hDlg, IDC_VHQ, CB_GETCURSEL, 0, 0); |
1335 |
config->vhq_bframe = IsDlgButtonChecked(hDlg, IDC_VHQ_BFRAME); |
config->vhq_bframe = IsDlgButtonChecked(hDlg, IDC_VHQ_BFRAME); |
1336 |
config->chromame = IsDlgChecked(hDlg, IDC_CHROMAME); |
config->chromame = IsDlgChecked(hDlg, IDC_CHROMAME); |
|
config->cartoon_mode = IsDlgChecked(hDlg, IDC_CARTOON); |
|
1337 |
config->turbo = IsDlgChecked(hDlg, IDC_TURBO); |
config->turbo = IsDlgChecked(hDlg, IDC_TURBO); |
1338 |
|
|
1339 |
config->frame_drop_ratio = config_get_uint(hDlg, IDC_FRAMEDROP, config->frame_drop_ratio); |
config->frame_drop_ratio = config_get_uint(hDlg, IDC_FRAMEDROP, config->frame_drop_ratio); |