[Cin] Blu-ray encoding again
Andrew Randrianasulu
randrianasulu at gmail.com
Sat Nov 16 04:39:15 CET 2019
В сообщении от Friday 15 November 2019 02:40:35 Phyllis Smith написал(а):
> Andrew:
>
> File I used for test was named 1080p25.ts and I found it ...
> > http://www.w6rz.net/1080p25.zip here
> >
>
> Thanks for this test file. I have been testing the bluray.m2ts that you
> provided off and on all day. Everything seems to work just fine on our
> bluray burner and when played on the bluray player connected to the TV.
> The fake-interlaced=1 parameter was quite intriguing so at least once, I
> was able to get a failure with the provided media when I left out this fake
> parameter. So I guess it really does what it says it does! So this opts
> file will get checked in with, as always, a few gg tweaks. Thanks,
> Phyllis/gg
>
I tried to patch bdcreate.C but while it worked I'm sure i did it wrong (and you need to fix keyint by hand anyway):
cat /dev/shm/bdcreate.patch
diff --git a/cinelerra-5.1/cinelerra/bdcreate.C b/cinelerra-5.1/cinelerra/bdcreate.C
index 863c5d0..fdafa5c 100644
--- a/cinelerra-5.1/cinelerra/bdcreate.C
+++ b/cinelerra-5.1/cinelerra/bdcreate.C
@@ -44,6 +44,7 @@ static struct bd_format {
{ "1920x1080 29.97p*", 1920,1080, 29.97, 1, ILACE_MODE_NOTINTERLACED },
{ "1920x1080 24p", 1920,1080, 24., 1, ILACE_MODE_NOTINTERLACED },
{ "1920x1080 25i", 1920,1080, 25., 1, ILACE_MODE_TOP_FIRST },
+ { "1920x1080 25p", 1920,1080, 25., 1, ILACE_MODE_NOTINTERLACED },
{ "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 },
@@ -51,6 +52,8 @@ static struct bd_format {
{ "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 25p", 1280,720, 25., 1, ILACE_MODE_NOTINTERLACED },
{ "1280x720 24p", 1280,720, 24., 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 },
@@ -325,11 +328,23 @@ int CreateBD_Thread::create_bd_jobs(ArrayList<BatchRenderJob*> *jobs, const char
FFMPEG::set_option_path(option_path, "video/%s", asset->vcodec);
FFMPEG::load_options(option_path, asset->ff_video_options,
sizeof(asset->ff_video_options));
- const char *opts = 0;
+ char *opts = 0;
+ char *opts1 = 0;
switch( asset->interlace_mode ) {
case ILACE_MODE_TOP_FIRST: opts = ":tff\n"; break;
case ILACE_MODE_BOTTOM_FIRST: opts = ":bff\n"; break;
}
+
+ if ((asset->width == 1920) && (asset->height == 1080) && (asset->frame_rate != 24) && (asset->interlace_mode==ILACE_MODE_NOTINTERLACED))
+ opts1="fake-interlaced=1\n";
+ if ((asset->width == 1280) && (asset->height == 720) && (asset->frame_rate == 25 || asset->frame_rate == 29.97 ) && (asset->interlace_mode==ILACE_MODE_NOTINTERLACED))
+ opts1="pulldown=double\n";
+
+ if ((opts1) && (opts)) {
+ int len1 = strlen(opts);
+ char *cp1 = opts + len1-1;
+ strncpy(cp1, opts1, sizeof(opts)-len1);
+ }
if( opts ) {
int len = strlen(asset->ff_video_options);
char *cp = asset->ff_video_options + len-1;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bdcreate.patch
Type: text/x-diff
Size: 2463 bytes
Desc: not available
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20191116/b9596b24/attachment-0001.bin>
More information about the Cin
mailing list