514 |
pass2.vbv_size = profiles[codec->config.profile].max_vbv_size; |
pass2.vbv_size = profiles[codec->config.profile].max_vbv_size; |
515 |
pass2.vbv_initial = (profiles[codec->config.profile].max_vbv_size*3)/4; /* 75% */ |
pass2.vbv_initial = (profiles[codec->config.profile].max_vbv_size*3)/4; /* 75% */ |
516 |
pass2.vbv_maxrate = profiles[codec->config.profile].max_bitrate; |
pass2.vbv_maxrate = profiles[codec->config.profile].max_bitrate; |
517 |
|
pass2.vbv_peakrate = profiles[codec->config.profile].vbv_peakrate; |
|
// XXX: xvidcore current provides a "peak bits over 3secs" constraint. |
|
|
// according to the latest dxn literature, a 1sec constraint is now used |
|
|
pass2.vbv_peakrate = profiles[codec->config.profile].vbv_peakrate * 3; |
|
518 |
|
|
519 |
plugins[create.num_plugins].func = codec->xvid_plugin_2pass2_func; |
plugins[create.num_plugins].func = codec->xvid_plugin_2pass2_func; |
520 |
plugins[create.num_plugins].param = &pass2; |
plugins[create.num_plugins].param = &pass2; |
996 |
|
|
997 |
LRESULT decompress_begin(CODEC * codec, BITMAPINFO * lpbiInput, BITMAPINFO * lpbiOutput) |
LRESULT decompress_begin(CODEC * codec, BITMAPINFO * lpbiInput, BITMAPINFO * lpbiOutput) |
998 |
{ |
{ |
999 |
|
BITMAPINFOHEADER * inhdr = &lpbiInput->bmiHeader; |
1000 |
xvid_gbl_init_t init; |
xvid_gbl_init_t init; |
1001 |
xvid_dec_create_t create; |
xvid_dec_create_t create; |
1002 |
HKEY hKey; |
HKEY hKey; |
1013 |
create.version = XVID_VERSION; |
create.version = XVID_VERSION; |
1014 |
create.width = lpbiInput->bmiHeader.biWidth; |
create.width = lpbiInput->bmiHeader.biWidth; |
1015 |
create.height = lpbiInput->bmiHeader.biHeight; |
create.height = lpbiInput->bmiHeader.biHeight; |
1016 |
|
create.fourcc = inhdr->biCompression; |
1017 |
|
|
1018 |
switch(codec->xvid_decore_func(0, XVID_DEC_CREATE, &create, NULL)) |
switch(codec->xvid_decore_func(0, XVID_DEC_CREATE, &create, NULL)) |
1019 |
{ |
{ |
1035 |
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); |
1036 |
|
|
1037 |
REG_GET_N("Brightness", pp_brightness, 0); |
REG_GET_N("Brightness", pp_brightness, 0); |
1038 |
REG_GET_N("Deblock_Y", pp_dy, 0) |
REG_GET_N("Deblock_Y", pp_dy, 0); |
1039 |
REG_GET_N("Deblock_UV", pp_duv, 0) |
REG_GET_N("Deblock_UV", pp_duv, 0); |
1040 |
REG_GET_N("Dering_Y", pp_dry, 0) |
REG_GET_N("Dering_Y", pp_dry, 0); |
1041 |
REG_GET_N("Dering_UV", pp_druv, 0) |
REG_GET_N("Dering_UV", pp_druv, 0); |
1042 |
REG_GET_N("FilmEffect", pp_fe, 0) |
REG_GET_N("FilmEffect", pp_fe, 0); |
1043 |
|
|
1044 |
RegCloseKey(hKey); |
RegCloseKey(hKey); |
1045 |
|
|