[Cin] fileffmpeg.C history
Andrew Randrianasulu
randrianasulu at gmail.com
Fri Jan 6 01:46:21 CET 2023
On Thu, Jan 5, 2023 at 7:12 PM Phyllis Smith <phylsmith2017 at gmail.com> wrote:
>
> That is because it was COMPLETELY rewritten and there is no resemblance. Just do a "diff" on the 2 files and you will see the only thing that is the same is blank lines, single brackets, and 6 include files. You can see these same type of differences by just diffing 2 completely different files -- for example, do a "diff" on aplugin.C in CinGG with apluginset.C in HV-8.
well, I look at diff as it was at time of committing, and yes,
looking at header fileffmpeg.h (describing prototypes for
functions/interface))
I tend to agree with you:
-class FileFFMPEGStream
+class FileFFMPEG : public FileBase
{
public:
- FileFFMPEGStream();
- ~FileFFMPEGStream();
-
- void update_pcm_history(int64_t current_sample, int64_t len);
- void append_history(short *new_data, int len);
- void read_history(double *dst,
- int64_t start_sample,
- int channel,
- int64_t len);
- void allocate_history(int len);
-
-
- void *ffmpeg_file_context;
-
-// Video
-// Next read positions
- int64_t current_frame;
-// Last decoded positions
- int64_t decoded_frame;
- int first_frame;
-
-
-// Audio
-// Interleaved samples
- double **pcm_history;
- int64_t history_allocated;
- int64_t history_size;
- int64_t history_start;
- int64_t decode_start;
- int64_t decode_len;
- int64_t decode_end;
- int channels;
- int64_t current_sample;
- int64_t decoded_sample;
-
-// Number of the stream in the ffmpeg array
- int index;
+ FFMPEG *ff;
+
+ FileFFMPEG(Asset *asset, File *file);
+ ~FileFFMPEG();
+ static void ff_lock(const char *cp=0);
+ static void ff_unlock();
+
+ static void get_parameters(BC_WindowBase *parent_window,Asset *asset,
+ BC_WindowBase *&format_window,int audio_options,int video_options);
+ static int check_sig(Asset *asset);
+ int get_video_info(int track, int &pid, double &framerate,
+ int &width, int &height, char *title=0);
+ int get_audio_for_video(int stream, int64_t &channels, int layer);
+ static void get_info(char *path,char *text);
+ int open_file(int rd,int wr);
+ int close_file(void);
+ int set_video_position(int64_t pos);
+ int set_audio_position(int64_t pos);
+ int write_samples(double **buffer,int64_t len);
+ int write_frames(VFrame ***frames,int len);
+ int read_samples(double *buffer,int64_t len);
+ int read_frame(VFrame *frame);
+ int64_t get_memory_usage(void);
+ int colormodel_supported(int colormodel);
+ int get_best_colormodel(Asset *asset,int driver);
};
=========
guess some similarities result from using same interface layers above and below.
>
>
> On Thu, Jan 5, 2023 at 12:00 AM Andrew Randrianasulu <randrianasulu at gmail.com> wrote:
>>
>> I think this specific file lost its header in
>>
>> Автор: Good1.2Guy <good1.2guy at gmail.com> 2015-04-13 22:18:09
>> Коммитер: Good1.2Guy <good1.2guy at gmail.com> 2015-04-13 22:18:09
>> Предок: 5f709d7d9ee401dd945301432bde747d50c5b704 (repair
>> x_error_handler err msg reporting)
>> Потомок: c38d89476f399692d846f57b79ad098b6f777030 (fix static build dep jpeg)
>> Ветка: master, remotes/origin/master
>> Следует за:
>> Предшествует:
>>
>> rework ffmpeg: added encoder upgraded decoder. numerous minor fixes
>>
>>
>> ===
>> ------------------- cinelerra-4.6.mod/cinelerra/fileffmpeg.C -------------------
>> index 77401980..0547fd6f 100644
>> @@ -1,535 +1,206 @@
>>
>> -/*
>> - * CINELERRA
>> - * Copyright (C) 2011 Adam Williams <broadcast at earthling dot net>
>> - *
>> - * This program is free software; you can redistribute it and/or modify
>> - * it under the terms of the GNU General Public License as published by
>> - * the Free Software Foundation; either version 2 of the License, or
>> - * (at your option) any later version.
>> - *
>> - * This program is distributed in the hope that it will be useful,
>> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>> - * GNU General Public License for more details.
>> - *
>> - * You should have received a copy of the GNU General Public License
>> - * along with this program; if not, write to the Free Software
>> - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
>> - *
>> - */
More information about the Cin
mailing list