mirror of
https://github.com/mpv-player/mpv
synced 2025-01-07 07:30:09 +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:
parent
3a0ffa5bf4
commit
77195cf5c4
@ -68,6 +68,8 @@ m_option_t nuvopts_conf[]={
|
|||||||
//===========================================================================//
|
//===========================================================================//
|
||||||
|
|
||||||
|
|
||||||
|
#define COMPDATASIZE (128*4)
|
||||||
|
|
||||||
static int config(struct vf_instance_s* vf,
|
static int config(struct vf_instance_s* vf,
|
||||||
int width, int height, int d_width, int d_height,
|
int width, int height, int d_width, int d_height,
|
||||||
unsigned int flags, unsigned int outfmt){
|
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
|
// We need a buffer wich can holda header and a whole YV12 picture
|
||||||
// or a RTJpeg table
|
// or a RTJpeg table
|
||||||
vf->priv->buf_size = width*height*3/2+FRAMEHEADERSIZE;
|
vf->priv->buf_size = width*height*3/2+FRAMEHEADERSIZE;
|
||||||
if(vf->priv->buf_size < (int)(128*sizeof(long int) + FRAMEHEADERSIZE))
|
if(vf->priv->buf_size < COMPDATASIZE + FRAMEHEADERSIZE)
|
||||||
vf->priv->buf_size = 128*sizeof(long int) + FRAMEHEADERSIZE;
|
vf->priv->buf_size = COMPDATASIZE + FRAMEHEADERSIZE;
|
||||||
|
|
||||||
mux_v->bih->biWidth=width;
|
mux_v->bih->biWidth=width;
|
||||||
mux_v->bih->biHeight=height;
|
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
|
// This has to be don here otherwise tv with sound doesn't work
|
||||||
if(!vf->priv->tbl_wrote) {
|
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();
|
RTjpeg_init_mcompress();
|
||||||
|
|
||||||
ench->frametype = 'D'; // compressor data
|
ench->frametype = 'D'; // compressor data
|
||||||
ench->comptype = 'R'; // compressor data for RTjpeg
|
ench->comptype = 'R'; // compressor data for RTjpeg
|
||||||
ench->packetlength = 128*sizeof(long int);
|
ench->packetlength = COMPDATASIZE;
|
||||||
|
|
||||||
le2me_rtframeheader(ench);
|
le2me_rtframeheader(ench);
|
||||||
mux_v->buffer=vf->priv->buffer;
|
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;
|
vf->priv->tbl_wrote = 1;
|
||||||
memset(ench,0,FRAMEHEADERSIZE); // Reset the header
|
memset(ench,0,FRAMEHEADERSIZE); // Reset the header
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user