summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TOOLS/vivodump.c10
-rw-r--r--libmpcodecs/ve_divx4.c3
-rw-r--r--libmpcodecs/ve_lavc.c3
-rw-r--r--libmpcodecs/ve_libdv.c4
-rw-r--r--libmpcodecs/ve_qtvideo.c4
-rw-r--r--libmpcodecs/ve_rawrgb.c4
-rw-r--r--libmpcodecs/ve_vfw.c4
-rw-r--r--libmpcodecs/ve_xvid.c3
-rw-r--r--mencoder.c23
9 files changed, 21 insertions, 37 deletions
diff --git a/TOOLS/vivodump.c b/TOOLS/vivodump.c
index 57205fd787..72134b1d00 100644
--- a/TOOLS/vivodump.c
+++ b/TOOLS/vivodump.c
@@ -149,7 +149,7 @@ int pos=0;
int frames=0;
FILE *f=fopen("paulvandykforanangel.viv","rb");
FILE *f2=fopen("GB1.avi","wb");
-muxer_t* avi=muxer_new_muxer(MUXER_TYPE_AVI);
+muxer_t* avi=muxer_new_muxer(MUXER_TYPE_AVI,f2);
muxer_stream_t* mux=muxer_new_stream(avi,MUXER_TYPE_VIDEO);
//unsigned char* buffer=malloc(0x200000);
int i,len;
@@ -169,7 +169,7 @@ mux->bih->biSize=sizeof(BITMAPINFOHEADER);
mux->bih->biPlanes=1;
mux->bih->biBitCount=24;
mux->bih->biCompression=0x6f766976;// 7669766f;
-muxer_write_header(avi,f2);
+muxer_write_header(avi);
/*
c=fgetc(f); if(c) printf("error! not vivo file?\n");
@@ -222,7 +222,7 @@ while((c=fgetc(f))>=0){
// end of frame:
printf("Frame size: %d\n",mux->buffer_len);
h263_decode_picture_header(mux->buffer);
- muxer_write_chunk(avi,mux,f2,mux->buffer_len,0x10);
+ muxer_write_chunk(mux,mux->buffer_len,0x10);
mux->buffer_len=0;
if((v_id&0xF0)==0x10) fprintf(stderr,"hmm. last video packet %02X\n",v_id);
@@ -258,8 +258,8 @@ mux->bih->biWidth=width;
mux->bih->biHeight=height;
mux->bih->biSizeImage=3*width*height;
-muxer_write_index(avi,f2);
+muxer_write_index(avi);
fseek(f2,0,SEEK_SET);
-muxer_write_header(avi,f2);
+muxer_write_header(avi);
}
diff --git a/libmpcodecs/ve_divx4.c b/libmpcodecs/ve_divx4.c
index 5ef26068cb..aeb9198667 100644
--- a/libmpcodecs/ve_divx4.c
+++ b/libmpcodecs/ve_divx4.c
@@ -44,7 +44,6 @@
static int pass;
extern char* passtmpfile;
-extern void mencoder_write_chunk(muxer_stream_t *s,int len,unsigned int flags);
#include <encore2.h>
@@ -273,7 +272,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
enc_result.quantizer);
}
}
- mencoder_write_chunk(mux_v,vf->priv->enc_frame.length,enc_result.is_key_frame?0x10:0);
+ muxer_write_chunk(mux_v,vf->priv->enc_frame.length,enc_result.is_key_frame?0x10:0);
return 1;
}
diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c
index 991b1267bc..952f882a46 100644
--- a/libmpcodecs/ve_lavc.c
+++ b/libmpcodecs/ve_lavc.c
@@ -27,7 +27,6 @@
#include "vf.h"
extern char* passtmpfile;
-extern void mencoder_write_chunk(muxer_stream_t *s,int len,unsigned int flags);
//===========================================================================//
@@ -486,7 +485,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
out_size = avcodec_encode_video(lavc_venc_context, mux_v->buffer, mux_v->buffer_size,
pic);
- mencoder_write_chunk(mux_v,out_size,lavc_venc_context->coded_frame->key_frame?0x10:0);
+ muxer_write_chunk(mux_v,out_size,lavc_venc_context->coded_frame->key_frame?0x10:0);
#if LIBAVCODEC_BUILD >= 4643
/* store psnr / pict size / type / qscale */
diff --git a/libmpcodecs/ve_libdv.c b/libmpcodecs/ve_libdv.c
index 511c059556..81f62a3dc2 100644
--- a/libmpcodecs/ve_libdv.c
+++ b/libmpcodecs/ve_libdv.c
@@ -23,8 +23,6 @@
#include <libdv/dv.h>
-extern void mencoder_write_chunk(muxer_stream_t *s,int len,unsigned int flags);
-
#ifndef DV_WIDTH
#define DV_WIDTH 720
#define DV_PAL_HEIGHT 576
@@ -78,7 +76,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
(mpi->flags&MP_IMGFLAG_YUV) ? e_dv_color_yuv : e_dv_color_rgb,
mux_v->buffer);
- mencoder_write_chunk(mux_v, 480 * (vf->priv->enc->isPAL ? 300 : 250) , 0x10);
+ muxer_write_chunk(mux_v, 480 * (vf->priv->enc->isPAL ? 300 : 250) , 0x10);
return 1;
}
diff --git a/libmpcodecs/ve_qtvideo.c b/libmpcodecs/ve_qtvideo.c
index af10217d0d..755c90a0c8 100644
--- a/libmpcodecs/ve_qtvideo.c
+++ b/libmpcodecs/ve_qtvideo.c
@@ -90,8 +90,6 @@ static long (*CountComponents)(ComponentDescription* desc);
static OSErr (*GetComponentInfo)(Component prev,ComponentDescription* desc,Handle h1,Handle h2,Handle h3);
-extern void mencoder_write_chunk(muxer_stream_t *s,int len,unsigned int flags);
-
//static int format=mmioFOURCC('S','V','Q','1');
static int format=mmioFOURCC('S','V','Q','3');
@@ -260,7 +258,7 @@ if(!codec_inited){
printf("Size %i->%i \n",stride*height,compressedsize);
printf("Ratio: %i:1\n",(stride*height)/compressedsize);
#endif
- mencoder_write_chunk(mux_v, compressedsize , similarity?0:0x10);
+ muxer_write_chunk(mux_v, compressedsize , similarity?0:0x10);
if(((*desc)->idSize)>MAX_IDSIZE){
printf("FATAL! idSize=%d too big, increase MAX_IDSIZE in ve_qtvideo.c!\n",((*desc)->idSize));
diff --git a/libmpcodecs/ve_rawrgb.c b/libmpcodecs/ve_rawrgb.c
index 2388db5f28..64e03b30f8 100644
--- a/libmpcodecs/ve_rawrgb.c
+++ b/libmpcodecs/ve_rawrgb.c
@@ -16,8 +16,6 @@
#include "mp_image.h"
#include "vf.h"
-extern void mencoder_write_chunk(muxer_stream_t *s,int len,unsigned int flags);
-
//===========================================================================//
struct vf_priv_s {
@@ -48,7 +46,7 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mux_v->buffer=mpi->planes[0];
- mencoder_write_chunk(mux_v, mpi->width*mpi->height*3, 0x10);
+ muxer_write_chunk(mux_v, mpi->width*mpi->height*3, 0x10);
return 1;
}
diff --git a/libmpcodecs/ve_vfw.c b/libmpcodecs/ve_vfw.c
index c1a86da16e..c5589cb5a7 100644
--- a/libmpcodecs/ve_vfw.c
+++ b/libmpcodecs/ve_vfw.c
@@ -25,8 +25,6 @@
#include "muxer.h"
-extern void mencoder_write_chunk(muxer_stream_t *s,int len,unsigned int flags);
-
//===========================================================================//
static char *vfw_param_codec = NULL;
@@ -244,7 +242,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
int ret;
// flip_upside_down(vo_image_ptr,vo_image_ptr,3*vo_w,vo_h); // dirty hack
ret=vfw_encode_frame(mux_v->bih, mux_v->buffer, vfw_bih, mpi->planes[0], &flags, 10000);
- mencoder_write_chunk(mux_v,mux_v->bih->biSizeImage,flags);
+ muxer_write_chunk(mux_v,mux_v->bih->biSizeImage,flags);
return 1;
}
diff --git a/libmpcodecs/ve_xvid.c b/libmpcodecs/ve_xvid.c
index 12f1b64bbc..791f7839ec 100644
--- a/libmpcodecs/ve_xvid.c
+++ b/libmpcodecs/ve_xvid.c
@@ -65,7 +65,6 @@ static int const motion_presets[7] = {
};
extern char* passtmpfile;
-extern void mencoder_write_chunk(muxer_stream_t *s,int len,unsigned int flags);
static int xvidenc_pass = 0;
static int xvidenc_quality = 4;
@@ -454,7 +453,7 @@ put_image(struct vf_instance_s* vf, mp_image_t *mpi)
}
// write output
- mencoder_write_chunk(fp->mux, fp->enc_frame.length, fp->enc_frame.intra==1 ? 0x10 : 0);
+ muxer_write_chunk(fp->mux, fp->enc_frame.length, fp->enc_frame.intra==1 ? 0x10 : 0);
// update the VBR engine
vbrUpdate(&fp->vbr_state, enc_stats.quant, fp->enc_frame.intra,
diff --git a/mencoder.c b/mencoder.c
index 48d65dcbd3..191aa0724c 100644
--- a/mencoder.c
+++ b/mencoder.c
@@ -306,11 +306,6 @@ static void exit_sighandler(int x){
static muxer_t* muxer=NULL;
static FILE* muxer_f=NULL;
-// callback for ve_*.c:
-void mencoder_write_chunk(muxer_stream_t *s,int len,unsigned int flags){
- muxer_write_chunk(muxer,s,muxer_f,len,flags);
-}
-
extern void print_wave_header(WAVEFORMATEX *h);
int main(int argc,char* argv[]){
@@ -606,7 +601,7 @@ if(!muxer_f) {
mencoder_exit(1,NULL);
}
-muxer=muxer_new_muxer(out_file_format);
+muxer=muxer_new_muxer(out_file_format,muxer_f);
// ============= VIDEO ===============
@@ -815,7 +810,7 @@ if(audio_delay!=0.0){
} // if(sh_audio)
printf(MSGTR_WritingAVIHeader);
-muxer_write_header(muxer,muxer_f);
+muxer_write_header(muxer);
decoded_frameno=0;
@@ -1001,7 +996,7 @@ if(sh_audio){
}
}
if(len<=0) break; // EOF?
- muxer_write_chunk(muxer,mux_a,muxer_f,len,0x10);
+ muxer_write_chunk(mux_a,len,0x10);
if(!mux_a->h.dwSampleSize && mux_a->timer>0)
mux_a->wf->nAvgBytesPerSec=0.5f+(double)mux_a->size/mux_a->timer; // avg bps (VBR)
if(mux_a->buffer_len>=len){
@@ -1081,11 +1076,11 @@ ptimer_start = GetTimerMS();
switch(mux_v->codec){
case VCODEC_COPY:
mux_v->buffer=start;
- if(skip_flag<=0) muxer_write_chunk(muxer,mux_v,muxer_f,in_size,(sh_video->ds->flags&1)?0x10:0);
+ if(skip_flag<=0) muxer_write_chunk(mux_v,in_size,(sh_video->ds->flags&1)?0x10:0);
break;
case VCODEC_FRAMENO:
mux_v->buffer=(unsigned char *)&decoded_frameno; // tricky
- if(skip_flag<=0) muxer_write_chunk(muxer,mux_v,muxer_f,sizeof(int),0x10);
+ if(skip_flag<=0) muxer_write_chunk(mux_v,sizeof(int),0x10);
break;
default:
// decode_video will callback down to ve_*.c encoders, through the video filters
@@ -1096,7 +1091,7 @@ default:
// unwanted skipping of a frame, what to do?
if(skip_limit==0){
// skipping not allowed -> write empty frame:
- muxer_write_chunk(muxer,mux_v,muxer_f,0,0);
+ muxer_write_chunk(mux_v,0,0);
} else {
// skipping allowed -> skip it and distriubute timer error:
v_timer_corr-=(float)mux_v->h.dwScale/mux_v->h.dwRate;
@@ -1113,7 +1108,7 @@ if(skip_flag<0){
if(!tv_param_on && !verbose) printf(MSGTR_DuplicateFrames,-skip_flag);
while(skip_flag<0){
duplicatedframes++;
- muxer_write_chunk(muxer,mux_v,muxer_f,0,0);
+ muxer_write_chunk(mux_v,0,0);
++skip_flag;
}
} else
@@ -1272,11 +1267,11 @@ if(sh_audio && mux_a->codec==ACODEC_VBRMP3 && !lame_param_vbr){
#endif
printf(MSGTR_WritingAVIIndex);
-muxer_write_index(muxer,muxer_f);
+muxer_write_index(muxer);
muxer_f_size=ftello(muxer_f);
printf(MSGTR_FixupAVIHeader);
fseek(muxer_f,0,SEEK_SET);
-muxer_write_header(muxer,muxer_f); // update header
+muxer_write_header(muxer); // update header
if(ferror(muxer_f) || fclose(muxer_f) != 0) {
mp_msg(MSGT_MENCODER,MSGL_FATAL,MSGTR_ErrorWritingFile, out_filename);
mencoder_exit(1, NULL);