View Full Version : x264 crashes with adding only one new variable to x264_param_t...


Redhat_doom
23rd January 2009, 19:01
Hi,

I downloaded the last version of x264 and I managed to compile it and also I could encode a test video with it successfuly. Then, I tried to add only a new variable (int test) to structure x264_param_t; But interesting is that after adding this variable or even other variables, when I run x264, it crashes just at the begining of the process!

Actually, in this case, when I run x264, a dialog appears with this message: "x264.exe has encountered a problem and needs to close." But what is the wrong? I tried to add a new and simple variable like (int xx) to other structures such as x264_nal_t but even in this cases, I got the above error! It is so strange for me! What do you think? Thanks!

Dark Shikari
23rd January 2009, 19:56
"x264 encountered a problem and needs to close" is not an error. It is reporting that there was an error, but it has nothing to do with what the error actually was. You may find a debugger useful.

Redhat_doom
23rd January 2009, 22:08
Thanks. I tried to debug the code. The exception occurs after calling function x264_cqm_init( h ). This function is called by x264_encoder_open.

Actually, this exception occurs at the following code in x264_cqm_init(h).

for( i = 0; i < 6; i++ )
{
int size = i<4 ? 16 : 64;
for( j = (i<4 ? 0 : 4); j < i; j++ )
if( !memcmp( h->pps->scaling_list[i], h->pps->scaling_list[j], size*sizeof(uint8_t) ) ) // *** exception occurs here

But it is so strange for me. Because I just only add a simple integer variable to x264_param_t and I don't understand why adding such a variable can raise an exception at the above code!! Any idea?

Guest
23rd January 2009, 22:22
Maybe you didn't rebuild everything that depends on that structure.

Redhat_doom
23rd January 2009, 22:29
Maybe you didn't rebuild everything that depends on that structure.

Yes, you are right! and now the problem has been solved:thanks:

Guest
23rd January 2009, 23:58
Somebody's makefile is hosed. :)