В сообщении от Wednesday 02 December 2020 16:47:05 Georgy Salnikov via Cin
написал(а):
> On Wed, 2 Dec 2020, Andrew Randrianasulu via Cin wrote:
>
> > > With the last git I can no longer see the png. Both in resources and
> > > timeline are not seen. In the terminal I have the following messages:
>
> Must PNG work under ffmpeg at all? I think, I have seen somewhere in CGG
> manual that ffmpeg did not work with picture files (picture series?), so I
> loaded them always switching to 'try ffmpeg last' not testing the opposite.
I think it still works with single images, because my fiddling with
fileffmpeg.C changes result (works/not) ....
I narrowed failure to my probe function, it doesn't like single images, so I
if'ed them away
(and not png/mjpeg codecs *plus* ff_video_frames >1 conditional as in my prev.
patch)
New patch attached
===
diff --git a/cinelerra-5.1/cinelerra/fileffmpeg.C
b/cinelerra-5.1/cinelerra/fileffmpeg.C
index eed14f20..43ed758b 100644
--- a/cinelerra-5.1/cinelerra/fileffmpeg.C
+++ b/cinelerra-5.1/cinelerra/fileffmpeg.C
@@ -345,8 +345,10 @@ int FileFFMPEG::open_file(int rd, int wr)
asset->aspect_ratio = ff->ff_aspect_ratio(0);
printf("ff_aspect_ratio, %f \n",
asset->aspect_ratio);
if (!asset->interlace_mode)
asset->interlace_mode = ff->ff_interlace(0);
+ if ( ff->ff_video_frames(0) > 1 ) {
ff->video_probe(1);
if (!asset->interlace_mode &&
(ff->interlace_from_codec) ) asset->interlace_mode = ff->video_probe(1);
+ }
if( !asset->layers ) asset->layers =
video_layers;
asset->actual_width = ff->ff_video_width(0);
asset->actual_height = ff->ff_video_height(0);
====
But yes, loading jpegs/pngs with 'try ffmpeg last' also workaround my bug ....
This hopefully still gives interlace/aspect autodetection (tested with m2t
file), yet images should
work as before ...
Sorry!
>
> _______________________________________________________________________________
>
> Georgy Salnikov
> NMR Group
> Novosibirsk Institute of Organic Chemistry
> Lavrentjeva, 9, 630090 Novosibirsk, Russia
> Phone +7-383-3307864
> Email [email protected]
> _______________________________________________________________________________
>
diff --git a/cinelerra-5.1/cinelerra/fileffmpeg.C b/cinelerra-5.1/cinelerra/fileffmpeg.C
index eed14f20..43ed758b 100644
--- a/cinelerra-5.1/cinelerra/fileffmpeg.C
+++ b/cinelerra-5.1/cinelerra/fileffmpeg.C
@@ -345,8 +345,10 @@ int FileFFMPEG::open_file(int rd, int wr)
asset->aspect_ratio = ff->ff_aspect_ratio(0);
printf("ff_aspect_ratio, %f \n", asset->aspect_ratio);
if (!asset->interlace_mode) asset->interlace_mode = ff->ff_interlace(0);
+ if ( ff->ff_video_frames(0) > 1 ) {
ff->video_probe(1);
if (!asset->interlace_mode && (ff->interlace_from_codec) ) asset->interlace_mode = ff->video_probe(1);
+ }
if( !asset->layers ) asset->layers = video_layers;
asset->actual_width = ff->ff_video_width(0);
asset->actual_height = ff->ff_video_height(0);
--
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin