카메라에서 영상을 받아와 화면에 표시하고, 영상에대해 영상처리(마커인식)을 하기 위해 작업하고있습니다.

카메라열기->화면표시->PreviewCallBack함수에서 byte[] data를 가져와서 작업하려고 하는데,
byte[] -> bitmap 변환시, Logcat메시지 ->"SkImageDecoder::Factory returned null"가 발생합니다.

camera = Camera.open();    
try{
   camera.setPreviewDisplay(sHolder); 
   camera.setPreviewCallback(cameraPreivewCB); // 콜백함수 등록
}  
catch (IOException e) {
   camera.release();
   camera = null;   
}
public class CameraPreviewCallBack implements PreviewCallback
{
      public void onPreviewFrame(byte[] data, Camera camera){
          try{ 
                 bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);   // <-여기에서 메시지 발생
                 if (bitmap == null) {
                     Log.d("CameraPreviewCallback", "bitmap is null");        
                     return;      
                 }            
          
                 bitmap = Bitmap.createBitmap(bitmap, 0, 0, CameraImage.WIDTH, CameraImage.HEIGHT); 
          }
         catch(Exception e){
                 Log.d("", "Bitmap error:"+e); 
         }
    }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
무엇이 문제인지?
해결할려면 어떻게 접근해야하는지?
고수님들의 답변 부탁드립니다.

-구글링 해보니, "순수한Raw Data일 경우 bitmap헤더를 만들어 넣으면 해결된다"?라고 하는데 어떻게 하는지 모르겠네요;
-이전에 socket으로 부터 받은 byte[]를 똑깥은 방법으로 했을경우 됬는데,,,, 카메라에서 받아오니깐 안되는 이유가 무엇인지'''