]> git.sesse.net Git - x264/blob - muxers.h
9762053f2d35c0c81d95260dfe13de0ebb32df88
[x264] / muxers.h
1 #ifndef _X264_MUXERS_H_
2 #define _X264_MUXERS_H_
3
4 typedef void *hnd_t;
5
6 int open_file_yuv( char *psz_filename, hnd_t *p_handle, x264_param_t *p_param );
7 int get_frame_total_yuv( hnd_t handle );
8 int read_frame_yuv( x264_picture_t *p_pic, hnd_t handle, int i_frame );
9 int close_file_yuv( hnd_t handle );
10
11 #ifdef AVIS_INPUT
12 int open_file_avis( char *psz_filename, hnd_t *p_handle, x264_param_t *p_param );
13 int get_frame_total_avis( hnd_t handle );
14 int read_frame_avis( x264_picture_t *p_pic, hnd_t handle, int i_frame );
15 int close_file_avis( hnd_t handle );
16 #endif
17
18 #ifdef HAVE_PTHREAD
19 int open_file_thread( char *psz_filename, hnd_t *p_handle, x264_param_t *p_param );
20 int get_frame_total_thread( hnd_t handle );
21 int read_frame_thread( x264_picture_t *p_pic, hnd_t handle, int i_frame );
22 int close_file_thread( hnd_t handle );
23 #endif
24
25 int open_file_bsf( char *psz_filename, hnd_t *p_handle );
26 int set_param_bsf( hnd_t handle, x264_param_t *p_param );
27 int write_nalu_bsf( hnd_t handle, uint8_t *p_nal, int i_size );
28 int set_eop_bsf( hnd_t handle,  x264_picture_t *p_picture );
29 int close_file_bsf( hnd_t handle );
30
31 #ifdef MP4_OUTPUT
32 int open_file_mp4( char *psz_filename, hnd_t *p_handle );
33 int set_param_mp4( hnd_t handle, x264_param_t *p_param );
34 int write_nalu_mp4( hnd_t handle, uint8_t *p_nal, int i_size );
35 int set_eop_mp4( hnd_t handle, x264_picture_t *p_picture );
36 int close_file_mp4( hnd_t handle );
37 #endif
38
39 int open_file_mkv( char *psz_filename, hnd_t *p_handle );
40 int set_param_mkv( hnd_t handle, x264_param_t *p_param );
41 int write_nalu_mkv( hnd_t handle, uint8_t *p_nal, int i_size );
42 int set_eop_mkv( hnd_t handle, x264_picture_t *p_picture );
43 int close_file_mkv( hnd_t handle );
44
45 extern int (*p_open_infile)( char *psz_filename, hnd_t *p_handle, x264_param_t *p_param );
46 extern int (*p_get_frame_total)( hnd_t handle );
47 extern int (*p_read_frame)( x264_picture_t *p_pic, hnd_t handle, int i_frame );
48 extern int (*p_close_infile)( hnd_t handle );
49
50 extern int (*p_open_outfile)( char *psz_filename, hnd_t *p_handle );
51 extern int (*p_set_outfile_param)( hnd_t handle, x264_param_t *p_param );
52 extern int (*p_write_nalu)( hnd_t handle, uint8_t *p_nal, int i_size );
53 extern int (*p_set_eop)( hnd_t handle, x264_picture_t *p_picture );
54 extern int (*p_close_outfile)( hnd_t handle );
55
56 #endif