# HG changeset patch # User reimar # Date 1236605875 0 # Node ID 3420ff87048ef0815a42cd688399b9b6ceaec10b # Parent 4edc04d82a473c890824bb189df775bd9ce6374b nuv encoder 64 bit fix: avoid using long/sizeof(long) diff -r 4edc04d82a47 -r 3420ff87048e libmpcodecs/ve_nuv.c --- a/libmpcodecs/ve_nuv.c Mon Mar 09 13:23:27 2009 +0000 +++ b/libmpcodecs/ve_nuv.c Mon Mar 09 13:37:55 2009 +0000 @@ -68,6 +68,8 @@ //===========================================================================// +#define COMPDATASIZE (128*4) + static int config(struct vf_instance_s* vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt){ @@ -75,8 +77,8 @@ // We need a buffer wich can holda header and a whole YV12 picture // or a RTJpeg table vf->priv->buf_size = width*height*3/2+FRAMEHEADERSIZE; - if(vf->priv->buf_size < (int)(128*sizeof(long int) + FRAMEHEADERSIZE)) - vf->priv->buf_size = 128*sizeof(long int) + FRAMEHEADERSIZE; + if(vf->priv->buf_size < COMPDATASIZE + FRAMEHEADERSIZE) + vf->priv->buf_size = COMPDATASIZE + FRAMEHEADERSIZE; mux_v->bih->biWidth=width; mux_v->bih->biHeight=height; @@ -110,16 +112,16 @@ // This has to be don here otherwise tv with sound doesn't work if(!vf->priv->tbl_wrote) { - RTjpeg_init_compress((long int*)data,mpi->width,mpi->height,vf->priv->q); + RTjpeg_init_compress((uint32_t *)data,mpi->width,mpi->height,vf->priv->q); RTjpeg_init_mcompress(); ench->frametype = 'D'; // compressor data ench->comptype = 'R'; // compressor data for RTjpeg - ench->packetlength = 128*sizeof(long int); + ench->packetlength = COMPDATASIZE; le2me_rtframeheader(ench); mux_v->buffer=vf->priv->buffer; - muxer_write_chunk(mux_v,FRAMEHEADERSIZE + 128*sizeof(long int), 0x10, MP_NOPTS_VALUE, MP_NOPTS_VALUE); + muxer_write_chunk(mux_v,FRAMEHEADERSIZE + COMPDATASIZE, 0x10, MP_NOPTS_VALUE, MP_NOPTS_VALUE); vf->priv->tbl_wrote = 1; memset(ench,0,FRAMEHEADERSIZE); // Reset the header }