[Cin] Blu-ray encoding again

Phyllis Smith phylsmith2017 at gmail.com
Tue Nov 19 01:51:44 CET 2019


Bluray changes have been checked in as tested, noted, patched, provided by
Andrew:

1) the hardware device "none" was giving an error message -- gg fixed this;
2) in the bluray...m2ts opts files the x264opts was switched to x264-params
because of Andrew's note of future deprecation of x264opts (I still have to
do the non-bluray ones);
3) bdcreate patch applied that adds 3 additional bluray settings
(1920x1080, 25p and 1280x720p, 29.97p and 25) and changed the method of
dealing with the fake_interlace versus tff/bff interlace;
4) modified bluray.m2ts based on Andrew's recommendation;
5) added bluray_interlace, bluray_tff, and bluray_bff .m2ts to handle
specific cases as noted.

I did quite a few tests and wore out the carpet between the bluray writer
and the TV! so even though bluray is going out, we still use it a lot for
home videos.
Thanks for all of the research/work by Andrew.   gg/Phyllis

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;
>
> --
> Cin mailing list
> Cin at lists.cinelerra-gg.org
> https://lists.cinelerra-gg.org/mailman/listinfo/cin
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20191118/cbccb2b6/attachment-0001.html>


More information about the Cin mailing list