Hi Lorenzo Perhaps you forget to make a
int size = avpicture_get_size(avctx->fmt, avctx->width, avctx->height); tempFrame = av_malloc(size*sizeof(uint8_t)); before your avpicture_fill ((AVPicture *)tempFrame,(uint8_t *)img.data,PIX_FMT_BGR24,img.width,img.height) After don't forget to free the tempFrame. Cheers Gilles Maire 2011/2/16 Lorenzo Mattiussi <[email protected]> > hi all, > I've a problem, when the program execute avpicture_fill, I find this > message error: > Unhandled exception at 0x632415fe in EraEndo.exe:0xC0000005: Access > violation writing location 0xcdcdcddd. > Someone can help me?!? > This is the code: > int videoCode::comprimi(const ImageData &img,AVPacket &pack)//PAck deve giĆ > essere stato inizializzato > { > > uint8_t *tempFramebuf; > int sizebuf; > int x; > frameMutex->lock(); > //riempo un immagine temporanea con i dati provenienti dalla webcam > x = avpicture_fill ((AVPicture *)tempFrame,(uint8_t > *)img.data,PIX_FMT_BGR24,img.width,img.height) > ... > > where imageData is this structure: > > struct ImageData > { > // In DirectShow standard RGB formats > // have an inverted memory layout > enum Format {BGR24, BGR32}; > > Format format; > unsigned char* data; > long dataSize; > int width; > int height; > }; > > > > > _______________________________________________ > libav-user mailing list > [email protected] > https://lists.mplayerhq.hu/mailman/listinfo/libav-user > _______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
