extern int (*p_read_frame)( x264_picture_t *p_pic, hnd_t handle, int i_frame );
extern int (*p_close_infile)( hnd_t handle );
-extern int (*p_open_outfile)( char *psz_filename, hnd_t *p_handle );
-extern int (*p_set_outfile_param)( hnd_t handle, x264_param_t *p_param );
-extern int (*p_write_nalu)( hnd_t handle, uint8_t *p_nal, int i_size );
-extern int (*p_set_eop)( hnd_t handle, x264_picture_t *p_picture );
-extern int (*p_close_outfile)( hnd_t handle );
-
#endif
" -o, --output Specify output file\n"
"\n"
" --threads <integer> Parallel encoding (uses slices)\n"
+ " --thread-input Run Avisynth in its own thread\n"
" --no-asm Disable all CPU optimizations\n"
" --no-psnr Disable PSNR computation\n"
" --quiet Quiet Mode\n"
char *psz_filename = NULL;
x264_param_t defaults = *param;
char *psz;
- char b_avis = 0;
+ int b_avis = 0;
+ int b_thread_input = 0;
memset( opt, 0, sizeof(cli_opt_t) );
#define OPT_NO_FAST_PSKIP 317
#define OPT_BIME 318
#define OPT_NR 319
+#define OPT_THREAD_INPUT 320
static struct option long_options[] =
{
{ "cplxblur",required_argument, NULL, OPT_CPLXBLUR },
{ "zones", required_argument, NULL, OPT_ZONES },
{ "threads", required_argument, NULL, OPT_THREADS },
+ { "thread-input", no_argument, NULL, OPT_THREAD_INPUT },
{ "no-psnr", no_argument, NULL, OPT_NOPSNR },
{ "quiet", no_argument, NULL, OPT_QUIET },
{ "verbose", no_argument, NULL, 'v' },
case OPT_THREADS:
param->i_threads = atoi(optarg);
break;
+ case OPT_THREAD_INPUT:
+ b_thread_input = 1;
+ break;
case OPT_NOPSNR:
param->analyse.b_psnr = 0;
break;
}
#ifdef HAVE_PTHREAD
- if( param->i_threads > 1 )
+ if( b_thread_input || param->i_threads > 1 )
{
if( open_file_thread( NULL, &opt->hin, param ) )
{