1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-16 11:55:42 +00:00

nuv encoder 64 bit fix: avoid using long/sizeof(long)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28909 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2009-03-09 13:37:55 +00:00
parent 3a0ffa5bf4
commit 77195cf5c4

View File

@ -68,6 +68,8 @@ m_option_t nuvopts_conf[]={
//===========================================================================//
#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 @@ static int config(struct vf_instance_s* vf,
// 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 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi, double pts){
// 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
}