[Cin] Interlace driving me mad .....

Phyllis Smith phylsmith2017 at gmail.com
Wed Dec 2 00:27:43 CET 2020


Andrew,
I could not reproduce the crash I got the other day so have finally *checked
into GIT interlace_aspect_autodetect-12.patch *(from the ru download
site).  I tested and saw the correct interlace mode in the Resources window
media folder "info" and under Settings->Format.  Also looked at the code
but I do not know much about C++.  But the one thing that I for sure do not
comprehend in the patch is the section in fileffmpeg.C about the Fixups
(maybe this was explained in a different email though):

        Asset *asset = fmt_config->asset;
        char *format_name = asset->fformat;
+       char *replace_name0 = "mov";
+       char *replace_name1 = "mpegts";
+       char *replace_name2 = "matroska";
+       if (!strcmp(format_name, "qt"))
+               format_name = replace_name0; // fixup
+       if (!strcmp(format_name, "m2ts"))
+               format_name = replace_name1; // fixup
+       if (!strcmp(format_name, "mkv"))
+               format_name = replace_name2; // fixup

And in mwindow.C, why is it needed to specifically add the following?:

+       float ar = asset->aspect_ratio;
+       if (ar) {
+       //printf ("Aspect ratio from asset: %f \n", ar);
+       if( EQUIV(ar, 1.3333) ) { session->aspect_w = 4;  session->aspect_h
= 3;  }
+       if( EQUIV(ar, 1.7777) ) { session->aspect_w = 16; session->aspect_h
= 9;   }
+       if( EQUIV(ar, 2.1111) ) { session->aspect_w = 19; session->aspect_h
= 9;  }
+       if( EQUIV(ar, 2.2222) ) { session->aspect_w = 20; session->aspect_h
= 9;   }
+       if( EQUIV(ar, 2.3333) ) { session->aspect_w = 21; session->aspect_h
= 9;   }
+       if( EQUIV(ar, 2.370370) ) { session->aspect_w = 64;
session->aspect_h = 27; }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20201201/6d2b929e/attachment.htm>


More information about the Cin mailing list