}
void FileMPEG::get_parameters(BC_WindowBase *parent_window,
- Asset *asset,
- BC_WindowBase* &format_window,
- int audio_options,
- int video_options)
+ Asset *asset, BC_WindowBase* &format_window,
+ int audio_options, int video_options, EDL *edl)
{
if(audio_options && asset->format == FILE_AMPEG)
{
if( mpeg->get_video_info(track, pid, framerate, width, height) ) return 1;
if( pid < 0 || framerate <= 0 ) return 1;
double position = framenum / framerate;
-//printf("t%d/%03x f"_LD", %dx%d %dx%d\n",track,pid,framenum,mw,mh,width,height);
+//printf("t%d/%03x f%jd, %dx%d %dx%d\n",track,pid,framenum,mw,mh,width,height);
MWindow::commercials->get_frame(file, pid, position, tdat, mw, mh, width, height);
return 0;
}
switch(driver)
{
case PLAYBACK_X11:
- return BC_RGB888;
+// return BC_RGB888;
+// the direct X11 color model requires scaling in the codec
+ return BC_BGR8888;
case PLAYBACK_X11_XV:
case PLAYBACK_ASYNCHRONOUS:
return zmpeg3_cmdl(asset->vmpeg_cmodel) > 0 ?
if(!temp_frame)
{
- temp_frame = new VFrame(0,
- -1,
- temp_w,
- temp_h,
- output_cmodel,
- -1);
+ temp_frame = new VFrame(temp_w, temp_h,
+ output_cmodel, 0);
}
BC_CModels::transfer(temp_frame->get_rows(),
//printf("FileMPEG::write_frames %d\n", __LINE__);sleep(1);
if(!temp_frame)
{
- temp_frame = new VFrame(0,
- -1,
- asset->width,
- asset->height,
- output_cmodel,
- -1);
+ temp_frame = new VFrame(asset->width, asset->height,
+ output_cmodel, 0);
}
// printf("FileMPEG::write_frames %d temp_frame=%p %p %p %p frame=%p %p %p %p color_model=%p %p\n",