19 |
* along with this program; if not, write to the Free Software |
* along with this program; if not, write to the Free Software |
20 |
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
21 |
* |
* |
22 |
* $Id: codec.c,v 1.29 2010-12-22 16:52:12 Isibaar Exp $ |
* $Id: codec.c,v 1.30 2010-12-27 16:11:05 Isibaar Exp $ |
23 |
* |
* |
24 |
*************************************************************************/ |
*************************************************************************/ |
25 |
|
|
438 |
|
|
439 |
if (codec->config.num_slices == 0) { /* auto */ |
if (codec->config.num_slices == 0) { /* auto */ |
440 |
int rows = (lpbiInput->bmiHeader.biHeight + 15) / 16; |
int rows = (lpbiInput->bmiHeader.biHeight + 15) / 16; |
441 |
int slices = (rows > 36) ? 2 : 1; |
int slices = (rows > 36) ? 4 : 1; /* use multiple slices only for HD resolutions */ |
442 |
|
|
443 |
create.num_slices = (rows > 45) ? 4 : slices; |
create.num_slices = (rows > 45) ? 8 : slices; |
444 |
|
|
445 |
if (create.num_slices > create.num_threads) |
if (create.num_slices > create.num_threads) |
446 |
create.num_slices = create.num_threads; |
create.num_slices = create.num_threads; |
447 |
} |
} |
448 |
else { |
else { |
449 |
create.num_slices = codec->config.num_slices; |
create.num_slices = codec->config.num_slices; /* force manual value - by registry edit */ |
450 |
} |
} |
451 |
|
|
452 |
} |
} |