104 |
/* MPEG-4 PROFILES/LEVELS ============================================================== */ |
/* MPEG-4 PROFILES/LEVELS ============================================================== */ |
105 |
/* ===================================================================================== */ |
/* ===================================================================================== */ |
106 |
|
|
107 |
#define EXTRA_PROFILES |
/* #define EXTRA_PROFILES */ |
108 |
|
|
109 |
/* default vbv_occupancy is (64/170)*vbv_buffer_size */ |
/* default vbv_occupancy is (64/170)*vbv_buffer_size */ |
110 |
|
|
138 |
{ "Advanced Simple @ L4", 0xf4, 352, 576, 30, 4, 2376, 792, 23760, 50, 80*16368, 8192, 3000000, 0, -1, PROFILE_AS }, |
{ "Advanced Simple @ L4", 0xf4, 352, 576, 30, 4, 2376, 792, 23760, 50, 80*16368, 8192, 3000000, 0, -1, PROFILE_AS }, |
139 |
{ "Advanced Simple @ L5", 0xf5, 720, 576, 30, 4, 4860, 1620, 48600, 25, 112*16368, 16384, 8000000, 0, -1, PROFILE_AS }, |
{ "Advanced Simple @ L5", 0xf5, 720, 576, 30, 4, 4860, 1620, 48600, 25, 112*16368, 16384, 8000000, 0, -1, PROFILE_AS }, |
140 |
|
|
141 |
#ifdef EXTRA_PROFILES |
#ifndef EXTRA_PROFILES |
142 |
|
{ "Mobile", 0x00, 352, 240, 30, 1, 990, 330, 36000, 100, 128*8192, -1, 1334850, 8000000, 5, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_PACKED|PROFILE_MPEGQUANT|PROFILE_QPEL }, |
143 |
|
{ "Portable", 0x00, 640, 480, 30, 1, 3600, 1200, 36000, 100, 384*8192, -1, 4854000, 8000000, 5, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_PACKED|PROFILE_MPEGQUANT|PROFILE_QPEL|PROFILE_INTERLACE }, |
144 |
|
{ "Home", 0x00, 720, 576, 25, 1, 4860, 1620, 40500, 100, 384*8192, -1, 4854000, 8000000, 5, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_PACKED|PROFILE_MPEGQUANT|PROFILE_QPEL|PROFILE_INTERLACE }, |
145 |
|
{ "Highdef", 0x00, 1280, 720, 30, 1,10800, 3600, 108000, 100, 768*8192, -1, 9708400, 16000000, 5, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_PACKED|PROFILE_MPEGQUANT|PROFILE_QPEL|PROFILE_INTERLACE }, |
146 |
|
#else |
147 |
{ "Handheld", 0x00, 176, 144, 15, 1, 198, 99, 1485, 100, 32*8192, -1, 537600, 800000, 0, PROFILE_ADAPTQUANT|PROFILE_EXTRA }, |
{ "Handheld", 0x00, 176, 144, 15, 1, 198, 99, 1485, 100, 32*8192, -1, 537600, 800000, 0, PROFILE_ADAPTQUANT|PROFILE_EXTRA }, |
148 |
{ "Portable NTSC", 0x00, 352, 240, 30, 1, 990, 330, 36000, 100, 384*8192, -1, 4854000, 8000000, 1, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_EXTRA }, |
{ "Portable NTSC", 0x00, 352, 240, 30, 1, 990, 330, 36000, 100, 384*8192, -1, 4854000, 8000000, 1, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_PACKED|PROFILE_EXTRA }, |
149 |
{ "Portable PAL", 0x00, 352, 288, 25, 1, 1188, 396, 36000, 100, 384*8192, -1, 4854000, 8000000, 1, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_EXTRA }, |
{ "Portable PAL", 0x00, 352, 288, 25, 1, 1188, 396, 36000, 100, 384*8192, -1, 4854000, 8000000, 1, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_PACKED|PROFILE_EXTRA }, |
150 |
{ "Home Theatre NTSC", 0x00, 720, 480, 30, 1, 4050, 1350, 40500, 100, 384*8192, -1, 4854000, 8000000, 1, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_INTERLACE|PROFILE_EXTRA }, |
{ "Home Theatre NTSC", 0x00, 720, 480, 30, 1, 4050, 1350, 40500, 100, 384*8192, -1, 4854000, 8000000, 1, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_PACKED|PROFILE_INTERLACE|PROFILE_EXTRA }, |
151 |
{ "Home Theatre PAL", 0x00, 720, 576, 25, 1, 4860, 1620, 40500, 100, 384*8192, -1, 4854000, 8000000, 1, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_INTERLACE|PROFILE_EXTRA }, |
{ "Home Theatre PAL", 0x00, 720, 576, 25, 1, 4860, 1620, 40500, 100, 384*8192, -1, 4854000, 8000000, 1, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_PACKED|PROFILE_INTERLACE|PROFILE_EXTRA }, |
152 |
{ "Cinema Plus NTSC", 0x00, 720, 480, 30, 1, 4050, 1350, 40500, 100, 384*8192, -1, 4854000, 8000000, 3, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_MPEGQUANT|PROFILE_INTERLACE|PROFILE_QPEL|PROFILE_EXTRA }, |
{ "HDTV", 0x00, 1280, 720, 30, 1,10800, 3600, 108000, 100, 768*8192, -1, 9708400, 16000000, 2, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_PACKED|PROFILE_INTERLACE|PROFILE_EXTRA }, |
|
{ "Cinema Plus PAL", 0x00, 720, 576, 25, 1, 4860, 1620, 40500, 100, 384*8192, -1, 4854000, 8000000, 3, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_MPEGQUANT|PROFILE_INTERLACE|PROFILE_QPEL|PROFILE_EXTRA }, |
|
|
{ "HDTV", 0x00, 1280, 720, 30, 1,10800, 3600, 108000, 100, 768*8192, -1, 9708400, 16000000, 2, PROFILE_4MV|PROFILE_ADAPTQUANT|PROFILE_BVOP|PROFILE_INTERLACE|PROFILE_EXTRA }, |
|
153 |
#endif |
#endif |
154 |
|
|
155 |
{ "(unrestricted)", 0x00, 0, 0, 0, 0, 0, 0, 0, 100, 0*16368, -1, 0, 0, -1, 0xffffffff & ~PROFILE_EXTRA }, |
{ "(unrestricted)", 0x00, 0, 0, 0, 0, 0, 0, 0, 100, 0*16368, -1, 0, 0, -1, 0xffffffff & ~(PROFILE_EXTRA | PROFILE_PACKED)}, |
156 |
}; |
}; |
157 |
|
|
158 |
|
|
296 |
{"vop_debug", ®.vop_debug, 0}, |
{"vop_debug", ®.vop_debug, 0}, |
297 |
{"display_status", ®.display_status, 1}, |
{"display_status", ®.display_status, 1}, |
298 |
|
|
299 |
|
/* smp */ |
300 |
|
{"num_threads", ®.num_threads, 0}, |
301 |
|
|
302 |
/* decoder, shared with dshow */ |
/* decoder, shared with dshow */ |
303 |
{"Brightness", &pp_brightness, 0}, |
{"Brightness", &pp_brightness, 0}, |
304 |
{"Deblock_Y", &pp_dy, 0}, |
{"Deblock_Y", &pp_dy, 0}, |
379 |
} |
} |
380 |
|
|
381 |
reg.cpu = info.cpu_flags; |
reg.cpu = info.cpu_flags; |
|
reg.num_threads = info.num_threads; |
|
382 |
|
|
383 |
RegOpenKeyEx(XVID_REG_KEY, XVID_REG_PARENT "\\" XVID_REG_CHILD, 0, KEY_READ, &hKey); |
RegOpenKeyEx(XVID_REG_KEY, XVID_REG_PARENT "\\" XVID_REG_CHILD, 0, KEY_READ, &hKey); |
384 |
|
|
842 |
break; |
break; |
843 |
|
|
844 |
case IDD_ENC : |
case IDD_ENC : |
|
/* force threads disabled */ |
|
|
EnableWindow(GetDlgItem(hDlg, IDC_NUMTHREADS_STATIC), FALSE); |
|
|
EnableWindow(GetDlgItem(hDlg, IDC_NUMTHREADS), FALSE); |
|
|
|
|
845 |
SendDlgItemMessage(hDlg, IDC_FOURCC, CB_ADDSTRING, 0, (LPARAM)"XVID"); |
SendDlgItemMessage(hDlg, IDC_FOURCC, CB_ADDSTRING, 0, (LPARAM)"XVID"); |
846 |
SendDlgItemMessage(hDlg, IDC_FOURCC, CB_ADDSTRING, 0, (LPARAM)"DIVX"); |
SendDlgItemMessage(hDlg, IDC_FOURCC, CB_ADDSTRING, 0, (LPARAM)"DIVX"); |
847 |
SendDlgItemMessage(hDlg, IDC_FOURCC, CB_ADDSTRING, 0, (LPARAM)"DX50"); |
SendDlgItemMessage(hDlg, IDC_FOURCC, CB_ADDSTRING, 0, (LPARAM)"DX50"); |
888 |
EnableDlgWindow(hDlg, IDC_MAXBFRAMES_S, bvops); |
EnableDlgWindow(hDlg, IDC_MAXBFRAMES_S, bvops); |
889 |
EnableDlgWindow(hDlg, IDC_BQUANTRATIO_S, bvops); |
EnableDlgWindow(hDlg, IDC_BQUANTRATIO_S, bvops); |
890 |
EnableDlgWindow(hDlg, IDC_BQUANTOFFSET_S, bvops); |
EnableDlgWindow(hDlg, IDC_BQUANTOFFSET_S, bvops); |
891 |
EnableDlgWindow(hDlg, IDC_PACKED, bvops && !(profiles[profile].flags & PROFILE_EXTRA)); |
EnableDlgWindow(hDlg, IDC_PACKED, bvops && !(profiles[profile].flags & PROFILE_PACKED)); |
892 |
break; |
break; |
893 |
|
|
894 |
case IDD_AR: |
case IDD_AR: |
1105 |
EnableDlgWindow(hDlg, IDC_CPU_MMXEXT, cpu_force); |
EnableDlgWindow(hDlg, IDC_CPU_MMXEXT, cpu_force); |
1106 |
EnableDlgWindow(hDlg, IDC_CPU_SSE, cpu_force); |
EnableDlgWindow(hDlg, IDC_CPU_SSE, cpu_force); |
1107 |
EnableDlgWindow(hDlg, IDC_CPU_SSE2, cpu_force); |
EnableDlgWindow(hDlg, IDC_CPU_SSE2, cpu_force); |
1108 |
|
EnableDlgWindow(hDlg, IDC_CPU_SSE3, cpu_force); |
1109 |
|
EnableDlgWindow(hDlg, IDC_CPU_SSE4, cpu_force); |
1110 |
EnableDlgWindow(hDlg, IDC_CPU_3DNOW, cpu_force); |
EnableDlgWindow(hDlg, IDC_CPU_3DNOW, cpu_force); |
1111 |
EnableDlgWindow(hDlg, IDC_CPU_3DNOWEXT, cpu_force); |
EnableDlgWindow(hDlg, IDC_CPU_3DNOWEXT, cpu_force); |
1112 |
break; |
break; |
1258 |
CheckDlg(hDlg, IDC_CPU_MMXEXT, (config->cpu & XVID_CPU_MMXEXT)); |
CheckDlg(hDlg, IDC_CPU_MMXEXT, (config->cpu & XVID_CPU_MMXEXT)); |
1259 |
CheckDlg(hDlg, IDC_CPU_SSE, (config->cpu & XVID_CPU_SSE)); |
CheckDlg(hDlg, IDC_CPU_SSE, (config->cpu & XVID_CPU_SSE)); |
1260 |
CheckDlg(hDlg, IDC_CPU_SSE2, (config->cpu & XVID_CPU_SSE2)); |
CheckDlg(hDlg, IDC_CPU_SSE2, (config->cpu & XVID_CPU_SSE2)); |
1261 |
|
CheckDlg(hDlg, IDC_CPU_SSE3, (config->cpu & XVID_CPU_SSE3)); |
1262 |
|
CheckDlg(hDlg, IDC_CPU_SSE4, (config->cpu & XVID_CPU_SSE41)); |
1263 |
CheckDlg(hDlg, IDC_CPU_3DNOW, (config->cpu & XVID_CPU_3DNOW)); |
CheckDlg(hDlg, IDC_CPU_3DNOW, (config->cpu & XVID_CPU_3DNOW)); |
1264 |
CheckDlg(hDlg, IDC_CPU_3DNOWEXT, (config->cpu & XVID_CPU_3DNOWEXT)); |
CheckDlg(hDlg, IDC_CPU_3DNOWEXT, (config->cpu & XVID_CPU_3DNOWEXT)); |
1265 |
|
|
1457 |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_MMXEXT) ? XVID_CPU_MMXEXT : 0; |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_MMXEXT) ? XVID_CPU_MMXEXT : 0; |
1458 |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_SSE) ? XVID_CPU_SSE : 0; |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_SSE) ? XVID_CPU_SSE : 0; |
1459 |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_SSE2) ? XVID_CPU_SSE2 : 0; |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_SSE2) ? XVID_CPU_SSE2 : 0; |
1460 |
|
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_SSE3) ? XVID_CPU_SSE3 : 0; |
1461 |
|
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_SSE4) ? XVID_CPU_SSE41 : 0; |
1462 |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_3DNOW) ? XVID_CPU_3DNOW : 0; |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_3DNOW) ? XVID_CPU_3DNOW : 0; |
1463 |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_3DNOWEXT) ? XVID_CPU_3DNOWEXT : 0; |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_3DNOWEXT) ? XVID_CPU_3DNOWEXT : 0; |
1464 |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_FORCE) ? XVID_CPU_FORCE : 0; |
config->cpu |= IsDlgChecked(hDlg, IDC_CPU_FORCE) ? XVID_CPU_FORCE : 0; |
1751 |
psh.dwFlags = PSH_PROPSHEETPAGE | PSH_NOAPPLYNOW | PSH_NOCONTEXTHELP; |
psh.dwFlags = PSH_PROPSHEETPAGE | PSH_NOAPPLYNOW | PSH_NOCONTEXTHELP; |
1752 |
psh.hwndParent = hParent; |
psh.hwndParent = hParent; |
1753 |
psh.hInstance = g_hInst; |
psh.hInstance = g_hInst; |
1754 |
psh.pszCaption = (LPSTR) "XviD Configuration"; |
psh.pszCaption = (LPSTR) "Xvid Configuration"; |
1755 |
psh.nPages = size; |
psh.nPages = size; |
1756 |
psh.nStartPage = 0; |
psh.nStartPage = 0; |
1757 |
psh.ppsp = (LPCPROPSHEETPAGE)&psp; |
psh.ppsp = (LPCPROPSHEETPAGE)&psp; |