aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--TOOLS/vivodump.c4
-rw-r--r--libmpcodecs/ad_acm.c2
-rw-r--r--libmpcodecs/ad_ffmpeg.c2
-rw-r--r--libmpcodecs/ad_mpc.c3
-rw-r--r--libmpcodecs/vd_ffmpeg.c14
-rw-r--r--libmpcodecs/vd_qtvideo.c2
-rw-r--r--libmpcodecs/vd_realvid.c4
-rw-r--r--libmpcodecs/ve_lavc.c21
-rw-r--r--libmpcodecs/ve_libdv.c4
-rw-r--r--libmpcodecs/ve_nuv.c4
-rw-r--r--libmpcodecs/ve_x264.c9
-rw-r--r--libmpcodecs/ve_xvid4.c4
-rw-r--r--libmpdemux/asfheader.c6
-rw-r--r--libmpdemux/aviheader.c14
-rw-r--r--libmpdemux/aviprint.c4
-rw-r--r--libmpdemux/demux_audio.c6
-rw-r--r--libmpdemux/demux_avs.c4
-rw-r--r--libmpdemux/demux_film.c4
-rw-r--r--libmpdemux/demux_gif.c2
-rw-r--r--libmpdemux/demux_lavf.c6
-rw-r--r--libmpdemux/demux_lmlm4.c6
-rw-r--r--libmpdemux/demux_mf.c3
-rw-r--r--libmpdemux/demux_mkv.c37
-rw-r--r--libmpdemux/demux_mng.c2
-rw-r--r--libmpdemux/demux_mov.c20
-rw-r--r--libmpdemux/demux_nemesi.c12
-rw-r--r--libmpdemux/demux_nsv.c4
-rw-r--r--libmpdemux/demux_nut.c6
-rw-r--r--libmpdemux/demux_ogg.c28
-rw-r--r--libmpdemux/demux_rawaudio.c2
-rw-r--r--libmpdemux/demux_rawdv.c5
-rw-r--r--libmpdemux/demux_real.c22
-rw-r--r--libmpdemux/demux_realaud.c3
-rw-r--r--libmpdemux/demux_roq.c2
-rw-r--r--libmpdemux/demux_smjpeg.c6
-rw-r--r--libmpdemux/demux_ts.c6
-rw-r--r--libmpdemux/demux_viv.c6
-rw-r--r--libmpdemux/demux_vqf.c3
-rw-r--r--libmpdemux/demux_xmms.c2
-rw-r--r--libmpdemux/demux_y4m.c2
-rw-r--r--libmpdemux/muxer_avi.c2
-rw-r--r--libmpdemux/video.c6
-rw-r--r--loader/afl.c6
-rw-r--r--stream/tv.c2
-rw-r--r--stream/tvi_def.h4
45 files changed, 143 insertions, 173 deletions
diff --git a/TOOLS/vivodump.c b/TOOLS/vivodump.c
index 2893fa29a0..5c2e81c23b 100644
--- a/TOOLS/vivodump.c
+++ b/TOOLS/vivodump.c
@@ -212,8 +212,8 @@ mux->buffer=malloc(mux->buffer_size);
mux->h.dwScale=1;
mux->h.dwRate=10;
-mux->bih=malloc(sizeof(BITMAPINFOHEADER));
-mux->bih->biSize=sizeof(BITMAPINFOHEADER);
+mux->bih=malloc(sizeof(*mux->bih));
+mux->bih->biSize=sizeof(*mux->bih);
mux->bih->biPlanes=1;
mux->bih->biBitCount=24;
mux->bih->biCompression=0x6f766976;// 7669766f;
diff --git a/libmpcodecs/ad_acm.c b/libmpcodecs/ad_acm.c
index 46af4fae7d..1b1184a06a 100644
--- a/libmpcodecs/ad_acm.c
+++ b/libmpcodecs/ad_acm.c
@@ -71,7 +71,7 @@ static int preinit(sh_audio_t *sh_audio)
// priv->handle = NULL;
- priv->o_wf = malloc(sizeof(WAVEFORMATEX));
+ priv->o_wf = malloc(sizeof(*priv->o_wf));
if (!priv->o_wf)
{
mp_tmsg(MSGT_DECAUDIO,MSGL_ERR,"Could not load/initialize Win32/ACM audio codec (missing DLL file?).\n");
diff --git a/libmpcodecs/ad_ffmpeg.c b/libmpcodecs/ad_ffmpeg.c
index 6dd5dcf492..7c398af5b0 100644
--- a/libmpcodecs/ad_ffmpeg.c
+++ b/libmpcodecs/ad_ffmpeg.c
@@ -129,7 +129,7 @@ static int init(sh_audio_t *sh_audio)
if (sh_audio->wf && sh_audio->wf->cbSize > 0) {
lavc_context->extradata = av_mallocz(sh_audio->wf->cbSize + FF_INPUT_BUFFER_PADDING_SIZE);
lavc_context->extradata_size = sh_audio->wf->cbSize;
- memcpy(lavc_context->extradata, (char *)sh_audio->wf + sizeof(WAVEFORMATEX),
+ memcpy(lavc_context->extradata, sh_audio->wf + 1,
lavc_context->extradata_size);
}
diff --git a/libmpcodecs/ad_mpc.c b/libmpcodecs/ad_mpc.c
index 33ed911f72..31463abcb7 100644
--- a/libmpcodecs/ad_mpc.c
+++ b/libmpcodecs/ad_mpc.c
@@ -134,8 +134,7 @@ static int init(sh_audio_t *sh) {
mp_msg(MSGT_DECAUDIO, MSGL_FATAL, "Missing extradata!\n");
return 0;
}
- cd->header = (char *)sh->wf;
- cd->header = &cd->header[sizeof(WAVEFORMATEX)];
+ cd->header = (char *)(sh->wf + 1);
cd->header_len = sh->wf->cbSize;
cd->sh = sh;
cd->pos = 0;
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
index 30ee162743..1bb7c2e94b 100644
--- a/libmpcodecs/vd_ffmpeg.c
+++ b/libmpcodecs/vd_ffmpeg.c
@@ -294,10 +294,10 @@ static int init(sh_video_t *sh){
/* AVRn stores huffman table in AVI header */
/* Pegasus MJPEG stores it also in AVI header, but it uses the common
MJPG fourcc :( */
- if (!sh->bih || sh->bih->biSize <= sizeof(BITMAPINFOHEADER))
+ if (!sh->bih || sh->bih->biSize <= sizeof(*sh->bih))
break;
avctx->flags |= CODEC_FLAG_EXTERN_HUFF;
- avctx->extradata_size = sh->bih->biSize-sizeof(BITMAPINFOHEADER);
+ avctx->extradata_size = sh->bih->biSize-sizeof(*sh->bih);
avctx->extradata = av_mallocz(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
memcpy(avctx->extradata, sh->bih+1, avctx->extradata_size);
@@ -327,7 +327,7 @@ static int init(sh_video_t *sh){
(sh->format == mmioFOURCC('R', 'V', '1', '3')) ? 0x10003001 : 0x10000000;
} else {
/* has extra slice header (demux_rm or rm->avi streamcopy) */
- avctx->extradata_size = sh->bih->biSize-sizeof(BITMAPINFOHEADER);
+ avctx->extradata_size = sh->bih->biSize-sizeof(*sh->bih);
avctx->extradata = av_mallocz(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
memcpy(avctx->extradata, sh->bih+1, avctx->extradata_size);
}
@@ -337,9 +337,9 @@ static int init(sh_video_t *sh){
break;
default:
- if (!sh->bih || sh->bih->biSize <= sizeof(BITMAPINFOHEADER))
+ if (!sh->bih || sh->bih->biSize <= sizeof(*sh->bih))
break;
- avctx->extradata_size = sh->bih->biSize-sizeof(BITMAPINFOHEADER);
+ avctx->extradata_size = sh->bih->biSize-sizeof(*sh->bih);
avctx->extradata = av_mallocz(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
memcpy(avctx->extradata, sh->bih+1, avctx->extradata_size);
break;
@@ -348,10 +348,10 @@ static int init(sh_video_t *sh){
if (sh->bih && (sh->bih->biBitCount <= 8)) {
avctx->palctrl = calloc(1, sizeof(AVPaletteControl));
avctx->palctrl->palette_changed = 1;
- if (sh->bih->biSize-sizeof(BITMAPINFOHEADER))
+ if (sh->bih->biSize-sizeof(*sh->bih))
/* Palette size in biSize */
memcpy(avctx->palctrl->palette, sh->bih+1,
- FFMIN(sh->bih->biSize-sizeof(BITMAPINFOHEADER), AVPALETTE_SIZE));
+ FFMIN(sh->bih->biSize-sizeof(*sh->bih), AVPALETTE_SIZE));
else
/* Palette size in biClrUsed */
memcpy(avctx->palctrl->palette, sh->bih+1,
diff --git a/libmpcodecs/vd_qtvideo.c b/libmpcodecs/vd_qtvideo.c
index b0340e5020..1847291b0b 100644
--- a/libmpcodecs/vd_qtvideo.c
+++ b/libmpcodecs/vd_qtvideo.c
@@ -98,7 +98,7 @@ static int control(sh_video_t *sh,int cmd,void* arg,...){
// init driver
static int init(sh_video_t *sh){
OSErr result = 1;
- int extradata_size = sh->bih ? sh->bih->biSize - sizeof(BITMAPINFOHEADER) : 0;
+ int extradata_size = sh->bih ? sh->bih->biSize - sizeof(*sh->bih) : 0;
void *extradata = sh->bih + 1;
if (!sh->ImageDesc)
diff --git a/libmpcodecs/vd_realvid.c b/libmpcodecs/vd_realvid.c
index 04ac9efba7..c0994952ab 100644
--- a/libmpcodecs/vd_realvid.c
+++ b/libmpcodecs/vd_realvid.c
@@ -282,11 +282,11 @@ static int init(sh_video_t *sh){
int result;
// we export codec id and sub-id from demuxer in bitmapinfohdr:
unsigned char* extrahdr=(unsigned char*)(sh->bih+1);
- unsigned int extrahdr_size = sh->bih->biSize - sizeof(BITMAPINFOHEADER);
+ unsigned int extrahdr_size = sh->bih->biSize - sizeof(*sh->bih);
struct rv_init_t init_data;
if(extrahdr_size < 8) {
- mp_msg(MSGT_DECVIDEO,MSGL_ERR,"realvideo: extradata too small (%u)\n", sh->bih->biSize - sizeof(BITMAPINFOHEADER));
+ mp_msg(MSGT_DECVIDEO,MSGL_ERR,"realvideo: extradata too small (%u)\n", extrahdr_size);
return 0;
}
init_data = (struct rv_init_t){11, sh->disp_w, sh->disp_h, 0, 0, AV_RB32(extrahdr), 1, AV_RB32(extrahdr + 4)}; // rv30
diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c
index b36dad73ee..258dbf2cc5 100644
--- a/libmpcodecs/ve_lavc.c
+++ b/libmpcodecs/ve_lavc.c
@@ -927,8 +927,7 @@ static int vf_open(vf_instance_t *vf, char* args){
vf->control=control;
vf->query_format=query_format;
vf->put_image=put_image;
- vf->priv=malloc(sizeof(struct vf_priv_s));
- memset(vf->priv,0,sizeof(struct vf_priv_s));
+ vf->priv=calloc(1, sizeof(struct vf_priv_s));
vf->priv->mux=(muxer_stream_t*)args;
/* XXX: hack: some of the MJPEG decoder DLL's needs exported huffman
@@ -936,40 +935,34 @@ static int vf_open(vf_instance_t *vf, char* args){
huffman tables into the stream, so no problem */
if (lavc_param_vcodec && !strcasecmp(lavc_param_vcodec, "mjpeg"))
{
- mux_v->bih=malloc(sizeof(BITMAPINFOHEADER)+28);
- memset(mux_v->bih, 0, sizeof(BITMAPINFOHEADER)+28);
+ mux_v->bih=calloc(1, sizeof(BITMAPINFOHEADER)+28);
mux_v->bih->biSize=sizeof(BITMAPINFOHEADER)+28;
}
else if (lavc_param_vcodec && (!strcasecmp(lavc_param_vcodec, "huffyuv")
|| !strcasecmp(lavc_param_vcodec, "ffvhuff")))
{
/* XXX: hack: huffyuv needs to store huffman tables (allthough we dunno the size yet ...) */
- mux_v->bih=malloc(sizeof(BITMAPINFOHEADER)+1000);
- memset(mux_v->bih, 0, sizeof(BITMAPINFOHEADER)+1000);
+ mux_v->bih=calloc(1, sizeof(BITMAPINFOHEADER)+1000);
mux_v->bih->biSize=sizeof(BITMAPINFOHEADER)+1000;
}
else if (lavc_param_vcodec && !strcasecmp(lavc_param_vcodec, "asv1"))
{
- mux_v->bih=malloc(sizeof(BITMAPINFOHEADER)+8);
- memset(mux_v->bih, 0, sizeof(BITMAPINFOHEADER)+8);
+ mux_v->bih=calloc(1, sizeof(BITMAPINFOHEADER)+8);
mux_v->bih->biSize=sizeof(BITMAPINFOHEADER)+8;
}
else if (lavc_param_vcodec && !strcasecmp(lavc_param_vcodec, "asv2"))
{
- mux_v->bih=malloc(sizeof(BITMAPINFOHEADER)+8);
- memset(mux_v->bih, 0, sizeof(BITMAPINFOHEADER)+8);
+ mux_v->bih=calloc(1, sizeof(BITMAPINFOHEADER)+8);
mux_v->bih->biSize=sizeof(BITMAPINFOHEADER)+8;
}
else if (lavc_param_vcodec && !strcasecmp(lavc_param_vcodec, "wmv2"))
{
- mux_v->bih=malloc(sizeof(BITMAPINFOHEADER)+4);
- memset(mux_v->bih, 0, sizeof(BITMAPINFOHEADER)+4);
+ mux_v->bih=calloc(1, sizeof(BITMAPINFOHEADER)+4);
mux_v->bih->biSize=sizeof(BITMAPINFOHEADER)+4;
}
else
{
- mux_v->bih=malloc(sizeof(BITMAPINFOHEADER));
- memset(mux_v->bih, 0, sizeof(BITMAPINFOHEADER));
+ mux_v->bih=calloc(1, sizeof(BITMAPINFOHEADER));
mux_v->bih->biSize=sizeof(BITMAPINFOHEADER);
}
mux_v->bih->biWidth=0;
diff --git a/libmpcodecs/ve_libdv.c b/libmpcodecs/ve_libdv.c
index f1e265398e..99808e34e8 100644
--- a/libmpcodecs/ve_libdv.c
+++ b/libmpcodecs/ve_libdv.c
@@ -113,8 +113,8 @@ static int vf_open(vf_instance_t *vf, char* args){
vf->priv->enc=dv_encoder_new(0,1,1); // FIXME, parse some options!
if(!vf->priv->enc) return 0;
- mux_v->bih=calloc(1, sizeof(BITMAPINFOHEADER));
- mux_v->bih->biSize=sizeof(BITMAPINFOHEADER);
+ mux_v->bih=calloc(1, sizeof(*mux_v->bih));
+ mux_v->bih->biSize=sizeof(*mux_v->bih);
mux_v->bih->biWidth=0;
mux_v->bih->biHeight=0;
mux_v->bih->biCompression=mmioFOURCC('d','v','s','d');
diff --git a/libmpcodecs/ve_nuv.c b/libmpcodecs/ve_nuv.c
index 9fe25d4154..807fff5517 100644
--- a/libmpcodecs/ve_nuv.c
+++ b/libmpcodecs/ve_nuv.c
@@ -225,8 +225,8 @@ static int vf_open(vf_instance_t *vf, char* args){
memcpy(vf->priv, &nuv_priv_dflt,sizeof(struct vf_priv_s));
vf->priv->mux=(muxer_stream_t*)args;
- mux_v->bih=calloc(1, sizeof(BITMAPINFOHEADER));
- mux_v->bih->biSize=sizeof(BITMAPINFOHEADER);
+ mux_v->bih=calloc(1, sizeof(*mux_v->bih));
+ mux_v->bih->biSize=sizeof(*mux_v->bih);
mux_v->bih->biWidth=0;
mux_v->bih->biHeight=0;
mux_v->bih->biPlanes=1;
diff --git a/libmpcodecs/ve_x264.c b/libmpcodecs/ve_x264.c
index c14b71ab55..47a636b3cc 100644
--- a/libmpcodecs/ve_x264.c
+++ b/libmpcodecs/ve_x264.c
@@ -182,9 +182,9 @@ static int config(struct vf_instance *vf, int width, int height, int d_width, in
extradata_size = x264_encoder_headers(mod->x264, &nal, &nnal);
- mod->mux->bih= realloc(mod->mux->bih, sizeof(BITMAPINFOHEADER) + extradata_size);
+ mod->mux->bih= realloc(mod->mux->bih, sizeof(*mod->mux->bih) + extradata_size);
memcpy(mod->mux->bih + 1, nal->p_payload, extradata_size);
- mod->mux->bih->biSize= sizeof(BITMAPINFOHEADER) + extradata_size;
+ mod->mux->bih->biSize= sizeof(*mod->mux->bih) + extradata_size;
}
if (param.i_bframe > 1 && param.i_bframe_pyramid)
@@ -290,9 +290,8 @@ static int vf_open(vf_instance_t *vf, char *args) {
mod=(h264_module_t*)vf->priv;
mod->mux = (muxer_stream_t*)args;
- mod->mux->bih = malloc(sizeof(BITMAPINFOHEADER));
- memset(mod->mux->bih, 0, sizeof(BITMAPINFOHEADER));
- mod->mux->bih->biSize = sizeof(BITMAPINFOHEADER);
+ mod->mux->bih = calloc(1, sizeof(*mod->mux->bih));
+ mod->mux->bih->biSize = sizeof(*mod->mux->bih);
mod->mux->bih->biPlanes = 1;
mod->mux->bih->biBitCount = 24;
mod->mux->bih->biCompression = mmioFOURCC('h', '2', '6', '4');
diff --git a/libmpcodecs/ve_xvid4.c b/libmpcodecs/ve_xvid4.c
index fc6aa2d23b..778817c25f 100644
--- a/libmpcodecs/ve_xvid4.c
+++ b/libmpcodecs/ve_xvid4.c
@@ -602,7 +602,7 @@ vf_open(vf_instance_t *vf, char* args)
mod->mux = (muxer_stream_t*)args;
/* Initialize muxer BITMAP header */
- mod->mux->bih = calloc(1, sizeof(BITMAPINFOHEADER));
+ mod->mux->bih = calloc(1, sizeof(*mod->mux->bih));
if(mod->mux->bih == NULL) {
mp_msg(MSGT_MENCODER,MSGL_ERR,
@@ -610,7 +610,7 @@ vf_open(vf_instance_t *vf, char* args)
return BAD;
}
- mod->mux->bih->biSize = sizeof(BITMAPINFOHEADER);
+ mod->mux->bih->biSize = sizeof(*mod->mux->bih);
mod->mux->bih->biWidth = 0;
mod->mux->bih->biHeight = 0;
mod->mux->bih->biPlanes = 1;
diff --git a/libmpdemux/asfheader.c b/libmpdemux/asfheader.c
index b1058ae011..033d065606 100644
--- a/libmpdemux/asfheader.c
+++ b/libmpdemux/asfheader.c
@@ -344,7 +344,7 @@ static int asf_init_audio_stream(demuxer_t *demuxer,struct asf_priv* asf, sh_aud
uint8_t *buffer = *buf;
int pos = *ppos;
- sh_audio->wf=calloc((streamh->type_size<sizeof(WAVEFORMATEX))?sizeof(WAVEFORMATEX):streamh->type_size,1);
+ sh_audio->wf=calloc((streamh->type_size<sizeof(*sh_audio->wf))?sizeof(*sh_audio->wf):streamh->type_size,1);
memcpy(sh_audio->wf,buffer,streamh->type_size);
le2me_WAVEFORMATEX(sh_audio->wf);
if( mp_msg_test(MSGT_HEADER,MSGL_V) ) print_wave_header(sh_audio->wf,MSGL_V);
@@ -493,10 +493,10 @@ int read_asf_header(demuxer_t *demuxer,struct asf_priv* asf){
len=streamh->type_size-(4+4+1+2);
++video_streams;
// sh_video->bih=malloc(chunksize); memset(sh_video->bih,0,chunksize);
- sh_video->bih=calloc((len<sizeof(BITMAPINFOHEADER))?sizeof(BITMAPINFOHEADER):len,1);
+ sh_video->bih=calloc((len<sizeof(*sh_video->bih))?sizeof(*sh_video->bih):len,1);
memcpy(sh_video->bih,&buffer[4+4+1+2],len);
le2me_BITMAPINFOHEADER(sh_video->bih);
- if (sh_video->bih->biSize > len && sh_video->bih->biSize > sizeof(BITMAPINFOHEADER))
+ if (sh_video->bih->biSize > len && sh_video->bih->biSize > sizeof(*sh_video->bih))
sh_video->bih->biSize = len;
if (sh_video->bih->biCompression == mmioFOURCC('D', 'V', 'R', ' ')) {
//mp_tmsg(MSGT_DEMUXER, MSGL_WARN, "DVR will probably only work with libavformat, try -demuxer 35 if you have problems\n");
diff --git a/libmpdemux/aviheader.c b/libmpdemux/aviheader.c
index 27d1e4a27f..ac3a7f7ae6 100644
--- a/libmpdemux/aviheader.c
+++ b/libmpdemux/aviheader.c
@@ -265,12 +265,12 @@ while(1){
break; }
case ckidSTREAMFORMAT: { // read 'strf'
if(last_fccType==streamtypeVIDEO){
- sh_video->bih=calloc(FFMAX(chunksize, sizeof(BITMAPINFOHEADER)), 1);
+ sh_video->bih=calloc(FFMAX(chunksize, sizeof(*sh_video->bih)), 1);
// sh_video->bih=malloc(chunksize); memset(sh_video->bih,0,chunksize);
- mp_tmsg(MSGT_HEADER,MSGL_V,"Found 'bih', %u bytes of %d\n",chunksize,sizeof(BITMAPINFOHEADER));
+ mp_tmsg(MSGT_HEADER,MSGL_V,"Found 'bih', %u bytes of %d\n",chunksize,sizeof(*sh_video->bih));
stream_read(demuxer->stream,(char*) sh_video->bih,chunksize);
le2me_BITMAPINFOHEADER(sh_video->bih); // swap to machine endian
- if (sh_video->bih->biSize > chunksize && sh_video->bih->biSize > sizeof(BITMAPINFOHEADER))
+ if (sh_video->bih->biSize > chunksize && sh_video->bih->biSize > sizeof(*sh_video->bih))
sh_video->bih->biSize = chunksize;
// fixup MS-RLE header (seems to be broken for <256 color files)
if(sh_video->bih->biCompression<=1 && sh_video->bih->biSize==40)
@@ -320,15 +320,15 @@ while(1){
}
} else
if(last_fccType==streamtypeAUDIO){
- unsigned wf_size = chunksize<sizeof(WAVEFORMATEX)?sizeof(WAVEFORMATEX):chunksize;
+ unsigned wf_size = chunksize<sizeof(*sh_audio->wf)?sizeof(*sh_audio->wf):chunksize;
sh_audio->wf=calloc(wf_size,1);
// sh_audio->wf=malloc(chunksize); memset(sh_audio->wf,0,chunksize);
- mp_tmsg(MSGT_HEADER,MSGL_V,"Found 'wf', %d bytes of %d\n",chunksize,sizeof(WAVEFORMATEX));
+ mp_tmsg(MSGT_HEADER,MSGL_V,"Found 'wf', %d bytes of %d\n",chunksize,sizeof(*sh_audio->wf));
stream_read(demuxer->stream,(char*) sh_audio->wf,chunksize);
le2me_WAVEFORMATEX(sh_audio->wf);
if (sh_audio->wf->cbSize != 0 &&
- wf_size < sizeof(WAVEFORMATEX)+sh_audio->wf->cbSize) {
- sh_audio->wf=realloc(sh_audio->wf, sizeof(WAVEFORMATEX)+sh_audio->wf->cbSize);
+ wf_size < sizeof(*sh_audio->wf)+sh_audio->wf->cbSize) {
+ sh_audio->wf=realloc(sh_audio->wf, sizeof(*sh_audio->wf)+sh_audio->wf->cbSize);
}
sh_audio->format=sh_audio->wf->wFormatTag;
if (sh_audio->format == 1 &&
diff --git a/libmpdemux/aviprint.c b/libmpdemux/aviprint.c
index f83bcd3756..e7520a42c5 100644
--- a/libmpdemux/aviprint.c
+++ b/libmpdemux/aviprint.c
@@ -117,12 +117,12 @@ void print_video_header(BITMAPINFOHEADER *h, int verbose_level){
mp_msg(MSGT_HEADER, verbose_level, " biBitCount %d\n", h->biBitCount);
mp_msg(MSGT_HEADER, verbose_level, " biCompression %d='%.4s'\n", h->biCompression, (char *)&h->biCompression);
mp_msg(MSGT_HEADER, verbose_level, " biSizeImage %d\n", h->biSizeImage);
- if (h->biSize > sizeof(BITMAPINFOHEADER))
+ if (h->biSize > sizeof(*h))
{
int i;
uint8_t* p = (uint8_t*)(h + 1);
mp_msg(MSGT_HEADER, verbose_level, "Unknown extra header dump: ");
- for (i = 0; i < h->biSize-sizeof(BITMAPINFOHEADER); i++)
+ for (i = 0; i < h->biSize-sizeof(*h); i++)
mp_msg(MSGT_HEADER, verbose_level, "[%x] ", *(p+i));
mp_msg(MSGT_HEADER, verbose_level, "\n");
}
diff --git a/libmpdemux/demux_audio.c b/libmpdemux/demux_audio.c
index 38f1d2afd2..16118a4139 100644
--- a/libmpdemux/demux_audio.c
+++ b/libmpdemux/demux_audio.c
@@ -333,7 +333,7 @@ static int demux_audio_open(demuxer_t* demuxer) {
sh_audio->audio.dwSampleSize= 0;
sh_audio->audio.dwScale = mp3_found->mpa_spf;
sh_audio->audio.dwRate = mp3_found->mp3_freq;
- sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
+ sh_audio->wf = malloc(sizeof(*sh_audio->wf));
sh_audio->wf->wFormatTag = sh_audio->format;
sh_audio->wf->nChannels = mp3_found->mp3_chans;
sh_audio->wf->nSamplesPerSec = mp3_found->mp3_freq;
@@ -394,7 +394,7 @@ static int demux_audio_open(demuxer_t* demuxer) {
mp_msg(MSGT_DEMUX,MSGL_ERR,"[demux_audio] Bad wav header length: too long (%d)!!!\n",l);
l = 16;
}
- sh_audio->wf = w = malloc(l > sizeof(WAVEFORMATEX) ? l : sizeof(WAVEFORMATEX));
+ sh_audio->wf = w = malloc(l > sizeof(*w) ? l : sizeof(*w));
w->wFormatTag = sh_audio->format = stream_read_word_le(s);
w->nChannels = sh_audio->channels = stream_read_word_le(s);
w->nSamplesPerSec = sh_audio->samplerate = stream_read_dword_le(s);
@@ -413,7 +413,7 @@ static int demux_audio_open(demuxer_t* demuxer) {
l,w->cbSize);
w->cbSize = l;
}
- stream_read(s,(char*)((char*)(w)+sizeof(WAVEFORMATEX)),w->cbSize);
+ stream_read(s,(char*)(w + 1),w->cbSize);
l -= w->cbSize;
if (w->wFormatTag & 0xfffe && w->cbSize >= 22)
sh_audio->format = ((WAVEFORMATEXTENSIBLE *)w)->SubFormat;
diff --git a/libmpdemux/demux_avs.c b/libmpdemux/demux_avs.c
index 33fc01ab0d..e90e36c1a7 100644
--- a/libmpdemux/demux_avs.c
+++ b/libmpdemux/demux_avs.c
@@ -299,7 +299,7 @@ static demuxer_t* demux_open_avs(demuxer_t* demuxer)
sh_video->fps = (double) AVS->video_info->fps_numerator / (double) AVS->video_info->fps_denominator;
sh_video->frametime = 1.0 / sh_video->fps;
- sh_video->bih = malloc(sizeof(BITMAPINFOHEADER) + (256 * 4));
+ sh_video->bih = malloc(sizeof(*sh_video->bih) + (256 * 4));
sh_video->bih->biCompression = sh_video->format;
sh_video->bih->biBitCount = avs_bits_per_pixel(AVS->video_info);
//sh_video->bih->biPlanes = 2;
@@ -332,7 +332,7 @@ static demuxer_t* demux_open_avs(demuxer_t* demuxer)
demuxer->audio->sh = sh_audio;
sh_audio->ds = demuxer->audio;
- sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
+ sh_audio->wf = malloc(sizeof(*sh_audio->wf));
sh_audio->wf->wFormatTag = sh_audio->format =
(AVS->video_info->sample_type == AVS_SAMPLE_FLOAT) ? 0x3 : 0x1;
sh_audio->wf->nChannels = sh_audio->channels = AVS->video_info->nchannels;
diff --git a/libmpdemux/demux_film.c b/libmpdemux/demux_film.c
index e337fe1c14..57d8296d80 100644
--- a/libmpdemux/demux_film.c
+++ b/libmpdemux/demux_film.c
@@ -325,7 +325,7 @@ static demuxer_t* demux_open_film(demuxer_t* demuxer)
demuxer->audio->sh = sh_audio;
sh_audio->ds = demuxer->audio;
- sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
+ sh_audio->wf = malloc(sizeof(*sh_audio->wf));
// uncompressed PCM format
sh_audio->wf->wFormatTag = 1;
@@ -356,7 +356,7 @@ static demuxer_t* demux_open_film(demuxer_t* demuxer)
demuxer->audio->sh = sh_audio;
sh_audio->ds = demuxer->audio;
- sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
+ sh_audio->wf = malloc(sizeof(*sh_audio->wf));
// uncompressed PCM format
sh_audio->wf->wFormatTag = 1;
diff --git a/libmpdemux/demux_gif.c b/libmpdemux/demux_gif.c
index 0a59bff5d8..d82728ffb6 100644
--- a/libmpdemux/demux_gif.c
+++ b/libmpdemux/demux_gif.c
@@ -279,7 +279,7 @@ static demuxer_t* demux_open_gif(demuxer_t* demuxer)
sh_video->fps = 5.0f;
sh_video->frametime = 1.0f / sh_video->fps;
- sh_video->bih = malloc(sizeof(BITMAPINFOHEADER) + (256 * 4));
+ sh_video->bih = malloc(sizeof(*sh_video->bih) + (256 * 4));
sh_video->bih->biCompression = sh_video->format;
sh_video->bih->biWidth = priv->w = (uint16_t)gif->SWidth;
sh_video->bih->biHeight = priv->h = (uint16_t)gif->SHeight;
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c
index af77d6aef3..098ee3786d 100644
--- a/libmpdemux/demux_lavf.c
+++ b/libmpdemux/demux_lavf.c
@@ -275,7 +275,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) {
break;
stream_type = "audio";
priv->astreams[priv->audio_streams] = i;
- wf= calloc(sizeof(WAVEFORMATEX) + codec->extradata_size, 1);
+ wf= calloc(sizeof(*wf) + codec->extradata_size, 1);
// mp4a tag is used for all mp4 files no matter what they actually contain
if(codec->codec_tag == MKTAG('m', 'p', '4', 'a'))
codec->codec_tag= 0;
@@ -351,7 +351,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) {
if(!sh_video) break;
stream_type = "video";
priv->vstreams[priv->video_streams] = i;
- bih=calloc(sizeof(BITMAPINFOHEADER) + codec->extradata_size,1);
+ bih=calloc(sizeof(*bih) + codec->extradata_size,1);
if(codec->codec_id == CODEC_ID_RAWVIDEO) {
switch (codec->pix_fmt) {
@@ -361,7 +361,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) {
}
if(!codec->codec_tag)
codec->codec_tag= mp_av_codec_get_tag(mp_bmp_taglists, codec->codec_id);
- bih->biSize= sizeof(BITMAPINFOHEADER) + codec->extradata_size;
+ bih->biSize= sizeof(*bih) + codec->extradata_size;
bih->biWidth= codec->width;
bih->biHeight= codec->height;
bih->biBitCount= codec->bits_per_coded_sample;
diff --git a/libmpdemux/demux_lmlm4.c b/libmpdemux/demux_lmlm4.c
index 7f95e36de0..05cec05282 100644
--- a/libmpdemux/demux_lmlm4.c
+++ b/libmpdemux/demux_lmlm4.c
@@ -309,8 +309,7 @@ static demuxer_t* demux_open_lmlm4(demuxer_t* demuxer){
sh_video->disp_h = 480;
sh_video->format = mmioFOURCC('D','I','V','X');
- sh_video->bih = malloc(sizeof(BITMAPINFOHEADER));
- memset(sh_video->bih, 0, sizeof(BITMAPINFOHEADER));
+ sh_video->bih = calloc(1, sizeof(*sh_video->bih));
/* these are false values */
sh_video->bih->biSize = 40;
@@ -325,8 +324,7 @@ static demuxer_t* demux_open_lmlm4(demuxer_t* demuxer){
demuxer->audio->sh = sh_audio;
sh_audio->ds = demuxer->audio;
- sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
- memset(sh_audio->wf, 0, sizeof(WAVEFORMATEX));
+ sh_audio->wf = calloc(1, sizeof(*sh_audio->wf));
sh_audio->samplerate = 48000;
sh_audio->wf->wBitsPerSample = 16;
diff --git a/libmpdemux/demux_mf.c b/libmpdemux/demux_mf.c
index cc6f6be6a8..e4405aedad 100644
--- a/libmpdemux/demux_mf.c
+++ b/libmpdemux/demux_mf.c
@@ -159,8 +159,7 @@ static demuxer_t* demux_open_mf(demuxer_t* demuxer){
sh_video->frametime = 1 / sh_video->fps;
// emulate BITMAPINFOHEADER:
- sh_video->bih=malloc(sizeof(BITMAPINFOHEADER));
- memset(sh_video->bih,0,sizeof(BITMAPINFOHEADER));
+ sh_video->bih=calloc(1, sizeof(*sh_video->bih));
sh_video->bih->biSize=40;
sh_video->bih->biWidth = mf_w;
sh_video->bih->biHeight = mf_h;
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index 589acc8695..dd75061f6c 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -1177,7 +1177,7 @@ static int demux_mkv_open_video(demuxer_t *demuxer, mkv_track_t *track,
BITMAPINFOHEADER *src;
if (track->private_data == NULL
- || track->private_size < sizeof(BITMAPINFOHEADER))
+ || track->private_size < sizeof(*bih))
return 1;
src = (BITMAPINFOHEADER *) track->private_data;
@@ -1193,17 +1193,17 @@ static int demux_mkv_open_video(demuxer_t *demuxer, mkv_track_t *track,
bih->biYPelsPerMeter = le2me_32(src->biYPelsPerMeter);
bih->biClrUsed = le2me_32(src->biClrUsed);
bih->biClrImportant = le2me_32(src->biClrImportant);
- memcpy((char *) bih + sizeof(BITMAPINFOHEADER),
- (char *) src + sizeof(BITMAPINFOHEADER),
- track->private_size - sizeof(BITMAPINFOHEADER));
+ memcpy(bih + 1,
+ src + 1,
+ track->private_size - sizeof(*bih));
if (track->v_width == 0)
track->v_width = bih->biWidth;
if (track->v_height == 0)
track->v_height = bih->biHeight;
} else {
- bih = calloc(1, sizeof(BITMAPINFOHEADER));
- bih->biSize = sizeof(BITMAPINFOHEADER);
+ bih = calloc(1, sizeof(*bih));
+ bih->biSize = sizeof(*bih);
bih->biWidth = track->v_width;
bih->biHeight = track->v_height;
bih->biBitCount = 24;
@@ -1221,7 +1221,7 @@ static int demux_mkv_open_video(demuxer_t *demuxer, mkv_track_t *track,
src = (uint8_t *) track->private_data + RVPROPERTIES_SIZE;
cnt = track->private_size - RVPROPERTIES_SIZE;
- bih = realloc(bih, sizeof(BITMAPINFOHEADER) + 8 + cnt);
+ bih = realloc(bih, sizeof(*bih) + 8 + cnt);
bih->biSize = 48 + cnt;
bih->biPlanes = 1;
type2 = AV_RB32(src - 4);
@@ -1324,8 +1324,8 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track,
sh_a->lang = strdup(track->language);
sh_a->default_track = track->default_track;
sh_a->ds = demuxer->audio;
- sh_a->wf = malloc(sizeof(WAVEFORMATEX));
- if (track->ms_compat && (track->private_size >= sizeof(WAVEFORMATEX))) {
+ sh_a->wf = malloc(sizeof(*sh_a->wf));
+ if (track->ms_compat && (track->private_size >= sizeof(*sh_a->wf))) {
WAVEFORMATEX *wf = (WAVEFORMATEX *) track->private_data;
sh_a->wf = realloc(sh_a->wf, track->private_size);
sh_a->wf->wFormatTag = le2me_16(wf->wFormatTag);
@@ -1334,9 +1334,9 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track,
sh_a->wf->nAvgBytesPerSec = le2me_32(wf->nAvgBytesPerSec);
sh_a->wf->nBlockAlign = le2me_16(wf->nBlockAlign);
sh_a->wf->wBitsPerSample = le2me_16(wf->wBitsPerSample);
- sh_a->wf->cbSize = track->private_size - sizeof(WAVEFORMATEX);
+ sh_a->wf->cbSize = track->private_size - sizeof(*sh_a->wf);
memcpy(sh_a->wf + 1, wf + 1,
- track->private_size - sizeof(WAVEFORMATEX));
+ track->private_size - sizeof(*sh_a->wf));
if (track->a_sfreq == 0.0)
track->a_sfreq = sh_a->wf->nSamplesPerSec;
if (track->a_channels == 0)
@@ -1345,7 +1345,7 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track,
track->a_bps = sh_a->wf->wBitsPerSample;
track->a_formattag = sh_a->wf->wFormatTag;
} else {
- memset(sh_a->wf, 0, sizeof(WAVEFORMATEX));
+ memset(sh_a->wf, 0, sizeof(*sh_a->wf));
if (!strcmp(track->codec_id, MKV_A_MP3)
|| !strcmp(track->codec_id, MKV_A_MP2))
track->a_formattag = 0x0055;
@@ -1489,7 +1489,7 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track,
}
} else if (track->a_formattag == mmioFOURCC('v', 'r', 'b', 's')) { /* VORBIS */
sh_a->wf->cbSize = track->private_size;
- sh_a->wf = realloc(sh_a->wf, sizeof(WAVEFORMATEX) + sh_a->wf->cbSize);
+ sh_a->wf = realloc(sh_a->wf, sizeof(*sh_a->wf) + sh_a->wf->cbSize);
memcpy((unsigned char *) (sh_a->wf + 1), track->private_data,
sh_a->wf->cbSize);
} else if (track->private_size >= RAPROPERTIES4_SIZE
@@ -1520,7 +1520,7 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track,
codecdata_length = AV_RB32(src);
src += 4;
sh_a->wf->cbSize = codecdata_length;
- sh_a->wf = realloc(sh_a->wf, sizeof(WAVEFORMATEX) + sh_a->wf->cbSize);
+ sh_a->wf = realloc(sh_a->wf, sizeof(*sh_a->wf) + sh_a->wf->cbSize);
memcpy(((char *) (sh_a->wf + 1)), src, codecdata_length);
switch (track->a_formattag) {
@@ -1571,8 +1571,8 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track,
size = track->private_size;
} else {
sh_a->format = mmioFOURCC('f', 'L', 'a', 'C');
- ptr = track->private_data + sizeof(WAVEFORMATEX);
- size = track->private_size - sizeof(WAVEFORMATEX);
+ ptr = track->private_data + sizeof(*sh_a->wf);
+ size = track->private_size - sizeof(*sh_a->wf);
}
if (size < 4 || ptr[0] != 'f' || ptr[1] != 'L' || ptr[2] != 'a'
|| ptr[3] != 'C') {
@@ -1586,7 +1586,7 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track,
}
} else if (track->a_formattag == mmioFOURCC('W', 'V', 'P', 'K') || track->a_formattag == mmioFOURCC('T', 'R', 'H', 'D')) { /* do nothing, still works */
} else if (!track->ms_compat
- || (track->private_size < sizeof(WAVEFORMATEX))) {
+ || (track->private_size < sizeof(*sh_a->wf))) {
free_sh_audio(demuxer, track->id);
return 1;
}
@@ -2003,8 +2003,7 @@ static void handle_realaudio(demuxer_t *demuxer, mkv_track_t *track,
track->audio_filepos = demuxer->filepos;
if (++(track->sub_packet_cnt) == sph) {
int apk_usize =
- ((WAVEFORMATEX *) ((sh_audio_t *) demuxer->audio->sh)->wf)->
- nBlockAlign;
+ ((sh_audio_t *) demuxer->audio->sh)->wf->nBlockAlign;
track->sub_packet_cnt = 0;
// Release all the audio packets
for (x = 0; x < sph * w / apk_usize; x++) {
diff --git a/libmpdemux/demux_mng.c b/libmpdemux/demux_mng.c
index 719f11e35b..525972936a 100644
--- a/libmpdemux/demux_mng.c
+++ b/libmpdemux/demux_mng.c
@@ -443,7 +443,7 @@ static demuxer_t * demux_mng_open(demuxer_t * demuxer)
sh_video->frametime = 1.0f / sh_video->fps;
// set video frame parameters
- sh_video->bih = malloc(sizeof(BITMAPINFOHEADER));
+ sh_video->bih = malloc(sizeof(*sh_video->bih));
sh_video->bih->biCompression = sh_video->format;
sh_video->bih->biWidth = mng_priv->width;
sh_video->bih->biHeight = mng_priv->height;
diff --git a/libmpdemux/demux_mov.c b/libmpdemux/demux_mov.c
index eca214caa0..432d0cad18 100644
--- a/libmpdemux/demux_mov.c
+++ b/libmpdemux/demux_mov.c
@@ -336,11 +336,10 @@ typedef struct {
static int mov_check_file(demuxer_t* demuxer){
int flags=0;
int no=0;
- mov_priv_t* priv=malloc(sizeof(mov_priv_t));
+ mov_priv_t* priv=calloc(1, sizeof(mov_priv_t));
mp_msg(MSGT_DEMUX,MSGL_V,"Checking for MOV\n");
- memset(priv,0,sizeof(mov_priv_t));
priv->current_sub = -1;
while(1){
@@ -916,8 +915,7 @@ quit_vorbis_block:
fclose(f); }
#endif
// Emulate WAVEFORMATEX struct:
- sh->wf=malloc(sizeof(WAVEFORMATEX) + (is_vorbis ? sh->codecdata_len : 0));
- memset(sh->wf,0,sizeof(WAVEFORMATEX));
+ sh->wf=calloc(1, sizeof(*sh->wf) + (is_vorbis ? sh->codecdata_len : 0));
sh->wf->nChannels=sh->channels;
sh->wf->wBitsPerSample=(trak->stdata[18]<<8)+trak->stdata[19];
// sh->wf->nSamplesPerSec=trak->timescale;
@@ -1161,8 +1159,7 @@ static int gen_sh_video(sh_video_t* sh, mov_track_t* trak, int timescale) {
// emulate BITMAPINFOHEADER:
if (palette_count)
{
- sh->bih=malloc(sizeof(BITMAPINFOHEADER) + palette_count * 4);
- memset(sh->bih,0,sizeof(BITMAPINFOHEADER) + palette_count * 4);
+ sh->bih=calloc(1, sizeof(*sh->bih) + palette_count * 4);
sh->bih->biSize=40 + palette_count * 4;
// fetch the relevant fields
flag = AV_RB16(&trak->stdata[hdr_ptr]);
@@ -1246,20 +1243,18 @@ static int gen_sh_video(sh_video_t* sh, mov_track_t* trak, int timescale) {
else
{
if (trak->fourcc == mmioFOURCC('a','v','c','1')) {
- if (trak->stream_header_len > 0xffffffff - sizeof(BITMAPINFOHEADER)) {
+ if (trak->stream_header_len > 0xffffffff - sizeof(*sh->bih)) {
mp_msg(MSGT_DEMUXER, MSGL_ERR, "Invalid extradata size %d, skipping\n",trak->stream_header_len);
trak->stream_header_len = 0;
}
- sh->bih=malloc(sizeof(BITMAPINFOHEADER) + trak->stream_header_len);
- memset(sh->bih,0,sizeof(BITMAPINFOHEADER) + trak->stream_header_len);
+ sh->bih=calloc(1, sizeof(*sh->bih) + trak->stream_header_len);
sh->bih->biSize=40 + trak->stream_header_len;
memcpy(((unsigned char *)sh->bih)+40, trak->stream_header, trak->stream_header_len);
free (trak->stream_header);
trak->stream_header_len = 0;
trak->stream_header = NULL;
} else {
- sh->bih=malloc(sizeof(BITMAPINFOHEADER));
- memset(sh->bih,0,sizeof(BITMAPINFOHEADER));
+ sh->bih=calloc(1, sizeof(*sh->bih));
sh->bih->biSize=40;
}
}
@@ -1328,8 +1323,7 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak
return;
}
if(!priv->track_db) mp_msg(MSGT_DEMUX, MSGL_V, "--------------\n");
- trak=malloc(sizeof(mov_track_t));
- memset(trak,0,sizeof(mov_track_t));
+ trak=calloc(1, sizeof(mov_track_t));
mp_msg(MSGT_DEMUX,MSGL_V,"MOV: Track #%d:\n",priv->track_db);
trak->id=priv->track_db;
priv->tracks[priv->track_db]=trak;
diff --git a/libmpdemux/demux_nemesi.c b/libmpdemux/demux_nemesi.c
index 3d2d413a4a..2b2f6d2438 100644
--- a/libmpdemux/demux_nemesi.c
+++ b/libmpdemux/demux_nemesi.c
@@ -233,11 +233,11 @@ static demuxer_t* demux_open_rtp(demuxer_t* demuxer)
sess, &buff, NULL);
if (buff.len) {
- wf = calloc(1,sizeof(WAVEFORMATEX)+buff.len);
+ wf = calloc(1,sizeof(*wf)+buff.len);
wf->cbSize = buff.len;
memcpy(wf+1, buff.data, buff.len);
} else {
- wf = calloc(1,sizeof(WAVEFORMATEX));
+ wf = calloc(1,sizeof(*wf));
}
sh_audio->wf = wf;
@@ -269,12 +269,12 @@ static demuxer_t* demux_open_rtp(demuxer_t* demuxer)
sess, &buff, &fps);
if (buff.len) {
- bih = calloc(1,sizeof(BITMAPINFOHEADER)+buff.len);
- bih->biSize = sizeof(BITMAPINFOHEADER)+buff.len;
+ bih = calloc(1,sizeof(*bih)+buff.len);
+ bih->biSize = sizeof(*bih)+buff.len;
memcpy(bih+1, buff.data, buff.len);
} else {
- bih = calloc(1,sizeof(BITMAPINFOHEADER));
- bih->biSize = sizeof(BITMAPINFOHEADER);
+ bih = calloc(1,sizeof(*bih));
+ bih->biSize = sizeof(*bih);
}
sh_video = new_sh_video(demuxer,0);
diff --git a/libmpdemux/demux_nsv.c b/libmpdemux/demux_nsv.c
index 1d0856a80d..a5257ef083 100644
--- a/libmpdemux/demux_nsv.c
+++ b/libmpdemux/demux_nsv.c
@@ -225,8 +225,8 @@ static demuxer_t* demux_open_nsv ( demuxer_t* demuxer )
// new video stream! parse header
sh_video->disp_w=hdr[12]|(hdr[13]<<8);
sh_video->disp_h=hdr[14]|(hdr[15]<<8);
- sh_video->bih=calloc(1,sizeof(BITMAPINFOHEADER));
- sh_video->bih->biSize=sizeof(BITMAPINFOHEADER);
+ sh_video->bih=calloc(1,sizeof(*sh_video->bih));
+ sh_video->bih->biSize=sizeof(*sh_video->bih);
sh_video->bih->biPlanes=1;
sh_video->bih->biBitCount=24;
sh_video->bih->biWidth=hdr[12]|(hdr[13]<<8);
diff --git a/libmpdemux/demux_nut.c b/libmpdemux/demux_nut.c
index 3c7f89b8d7..efa20e0c47 100644
--- a/libmpdemux/demux_nut.c
+++ b/libmpdemux/demux_nut.c
@@ -110,7 +110,7 @@ static demuxer_t * demux_open_nut(demuxer_t * demuxer) {
for (i = 0; s[i].type != -1 && i < 2; i++) switch(s[i].type) {
case NUT_AUDIO_CLASS: {
WAVEFORMATEX *wf =
- calloc(sizeof(WAVEFORMATEX) +
+ calloc(sizeof(*wf) +
s[i].codec_specific_len, 1);
sh_audio_t* sh_audio = new_sh_audio(demuxer, i);
int j;
@@ -146,7 +146,7 @@ static demuxer_t * demux_open_nut(demuxer_t * demuxer) {
}
case NUT_VIDEO_CLASS: {
BITMAPINFOHEADER * bih =
- calloc(sizeof(BITMAPINFOHEADER) +
+ calloc(sizeof(*bih) +
s[i].codec_specific_len, 1);
sh_video_t * sh_video = new_sh_video(demuxer, i);
int j;
@@ -170,7 +170,7 @@ static demuxer_t * demux_open_nut(demuxer_t * demuxer) {
s[i].sample_width / (float)s[i].sample_height;
sh_video->i_bps = 0; // FIXME
- bih->biSize = sizeof(BITMAPINFOHEADER) +
+ bih->biSize = sizeof(*bih) +
s[i].codec_specific_len;
bih->biWidth = s[i].width;
bih->biHeight = s[i].height;
diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c
index 3d2901b9c1..fe6bd27601 100644
--- a/libmpdemux/demux_ogg.c
+++ b/libmpdemux/demux_ogg.c
@@ -719,7 +719,7 @@ static void fixup_vorbis_wf(sh_audio_t *sh, ogg_demuxer_t *od)
os->vi_initialized = 1;
len = op[0].bytes + op[1].bytes + op[2].bytes;
- sh->wf = calloc(1, sizeof(WAVEFORMATEX) + len + len / 255 + 64);
+ sh->wf = calloc(1, sizeof(*sh->wf) + len + len / 255 + 64);
ptr = (unsigned char*)(sh->wf + 1);
ptr[0] = 2;
@@ -735,7 +735,7 @@ static void fixup_vorbis_wf(sh_audio_t *sh, ogg_demuxer_t *od)
}
sh->wf->cbSize = offset;
mp_msg(MSGT_DEMUX, MSGL_V, "demux_ogg, extradata size: %d\n", sh->wf->cbSize);
- sh->wf = realloc(sh->wf, sizeof(WAVEFORMATEX) + sh->wf->cbSize);
+ sh->wf = realloc(sh->wf, sizeof(*sh->wf) + sh->wf->cbSize);
if (op[0].bytes >= 29) {
unsigned int br;
@@ -869,7 +869,7 @@ int demux_ogg_open(demuxer_t *demuxer)
ogg_d->num_sub, n_audio - 1);
} else if (pack.bytes >= 80 && !strncmp(pack.packet, "Speex", 5)) {
sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio);
- sh_a->wf = calloc(1, sizeof(WAVEFORMATEX) + pack.bytes);
+ sh_a->wf = calloc(1, sizeof(*sh_a->wf) + pack.bytes);
sh_a->format = FOURCC_SPEEX;
sh_a->samplerate = sh_a->wf->nSamplesPerSec = AV_RL32(&pack.packet[36]);
sh_a->channels = sh_a->wf->nChannels = AV_RL32(&pack.packet[48]);
@@ -906,8 +906,8 @@ int demux_ogg_open(demuxer_t *demuxer)
} else {
sh_v = new_sh_video_vid(demuxer, ogg_d->num_sub, n_video);
- sh_v->bih = calloc(1, sizeof(BITMAPINFOHEADER));
- sh_v->bih->biSize = sizeof(BITMAPINFOHEADER);
+ sh_v->bih = calloc(1, sizeof(*sh_v->bih));
+ sh_v->bih->biSize = sizeof(*sh_v->bih);
sh_v->bih->biCompression = sh_v->format = FOURCC_THEORA;
sh_v->fps = ((double)inf.fps_numerator) / (double)inf.fps_denominator;
sh_v->frametime = ((double)inf.fps_denominator) / (double)inf.fps_numerator;
@@ -950,7 +950,7 @@ int demux_ogg_open(demuxer_t *demuxer)
ogg_d->subs[ogg_d->num_sub].id = n_audio;
n_audio++;
ogg_d->subs[ogg_d->num_sub].flac = 2;
- sh_a->wf = calloc(1, sizeof(WAVEFORMATEX) + 34);
+ sh_a->wf = calloc(1, sizeof(*sh_a->wf) + 34);
sh_a->wf->wFormatTag = sh_a->format;
sh_a->wf->cbSize = 34;
memcpy(&sh_a->wf[1], &pack.packet[17], 34);
@@ -965,8 +965,8 @@ int demux_ogg_open(demuxer_t *demuxer)
// Old video header
if (AV_RL32(pack.packet + 96) == 0x05589f80 && pack.bytes >= 184) {
sh_v = new_sh_video_vid(demuxer, ogg_d->num_sub, n_video);
- sh_v->bih = calloc(1, sizeof(BITMAPINFOHEADER));
- sh_v->bih->biSize = sizeof(BITMAPINFOHEADER);
+ sh_v->bih = calloc(1, sizeof(*sh_v->bih));
+ sh_v->bih->biSize = sizeof(*sh_v->bih);
sh_v->bih->biCompression = sh_v->format = mmioFOURCC(pack.packet[68], pack.packet[69],
pack.packet[70], pack.packet[71]);
sh_v->frametime = AV_RL64(pack.packet + 164) * 0.0000001;
@@ -994,7 +994,7 @@ int demux_ogg_open(demuxer_t *demuxer)
sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio);
extra_size = AV_RL16(pack.packet + 140);
- sh_a->wf = calloc(1, sizeof(WAVEFORMATEX) + extra_size);
+ sh_a->wf = calloc(1, sizeof(*sh_a->wf) + extra_size);
sh_a->format = sh_a->wf->wFormatTag = AV_RL16(pack.packet + 124);
sh_a->channels = sh_a->wf->nChannels = AV_RL16(pack.packet + 126);
sh_a->samplerate = sh_a->wf->nSamplesPerSec = AV_RL32(pack.packet + 128);
@@ -1004,7 +1004,7 @@ int demux_ogg_open(demuxer_t *demuxer)
sh_a->samplesize = (sh_a->wf->wBitsPerSample + 7) / 8;
sh_a->wf->cbSize = extra_size;
if (extra_size > 0)
- memcpy(((char *)sh_a->wf) + sizeof(WAVEFORMATEX),
+ memcpy(sh_a->wf + 1,
pack.packet + 142, extra_size);
ogg_d->subs[ogg_d->num_sub].samplerate = sh_a->samplerate; // * sh_a->channels;
@@ -1027,8 +1027,8 @@ int demux_ogg_open(demuxer_t *demuxer)
/// New video header
if (strncmp(st->streamtype, "video", 5) == 0) {
sh_v = new_sh_video_vid(demuxer, ogg_d->num_sub, n_video);
- sh_v->bih = calloc(1, sizeof(BITMAPINFOHEADER));
- sh_v->bih->biSize = sizeof(BITMAPINFOHEADER);
+ sh_v->bih = calloc(1, sizeof(*sh_v->bih));
+ sh_v->bih->biSize = sizeof(*sh_v->bih);
sh_v->bih->biCompression = sh_v->format = mmioFOURCC(st->subtype[0], st->subtype[1],
st->subtype[2], st->subtype[3]);
sh_v->frametime = AV_RL64(&st->time_unit) * 0.0000001;
@@ -1070,7 +1070,7 @@ int demux_ogg_open(demuxer_t *demuxer)
}
sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio);
- sh_a->wf = calloc(1, sizeof(WAVEFORMATEX) + extra_size);
+ sh_a->wf = calloc(1, sizeof(*sh_a->wf) + extra_size);
sh_a->format = sh_a->wf->wFormatTag = strtol(buffer, NULL, 16);
sh_a->channels = sh_a->wf->nChannels = AV_RL16(&st->sh.audio.channels);
sh_a->samplerate = sh_a->wf->nSamplesPerSec = AV_RL64(&st->samples_per_unit);
@@ -1080,7 +1080,7 @@ int demux_ogg_open(demuxer_t *demuxer)
sh_a->samplesize = (sh_a->wf->wBitsPerSample + 7) / 8;
sh_a->wf->cbSize = extra_size;
if (extra_size)
- memcpy(((char *)sh_a->wf)+sizeof(WAVEFORMATEX),
+ memcpy(sh_a->wf+1,
((char *)(st+1))+extra_offset, extra_size);
ogg_d->subs[ogg_d->num_sub].samplerate = sh_a->samplerate; // * sh_a->channels;
diff --git a/libmpdemux/demux_rawaudio.c b/libmpdemux/demux_rawaudio.c
index 949b2d5d7f..495f8e9817 100644
--- a/libmpdemux/demux_rawaudio.c
+++ b/libmpdemux/demux_rawaudio.c
@@ -51,7 +51,7 @@ static demuxer_t* demux_rawaudio_open(demuxer_t* demuxer) {
WAVEFORMATEX* w;
sh_audio = new_sh_audio(demuxer,0);
- sh_audio->wf = w = malloc(sizeof(WAVEFORMATEX));
+ sh_audio->wf = w = malloc(sizeof(*w));
w->wFormatTag = sh_audio->format = format;
w->nChannels = sh_audio->channels = channels;
w->nSamplesPerSec = sh_audio->samplerate = samplerate;
diff --git a/libmpdemux/demux_rawdv.c b/libmpdemux/demux_rawdv.c
index 6c3cdffd3a..f0b081318c 100644
--- a/libmpdemux/demux_rawdv.c
+++ b/libmpdemux/demux_rawdv.c
@@ -189,7 +189,7 @@ static demuxer_t* demux_open_rawdv(demuxer_t* demuxer)
sh_video->frametime = 1.0/sh_video->fps;
// emulate BITMAPINFOHEADER for win32 decoders:
- sh_video->bih=calloc(1, sizeof(BITMAPINFOHEADER));
+ sh_video->bih=calloc(1, sizeof(*sh_video->bih));
sh_video->bih->biSize=40;
sh_video->bih->biWidth = dv_decoder->width;
sh_video->bih->biHeight = dv_decoder->height;
@@ -214,8 +214,7 @@ static demuxer_t* demux_open_rawdv(demuxer_t* demuxer)
// custom fourcc for internal MPlayer use
sh_audio->format = mmioFOURCC('R', 'A', 'D', 'V');
- sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
- memset(sh_audio->wf, 0, sizeof(WAVEFORMATEX));
+ sh_audio->wf = calloc(1, sizeof(*sh_audio->wf));
sh_audio->wf->wFormatTag = sh_audio->format;
sh_audio->wf->nChannels = dv_decoder->audio->num_channels;
sh_audio->wf->wBitsPerSample = 16;
diff --git a/libmpdemux/demux_real.c b/libmpdemux/demux_real.c
index 4d95311726..80180b8a41 100644
--- a/libmpdemux/demux_real.c
+++ b/libmpdemux/demux_real.c
@@ -474,8 +474,7 @@ static int real_check_file(demuxer_t* demuxer)
if (c != MKTAG('.', 'R', 'M', 'F'))
return 0; /* bad magic */
- priv = malloc(sizeof(real_priv_t));
- memset(priv, 0, sizeof(real_priv_t));
+ priv = calloc(1, sizeof(real_priv_t));
demuxer->priv = priv;
return DEMUXER_TYPE_REAL;
@@ -784,7 +783,7 @@ got_audio:
if (++(priv->sub_packet_cnt) < sph)
audioreorder_getnextpk = 1;
else {
- int apk_usize = ((WAVEFORMATEX*)((sh_audio_t*)ds->sh)->wf)->nBlockAlign;
+ int apk_usize = ((sh_audio_t*)ds->sh)->wf->nBlockAlign;
audioreorder_getnextpk = 0;
priv->sub_packet_cnt = 0;
// Release all the audio packets
@@ -1373,8 +1372,7 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer)
}
/* Emulate WAVEFORMATEX struct: */
- sh->wf = malloc(sizeof(WAVEFORMATEX));
- memset(sh->wf, 0, sizeof(WAVEFORMATEX));
+ sh->wf = calloc(1, sizeof(*sh->wf));
sh->wf->nChannels = sh->channels;
sh->wf->wBitsPerSample = sh->samplesize*8;
sh->wf->nSamplesPerSec = sh->samplerate;
@@ -1411,7 +1409,7 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer)
goto skip_this_chunk;
}
sh->wf->cbSize = codecdata_length;
- sh->wf = realloc(sh->wf, sizeof(WAVEFORMATEX)+sh->wf->cbSize);
+ sh->wf = realloc(sh->wf, sizeof(*sh->wf)+sh->wf->cbSize);
stream_read(demuxer->stream, ((char*)(sh->wf+1)), codecdata_length); // extras
if (priv->intl_id[stream_id] == MKTAG('g', 'e', 'n', 'r'))
sh->wf->nBlockAlign = sub_packet_size;
@@ -1479,8 +1477,7 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer)
mp_tmsg(MSGT_DEMUX, MSGL_INFO, "[%s] Audio stream found, -aid %d\n", "real", stream_id);
/* Emulate WAVEFORMATEX struct: */
- sh->wf = malloc(sizeof(WAVEFORMATEX));
- memset(sh->wf, 0, sizeof(WAVEFORMATEX));
+ sh->wf = calloc(1, sizeof(*sh->wf));
sh->wf->nChannels = 0;//sh->channels;
sh->wf->wBitsPerSample = 16;
sh->wf->nSamplesPerSec = 0;//sh->samplerate;
@@ -1518,9 +1515,8 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer)
mp_msg(MSGT_DEMUX,MSGL_V,"video fourcc: %.4s (%x)\n", (char *)&sh->format, sh->format);
/* emulate BITMAPINFOHEADER */
- sh->bih = malloc(sizeof(BITMAPINFOHEADER));
- memset(sh->bih, 0, sizeof(BITMAPINFOHEADER));
- sh->bih->biSize = sizeof(BITMAPINFOHEADER);
+ sh->bih = calloc(1, sizeof(*sh->bih));
+ sh->bih->biSize = sizeof(*sh->bih);
sh->disp_w = sh->bih->biWidth = stream_read_word(demuxer->stream);
sh->disp_h = sh->bih->biHeight = stream_read_word(demuxer->stream);
sh->bih->biPlanes = 1;
@@ -1555,10 +1551,10 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer)
{
// read and store codec extradata
unsigned int cnt = codec_data_size - (stream_tell(demuxer->stream) - codec_pos);
- if (cnt > 0x7fffffff - sizeof(BITMAPINFOHEADER)) {
+ if (cnt > 0x7fffffff - sizeof(*sh->bih)) {
mp_msg(MSGT_DEMUX, MSGL_ERR,"Extradata too big (%u)\n", cnt);
} else {
- sh->bih = realloc(sh->bih, sizeof(BITMAPINFOHEADER) + cnt);
+ sh->bih = realloc(sh->bih, sizeof(*sh->bih) + cnt);
sh->bih->biSize += cnt;
stream_read(demuxer->stream, ((unsigned char*)(sh->bih+1)), cnt);
}
diff --git a/libmpdemux/demux_realaud.c b/libmpdemux/demux_realaud.c
index 1d586dcbd7..7284d4d7af 100644
--- a/libmpdemux/demux_realaud.c
+++ b/libmpdemux/demux_realaud.c
@@ -286,8 +286,7 @@ static demuxer_t* demux_open_ra(demuxer_t* demuxer)
}
/* Fill WAVEFORMATEX */
- sh->wf = malloc(sizeof(WAVEFORMATEX));
- memset(sh->wf, 0, sizeof(WAVEFORMATEX));
+ sh->wf = calloc(1, sizeof(*sh->wf));
sh->wf->nChannels = sh->channels;
sh->wf->wBitsPerSample = sh->samplesize;
sh->wf->nSamplesPerSec = sh->samplerate;
diff --git a/libmpdemux/demux_roq.c b/libmpdemux/demux_roq.c
index 9ce6f901ae..a9bd1f291c 100644
--- a/libmpdemux/demux_roq.c
+++ b/libmpdemux/demux_roq.c
@@ -176,7 +176,7 @@ static demuxer_t* demux_open_roq(demuxer_t* demuxer)
sh_audio->ds = demuxer->audio;
// go through the bother of making a WAVEFORMATEX structure
- sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
+ sh_audio->wf = malloc(sizeof(*sh_audio->wf));
// custom fourcc for internal MPlayer use
sh_audio->format = mmioFOURCC('R', 'o', 'Q', 'A');
diff --git a/libmpdemux/demux_smjpeg.c b/libmpdemux/demux_smjpeg.c
index b7cf056fbe..8933e8c8f5 100644
--- a/libmpdemux/demux_smjpeg.c
+++ b/libmpdemux/demux_smjpeg.c
@@ -128,8 +128,7 @@ static demuxer_t* demux_open_smjpeg(demuxer_t* demuxer){
demuxer->video->sh = sh_video;
sh_video->ds = demuxer->video;
- sh_video->bih = malloc(sizeof(BITMAPINFOHEADER));
- memset(sh_video->bih, 0, sizeof(BITMAPINFOHEADER));
+ sh_video->bih = calloc(1, sizeof(*sh_video->bih));
stream_skip(demuxer->stream, 4); /* number of frames */
// sh_video->fps = 24;
@@ -153,8 +152,7 @@ static demuxer_t* demux_open_smjpeg(demuxer_t* demuxer){
demuxer->audio->sh = sh_audio;
sh_audio->ds = demuxer->audio;
- sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
- memset(sh_audio->wf, 0, sizeof(WAVEFORMATEX));
+ sh_audio->wf = calloc(1, sizeof(*sh_audio->wf));
sh_audio->samplerate = stream_read_word(demuxer->stream);
sh_audio->wf->wBitsPerSample = stream_read_char(demuxer->stream);
diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c
index 2bb5c3c558..b98d766470 100644
--- a/libmpdemux/demux_ts.c
+++ b/libmpdemux/demux_ts.c
@@ -360,7 +360,7 @@ static void ts_add_stream(demuxer_t * demuxer, ES_stream_t *es)
if(es->extradata && es->extradata_len)
{
- sh->wf = malloc(sizeof (WAVEFORMATEX) + es->extradata_len);
+ sh->wf = malloc(sizeof(*sh->wf) + es->extradata_len);
sh->wf->cbSize = es->extradata_len;
memcpy(sh->wf + 1, es->extradata, es->extradata_len);
}
@@ -384,8 +384,8 @@ static void ts_add_stream(demuxer_t * demuxer, ES_stream_t *es)
if(sh->format == VIDEO_AVC && es->extradata && es->extradata_len)
{
int w = 0, h = 0;
- sh->bih = calloc(1, sizeof(BITMAPINFOHEADER) + es->extradata_len);
- sh->bih->biSize= sizeof(BITMAPINFOHEADER) + es->extradata_len;
+ sh->bih = calloc(1, sizeof(*sh->bih) + es->extradata_len);
+ sh->bih->biSize= sizeof(*sh->bih) + es->extradata_len;
sh->bih->biCompression = sh->format;
memcpy(sh->bih + 1, es->extradata, es->extradata_len);
mp_msg(MSGT_DEMUXER,MSGL_DBG2, "EXTRADATA(%d BYTES): \n", es->extradata_len);
diff --git a/libmpdemux/demux_viv.c b/libmpdemux/demux_viv.c
index d628a09d3c..1d9999940f 100644
--- a/libmpdemux/demux_viv.c
+++ b/libmpdemux/demux_viv.c
@@ -613,8 +613,7 @@ static demuxer_t* demux_open_vivo(demuxer_t* demuxer){
sh->disp_h = height;
// emulate BITMAPINFOHEADER:
- sh->bih=malloc(sizeof(BITMAPINFOHEADER));
- memset(sh->bih,0,sizeof(BITMAPINFOHEADER));
+ sh->bih=calloc(1, sizeof(*sh->bih));
sh->bih->biSize=40;
if (priv->width)
sh->bih->biWidth = priv->width;
@@ -679,8 +678,7 @@ if (demuxer->audio->id >= -1){
}
// Emulate WAVEFORMATEX struct:
- sh->wf=malloc(sizeof(WAVEFORMATEX));
- memset(sh->wf,0,sizeof(WAVEFORMATEX));
+ sh->wf=calloc(1, sizeof(*sh->wf));
sh->wf->wFormatTag=sh->format;
sh->wf->nChannels=1; /* 1 channels for both Siren and G.723 */
diff --git a/libmpdemux/demux_vqf.c b/libmpdemux/demux_vqf.c
index 9a90f33fb3..94d7cf4096 100644
--- a/libmpdemux/demux_vqf.c
+++ b/libmpdemux/demux_vqf.c
@@ -49,9 +49,8 @@ static demuxer_t* demux_open_vqf(demuxer_t* demuxer) {
s = demuxer->stream;
sh_audio = new_sh_audio(demuxer,0);
- sh_audio->wf = w = malloc(sizeof(WAVEFORMATEX)+sizeof(headerInfo));
+ sh_audio->wf = w = calloc(1, sizeof(*sh_audio->wf)+sizeof(headerInfo));
hi = (headerInfo *)&w[1];
- memset(hi,0,sizeof(headerInfo));
w->wFormatTag = 0x1;
sh_audio->format = mmioFOURCC('T','W','I','N'); /* TWinVQ */
w->nChannels = sh_audio->channels = 2;
diff --git a/libmpdemux/demux_xmms.c b/libmpdemux/demux_xmms.c
index f779338a0e..0e37554681 100644
--- a/libmpdemux/demux_xmms.c
+++ b/libmpdemux/demux_xmms.c
@@ -265,7 +265,7 @@ static int demux_xmms_open(demuxer_t* demuxer) {
xmms_channels=0;
sh_audio = new_sh_audio(demuxer,0);
- sh_audio->wf = w = malloc(sizeof(WAVEFORMATEX));
+ sh_audio->wf = w = malloc(sizeof(*w));
w->wFormatTag = sh_audio->format = format;
demuxer->movi_start = 0;
diff --git a/libmpdemux/demux_y4m.c b/libmpdemux/demux_y4m.c
index 7f390deacc..d1b6749820 100644
--- a/libmpdemux/demux_y4m.c
+++ b/libmpdemux/demux_y4m.c
@@ -257,7 +257,7 @@ static demuxer_t* demux_open_y4m(demuxer_t* demuxer){
priv->framenum = 0;
priv->si = malloc(sizeof(y4m_stream_info_t));
- sh->bih=calloc(1, sizeof(BITMAPINFOHEADER));
+ sh->bih=calloc(1, sizeof(*sh->bih));
demuxer->video->sh=sh;
sh->ds=demuxer->video;
diff --git a/libmpdemux/muxer_avi.c b/libmpdemux/muxer_avi.c
index 6428ce86bf..8017ef611e 100644
--- a/libmpdemux/muxer_avi.c
+++ b/libmpdemux/muxer_avi.c
@@ -276,7 +276,7 @@ static void write_avi_list(stream_t *stream,unsigned int id,int len){
stream_write_buffer(stream, &le_id, 4);
}
-#define WFSIZE(wf) (sizeof(WAVEFORMATEX)+(wf)->cbSize)
+#define WFSIZE(wf) (sizeof(*wf)+(wf)->cbSize)
static void avifile_write_header(muxer_t *muxer){
uint32_t riff[3];
diff --git a/libmpdemux/video.c b/libmpdemux/video.c
index b8a26d61d2..1f249ff804 100644
--- a/libmpdemux/video.c
+++ b/libmpdemux/video.c
@@ -383,12 +383,12 @@ mpeg_header_parser:
}
if(mp_vc1_decode_sequence_header(&picture, &videobuffer[4], videobuf_len-4)) {
- sh_video->bih = calloc(1, sizeof(BITMAPINFOHEADER) + videobuf_len);
+ sh_video->bih = calloc(1, sizeof(*sh_video->bih) + videobuf_len);
if(sh_video->bih == NULL) {
- mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Couldn't alloc %d bytes for VC-1 extradata!\n", sizeof(BITMAPINFOHEADER) + videobuf_len);
+ mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Couldn't alloc %d bytes for VC-1 extradata!\n", sizeof(*sh_video->bih) + videobuf_len);
return 0;
}
- sh_video->bih->biSize= sizeof(BITMAPINFOHEADER) + videobuf_len;
+ sh_video->bih->biSize= sizeof(*sh_video->bih) + videobuf_len;
memcpy(sh_video->bih + 1, videobuffer, videobuf_len);
sh_video->bih->biCompression = sh_video->format;
sh_video->bih->biWidth = sh_video->disp_w = picture.display_picture_width;
diff --git a/loader/afl.c b/loader/afl.c
index e9f52e157e..a138a7e259 100644
--- a/loader/afl.c
+++ b/loader/afl.c
@@ -401,15 +401,15 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pw
if (was == NULL)
return MMSYSERR_NOMEM;
was->drvInst.cbStruct = sizeof(was->drvInst);
- was->drvInst.pwfxSrc = (PWAVEFORMATEX)((LPSTR)was + sizeof(*was));
+ was->drvInst.pwfxSrc = (PWAVEFORMATEX)(was + 1);
memcpy(was->drvInst.pwfxSrc, pwfxSrc, wfxSrcSize);
// LHACM is checking for 0x1
// but if this will not help
// was->drvInst.pwfxSrc->wFormatTag = 1;
- was->drvInst.pwfxDst = (PWAVEFORMATEX)((LPSTR)was + sizeof(*was) + wfxSrcSize);
+ was->drvInst.pwfxDst = (PWAVEFORMATEX)((LPSTR)(was + 1) + wfxSrcSize);
memcpy(was->drvInst.pwfxDst, pwfxDst, wfxDstSize);
if (pwfltr) {
- was->drvInst.pwfltr = (PWAVEFILTER)((LPSTR)was + sizeof(*was) + wfxSrcSize + wfxDstSize);
+ was->drvInst.pwfltr = (PWAVEFILTER)((LPSTR)(was + 1) + wfxSrcSize + wfxDstSize);
memcpy(was->drvInst.pwfltr, pwfltr, sizeof(WAVEFILTER));
} else {
was->drvInst.pwfltr = NULL;
diff --git a/stream/tv.c b/stream/tv.c
index 55b7033adb..76f4850999 100644
--- a/stream/tv.c
+++ b/stream/tv.c
@@ -815,7 +815,7 @@ static demuxer_t* demux_open_tv(demuxer_t *demuxer)
sh_audio->channels;
// emulate WF for win32 codecs:
- sh_audio->wf = malloc(sizeof(WAVEFORMATEX));
+ sh_audio->wf = malloc(sizeof(*sh_audio->wf));
sh_audio->wf->wFormatTag = sh_audio->format;
sh_audio->wf->nChannels = sh_audio->channels;
sh_audio->wf->wBitsPerSample = sh_audio->samplesize * 8;
diff --git a/stream/tvi_def.h b/stream/tvi_def.h
index 01c2222621..d6a4600ae8 100644
--- a/stream/tvi_def.h
+++ b/stream/tvi_def.h
@@ -51,13 +51,13 @@ static tvi_handle_t *new_handle(void)
if (!h)
return NULL;
- h->priv = malloc(sizeof(priv_t));
+ h->priv = calloc(1, sizeof(priv_t));
if (!h->priv)
{
free(h);
return NULL;
}
- memset(h->priv, 0, sizeof(priv_t));
+
h->functions = &functions;
h->seq = 0;
h->chanlist = -1;