From 8a9d1e42fefe88d8046ca41c87b05c7eb244f53c Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <randrianasulu@gmail.com>
Date: Sun, 23 May 2021 10:51:34 +0300
Subject: [PATCH 22/22] Additonal mjpegtools patches for termux (not ifdefed)

---
 .../thirdparty/src/mjpegtools-2.1.0.patch4    | 17 ++++++++++
 .../thirdparty/src/mjpegtools-2.1.0.patch5    | 11 ++++++
 .../thirdparty/src/mjpegtools-2.1.0.patch6    | 10 ++++++
 .../thirdparty/src/mjpegtools-2.1.0.patch7    | 34 +++++++++++++++++++
 4 files changed, 72 insertions(+)
 create mode 100644 cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch4
 create mode 100644 cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch5
 create mode 100644 cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch6
 create mode 100644 cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch7

diff --git a/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch4 b/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch4
new file mode 100644
index 00000000..5312f19b
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch4
@@ -0,0 +1,17 @@
+--- mjpegtools-2.1.0/y4mdenoise/newdenoise.cc	2009-04-26 21:40:20.000000000 +0400
++++ mjpegtools-2.1.0/y4mdenoise/newdenoise.cc.new	2021-05-23 09:27:12.071050661 +0300
+@@ -1853,12 +1853,14 @@
+ 		mjpeg_error_exit1 ("pthread_attr_init() failed: %s",
+ 			strerror (nErr));
+ 
++#if !defined(__TERMUX__)
+ 	// Inherit scheduling parameters from the main thread.
+ 	nErr = pthread_attr_setinheritsched (&sThreadAttributes,
+ 		PTHREAD_INHERIT_SCHED);
+ 	if (nErr != 0)
+ 		mjpeg_error_exit1 ("pthread_attr_setinheritsched() failed: %s",
+ 			strerror (nErr));
++#endif /* termux */
+ 	
+ 	// Create the thread.
+ 	nErr = pthread_create (&m_oThreadInfo,
diff --git a/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch5 b/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch5
new file mode 100644
index 00000000..14ee272e
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch5
@@ -0,0 +1,11 @@
+--- mjpegtools-2.1.0/mpeg2enc/Makefile.am.orig	2010-09-11 23:46:04.000000000 +0400
++++ mjpegtools-2.1.0/mpeg2enc/Makefile.am	2021-05-23 09:39:14.731050704 +0300
+@@ -3,7 +3,7 @@
+ # and mpeg2enc command line wrapper.
+ #
+ 
+-bin_PROGRAMS = mpeg2enc 
++#bin_PROGRAMS = mpeg2enc 
+ 
+ mpeg2encpp_MMXSSE_INLINE = \
+ 	fdct_x86.c \
diff --git a/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch6 b/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch6
new file mode 100644
index 00000000..42fed77d
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch6
@@ -0,0 +1,10 @@
+--- mjpegtools-2.1.0/mpeg2enc/seqencoder.cc	2010-10-17 19:19:48.000000000 +0400
++++ mjpegtools-2.1.0/mpeg2enc/seqencoder.cc	2021-05-23 09:24:18.791050651 +0300
+@@ -56,6 +56,7 @@
+ #include "ratectl.hh"
+ #include "tables.h"
+ #include "channel.hh"
++#include "bthread.h"
+ 
+ 
+ // --------------------------------------------------------------------------------
diff --git a/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch7 b/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch7
new file mode 100644
index 00000000..71eede47
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/mjpegtools-2.1.0.patch7
@@ -0,0 +1,34 @@
+--- /dev/null	2021-05-22 06:52:04.572000000 +0300
++++ mjpegtools-2.1.0/mpeg2enc/bthread.h	2021-05-23 10:38:11.073808915 +0300
+@@ -0,0 +1,31 @@
++/* BThread main header
++   Copyright (C) 2002 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Library General Public License as
++   published by the Free Software Foundation; either version 2 of the
++   License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Library General Public License for more details.
++
++   You should have received a copy of the GNU Library General Public
++   License along with the GNU C Library; see the file COPYING.LIB.  If not,
++   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++   Boston, MA 02111-1307, USA.  */
++
++# define PTHREAD_CANCEL_ENABLE    	 0x00000010
++# define PTHREAD_CANCEL_DISABLE   	 0x00000000
++
++# define PTHREAD_CANCEL_ASYNCHRONOUS 0x00000020
++# define PTHREAD_CANCEL_DEFERRED     0x00000000
++
++#define PTHREAD_CANCELED ((void *) -1)
++
++int pthread_setcancelstate (int , int *);
++int pthread_setcanceltype (int , int *);
++void pthread_testcancel (void);
++int pthread_cancel (pthread_t t);
-- 
2.31.1

