Thursday, January 8, 2009

Interview at Ambrado.

1. typedef struct element
{
    unsigned int a;
unsigned int b;
unsigned int c;
unsigned long long d;
unsigned long long e;
unsigned char f;
}element;

what about sizeof(element)? 
Key: it should be 40. how to put them into 32, I do not how to figure it about.


2. give 16 unsigned integer number, computing the round average value, only limited unsigned integer number.

unsinged int avg(unsinged int arr[16])
{
   unsigned int sum1 = 0;
   unsigned int sum2 = 0;
   unsinged int avg_val;
   for(int i=0;i<16;i++)
  {
      sum1 += arr[i]>>4;
      sum2 + = arr[i]&0xf
  }
   avg_val = sum1+(sum2+8)>>4;
  return avg_val;
}

3. How about SIMD architecture, should be more familar with DSP optimizaiton.
 Key:

loop unrolling; 
DMA techniques to move data from memory;
software pipeline;
SIMD to take care of parallel processing;
some intrinsic instructions.

4. How about entropy coding? I should take some time to study about the CAVLC and CABAC in H.264.

1 comment:

shailendra said...

For answer to question no.1 To put them into 32 bytes.

We should make the unsigned char first element of the structure.