MVOID StereoNodeImpl:: onDumpBuffer(const char* usr, MUINT32 const data, MUINTPTR const buf, MUINT32 const ext) { #define DUMP_PREFIX "/sdcard/cameradump_" char dumppath[256]; sprintf( dumppath, "%s%s/", DUMP_PREFIX, usr ); #define DUMP_IImageBuffer( type, pbuf, fileExt, cnt) \ do{ \ IImageBuffer* buffer = (IImageBuffer*)pbuf; \ char filename[256]; \ sprintf(filename, "%s%s_%d_%dx%d_%d.%s", \ dumppath, \ #type, \ getSensorIdx(), \ buffer->getImgSize().w,buffer->getImgSize().h, \ cnt, \ fileExt \ ); \ buffer->saveToFile(filename); \ }while(0) if(!makePath(dumppath,0660)) { MY_LOGE("makePath [%s] fail",dumppath); return; } switch( data ) { case STEREO_SRC: DUMP_IImageBuffer( STEREO_SRC, buf, "raw", muPostFrameCnt ); break; case STEREO_IMG: { if ( !mDebugDumpGB ) { IImageBuffer* buffer = (IImageBuffer*)buf; buffer->unlockBuf("DUMP"); buffer->lockBuf("DUMP", eBUFFER_USAGE_SW_READ_RARELY); DUMP_IImageBuffer( STEREO_IMG, buf, "yuv", muDeqFrameCnt ); buffer->unlockBuf("DUMP"); buffer->lockBuf("DUMP", eBUFFER_USAGE_HW_RENDER|eBUFFER_USAGE_HW_TEXTURE|eBUFFER_USAGE_SW_WRITE_RARELY); } else { DUMP_IImageBuffer( STEREO_IMG, buf, "yuv", muDeqFrameCnt ); } } break; case STEREO_RGB: DUMP_IImageBuffer( STEREO_RGB, buf, "rgb", muDeqFrameCnt ); break; default: MY_LOGE("not handle this yet: data %d", data); break; } #undef DUMP_IImageBuffer }
MVOID ExtImgProcNodeImpl:: onDumpBuffer(const char* usr, MUINT32 const data, MUINT32 const buf, MUINT32 const ext) { #define DUMP_PREFIX "/sdcard/cameradump_" char dumppath[256]; sprintf( dumppath, "%s%s/", DUMP_PREFIX, usr ); #define DUMP_IImageBuffer( type, pbuf, fileExt, cnt) \ do{ \ IImageBuffer* buffer = (IImageBuffer*)pbuf; \ char filename[256]; \ sprintf(filename, "%s%s_%d_%dx%d_%d.%s", \ dumppath, \ #type, \ getSensorIdx(), \ buffer->getImgSize().w,buffer->getImgSize().h, \ cnt, \ fileExt \ ); \ buffer->saveToFile(filename); \ }while(0) if(!makePath(dumppath,0660)) { MY_LOGE("makePath [%s] fail",dumppath); return; } switch( data ) { case EXTIMGPROC_SRC: DUMP_IImageBuffer( EXTIMGPROC_SRC, buf, "yuv", muPostFrameCnt ); break; case EXTIMGPROC_DST_0: DUMP_IImageBuffer( EXTIMGPROC_DST_0, buf, "yuv", muDeqFrameCnt ); break; default: MY_LOGE("not handle this yet: data %d", data); break; } #undef DUMP_IImageBuffer }
//----------------------------------------------------------------------------- MVOID CapBufNodeImp:: onDumpBuffer(const char* usr, MUINT32 const data, MUINT32 const buf, MUINT32 const ext) { #define DUMP_PATH "/sdcard/camnode/" #define DUMP_IImageBuffer( type, pbuf, fileExt ) \ do{ \ IImageBuffer* buffer = (IImageBuffer*)pbuf; \ char filename[256]; \ sprintf(filename, "%s%s_%dx%d_%d.%s", \ DUMP_PATH, \ #type, \ buffer->getImgSize().w,buffer->getImgSize().h, \ muFrameCnt, \ fileExt \ ); \ MY_LOGD("dump %s", filename); \ buffer->saveToFile(filename); \ }while(0) if(!makePath(DUMP_PATH,0660)) { MY_LOGE("makePath [%s] fail",DUMP_PATH); return; } switch( data ) { case PASS1_FULLRAW: DUMP_IImageBuffer( PASS1_FULLRAW, buf, "raw" ); break; case PASS1_RESIZEDRAW: DUMP_IImageBuffer( PASS1_RESIZEDRAW, buf, "raw" ); break; default: MY_LOGE("not handle this yet data(0x%x)", data); break; } }