projects
/
goodguy
/
cinelerra.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e6b185e
)
Credit Andrew with additional vaapi options and update Copyright
author
Good Guy
<good1.2guy@gmail.com>
Mon, 28 Aug 2023 16:56:28 +0000
(10:56 -0600)
committer
Good Guy
<good1.2guy@gmail.com>
Mon, 28 Aug 2023 16:56:28 +0000
(10:56 -0600)
cinelerra-5.1/cinelerra/aboutprefs.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/aboutprefs.h
patch
|
blob
|
history
cinelerra-5.1/cinelerra/ffmpeg.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/main.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/versioninfo.h
patch
|
blob
|
history
cinelerra-5.1/info/plugins.txt
patch
|
blob
|
history
diff --git
a/cinelerra-5.1/cinelerra/aboutprefs.C
b/cinelerra-5.1/cinelerra/aboutprefs.C
index 03a6f9d03f57eaffa9df6a1a2a029c79f2177306..0ffb807292741a15deb42138f1c05e0b4381156e 100644
(file)
--- a/
cinelerra-5.1/cinelerra/aboutprefs.C
+++ b/
cinelerra-5.1/cinelerra/aboutprefs.C
@@
-28,10
+28,12
@@
#include "vframe.h"
#include "versioninfo.h"
#include "vframe.h"
#include "versioninfo.h"
+
#ifndef COMPILEDATE
#define COMPILEDATE "built: " __DATE__ " " __TIME__
#endif
const char *AboutPrefs::build_timestamp = COMPILEDATE;
#ifndef COMPILEDATE
#define COMPILEDATE "built: " __DATE__ " " __TIME__
#endif
const char *AboutPrefs::build_timestamp = COMPILEDATE;
+const char *AboutPrefs::ffmpeg_version = CINELERRA_LIBAV_VERSION;
AboutPrefs::AboutPrefs(MWindow *mwindow, PreferencesWindow *pwindow)
: PreferencesDialog(mwindow, pwindow)
AboutPrefs::AboutPrefs(MWindow *mwindow, PreferencesWindow *pwindow)
: PreferencesDialog(mwindow, pwindow)
@@
-51,11
+53,6
@@
void AboutPrefs::create_objects()
int x, y;
BC_Resources *resources = BC_WindowBase::get_resources();
int x, y;
BC_Resources *resources = BC_WindowBase::get_resources();
-// add_subwindow(new BC_Title(mwindow->theme->preferencestitle_x,
-// mwindow->theme->preferencestitle_y,
-// _("About"),
-// LARGEFONT,
-// resources->text_default));
x = mwindow->theme->preferencesoptions_x;
y = mwindow->theme->preferencesoptions_y +
x = mwindow->theme->preferencesoptions_x;
y = mwindow->theme->preferencesoptions_y +
@@
-72,7
+69,12
@@
void AboutPrefs::create_objects()
COPYRIGHTTEXT2
#endif
);
COPYRIGHTTEXT2
#endif
);
- y += get_text_height(MEDIUMFONT) * 3;
+ y += 2*get_text_height(MEDIUMFONT);
+ draw_text(x,y, COPYRIGHTTEXT3);
+ y += get_text_height(MEDIUMFONT);
+ draw_text(x,y, COPYRIGHTTEXT4);
+
+ y += get_text_height(MEDIUMFONT) * 2;
const char *cfg_path = File::get_cindat_path();
const char *cfg_path = File::get_cindat_path();
@@
-99,7
+101,7
@@
void AboutPrefs::create_objects()
about.append(new BC_ListBoxItem(msg));
}
BC_ListBox *listbox;
about.append(new BC_ListBoxItem(msg));
}
BC_ListBox *listbox;
- add_subwindow(listbox = new BC_ListBox(x, y, xS(450), yS(2
8
0),
+ add_subwindow(listbox = new BC_ListBox(x, y, xS(450), yS(2
5
0),
LISTBOX_TEXT, &about, 0, 0, 1));
y += listbox->get_h() + get_text_height(LARGEFONT) + yS(10);
}
LISTBOX_TEXT, &about, 0, 0, 1));
y += listbox->get_h() + get_text_height(LARGEFONT) + yS(10);
}
@@
-125,6
+127,12
@@
void AboutPrefs::create_objects()
y += get_text_height(MEDIUMFONT, license3);
draw_text(x, y, build_timestamp);
y += get_text_height(MEDIUMFONT, license3);
draw_text(x, y, build_timestamp);
+ x += get_text_width(MEDIUMFONT, build_timestamp);
+ draw_text(x,y, " ");
+ x += get_text_width(MEDIUMFONT, " ");
+ draw_text(x,y, ffmpeg_version);
+ x -= get_text_width(MEDIUMFONT, build_timestamp);
+ x -= get_text_width(MEDIUMFONT, " ");
#if defined(REPOMAINTXT)
y += get_text_height(MEDIUMFONT, build_timestamp);
draw_text(x, y, REPOMAINTXT);
#if defined(REPOMAINTXT)
y += get_text_height(MEDIUMFONT, build_timestamp);
draw_text(x, y, REPOMAINTXT);
diff --git
a/cinelerra-5.1/cinelerra/aboutprefs.h
b/cinelerra-5.1/cinelerra/aboutprefs.h
index ee87dcf1dcbfd8bb01b88e8b438d53a827646ba1..1b50374c4d15509dcefcb6dd909435f290845e8f 100644
(file)
--- a/
cinelerra-5.1/cinelerra/aboutprefs.h
+++ b/
cinelerra-5.1/cinelerra/aboutprefs.h
@@
-32,6
+32,7
@@
public:
~AboutPrefs();
static const char *build_timestamp;
~AboutPrefs();
static const char *build_timestamp;
+ static const char *ffmpeg_version;
void create_objects();
ArrayList<BC_ListBoxItem*> about;
};
void create_objects();
ArrayList<BC_ListBoxItem*> about;
};
diff --git
a/cinelerra-5.1/cinelerra/ffmpeg.C
b/cinelerra-5.1/cinelerra/ffmpeg.C
index 4923eded2981e9f4624ade279124d0816b27c33b..e95cc87e6da6f8c835a199db8ea445d9696a8190 100644
(file)
--- a/
cinelerra-5.1/cinelerra/ffmpeg.C
+++ b/
cinelerra-5.1/cinelerra/ffmpeg.C
@@
-1160,7
+1160,14
@@
int FFVideoStream::decode_hw_format(AVCodec *decoder, AVHWDeviceType type)
if( hw_pix_fmt >= 0 ) {
hw_pixfmt = hw_pix_fmt;
avctx->get_format = get_hw_format;
if( hw_pix_fmt >= 0 ) {
hw_pixfmt = hw_pix_fmt;
avctx->get_format = get_hw_format;
+ const char *drm_node = getenv("CIN_DRM_DEC");
+ if(drm_node && type==AV_HWDEVICE_TYPE_VAAPI) {
+ ret = av_hwdevice_ctx_create(&hw_device_ctx, type, drm_node, 0, 0);
+ }
+ else {
ret = av_hwdevice_ctx_create(&hw_device_ctx, type, 0, 0, 0);
ret = av_hwdevice_ctx_create(&hw_device_ctx, type, 0, 0, 0);
+ }
+
if( ret >= 0 ) {
avctx->hw_device_ctx = av_buffer_ref(hw_device_ctx);
ret = 1;
if( ret >= 0 ) {
avctx->hw_device_ctx = av_buffer_ref(hw_device_ctx);
ret = 1;
@@
-1176,6
+1183,7
@@
int FFVideoStream::decode_hw_format(AVCodec *decoder, AVHWDeviceType type)
AVHWDeviceType FFVideoStream::encode_hw_activate(const char *hw_dev)
{
AVHWDeviceType FFVideoStream::encode_hw_activate(const char *hw_dev)
{
+ const char *drm_node_enc = getenv("CIN_DRM_ENC");
AVBufferRef *hw_device_ctx = 0;
AVBufferRef *hw_frames_ref = 0;
AVHWDeviceType type = AV_HWDEVICE_TYPE_NONE;
AVBufferRef *hw_device_ctx = 0;
AVBufferRef *hw_frames_ref = 0;
AVHWDeviceType type = AV_HWDEVICE_TYPE_NONE;
@@
-1187,7
+1195,12
@@
AVHWDeviceType FFVideoStream::encode_hw_activate(const char *hw_dev)
}
}
if( type != AV_HWDEVICE_TYPE_NONE ) {
}
}
if( type != AV_HWDEVICE_TYPE_NONE ) {
- int ret = av_hwdevice_ctx_create(&hw_device_ctx, AV_HWDEVICE_TYPE_VAAPI, 0, 0, 0);
+ int ret = 0;
+ if (drm_node_enc) {
+ ret = av_hwdevice_ctx_create(&hw_device_ctx, AV_HWDEVICE_TYPE_VAAPI, drm_node_enc, 0, 0);
+ } else {
+ ret = av_hwdevice_ctx_create(&hw_device_ctx, AV_HWDEVICE_TYPE_VAAPI, 0, 0, 0);
+ }
if( ret < 0 ) {
ff_err(ret, "Failed to create a HW device.\n");
type = AV_HWDEVICE_TYPE_NONE;
if( ret < 0 ) {
ff_err(ret, "Failed to create a HW device.\n");
type = AV_HWDEVICE_TYPE_NONE;
diff --git
a/cinelerra-5.1/cinelerra/main.C
b/cinelerra-5.1/cinelerra/main.C
index ed403d9ec82f6675aebd651eb2d29bb4a38ff4a7..b1f1fb6995c38537c5573bcd2b565ae414f41e6f 100644
(file)
--- a/
cinelerra-5.1/cinelerra/main.C
+++ b/
cinelerra-5.1/cinelerra/main.C
@@
-309,9
+309,18
@@
int main(int argc, char *argv[])
#ifndef COPYRIGHTTEXT2
#define COPYRIGHTTEXT2 ""
#endif
#ifndef COPYRIGHTTEXT2
#define COPYRIGHTTEXT2 ""
#endif
+#ifndef COPYRIGHTTEXT3
+#define COPYRIGHTTEXT3 ""
+#endif
+
fprintf(stderr, "%s %s - %s\n%s",
PROGRAM_NAME,CINELERRA_VERSION, AboutPrefs::build_timestamp,
REPOMAINTXT COPYRIGHTTEXT1 COPYRIGHTTEXT2);
fprintf(stderr, "%s %s - %s\n%s",
PROGRAM_NAME,CINELERRA_VERSION, AboutPrefs::build_timestamp,
REPOMAINTXT COPYRIGHTTEXT1 COPYRIGHTTEXT2);
+ fprintf(stderr, "%s", COPYRIGHTTEXT3);
+ fprintf(stderr, "%s", COPYRIGHTTEXT4);
+ fprintf(stderr,"\n");
+ fprintf(stderr, "%s \n", AboutPrefs::ffmpeg_version);
+ fprintf(stderr,"\n");
fprintf(stderr, "%s is free software, covered by the GNU General Public License,\n"
"and you are welcome to change it and/or distribute copies of it under\n"
"certain conditions. There is absolutely no warranty for %s.\n\n",
fprintf(stderr, "%s is free software, covered by the GNU General Public License,\n"
"and you are welcome to change it and/or distribute copies of it under\n"
"certain conditions. There is absolutely no warranty for %s.\n\n",
diff --git
a/cinelerra-5.1/cinelerra/versioninfo.h
b/cinelerra-5.1/cinelerra/versioninfo.h
index d6e20b7c9ae302a1264733b2b8ee587f5ebca861..7e2a528f4ce5b694ccc3416d696b11d8beb64fa9 100644
(file)
--- a/
cinelerra-5.1/cinelerra/versioninfo.h
+++ b/
cinelerra-5.1/cinelerra/versioninfo.h
@@
-1,11
+1,16
@@
#ifndef __VERSIONINFO_H__
#define __VERSIONINFO_H__
#ifndef __VERSIONINFO_H__
#define __VERSIONINFO_H__
+#include <libavcodec/avcodec.h>
+#define CINELERRA_LIBAV_VERSION "Libav version: " LIBAVCODEC_IDENT;
#define CINELERRA_VERSION "Infinity"
#define REPOMAINTXT "git://git.cinelerra-gg.org/goodguy/cinelerra.git\n"
#define COPYRIGHT_DATE "2019"
#define COPYRIGHTTEXT1 "(c) 2006-2019 Heroine Virtual Ltd. by Adam Williams\n"
#define COPYRIGHTTEXT2 "2007-2020 mods for Cinelerra-GG by W.P.Morrow aka goodguy\n"
#define CINELERRA_VERSION "Infinity"
#define REPOMAINTXT "git://git.cinelerra-gg.org/goodguy/cinelerra.git\n"
#define COPYRIGHT_DATE "2019"
#define COPYRIGHTTEXT1 "(c) 2006-2019 Heroine Virtual Ltd. by Adam Williams\n"
#define COPYRIGHTTEXT2 "2007-2020 mods for Cinelerra-GG by W.P.Morrow aka goodguy\n"
+#define COPYRIGHTTEXT3 "2003-2017 mods for Cinelerra-CV by CinelerraCV team\n"
+#define COPYRIGHTTEXT4 "2015-2023 mods for Cinelerra-GG by Cinelerra-GG team\n"
+
#undef COMPILEDATE
#endif
#undef COMPILEDATE
#endif
diff --git
a/cinelerra-5.1/info/plugins.txt
b/cinelerra-5.1/info/plugins.txt
index e1b8ca9c732f2ba13dd10e342e723360decde154..f96372105a90b3027c5efccacbbd2543f61571cc 100644
(file)
--- a/
cinelerra-5.1/info/plugins.txt
+++ b/
cinelerra-5.1/info/plugins.txt
@@
-124,6
+124,9
@@
Live Video: Reads video directly from the capture card input and
replaces any video on the track.
Loop video: Loop video by specifying the length of the region to
loop.
replaces any video on the track.
Loop video: Loop video by specifying the length of the region to
loop.
+Mirror: Mirror horizontal or vertical with the ability to
+ swap left to right or top to bottom. And if enable
+ reflection center checked, can vary X/Y centering.
Mandelbrot: Render a Mandelbrot fractal using Cuda.
Motion: Tracks translation and rotation motion to stabilize
shaky video.
Mandelbrot: Render a Mandelbrot fractal using Cuda.
Motion: Tracks translation and rotation motion to stabilize
shaky video.