- c->idct_put = ff_simple_idct_put_int16_10bit;
- c->idct_add = ff_simple_idct_add_int16_10bit;
- c->idct = ff_simple_idct_int16_10bit;
+ /* 10-bit MPEG-4 Simple Studio Profile requires a higher precision IDCT
+ However, it only uses idct_put */
+ if (c->mpeg4_studio_profile) {
+ c->idct_put = ff_simple_idct_put_int32_10bit;
+ c->idct_add = NULL;
+ c->idct = NULL;
+ } else {
+ c->idct_put = ff_simple_idct_put_int16_10bit;
+ c->idct_add = ff_simple_idct_add_int16_10bit;
+ c->idct = ff_simple_idct_int16_10bit;
+ }