Reciving IR from Philips remote

Dears,
I have problem with IRremote library when use Philips TV RC.
Arduino+IR receiver (Works OK with other brand RC)

Unfortunately I received two different signals when i push f.e button "1":
UNKNOWN: 5D325B85
UNKNOWN: A0D47DD3
UNKNOWN: 5D325B85
UNKNOWN: A0D47DD3

RC-6 should be recognized by IRremote library..
Below you can see package detali:

Encoding : UNKNOWN
Code : 5D325B85 (32 bits)
Timing[41]:
+2600, - 950 + 400, - 900 + 350, - 500 + 350, - 500
+ 400, - 900 + 800, - 500 + 400, - 500 + 350, - 500

  • 350, - 500 + 400, - 500 + 350, - 500 + 350, - 500
  • 400, - 500 + 350, - 500 + 400, - 500 + 350, - 500
  • 350, - 500 + 400, - 500 + 350, - 500 + 350, - 500
  • 850
    unsigned int rawData[41] = {2600,950, 400,900, 350,500, 350,500, 400,900, 800,500, 400,500, 350,500, 350,500, 400,500, 350,500, 350,500, 400,500, 350,500, 400,500, 350,500, 350,500, 400,500, 350,500, 350,500, 850}; // UNKNOWN 5D325B85
    byte rawData[41] = {52,19, 8,18, 7,10, 7,10, 8,18, 16,10, 8,10, 7,10, 7,10, 8,10, 7,10, 7,10, 8,10, 7,10, 8,10, 7,10, 7,10, 8,10, 7,10, 7,10, 17}; // UNKNOWN 5D325B85
    rawData[0]=52;rawData[1]=19;rawData[2]=8;rawData[3]=18;rawData[4]=7;rawData[5]=10;rawData[6]=7;rawData[7]=10;rawData[8]=8;rawData[9]=18;rawData[10]=16;rawData[11]=10;rawData[12]=8;rawData[13]=10;rawData[14]=7;rawData[15]=10;rawData[16]=7;rawData[17]=10;rawData[18]=8;rawData[19]=10;rawData[20]=7;rawData[21]=10;rawData[22]=7;rawData[23]=10;rawData[24]=8;rawData[25]=10;rawData[26]=7;rawData[27]=10;rawData[28]=8;rawData[29]=10;rawData[30]=7;rawData[31]=10;rawData[32]=7;rawData[33]=10;rawData[34]=8;rawData[35]=10;rawData[36]=7;rawData[37]=10;rawData[38]=7;rawData[39]=10;rawData[40]=17;

Encoding : UNKNOWN
Code : A0D47DD3 (32 bits)
Timing[39]:
+2600, - 950 + 400, - 900 + 350, - 500 + 400, - 450
+1250, -1350 + 400, - 500 + 350, - 500 + 350, - 500

  • 400, - 500 + 350, - 500 + 350, - 500 + 400, - 500
  • 350, - 500 + 400, - 450 + 400, - 500 + 350, - 500
  • 400, - 500 + 350, - 500 + 350, - 500 + 850
    unsigned int rawData[39] = {2600,950, 400,900, 350,500, 400,450, 1250,1350, 400,500, 350,500, 350,500, 400,500, 350,500, 350,500, 400,500, 350,500, 400,450, 400,500, 350,500, 400,500, 350,500, 350,500, 850}; // UNKNOWN A0D47DD3
    byte rawData[39] = {52,19, 8,18, 7,10, 8,9, 25,27, 8,10, 7,10, 7,10, 8,10, 7,10, 7,10, 8,10, 7,10, 8,9, 8,10, 7,10, 8,10, 7,10, 7,10, 17}; // UNKNOWN A0D47DD3
    rawData[0]=52;rawData[1]=19;rawData[2]=8;rawData[3]=18;rawData[4]=7;rawData[5]=10;rawData[6]=8;rawData[7]=9;rawData[8]=25;rawData[9]=27;rawData[10]=8;rawData[11]=10;rawData[12]=7;rawData[13]=10;rawData[14]=7;rawData[15]=10;rawData[16]=8;rawData[17]=10;rawData[18]=7;rawData[19]=10;rawData[20]=7;rawData[21]=10;rawData[22]=8;rawData[23]=10;rawData[24]=7;rawData[25]=10;rawData[26]=8;rawData[27]=9;rawData[28]=8;rawData[29]=10;rawData[30]=7;rawData[31]=10;rawData[32]=8;rawData[33]=10;rawData[34]=7;rawData[35]=10;rawData[36]=7;rawData[37]=10;rawData[38]=17;

Numbers of bits: 40 or 42
So 2 bits are split as i think.
Question why and how to solve it?