176X144 사이즈의 RGB Raw Data를 JPG파일로 저장을 하려고 합니다.
 
 저장까지 되는데 파일이 깨져서 나오네요..형체만 알아볼 정도입니다. 

코드는 아래와 같습니다.

고수님들의 조언 부탁드립니다. 

private static final int RGB565_QCIF_BUFFER_SIZE = 50688;  //Raw Data 배열의 크기

 short[] data565 = new short[RGB565_QCIF_BUFFER_SIZE/2];
 byte [] remoteRGB565ImageBuffer = new byte[RGB565_QCIF_BUFFER_SIZE];   //RGB565 Raw Data

  for(i=0 ; i<RGB565_QCIF_BUFFER_SIZE ; i++)
   castremoteRGB565Image1[i] = (short)remoteRGB565ImageBuffer[i];  //RGB Raw data를 short형으로 바꾼다.
  
  for(i=0, j=0; i<RGB565_QCIF_BUFFER_SIZE ; i++, j++)
  {
   data565[j] = (short) (((castremoteRGB565Image1[i] << 8) & 0xff00) | (castremoteRGB565Image1[i+1] & 0xff));
   i++;
  }

  bmp = Bitmap.createBitmap(176, 144, Bitmap.Config.RGB_565);
  bmp.copyPixelsFromBuffer(makeBuffer(data565, 176, 144));
  bmp.compress(Bitmap.CompressFormat.JPEG, 75, filestrm1);


        private static ShortBuffer makeBuffer(short[] src, int w, int h) {
            ShortBuffer dst = ShortBuffer.allocate(w*h);
                dst.put(src);
            dst.rewind();
            return dst;
        }