{ "1920x1080 25i", 1920,1080, 25., 1, ILACE_MODE_TOP_FIRST },
{ "1920x1080 25p*", 1920,1080, 25., 1, ILACE_MODE_FAKE_INTERLACE },
{ "1920x1080 23.976p", 1920,1080, 23.976, 1, ILACE_MODE_NOTINTERLACED },
- { "1440x1080 29.97i", 1440,1080, 29.97, -1, ILACE_MODE_TOP_FIRST },
- { "1440x1080 25i", 1440,1080, 25., -1, ILACE_MODE_TOP_FIRST },
- { "1440x1080 24p", 1440,1080, 24., -1, ILACE_MODE_NOTINTERLACED },
- { "1440x1080 23.976p", 1440,1080, 23.976,-1, ILACE_MODE_NOTINTERLACED },
+ { "1440x1080 29.97i", 1440,1080, 29.97, 1, ILACE_MODE_TOP_FIRST },
+ { "1440x1080 25i", 1440,1080, 25., 1, ILACE_MODE_TOP_FIRST },
+ { "1440x1080 24p", 1440,1080, 24., 1, ILACE_MODE_NOTINTERLACED },
+ { "1440x1080 23.976p", 1440,1080, 23.976, 1, ILACE_MODE_NOTINTERLACED },
{ "1280x720 59.94p", 1280,720, 59.94, 1, ILACE_MODE_NOTINTERLACED },
{ "1280x720 50p", 1280,720, 50., 1, ILACE_MODE_NOTINTERLACED },
{ "1280x720 29.97p*", 1280,720, 29.97, 1, ILACE_MODE_NOTINTERLACED },
{ "1280x720 23.976p", 1280,720, 23.976, 1, ILACE_MODE_NOTINTERLACED },
{ "720x576 25i", 720,576, 25., 0, ILACE_MODE_BOTTOM_FIRST },
{ "720x576 25p*", 720,576, 25., 0, ILACE_MODE_NOTINTERLACED },
+ { "720x576(w) 25i", 720,576, 25., 1, ILACE_MODE_BOTTOM_FIRST },
+ { "720x576(w) 25p*", 720,576, 25., 1, ILACE_MODE_NOTINTERLACED },
{ "720x480 29.97i", 720,480, 29.97, 0, ILACE_MODE_BOTTOM_FIRST },
{ "720x480 29.97p*", 720,480, 29.97, 0, ILACE_MODE_NOTINTERLACED },
+ { "720x480(w) 29.97i", 720,480, 29.97, 1, ILACE_MODE_BOTTOM_FIRST },
+ { "720x480(w) 29.97p*", 720,480, 29.97, 1, ILACE_MODE_NOTINTERLACED },
+
};
static struct bd_profile {
FFMPEG::set_option_path(option_path, "video/%s", asset->vcodec);
FFMPEG::load_options(option_path, asset->ff_video_options,
sizeof(asset->ff_video_options));
+ if(session->aspect_w == 16) {
+ char aspect_line[100];
+ float par = (float)((float)asset->width / (float)asset->height);
+ sprintf(aspect_line, "aspect=%f\n", asset->aspect_ratio/par);
+ strcat(asset->ff_video_options, aspect_line);
+ //printf("Aspect line: %s par: %f width: %i height: %i\n ", aspect_line, par, asset->width, asset->height);
+ }
asset->ff_video_bitrate = vid_bitrate;
asset->ff_video_quality = -1;
return 0;
popup->set_text(text);
int n = strlen(text)-1;
int not_standard = n >= 0 && text[n] == '*' ? 1 : 0;
- popup->gui->non_standard->update(not_standard ? _("* non-standard format") : "", 0);
+ popup->gui->non_standard->update(not_standard ? _(" * non-standard format") : "", 0);
return popup->handle_event();
}
encoder->isPAL = isPAL;
output_size = (isPAL ? DV1394_PAL_FRAME_SIZE : DV1394_NTSC_FRAME_SIZE);
- // Compare to 16 / 8 rather than == 16 / 9 in case of floating point
- // rounding errors
- encoder->is16x9 = asset->aspect_ratio > 16 / 8;
+ //printf("filedv aspect- %f \n", asset->aspect_ratio);
+ if(1.777778 - asset->aspect_ratio < 0.001f)
+ encoder->is16x9 = 1;
}
else
{
int FileDV::write_frames(VFrame ***frames, int len)
{
int result = 0;
+ time_t now = time(NULL);
if(stream == 0) return 1;
//printf("FileDV::write_frames: 4\n");
dv_encode_full_frame(encoder, temp_frame->get_rows(),
e_dv_color_yuv, video_buffer);
+ dv_encode_metadata(video_buffer, encoder->isPAL, encoder->is16x9, &now, 0);
+ dv_encode_timecode(video_buffer, encoder->isPAL, 0);
break;
case BC_RGB888:
//printf("FileDV::write_frames: 5\n");
dv_encode_full_frame(encoder, temp_frame->get_rows(),
e_dv_color_rgb, video_buffer);
+ dv_encode_metadata(video_buffer, encoder->isPAL, encoder->is16x9, &now, 0);
+ dv_encode_timecode(video_buffer, encoder->isPAL, 0);
break;
default:
unsigned char *data = new unsigned char[asset->height * asset->width * 2];