annotate libmpcodecs/ve.c @ 7732:328bbac6224c

Fixes: - missing check in init - missing brackets causing failure - nas_aformat_to_auformat not working properly - fix hang that was finally reproducible with high disk activity - don't cut of audio on uninit(), wait for buffer to empty It also simplifies the event_handler, making it more readable and implements Sidik Isani's suggestion to make the buffer size dependent on bytes per second. I've been using it for two days and found no further problems. patch by Tobias Diedrich <td@sim.uni-hannover.de>
author arpi
date Sun, 13 Oct 2002 22:00:15 +0000
parents dacc262f41ba
children 0b7839c27be9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5550
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
1 #include <stdio.h>
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
2 #include <stdlib.h>
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
3 #include <string.h>
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
4
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
5 #include "../config.h"
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
6 #include "../mp_msg.h"
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
7
5607
1972c3475d93 mp_image.h and img_format.h moved to libmpcodecs
arpi
parents: 5577
diff changeset
8 #include "img_format.h"
1972c3475d93 mp_image.h and img_format.h moved to libmpcodecs
arpi
parents: 5577
diff changeset
9 #include "mp_image.h"
5550
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
10 #include "vf.h"
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
11
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
12 extern vf_info_t ve_info_divx4;
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
13 extern vf_info_t ve_info_lavc;
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
14 extern vf_info_t ve_info_vfw;
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
15 extern vf_info_t ve_info_rawrgb;
5577
80eedd3ef6d3 RGB24/YUY2 -> DV encoding, using libdv
arpi
parents: 5550
diff changeset
16 extern vf_info_t ve_info_libdv;
7456
dacc262f41ba Support for XviD encoding
kmkaplan
parents: 5607
diff changeset
17 extern vf_info_t ve_info_xvid;
5550
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
18
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
19 static vf_info_t* encoder_list[]={
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
20 #ifdef HAVE_DIVX4ENCORE
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
21 &ve_info_divx4,
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
22 #endif
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
23 #ifdef USE_LIBAVCODEC
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
24 &ve_info_lavc,
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
25 #endif
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
26 #ifdef USE_WIN32DLL
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
27 &ve_info_vfw,
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
28 #endif
5577
80eedd3ef6d3 RGB24/YUY2 -> DV encoding, using libdv
arpi
parents: 5550
diff changeset
29 #ifdef HAVE_LIBDV095
80eedd3ef6d3 RGB24/YUY2 -> DV encoding, using libdv
arpi
parents: 5550
diff changeset
30 &ve_info_libdv,
80eedd3ef6d3 RGB24/YUY2 -> DV encoding, using libdv
arpi
parents: 5550
diff changeset
31 #endif
5550
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
32 &ve_info_rawrgb,
7456
dacc262f41ba Support for XviD encoding
kmkaplan
parents: 5607
diff changeset
33 #if defined(HAVE_XVID)
dacc262f41ba Support for XviD encoding
kmkaplan
parents: 5607
diff changeset
34 &ve_info_xvid,
dacc262f41ba Support for XviD encoding
kmkaplan
parents: 5607
diff changeset
35 #endif
5550
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
36 NULL
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
37 };
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
38
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
39 vf_instance_t* vf_open_encoder(vf_instance_t* next, char *name, char *args){
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
40 return vf_open_plugin(encoder_list,next,name,args);
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
41 }
7d1dfb59c6c0 encoders
arpi
parents:
diff changeset
42