[Cin] Re3: Blu-ray encoding again

Andrew Randrianasulu randrianasulu at gmail.com
Sat Nov 16 08:48:50 CET 2019


No, apparently pulldown option requres more handling:

from x264.h

   /* Pulldown:
     * The correct pic_struct must be passed with each input frame.
     * The input timebase should be the timebase corresponding to the output framerate. This should be constant.
     * e.g. for 3:2 pulldown timebase should be 1001/30000
     * The PTS passed with each frame must be the PTS of the frame after pulldown is applied.
     * Frame doubling and tripling require b_vfr_input set to zero (see H.264 Table D-1)
     *
     * Pulldown changes are not clearly defined in H.264. Therefore, it is the calling app's responsibility to manage this.
     */

so, no for now.

I tried to see if scaling checkbox in BD creation dialog worked,
but for some rason it only worked in LANG=en_EN.utf8

LANG=en_EN.utf8 LANGUAGE=ru cin
Cinelerra: Could not set locale.
Cinelerra Infinity - built: Nov 14 2019 14:17:05
git://git.cinelerra-gg.org/goodguy/cinelerra.git
(c) 2006-2019 Heroine Virtual Ltd. by Adam Williams
(c) 2007-2019 cin5 derivative by W.P. Morrow aka goodguy
Cinelerra is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. There is absolutely no warranty for Cinelerra.

FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
Mesa: User error: GL_INVALID_OPERATION in glDeleteShader
Session time: 0:00:20
Cpu time: user: 0:00:03.192 sys: 0:00:01.071

LANG=ru_RU.utf8 LANGUAGE=ru cin
Cinelerra Infinity - built: Nov 14 2019 14:17:05
git://git.cinelerra-gg.org/goodguy/cinelerra.git
(c) 2006-2019 Heroine Virtual Ltd. by Adam Williams
(c) 2007-2019 cin5 derivative by W.P. Morrow aka goodguy
Cinelerra is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. There is absolutely no warranty for Cinelerra.

FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
Device type none is not supported.
Available device types: vdpau cuda vaapi opencl
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
Device type none is not supported.
Available device types: vdpau cuda vaapi opencl
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
Device type none is not supported.
Available device types: vdpau cuda vaapi opencl
FFMPEG::open_decoder: some stream times estimated: /home/guest/botva/Downloads/from_Vladimir/Leningrad dolphinarium 16 09 2009/LD_160909_2.avi
AttachmentPoint::attach_virtual_plugin attempt to attach when no plugin_server.
Mesa: User error: GL_INVALID_OPERATION in glDeleteShader
Session time: 0:00:23
Cpu time: user: 0:00:03.833 sys: 0:00:01.340


AttachmentPoint::attach_virtual_plugin attempt to attach when no plugin_server. - apparently indicator of error?

Effect itself attaches, but I can't control its parameters, and composer and resulted output are all black :(

Actually, with LANG set to en_US.utf8 LANGUAGE=ru cin still run into problem
Only LANG=en_US.utf8 cin with LANGUAGE unset works

LANG=fr_FR.utf8 cin fails too (in this autoattach mode from bdcreate.C), 
same for German locale (de)

sorry ....

----------  Пересланное сообщение  ----------

Тема: Re2: [Cin] Blu-ray encoding again
Дата: Суббота 16 ноября 2019
Отправитель: Andrew Randrianasulu <randrianasulu at gmail.com>
Получатель:  "Cinelerra.GG" <cin at lists.cinelerra-gg.org>

actually, I think for current time jsut commented  bluray.m2ts opts file should work....
with just  struct bd_format expansion, because I don't know how to add correctly 
line or two inside already-read opts file (my x264-opts editing was not accepted by ffmpeg)


----------  Пересланное сообщение  ----------

Тема: Re: [Cin] Blu-ray encoding again
Дата: Суббота 16 ноября 2019
Отправитель: Andrew Randrianasulu <randrianasulu at gmail.com>
Получатель:  "Cinelerra.GG" <cin at lists.cinelerra-gg.org>

В сообщении от 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 --------------
bluray libx264
bluray-compat=1
id=0x1011
level=41
bf=2
# set for 1080p/25 and 1080p/29.97
fake-interlaced=1
# set for 720p 29.97 and 25
pulldown=double
# bitrate=40000
slices=4
sar=1:1
# vbv-maxrate=40000
# vbv-bufsize=30000
refs=3
cin_pix_fmt=yuv420p
color_range=mpeg
colorspace=bt709
color_trc=bt709
color_primaries=bt709
profile=high
preset=medium
flags=+cgop
# must be last for bdcreate.C
# set keyint= to your BD type framerate setting manually!
x264opts keyint=25:min-keyint=4:qpmin=3:qpmax=33:qp_step=4:merange=8:vbv-maxrate=40000:vbv-bufsize=30000


More information about the Cin mailing list