You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
(64) |
Apr
(79) |
May
(29) |
Jun
(8) |
Jul
(8) |
Aug
(43) |
Sep
(24) |
Oct
(41) |
Nov
(41) |
Dec
(50) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(72) |
Feb
(78) |
Mar
(87) |
Apr
(24) |
May
(43) |
Jun
(25) |
Jul
(6) |
Aug
(39) |
Sep
(26) |
Oct
(66) |
Nov
(78) |
Dec
(100) |
2004 |
Jan
(69) |
Feb
(44) |
Mar
(41) |
Apr
(60) |
May
(28) |
Jun
(14) |
Jul
(31) |
Aug
(40) |
Sep
(22) |
Oct
(12) |
Nov
(58) |
Dec
(112) |
2005 |
Jan
(57) |
Feb
(37) |
Mar
(29) |
Apr
(15) |
May
(62) |
Jun
(40) |
Jul
(8) |
Aug
(33) |
Sep
(37) |
Oct
(47) |
Nov
(62) |
Dec
(38) |
2006 |
Jan
(37) |
Feb
(29) |
Mar
(24) |
Apr
(5) |
May
(13) |
Jun
(21) |
Jul
(13) |
Aug
(16) |
Sep
(11) |
Oct
(10) |
Nov
(17) |
Dec
(8) |
2007 |
Jan
(7) |
Feb
(18) |
Mar
(5) |
Apr
(18) |
May
(7) |
Jun
|
Jul
|
Aug
(3) |
Sep
(4) |
Oct
(3) |
Nov
(5) |
Dec
(7) |
2008 |
Jan
(9) |
Feb
(2) |
Mar
(6) |
Apr
(2) |
May
(3) |
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(7) |
Dec
(3) |
2009 |
Jan
(7) |
Feb
|
Mar
|
Apr
(8) |
May
(7) |
Jun
(4) |
Jul
|
Aug
(3) |
Sep
(8) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
(2) |
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(4) |
Oct
(6) |
Nov
|
Dec
(2) |
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2013 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(10) |
Oct
(17) |
Nov
(1) |
Dec
(5) |
2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(17) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(3) |
Dec
(3) |
From: Steven S. <sm...@us...> - 2016-12-09 19:34:03
|
Update of /cvsroot/mjpeg/mjpeg_play In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31361 Modified Files: configure.ac Log Message: Bump to 2.2.0 Index: configure.ac =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/configure.ac,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -d -r1.80 -r1.81 *** configure.ac 23 Oct 2016 15:52:04 -0000 1.80 --- configure.ac 9 Dec 2016 19:34:00 -0000 1.81 *************** *** 1,10 **** dnl Process this file with autoconf to produce a configure script. ! AC_INIT([mjpegtools],[2.1.1],[mjp...@li...]) AC_PREREQ(2.57) AC_CONFIG_SRCDIR([lavtools/lav_io.c]) MJPEG_MAJOR_VERSION=2 ! MJPEG_MINOR_VERSION=1 ! MJPEG_MICRO_VERSION=1 MJPEG_VERSION=$MJPEG_MAJOR_VERSION.$MJPEG_MINOR_VERSION.$MJPEG_MICRO_VERSION --- 1,10 ---- dnl Process this file with autoconf to produce a configure script. ! AC_INIT([mjpegtools],[2.2.0],[mjp...@li...]) AC_PREREQ(2.57) AC_CONFIG_SRCDIR([lavtools/lav_io.c]) MJPEG_MAJOR_VERSION=2 ! MJPEG_MINOR_VERSION=2 ! MJPEG_MICRO_VERSION=0 MJPEG_VERSION=$MJPEG_MAJOR_VERSION.$MJPEG_MINOR_VERSION.$MJPEG_MICRO_VERSION |
From: Steven S. <sm...@us...> - 2016-12-09 19:01:49
|
Update of /cvsroot/mjpeg/mjpeg_play/yuvdenoise In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30039 Modified Files: main.c Log Message: This time for sure - seems the variables are needed for SSE2 but not SSE3. Index: main.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvdenoise/main.c,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** main.c 9 Dec 2016 18:32:14 -0000 1.75 --- main.c 9 Dec 2016 19:01:47 -0000 1.76 *************** *** 809,816 **** #if defined(__SSE2__) /* 4 to 5 times faster */ ! void filter_plane_median_sse2(uint8_t *plane, int w, int h, int level) { int i; uint8_t * p; uint8_t * d; if (level==0) --- 809,820 ---- #if defined(__SSE2__) /* 4 to 5 times faster */ ! void filter_plane_median_sse2(uint8_t *plane, int w, int h, int level) ! { int i; uint8_t * p; uint8_t * d; + #if !defined(__SSE3__) + int avg, cnt; + #endif if (level==0) *************** *** 822,826 **** // of max-thres and min+thres of the surrounding pixels. This should not cause blurring // and it should leave an evenly spread noise-floor to the image. ! for (i=0; i<=(w*h); i+=14) { __m128i t, c, b, min, max, minmin, maxmax; --- 826,831 ---- // of max-thres and min+thres of the surrounding pixels. This should not cause blurring // and it should leave an evenly spread noise-floor to the image. ! for (i=0; i<=(w*h); i+=14) ! { __m128i t, c, b, min, max, minmin, maxmax; *************** *** 845,849 **** * or lie outside the frame area */ _mm_storeu_si128((__m128i *)&d[i], c); ! } // in the second stage we try to average similar spatial pixels, only. This, like --- 850,854 ---- * or lie outside the frame area */ _mm_storeu_si128((__m128i *)&d[i], c); ! } // in the second stage we try to average similar spatial pixels, only. This, like *************** *** 871,875 **** for (i=0; i<=(w*h); i+=4) ! { uint64_t k0, k1, k2, k3, k6; __m128i c0, c1, v[4], t[4], e[4], a[4]; --- 876,880 ---- for (i=0; i<=(w*h); i+=4) ! { uint64_t k0, k1, k2, k3, k6; __m128i c0, c1, v[4], t[4], e[4], a[4]; *************** *** 990,994 **** #if defined(__SSE3__) ! int j, avg, cnt; __m128 f0, f1, f2, flvl; __m128i zero, vv; --- 995,999 ---- #if defined(__SSE3__) ! int j; __m128 f0, f1, f2, flvl; __m128i zero, vv; *************** *** 1073,1081 **** d += 4; p += 4; ! } _mm_empty(); memcpy(plane,scratchplane2,w*h); ! } #endif --- 1078,1086 ---- d += 4; p += 4; ! } _mm_empty(); memcpy(plane,scratchplane2,w*h); ! } #endif |
From: Steven S. <sm...@us...> - 2016-12-09 18:32:16
|
Update of /cvsroot/mjpeg/mjpeg_play/yuvdenoise In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv28425 Modified Files: main.c Log Message: __SSE3__ needs a couple extra local variables (where is __SSE3__ defined - not in any mjpegtools test/configure option Index: main.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvdenoise/main.c,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 *** main.c 5 Jun 2016 02:23:36 -0000 1.74 --- main.c 9 Dec 2016 18:32:14 -0000 1.75 *************** *** 813,819 **** uint8_t * p; uint8_t * d; ! ! if(level==0) return; ! p = plane; d = scratchplane1; --- 813,819 ---- uint8_t * p; uint8_t * d; ! ! if (level==0) ! return; p = plane; d = scratchplane1; *************** *** 990,996 **** #if defined(__SSE3__) ! int j; __m128 f0, f1, f2, flvl; __m128i zero, vv; flvl = _mm_set1_ps((float)level); zero = _mm_setzero_si128(); --- 990,997 ---- #if defined(__SSE3__) ! int j, avg, cnt; __m128 f0, f1, f2, flvl; __m128i zero, vv; + flvl = _mm_set1_ps((float)level); zero = _mm_setzero_si128(); |
From: Steven S. <sm...@us...> - 2016-11-03 14:21:32
|
Update of /cvsroot/mjpeg/mjpeg_play/yuvdenoise In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29468/yuvdenoise Modified Files: Makefile.am Log Message: Change INCLUDES to be AM_CPPFLAGS (as is done for all the other Makefile.am files) Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvdenoise/Makefile.am,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** Makefile.am 5 Jun 2016 02:31:10 -0000 1.25 --- Makefile.am 3 Nov 2016 14:21:30 -0000 1.26 *************** *** 3,7 **** MAINTAINERCLEANFILES = Makefile.in ! INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/utils LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la --- 3,7 ---- MAINTAINERCLEANFILES = Makefile.in ! AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la |
From: Steven S. <sm...@us...> - 2016-11-01 13:33:47
|
Update of /cvsroot/mjpeg/mjpeg_play/scripts In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21171 Modified Files: Makefile.am Log Message: clean up the automake file. Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/scripts/Makefile.am,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Makefile.am 23 Sep 2005 04:56:27 -0000 1.12 --- Makefile.am 1 Nov 2016 13:33:45 -0000 1.13 *************** *** 8,18 **** mpegtranscode - EXTRA_DIST = \ - $(bin_SCRIPTS) \ - makePLI.py \ - codiere \ - berechne \ - aufnahme \ - frameber - MAINTAINERCLEANFILES = Makefile.in --- 8,10 ---- |
From: Steven S. <sm...@us...> - 2016-11-01 13:32:38
|
Update of /cvsroot/mjpeg/mjpeg_play/scripts In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21108 Removed Files: aufnahme berechne codiere frameber makePLI.py Log Message: ancient scripts (which were never installed or used) finally removed after ~15 years --- makePLI.py DELETED --- --- codiere DELETED --- --- frameber DELETED --- --- aufnahme DELETED --- --- berechne DELETED --- |
From: Steven S. <sm...@us...> - 2016-10-23 15:52:06
|
Update of /cvsroot/mjpeg/mjpeg_play In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23507 Modified Files: configure.ac Log Message: fix typo Index: configure.ac =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/configure.ac,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 *** configure.ac 6 Jan 2014 04:48:46 -0000 1.79 --- configure.ac 23 Oct 2016 15:52:04 -0000 1.80 *************** *** 311,315 **** x86_64*) AC_MSG_RESULT(x86_64) ! AC_DEFINE(HAVE_X86CPU,1, [Compiling for x86-64 architecture CPU]) have_x86cpu=true have_x86_64cpu=true --- 311,315 ---- x86_64*) AC_MSG_RESULT(x86_64) ! AC_DEFINE(HAVE_X86CPU,1, [Compiling for x86_64 architecture CPU]) have_x86cpu=true have_x86_64cpu=true |
From: Steven S. <sm...@us...> - 2016-06-07 01:55:58
|
Update of /cvsroot/mjpeg/mjpeg_play/mpeg2enc In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv4930 Modified Files: ontheflyratectlpass2.cc Log Message: change some info to debug to reduce verbosity. Index: ontheflyratectlpass2.cc =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mpeg2enc/ontheflyratectlpass2.cc,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ontheflyratectlpass2.cc 28 Oct 2013 01:17:53 -0000 1.6 --- ontheflyratectlpass2.cc 7 Jun 2016 01:55:56 -0000 1.7 *************** *** 151,155 **** for( i = gop_begin; i != gop_end; ++i ) { ! //mjpeg_info( "P2RC: %d xhi = %.0f", (*i)->decode, (*i)->ABQ * (*i)->EncodedSize() ); double frame_Xhi = (*i)->ABQ * (*i)->EncodedSize(); sum_Xhi += frame_Xhi; --- 151,155 ---- for( i = gop_begin; i != gop_end; ++i ) { ! //mjpeg_debug( "P2RC: %d xhi = %.0f", (*i)->decode, (*i)->ABQ * (*i)->EncodedSize() ); double frame_Xhi = (*i)->ABQ * (*i)->EncodedSize(); sum_Xhi += frame_Xhi; *************** *** 178,182 **** gop_Xhi = gop_stats.Xhi; ! //mjpeg_info( "P2RC: GOP actual size %.0f total xhi = %0.f",total_size, gop_Xhi); // Sanity check complexity based allocation to ensure it doesn't cause // buffer underflow --- 178,182 ---- gop_Xhi = gop_stats.Xhi; ! //mjpeg_debug( "P2RC: GOP actual size %.0f total xhi = %0.f",total_size, gop_Xhi); // Sanity check complexity based allocation to ensure it doesn't cause // buffer underflow *************** *** 238,242 **** ? m_strm_Xhi / m_encoded_frames : m_mean_gop_Xhi; ! mjpeg_info( "Mean strm Xhi = %.0f mean gop Xhi = %.0f pXhibr=%.4f cbr/abr=%d/%.0f under=%.0f", m_mean_strm_Xhi, m_mean_gop_Xhi, m_picture_xhi_bitrate, --- 238,242 ---- ? m_strm_Xhi / m_encoded_frames : m_mean_gop_Xhi; ! mjpeg_debug( "Mean strm Xhi = %.0f mean gop Xhi = %.0f pXhibr=%.4f cbr/abr=%d/%.0f under=%.0f", m_mean_strm_Xhi, m_mean_gop_Xhi, m_picture_xhi_bitrate, *************** *** 411,415 **** ! mjpeg_info( "%s: %d - reencode actual %d (%.1f) target %d Q=%.1f BV = %.2f cbr=%.0f", reencode ? "RENC" : "SKIP", picture.decode, actual_bits, picture.ABQ, target_bits, base_Q, --- 411,415 ---- ! mjpeg_debug( "%s: %d - reencode actual %d (%.1f) target %d Q=%.1f BV = %.2f cbr=%.0f", reencode ? "RENC" : "SKIP", picture.decode, actual_bits, picture.ABQ, target_bits, base_Q, |
From: Steven S. <sm...@us...> - 2016-06-05 22:32:05
|
Update of /cvsroot/mjpeg/mjpeg_play/yuvfilters In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26989 Removed Files: main.c Log Message: Don't need main.c - it was a botch and on the TODO list for removal. --- main.c DELETED --- |
From: Steven S. <sm...@us...> - 2016-06-05 22:30:50
|
Update of /cvsroot/mjpeg/mjpeg_play/yuvfilters In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26879/yuvfilters Modified Files: ChangeLog Makefile.am TODO alloctask.c initframe.c main.c yuvfilters.h yuvkineco.c yuvstdin.c yuvstdout.c yuvycsnoise.c Log Message: Massive cleanup - readability improvements, yuvycsnoise crash on OS/X fixed. Index: yuvstdout.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/yuvstdout.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** yuvstdout.c 27 Feb 2005 22:46:56 -0000 1.8 --- yuvstdout.c 5 Jun 2016 22:30:47 -0000 1.9 *************** *** 24,34 **** #include "yuvfilters.h" ! DEFINE_STD_YFTASKCLASS(yuvstdout); ! static const char * ! do_usage(void) ! { ! return ""; ! } static YfTaskCore_t * --- 24,32 ---- #include "yuvfilters.h" ! static YfTaskCore_t *do_init(int, char **, const YfTaskCore_t *); ! static void do_fini(YfTaskCore_t *); ! static int do_frame(YfTaskCore_t *, const YfTaskCore_t *, const YfFrame_t *); ! const YfTaskClass_t yuvstdout = { do_init, do_fini, do_frame }; static YfTaskCore_t * *************** *** 60,63 **** --- 58,62 ---- { uint8_t * yuv[3]; + yuv[0] = (uint8_t*)frame0->data; yuv[1] = yuv[0] + (handle->width * handle->height); Index: yuvfilters.h =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/yuvfilters.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** yuvfilters.h 27 Feb 2005 22:46:56 -0000 1.9 --- yuvfilters.h 5 Jun 2016 22:30:47 -0000 1.10 *************** *** 22,47 **** #include <stddef.h> ! #ifdef MJPEGTOOLS ! # include <string.h> ! # include <errno.h> ! # include <mjpeg_logging.h> ! #endif #include <yuv4mpeg.h> - #ifdef __cplusplus - extern "C" { - #endif - - #ifdef MJPEGTOOLS - # define perror(MSG) mjpeg_error("%s: %s", MSG, strerror(errno)) - # define WERROR(MSG) mjpeg_error(MSG) - # define WERRORL(MSG) mjpeg_error(MSG) - # define WWARN(MSG) mjpeg_warn(MSG) - #else - # define WERROR(MSG) write(2, MSG "\n", sizeof MSG) - # define WERRORL(MSG) do { write(2, MSG, strlen(MSG)); write(2, "\n", 1); } while (0) - # define WWARN(MSG) WERROR("warning: " MSG) - #endif - typedef struct { y4m_frame_info_t fi; --- 22,30 ---- #include <stddef.h> ! #include <string.h> ! #include <errno.h> ! #include <mjpeg_logging.h> #include <yuv4mpeg.h> typedef struct { y4m_frame_info_t fi; *************** *** 50,61 **** #define CWDIV(C) (((C)==Y4M_CHROMA_444)?1:((C)==Y4M_CHROMA_411)?4:2) #define CHDIV(C) \ (((C)==Y4M_CHROMA_444||(C)==Y4M_CHROMA_422||(C)==Y4M_CHROMA_411)?1:2) #define DATABYTES(C,W,H) \ (((W)*(H))+(((C)==Y4M_CHROMA_MONO)?0:(((W)/CWDIV(C))*((H)/CHDIV(C))*2))) #define FRAMEBYTES(C,W,H) (sizeof ((YfFrame_t *)0)->fi + DATABYTES(C,W,H)) - struct YfTaskClass_tag; - typedef struct YfTaskCore_tag { /* private: filter may not touch */ --- 33,44 ---- #define CWDIV(C) (((C)==Y4M_CHROMA_444)?1:((C)==Y4M_CHROMA_411)?4:2) + #define CHDIV(C) \ (((C)==Y4M_CHROMA_444||(C)==Y4M_CHROMA_422||(C)==Y4M_CHROMA_411)?1:2) + #define DATABYTES(C,W,H) \ (((W)*(H))+(((C)==Y4M_CHROMA_MONO)?0:(((W)/CWDIV(C))*((H)/CHDIV(C))*2))) #define FRAMEBYTES(C,W,H) (sizeof ((YfFrame_t *)0)->fi + DATABYTES(C,W,H)) typedef struct YfTaskCore_tag { /* private: filter may not touch */ *************** *** 68,72 **** typedef struct YfTaskClass_tag { - const char *(*usage)(void); YfTaskCore_t *(*init)(int argc, char **argv, const YfTaskCore_t *h0); void (*fini)(YfTaskCore_t *handle); --- 51,54 ---- *************** *** 75,92 **** - #define DECLARE_YFTASKCLASS(name) \ - extern const YfTaskClass_t name - - #define DEFINE_YFTASKCLASS(sclass, prefix, name) \ - sclass const char *prefix##_usage(void); \ - sclass YfTaskCore_t *prefix##_init(int argc, char **argv, const YfTaskCore_t *h0); \ - sclass void prefix##_fini(YfTaskCore_t *handle); \ - sclass int prefix##_frame(YfTaskCore_t *handle, const YfTaskCore_t *h0, const YfFrame_t * frame0); \ - const YfTaskClass_t name = { prefix##_usage, prefix##_init, prefix##_fini, prefix##_frame, } - - #define DEFINE_STD_YFTASKCLASS(name) DEFINE_YFTASKCLASS(static,do,name) - - extern int verbose; - extern YfTaskCore_t *YfAllocateTask(const YfTaskClass_t *filter, size_t size, const YfTaskCore_t *h0); extern void YfFreeTask(YfTaskCore_t *handle); --- 57,60 ---- *************** *** 96,102 **** extern YfTaskCore_t *YfAddNewTask(const YfTaskClass_t *filter, int argc, char **argv, const YfTaskCore_t *h0); - #ifdef __cplusplus - } - #endif - #endif --- 64,66 ---- Index: TODO =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/TODO,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TODO 31 Jul 2001 17:40:16 -0000 1.1 --- TODO 5 Jun 2016 22:30:47 -0000 1.2 *************** *** 12,28 **** ** BUG: when "-N CycleList", permit InputFPSCODE < 4 - * yuvfilter - Replace main.c. - All filter statically linked (or dynamically load filter), - from command line arguments, generate pipeline of filters. - * yuvycsnoise ** speed up * yuvkineco - ** add munual command *** W?: replace whole frame by previous *** Y?: replace top field by previous ! ** ditect cut change Use different field compare threshold at after cut changed from after new cycle detected. --- 12,22 ---- ** BUG: when "-N CycleList", permit InputFPSCODE < 4 * yuvycsnoise ** speed up * yuvkineco *** W?: replace whole frame by previous *** Y?: replace top field by previous ! ** detect cut change Use different field compare threshold at after cut changed from after new cycle detected. *************** *** 35,39 **** *** noise level threshold [7/8] *** initial noise level [5] - *** ? ** speed up ** gstreamer plugin? --- 29,32 ---- Index: ChangeLog =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/ChangeLog,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ChangeLog 29 Aug 2001 15:31:54 -0000 1.3 --- ChangeLog 5 Jun 2016 22:30:47 -0000 1.4 *************** *** 1,2 **** --- 1,7 ---- + 2016-06-04 Steven Schultz (sm...@2b...) + * MASSIVE cleanup. Much more readable. + * Remove -S from yuvkineco - use a pipeline if yuvycsnoise is needed. + * get rid of main.c + 2001-08-29 Kawamata/Hitoshi <kw...@di...> Index: initframe.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/initframe.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** initframe.c 27 Feb 2005 22:46:56 -0000 1.4 --- initframe.c 5 Jun 2016 22:30:47 -0000 1.5 *************** *** 28,32 **** if (!frame) { if (!(frame = malloc(FRAMEBYTES(y4m_si_get_chroma(&h0->si), h0->width, h0->height)))) { ! perror("malloc"); return NULL; } --- 28,32 ---- if (!frame) { if (!(frame = malloc(FRAMEBYTES(y4m_si_get_chroma(&h0->si), h0->width, h0->height)))) { ! mjpeg_error("malloc"); return NULL; } Index: yuvstdin.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/yuvstdin.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** yuvstdin.c 27 Feb 2005 22:46:56 -0000 1.9 --- yuvstdin.c 5 Jun 2016 22:30:47 -0000 1.10 *************** *** 24,34 **** #include "yuvfilters.h" ! DEFINE_STD_YFTASKCLASS(yuvstdin); ! static const char * ! do_usage(void) ! { ! return ""; ! } static YfTaskCore_t * --- 24,32 ---- #include "yuvfilters.h" ! static YfTaskCore_t *do_init(int, char **, const YfTaskCore_t *); ! static void do_fini(YfTaskCore_t *); ! static int do_frame(YfTaskCore_t *, const YfTaskCore_t *, const YfFrame_t *); ! const YfTaskClass_t yuvstdin = { do_init, do_fini, do_frame }; static YfTaskCore_t * Index: yuvycsnoise.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/yuvycsnoise.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** yuvycsnoise.c 27 Feb 2005 22:46:56 -0000 1.8 --- yuvycsnoise.c 5 Jun 2016 22:30:47 -0000 1.9 *************** *** 41,45 **** #define ALLMETHODS (TRIFRAME|BIFRAME|INFIELD|CHROMA) ! DEFINE_STD_YFTASKCLASS(yuvycsnoise); static const char * --- 41,49 ---- #define ALLMETHODS (TRIFRAME|BIFRAME|INFIELD|CHROMA) ! static YfTaskCore_t *do_init(int, char **, const YfTaskCore_t *); ! static void do_fini(YfTaskCore_t *); ! static int do_frame(YfTaskCore_t *, const YfTaskCore_t *, const YfFrame_t *); ! ! const YfTaskClass_t yuvycsnoise = { do_init, do_fini, do_frame }; static const char * *************** *** 111,115 **** maxi < min || 255 < maxi || maxc < min || 255 < maxi) { ! WERROR("illeagal threshold"); return NULL; } --- 115,119 ---- maxi < min || 255 < maxi || maxc < min || 255 < maxi) { ! mjpeg_error("illegal threshold"); return NULL; } *************** *** 118,130 **** erri < 1 || 255 < erri || errc < 1 || 255 < errc) { ! WERROR("illeagal error"); return NULL; } if (y4m_si_get_interlace(&h0->si) == Y4M_ILACE_BOTTOM_FIRST) { ! WERROR("unsupported field order"); return NULL; } ! if (h0->height != 480 || h0->fpscode != 4) ! WWARN("input doesn't seem NTSC full height / full motion video"); h = (YfTask_t *) YfAllocateTask(&yuvycsnoise, --- 122,133 ---- erri < 1 || 255 < erri || errc < 1 || 255 < errc) { ! mjpeg_error("illegal error"); return NULL; } if (y4m_si_get_interlace(&h0->si) == Y4M_ILACE_BOTTOM_FIRST) { ! mjpeg_error("unsupported field order"); return NULL; } ! h = (YfTask_t *) YfAllocateTask(&yuvycsnoise, *************** *** 414,415 **** --- 417,465 ---- return 0; } + + + extern const YfTaskClass_t yuvstdin; + extern const YfTaskClass_t yuvstdout; + extern const YfTaskClass_t yuvycsnoise; + + int verbose = 1; + + int + main(int argc, char **argv) + { + YfTaskCore_t *h, *hreader; + int ret; + char *p; + + if (1 < argc && (!strcmp(argv[1], "-?") || + !strcmp(argv[1], "-h") || + !strcmp(argv[1], "--help"))) { + mjpeg_error_exit1("Usage: %s", do_usage()); + } + if ((p = getenv("MJPEG_VERBOSITY"))) + verbose = atoi(p); + + y4m_accept_extensions(1); + + ret = 1; + if (!(hreader = YfAddNewTask(&yuvstdin, argc, argv, NULL))) + goto RETURN; + if (!YfAddNewTask(&yuvycsnoise, argc, argv, hreader)) + goto FINI; + if (!YfAddNewTask(&yuvstdout, argc, argv, hreader)) + goto FINI; + + ret = (*yuvstdin.frame)(hreader, NULL, NULL); + if (ret == Y4M_ERR_EOF) + ret = Y4M_OK; + if (ret != Y4M_OK) + mjpeg_error("%s", y4m_strerr(ret)); + + FINI: + for (h = hreader; h; h = hreader) { + hreader = h->handle_outgoing; + (*h->method->fini)(h); + } + RETURN: + return ret; + } Index: main.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/main.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** main.c 27 Feb 2005 22:46:56 -0000 1.5 --- main.c 5 Jun 2016 22:30:47 -0000 1.6 *************** *** 24,48 **** #include "yuvfilters.h" ! #ifdef FILTER ! # define MODULE FILTER ! #else ! # ifdef READER ! # define MODULE READER ! # else ! # define MODULE WRITER ! # endif ! #endif ! #ifndef READER ! #define READER yuvstdin ! #endif ! #ifndef WRITER ! #define WRITER yuvstdout ! #endif ! ! DECLARE_YFTASKCLASS(READER); ! DECLARE_YFTASKCLASS(WRITER); ! #ifdef FILTER ! DECLARE_YFTASKCLASS(FILTER); ! #endif int verbose = 1; --- 24,30 ---- #include "yuvfilters.h" ! extern const YfTaskClass_t yuvstdin; ! extern const YfTaskClass_t yuvstdout; ! extern const YfTaskClass_t FILTER; int verbose = 1; *************** *** 51,58 **** usage(char **argv) { ! char buf[1024]; ! ! sprintf(buf, "Usage: %s %s", argv[0], (*MODULE.usage)()); ! WERRORL(buf); } --- 33,37 ---- usage(char **argv) { ! mjpeg_error("Usage: %s %s", argv[0], (*FILTER.usage)()); } *************** *** 76,96 **** ret = 1; ! #ifndef FILTER ! if (!(hreader = YfAddNewTask(&READER, argc, argv, NULL))) ! goto RETURN; ! #else ! if (!(hreader = YfAddNewTask(&READER, argc, argv, NULL))) goto RETURN; if (!YfAddNewTask(&FILTER, argc, argv, hreader)) goto FINI; ! #endif ! if (!YfAddNewTask(&WRITER, argc, argv, hreader)) goto FINI; ! ret = (*READER.frame)(hreader, NULL, NULL); if (ret == Y4M_ERR_EOF) ret = Y4M_OK; if (ret != Y4M_OK) ! WERRORL(y4m_strerr(ret)); FINI: --- 55,70 ---- ret = 1; ! if (!(hreader = YfAddNewTask(&yuvstdin, argc, argv, NULL))) goto RETURN; if (!YfAddNewTask(&FILTER, argc, argv, hreader)) goto FINI; ! if (!YfAddNewTask(&yuvstdout, argc, argv, hreader)) goto FINI; ! ret = (*yuvstdin.frame)(hreader, NULL, NULL); if (ret == Y4M_ERR_EOF) ret = Y4M_OK; if (ret != Y4M_OK) ! mjpeg_error("%s", y4m_strerr(ret)); FINI: Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/Makefile.am,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** Makefile.am 16 Jun 2005 17:09:39 -0000 1.22 --- Makefile.am 5 Jun 2016 22:30:47 -0000 1.23 *************** *** 8,11 **** --- 8,13 ---- AM_CPPFLAGS = -I$(top_srcdir)/utils + # needed for yuvkineco.c - removing the abs() calls breaks the program + AM_CFLAGS = -Wno-absolute-value MJPEGLIB = $(top_builddir)/utils/libmjpegutils.la if HAVE_ALTIVEC *************** *** 18,34 **** initframe.c \ putframe.c \ - yuvkineco.c \ yuvstdin.c \ ! yuvstdout.c \ ! yuvycsnoise.c noinst_HEADERS = \ yuvfilters.h ! yuvkineco_SOURCES = main.c ! yuvkineco_CFLAGS = -DFILTER=yuvkineco yuvkineco_LDADD = libyuvfilters.la $(MJPEGLIB) ! yuvycsnoise_SOURCES = main.c ! yuvycsnoise_CFLAGS = -DFILTER=yuvycsnoise yuvycsnoise_LDADD = libyuvfilters.la $(MJPEGLIB) --- 20,32 ---- initframe.c \ putframe.c \ yuvstdin.c \ ! yuvstdout.c noinst_HEADERS = \ yuvfilters.h ! yuvkineco_SOURCES = yuvkineco.c yuvkineco_LDADD = libyuvfilters.la $(MJPEGLIB) ! yuvycsnoise_SOURCES = yuvycsnoise.c yuvycsnoise_LDADD = libyuvfilters.la $(MJPEGLIB) Index: alloctask.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/alloctask.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** alloctask.c 1 Mar 2002 15:09:06 -0000 1.3 --- alloctask.c 5 Jun 2016 22:30:47 -0000 1.4 *************** *** 27,31 **** YfTaskCore_t *h = malloc(size); if (!h) { ! perror("malloc"); return NULL; } --- 27,31 ---- YfTaskCore_t *h = malloc(size); if (!h) { ! mjpeg_error("malloc"); return NULL; } Index: yuvkineco.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/yuvkineco.c,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** yuvkineco.c 5 Jun 2016 00:05:46 -0000 1.20 --- yuvkineco.c 5 Jun 2016 22:30:47 -0000 1.21 *************** *** 35,38 **** --- 35,40 ---- #define DEFAULTDEINTL 10 + int verbose = 1; + static void buf_debug(char *buf, FILE *fp, const char *format, ...) *************** *** 47,56 **** fputs(buf, fp); } else { - #ifdef MJPEGTOOLS buf[n] = '\0'; ! mjpeg_debug(buf); ! #else ! fputs(buf, stderr); ! #endif } buf[0] = '\0'; --- 49,54 ---- fputs(buf, fp); } else { buf[n] = '\0'; ! mjpeg_debug("%s", buf); } buf[0] = '\0'; *************** *** 93,103 **** } YfTask_t; ! DEFINE_STD_YFTASKCLASS(yuvkineco); ! DECLARE_YFTASKCLASS(yuvycsnoise); static const char * do_usage(void) { ! return "[-{u|s}] [-F OutputFPSCODE] [-S YCSNoiseThreashold] [-n NoiseLevel] " "[-c CycleSearchThreashold] [-i DeinterlacePixelsPermil] " "{[-C OutputCycleListName] | -[ON] InputCycleListName}"; --- 91,104 ---- } YfTask_t; ! static YfTaskCore_t *do_init(int, char **, const YfTaskCore_t *); ! static void do_fini(YfTaskCore_t *); ! static int do_frame(YfTaskCore_t *, const YfTaskCore_t *, const YfFrame_t *); ! ! const YfTaskClass_t yuvkineco = { do_init, do_fini, do_frame }; static const char * do_usage(void) { ! return "[-{u|s}] [-F OutputFPSCODE] [-n NoiseLevel] " "[-c CycleSearchThreashold] [-i DeinterlacePixelsPermil] " "{[-C OutputCycleListName] | -[ON] InputCycleListName}"; *************** *** 113,118 **** int cytype = 0; char *cyname = NULL; - char *ycsthres = NULL; - YfTaskCore_t *hycs = NULL; int dthr16 = DEFAULTDTHR16; int noiselevel = DEFAULTNOISE; --- 114,117 ---- *************** *** 121,125 **** fpscode = h0->fpscode; ! while ((c = getopt(argc, argv, "usF:S:n:c:i:C:O:N:")) != -1) { switch (c) { case 'u': --- 120,124 ---- fpscode = h0->fpscode; ! while ((c = getopt(argc, argv, "usF:n:c:i:C:O:N:")) != -1) { switch (c) { case 'u': *************** *** 132,138 **** fpscode = atoi(optarg); break; - case 'S': - ycsthres = optarg; - break; case 'n': noiselevel = atoi(optarg); --- 131,134 ---- *************** *** 155,178 **** } if (cytype != 'N' && (h0->fpscode < 3 || 5 < h0->fpscode)) { ! WERROR("unsupported input fps"); return NULL; } if (fpscode < 1 || h0->fpscode < fpscode) { ! WERROR("illegal output fpscode"); return NULL; } if (y4m_si_get_interlace(&h0->si) == Y4M_ILACE_BOTTOM_FIRST) { ! WERROR("unsupported field order"); return NULL; } - if (ycsthres) { - char ycssopt[] = "-S"; - char *ycsargv[] = { argv[0], ycssopt, ycsthres, NULL, }; - optind = 1; - if (!(hycs = YfAddNewTask(&yuvycsnoise, - (sizeof ycsargv / sizeof ycsargv[0]) - 1, - ycsargv, h0))) - return NULL; - } nframes = ((cytype && cytype != 'C')? 2: (h0->fpscode == 3)? 49: 9); --- 151,165 ---- } if (cytype != 'N' && (h0->fpscode < 3 || 5 < h0->fpscode)) { ! mjpeg_error("unsupported input fps"); return NULL; } if (fpscode < 1 || h0->fpscode < fpscode) { ! mjpeg_error("illegal output fpscode"); return NULL; } if (y4m_si_get_interlace(&h0->si) == Y4M_ILACE_BOTTOM_FIRST) { ! mjpeg_error("unsupported field order"); return NULL; } nframes = ((cytype && cytype != 'C')? 2: (h0->fpscode == 3)? 49: 9); *************** *** 197,201 **** 0) + FRAMEBYTES(y4m_si_get_chroma(&h0->si), h0->width, h0->height)) * nframes) + ((0 <= deintlval)? FRAMEBYTES(y4m_si_get_chroma(&h0->si), h0->width, h0->height): 0)), ! (hycs? hycs: h0)); if (!h) return NULL; --- 184,188 ---- 0) + FRAMEBYTES(y4m_si_get_chroma(&h0->si), h0->width, h0->height)) * nframes) + ((0 <= deintlval)? FRAMEBYTES(y4m_si_get_chroma(&h0->si), h0->width, h0->height): 0)), ! h0); if (!h) return NULL; *************** *** 228,237 **** goto RETURN; if ((h->cyfp = fopen(cyname, ((cytype == 'C')? "w": "r"))) == NULL) { ! perror(cyname); goto ERROR_RETURN; } if (cytype == 'C') { fprintf(h->cyfp, "# 2-3 pull down cycle list\n" ! "# Generated by 'yuvkineco%s -F%d%s%s -n%d -c%d -i%d -C %s'\n" "#\n" "# Each character in list mean how each frame processed:\n" --- 215,224 ---- goto RETURN; if ((h->cyfp = fopen(cyname, ((cytype == 'C')? "w": "r"))) == NULL) { ! mjpeg_error("fopen(%s): %s", cyname, strerror(errno)); goto ERROR_RETURN; } if (cytype == 'C') { fprintf(h->cyfp, "# 2-3 pull down cycle list\n" ! "# Generated by 'yuvkineco%s -F%d -n%d -c%d -i%d -C %s'\n" "#\n" "# Each character in list mean how each frame processed:\n" *************** *** 278,285 **** "SIZE:%dx%d OLD_FPS:%d NEW_FPS:%d # DON'T CHANGE THIS LINE!!!", ((output_interlace == 1)? " -u": (2 <= output_interlace)? " -s": ""), fpscode, - (ycsthres? " -S": ""), (ycsthres? ycsthres: ""), noiselevel, dthr16, deintlval, cyname, cyname, cyname, cyname, cyname, h0->width, h0->height, h0->fpscode, fpscode); } else { int width, height, oldfps, newfps; --- 265,272 ---- "SIZE:%dx%d OLD_FPS:%d NEW_FPS:%d # DON'T CHANGE THIS LINE!!!", ((output_interlace == 1)? " -u": (2 <= output_interlace)? " -s": ""), fpscode, noiselevel, dthr16, deintlval, cyname, cyname, cyname, cyname, cyname, h0->width, h0->height, h0->fpscode, fpscode); + fflush(h->cyfp); } else { int width, height, oldfps, newfps; *************** *** 293,301 **** if (width != h0->width || height != h0->height || ((h->cytype == 'O')? oldfps: newfps) != h0->fpscode) { ! WERROR("input and cycle list not match."); goto ERROR; } if (h->cytype == 'O' && newfps < fpscode) { ! WERROR("output fpscode greater than specified at 1st try."); goto ERROR; } --- 280,288 ---- if (width != h0->width || height != h0->height || ((h->cytype == 'O')? oldfps: newfps) != h0->fpscode) { ! mjpeg_error("input and cycle list not match."); goto ERROR; } if (h->cytype == 'O' && newfps < fpscode) { ! mjpeg_error("output fpscode greater than specified at 1st try."); goto ERROR; } *************** *** 303,314 **** } } ! WERROR("broken cycle list."); ERROR: fclose(h->cyfp); goto ERROR_RETURN; } ! RETURN: return (YfTaskCore_t *)h; ! ERROR_RETURN: if (0 <= h->deintl) h->nframes++; --- 290,301 ---- } } ! mjpeg_error("broken cycle list."); ERROR: fclose(h->cyfp); goto ERROR_RETURN; } ! RETURN: return (YfTaskCore_t *)h; ! ERROR_RETURN: if (0 <= h->deintl) h->nframes++; *************** *** 433,450 **** else if (!(ynow < ymin || ymax < ynow)) continue; - #if 0 - if (i < height - 3) { - int ynx2 = data[((i + 3) * width) + j]; - if ((ynx2 < ynxt && ynxt < ymin) || (ymax < ynxt && ynxt < ynx2)) - continue; - } - #endif ynow = (ymin + ymax) / 2; data[((i ) * width) + j] = ynow; if (i < height - 3) { - #if 0 - int ynx2 = data[((i + 4) * width) + j]; - if ((ynx2 < ymin && ynxt < ymin) || (ymax < ynx2 && ymax < ynxt)) - #endif continue; } --- 420,426 ---- *************** *** 528,531 **** --- 504,508 ---- int ipre = (h->iget - 1) % h->nframes; YfFrame_t *fpre = (YfFrame_t *)((char *)h->frame + (ipre * framebytes)); + memset(&h->framestat[b], 0, sizeof h->framestat[b]); for (i = h->nfields; i < h->_.height; i += h->nfields) { *************** *** 538,542 **** else if (256 - yget < noise) noise = 256 - yget; ! d = ypre - yget; h->framestat[b].diffdist[(d < NOISEMAX)? d: NOISEMAX]++; if (noise < d) { --- 515,519 ---- else if (256 - yget < noise) noise = 256 - yget; ! d = abs(ypre - yget); h->framestat[b].diffdist[(d < NOISEMAX)? d: NOISEMAX]++; if (noise < d) { *************** *** 548,557 **** ypre = fpre->data[((i - 1) * h->_.width) + j]; ygte = fget->data[((i - 1) * h->_.width) + j]; ! d = yget - ygte; if (noise < d) { d -= noise; h->framestat[b].eoediff -= (((d * d) + 16) >> 5); } ! d = yget - ypre; if (noise < d) { d -= noise; --- 525,534 ---- ypre = fpre->data[((i - 1) * h->_.width) + j]; ygte = fget->data[((i - 1) * h->_.width) + j]; ! d = abs(yget - ygte); if (noise < d) { d -= noise; h->framestat[b].eoediff -= (((d * d) + 16) >> 5); } ! d = abs(yget - ypre); if (noise < d) { d -= noise; *************** *** 560,574 **** ypre = fpre->data[((i + 1) * h->_.width) + j]; ygte = fget->data[((i + 1) * h->_.width) + j]; ! d = yget - ygte; if (noise < d) { d -= noise; h->framestat[b].eoediff -= (((d * d) + 16) >> 5); } ! d = yget - ypre; if (noise < d) { d -= noise; h->framestat[b].eoediff += (((d * d) + 16) >> 5); } ! d = ypre - ygte; if (noise < d) { d -= noise; --- 537,551 ---- ypre = fpre->data[((i + 1) * h->_.width) + j]; ygte = fget->data[((i + 1) * h->_.width) + j]; ! d = abs(yget - ygte); if (noise < d) { d -= noise; h->framestat[b].eoediff -= (((d * d) + 16) >> 5); } ! d = abs(yget - ypre); if (noise < d) { d -= noise; h->framestat[b].eoediff += (((d * d) + 16) >> 5); } ! d = abs(ypre - ygte); if (noise < d) { d -= noise; *************** *** 642,670 **** if (1 < h->nfields) { /* check field merged */ int merged = 0; - #if 0 - /* codes for video editing fade-in/out */ - long dmax = -0x7fffffffL, d2nd = -0x7fffffffL, d3rd = -0x7fffffffL; - for (i = 1; i < (h->nframes / 2) + 2 && i < h->iget - h->iuse; i++) { - long eoediff = h->framestat[(b + i) % h->nframes].eoediff; - if (eoediff == -9999999) - continue; - if (dmax < eoediff) { - d3rd = d2nd; d2nd = dmax; dmax = eoediff; - } else if (d2nd < eoediff) { - d3rd = d2nd; d2nd = eoediff; - } else if (d3rd < eoediff) { - d3rd = eoediff; - } - } - if (d3rd == -0x7fffffffL) - d3rd = 0; - if (1 < verbose) - buf_debug(debugbuf, NULL, "%6ld", d3rd); - for (i = 1; i < (h->nframes / 2) + 2 && i < h->iget - h->iuse; i++) - if (h->framestat[(b + i) % h->nframes].eoediff < d3rd - (long)dthr) - #else for (i = 1; i < h->iget - h->iuse - 1; i++) if (h->framestat[(b + i) % h->nframes].eoediff < -(long)dthr) - #endif { merged = 1; --- 619,624 ---- *************** *** 701,707 **** unsigned long noisetotal; int bdrp; ! #if 0 ! int diff1024; ! #endif for (i = 0; i < idrp; i++) if (notdrop[i] == '0') --- 655,659 ---- unsigned long noisetotal; int bdrp; ! for (i = 0; i < idrp; i++) if (notdrop[i] == '0') *************** *** 723,747 **** noisetotal -= h->u.noise.dist[i]; } - #if 0 - diff1024 = (i - h->u.noise.level) * 1024; - #endif h->u.noise.level = i; - #if 0 - if (diff1024) { - for (i = 0; i < h->nframes; i++) { - if (diff1024 < -(int)h->framestat[i].odiff) - h->framestat[i].odiff = 0; - else - h->framestat[i].odiff += diff1024; - } - if (1 < h->nfields) - for (i = 0; i < h->nframes; i++) { - if (diff1024 < -(int)h->framestat[i].ediff) - h->framestat[i].ediff = 0; - else - h->framestat[i].ediff += diff1024; - } - } - #endif } DONE: --- 675,679 ---- *************** *** 826,830 **** if (isalpha(c) || (c == '_' && h->cytype == 'O')) { if (h->u.cy.buff + 30 <= d) { ! WWARN("too long line in cycle list."); break; } --- 758,762 ---- if (isalpha(c) || (c == '_' && h->cytype == 'O')) { if (h->u.cy.buff + 30 <= d) { ! mjpeg_warn("too long line in cycle list."); break; } *************** *** 900,901 **** --- 832,876 ---- return 0; } + extern const YfTaskClass_t yuvstdin; + extern const YfTaskClass_t yuvstdout; + extern const YfTaskClass_t yuvkineco; + + int + main(int argc, char **argv) + { + YfTaskCore_t *h, *hreader; + int ret; + char *p; + + if (1 < argc && (!strcmp(argv[1], "-?") || + !strcmp(argv[1], "-h") || + !strcmp(argv[1], "--help"))) { + mjpeg_error_exit1("Usage: %s", do_usage()); + } + if ((p = getenv("MJPEG_VERBOSITY"))) + verbose = atoi(p); + + y4m_accept_extensions(1); + + ret = 1; + if (!(hreader = YfAddNewTask(&yuvstdin, argc, argv, NULL))) + goto RETURN; + if (!YfAddNewTask(&yuvkineco, argc, argv, hreader)) + goto FINI; + if (!YfAddNewTask(&yuvstdout, argc, argv, hreader)) + goto FINI; + + ret = (*yuvstdin.frame)(hreader, NULL, NULL); + if (ret == Y4M_ERR_EOF) + ret = Y4M_OK; + if (ret != Y4M_OK) + mjpeg_error("%s", y4m_strerr(ret)); + + FINI: + for (h = hreader; h; h = hreader) { + hreader = h->handle_outgoing; + (*h->method->fini)(h); + } + RETURN: + return ret; + } |
From: Steven S. <sm...@us...> - 2016-06-05 22:30:49
|
Update of /cvsroot/mjpeg/mjpeg_play/docs In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26879/docs Modified Files: yuvkineco.1 Log Message: Massive cleanup - readability improvements, yuvycsnoise crash on OS/X fixed. Index: yuvkineco.1 =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/docs/yuvkineco.1,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** yuvkineco.1 28 Jul 2013 01:04:03 -0000 1.6 --- yuvkineco.1 5 Jun 2016 22:30:47 -0000 1.7 *************** *** 72,78 **** Specify cycle list name to read with new yuv stream to repair. .TP 8 - .BI \-S \ MIN - Use \fByuvycsnoise\fP(1) as preprocessor and specify minimum threshold. - .TP 8 .BI \-n \ LEVEL Specify noise level of input (default: 10). --- 72,75 ---- *************** *** 116,118 **** .SH SEE ALSO .BR mjpegtools (1), - .BR yuvycsnoise (1). --- 113,114 ---- |
From: Steven S. <sm...@us...> - 2016-06-05 03:20:23
|
Update of /cvsroot/mjpeg/mjpeg_play/lavtools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv8410 Modified Files: png2yuv.c Log Message: try again Index: png2yuv.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/lavtools/png2yuv.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** png2yuv.c 5 Jun 2016 02:46:11 -0000 1.13 --- png2yuv.c 5 Jun 2016 03:20:20 -0000 1.14 *************** *** 403,407 **** mjpeg_error_exit1("Reading of %s failed.\n", pngname); ! mjpeg_info("Image dimensions are %lux%lu", param->width, param->height); --- 403,407 ---- mjpeg_error_exit1("Reading of %s failed.\n", pngname); ! mjpeg_info("Image dimensions are %ux%u", param->width, param->height); *************** *** 434,438 **** mjpeg_info("Non-interleaved fields (image height doubled)"); } ! mjpeg_info("Frame size: %lu x %lu", param->width, param->height); free(pngname); --- 434,438 ---- mjpeg_info("Non-interleaved fields (image height doubled)"); } ! mjpeg_info("Frame size: %u x %u", param->width, param->height); free(pngname); |
From: Steven S. <sm...@us...> - 2016-06-05 02:57:16
|
Update of /cvsroot/mjpeg/mjpeg_play/lavtools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7329 Modified Files: lav_io.c Log Message: remove warning: lav_io.c:929:29: warning: format string is not a string literal (potentially insecure) [-Wformat-security] fprintf(stderr, errmsg); Index: lav_io.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/lavtools/lav_io.c,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** lav_io.c 9 Sep 2007 22:16:53 -0000 1.85 --- lav_io.c 5 Jun 2016 02:57:13 -0000 1.86 *************** *** 927,931 **** #endif strcat(errmsg, ").\n"); ! fprintf(stderr, errmsg); free(lav_fd); internal_error = ERROR_FORMAT; /* Format not recognized */ --- 927,931 ---- #endif strcat(errmsg, ").\n"); ! fprintf(stderr, "%s", errmsg); free(lav_fd); internal_error = ERROR_FORMAT; /* Format not recognized */ |
From: Steven S. <sm...@us...> - 2016-06-05 02:48:38
|
Update of /cvsroot/mjpeg/mjpeg_play/lavtools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7035 Modified Files: liblavplay.c Log Message: remove warning error: liblavplay.c:2677:7: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value] abs(editlist->video_fps - new_eli->video_fps) < 0.0000001 && ^ liblavplay.c:2677:7: note: use function 'fabs' instead abs(editlist->video_fps - new_eli->video_fps) < 0.0000001 && ^~~ fabs Index: liblavplay.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/lavtools/liblavplay.c,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** liblavplay.c 7 Mar 2010 11:42:27 -0000 1.43 --- liblavplay.c 5 Jun 2016 02:48:36 -0000 1.44 *************** *** 2675,2679 **** editlist->video_height == new_eli->video_height && editlist->video_inter == new_eli->video_inter && ! abs(editlist->video_fps - new_eli->video_fps) < 0.0000001 && editlist->has_audio == new_eli->has_audio && editlist->audio_rate == new_eli->audio_rate && --- 2675,2679 ---- editlist->video_height == new_eli->video_height && editlist->video_inter == new_eli->video_inter && ! fabs(editlist->video_fps - new_eli->video_fps) < 0.0000001 && editlist->has_audio == new_eli->has_audio && editlist->audio_rate == new_eli->audio_rate && |
From: Steven S. <sm...@us...> - 2016-06-05 02:46:13
|
Update of /cvsroot/mjpeg/mjpeg_play/lavtools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6920 Modified Files: png2yuv.c Log Message: remove warning error: png2yuv.c:406:7: warning: format specifies type 'unsigned int' but the argument has type 'png_uint_32' (aka 'unsigned long') [-Wformat] param->width, param->height); Index: png2yuv.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/lavtools/png2yuv.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** png2yuv.c 27 Oct 2013 13:01:05 -0000 1.12 --- png2yuv.c 5 Jun 2016 02:46:11 -0000 1.13 *************** *** 403,407 **** mjpeg_error_exit1("Reading of %s failed.\n", pngname); ! mjpeg_info("Image dimensions are %ux%u", param->width, param->height); --- 403,407 ---- mjpeg_error_exit1("Reading of %s failed.\n", pngname); ! mjpeg_info("Image dimensions are %lux%lu", param->width, param->height); *************** *** 434,438 **** mjpeg_info("Non-interleaved fields (image height doubled)"); } ! mjpeg_info("Frame size: %u x %u", param->width, param->height); free(pngname); --- 434,438 ---- mjpeg_info("Non-interleaved fields (image height doubled)"); } ! mjpeg_info("Frame size: %lu x %lu", param->width, param->height); free(pngname); |
From: Steven S. <sm...@us...> - 2016-06-05 02:44:17
|
Update of /cvsroot/mjpeg/mjpeg_play/aenc In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6824 Modified Files: musicin.c Log Message: remove warning error: musicin.c:277:53: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] mjpeg_error_exit1("can not malloc %d bytes", strlen(outfilename)); Index: musicin.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/aenc/musicin.c,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** musicin.c 21 Sep 2005 22:23:43 -0000 1.25 --- musicin.c 5 Jun 2016 02:44:15 -0000 1.26 *************** *** 275,279 **** *encoded_file_name = strdup(outfilename); if (*encoded_file_name == NULL) ! mjpeg_error_exit1("can not malloc %d bytes", strlen(outfilename)); /* Read the WAV file header, make sanity checks */ --- 275,279 ---- *encoded_file_name = strdup(outfilename); if (*encoded_file_name == NULL) ! mjpeg_error_exit1("can not malloc %ld bytes", strlen(outfilename)); /* Read the WAV file header, make sanity checks */ |
From: Steven S. <sm...@us...> - 2016-06-05 02:43:12
|
Update of /cvsroot/mjpeg/mjpeg_play/mplex In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6777 Modified Files: multiplexor.cpp Log Message: remove warning message: multiplexor.cpp:325:68: warning: format specifies type 'int' but the argument has type 'size_type' (aka 'unsigned long') [-Wformat] Index: multiplexor.cpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/multiplexor.cpp,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** multiplexor.cpp 27 Dec 2013 11:34:30 -0000 1.47 --- multiplexor.cpp 5 Jun 2016 02:43:10 -0000 1.48 *************** *** 323,327 **** { case MPEG_FORMAT_VCD_STILL : ! mjpeg_info( "Multiplexing VCD stills: %d stills streams.", video_strms.size() ); { frame_interval = 30; // 30 Frame periods --- 323,327 ---- { case MPEG_FORMAT_VCD_STILL : ! mjpeg_info( "Multiplexing VCD stills: %lu stills streams.", video_strms.size() ); { frame_interval = 30; // 30 Frame periods *************** *** 353,357 **** break; case MPEG_FORMAT_SVCD_STILL : ! mjpeg_info( "Multiplexing SVCD stills: %d stills streams %d audio streams", video_strms.size(), mpa_strms.size() ); frame_interval = 30; if( video_strms.size() > 1 ) --- 353,357 ---- break; case MPEG_FORMAT_SVCD_STILL : ! mjpeg_info( "Multiplexing SVCD stills: %lu stills streams %lu audio streams", video_strms.size(), mpa_strms.size() ); frame_interval = 30; if( video_strms.size() > 1 ) |
From: Steven S. <sm...@us...> - 2016-06-05 02:40:04
|
Update of /cvsroot/mjpeg/mjpeg_play/mplex In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6661 Modified Files: subpstream.cpp Log Message: remove warning message: subpstream.cpp:311:52: warning: format specifies type 'long long' but the argument has type 'double' [-Wformat] mjpeg_debug("SUBPStream: Required DTS is %lld",decode_time/300.0); ~~~~ ^~~~~~~~~~~~~~~~~ %f Index: subpstream.cpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/subpstream.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** subpstream.cpp 27 Dec 2013 11:34:30 -0000 1.6 --- subpstream.cpp 5 Jun 2016 02:40:02 -0000 1.7 *************** *** 309,313 **** decode_time = RequiredDTS(); ! mjpeg_debug("SUBPStream: Required DTS is %lld",decode_time/300.0); if (!finished_pack) --- 309,313 ---- decode_time = RequiredDTS(); ! mjpeg_debug("SUBPStream: Required DTS is %f",decode_time/300.0); if (!finished_pack) |
From: Steven S. <sm...@us...> - 2016-06-05 02:37:56
|
Update of /cvsroot/mjpeg/mjpeg_play/mplex In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6578 Modified Files: main.cpp Log Message: remove warning message: main.cpp:624:26: warning: format string is not a string literal (potentially insecure) [-Wformat-security] mjpeg_error( message.c_str() ); Index: main.cpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/main.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** main.cpp 28 Oct 2013 00:33:04 -0000 1.26 --- main.cpp 5 Jun 2016 02:37:54 -0000 1.27 *************** *** 203,208 **** }; - - IFileBitStream::IFileBitStream( const char *bs_filename, unsigned int buf_size) : --- 203,206 ---- *************** *** 210,216 **** { if ((fileh = fopen(bs_filename, "rb")) == NULL) ! { ! mjpeg_error_exit1( "Unable to open file %s for reading.", bs_filename); ! } filename = strcpy( new char[strlen(bs_filename)+1], bs_filename ); streamname = filename; --- 208,212 ---- { if ((fileh = fopen(bs_filename, "rb")) == NULL) ! mjpeg_error_exit1( "Unable to open file %s for reading.", bs_filename); filename = strcpy( new char[strlen(bs_filename)+1], bs_filename ); streamname = filename; *************** *** 220,232 **** byteidx = 0; if (!ReadIntoBuffer()) ! { ! if (buffered==0) ! { ! mjpeg_error_exit1( "Unable to read from %s.", bs_filename); ! } ! } } - /** Destructor: close the device containing the bit stream after a read --- 216,225 ---- byteidx = 0; if (!ReadIntoBuffer()) ! { ! if (buffered==0) ! mjpeg_error_exit1( "Unable to read from %s.", bs_filename); ! } } /** Destructor: close the device containing the bit stream after a read *************** *** 622,629 **** message += sep; } ! mjpeg_error( message.c_str() ); return false; } - } return true; --- 615,621 ---- message += sep; } ! mjpeg_error("%s", message.c_str() ); return false; } } return true; |
From: Steven S. <sm...@us...> - 2016-06-05 02:35:18
|
Update of /cvsroot/mjpeg/mjpeg_play/y4mdenoise In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6468 Modified Files: Makefile.am Log Message: remove warnings optimization flag '-finline-functions' is not supported Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/y4mdenoise/Makefile.am,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Makefile.am 28 Jul 2014 14:26:54 -0000 1.14 --- Makefile.am 5 Jun 2016 02:35:15 -0000 1.15 *************** *** 5,10 **** EXTRA_DIST = implementation.html ! AM_CFLAGS = -DNDEBUG -finline-functions ! AM_CXXFLAGS = -DNDEBUG -finline-functions AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils --- 5,10 ---- EXTRA_DIST = implementation.html ! AM_CFLAGS = -DNDEBUG ! AM_CXXFLAGS = -DNDEBUG AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils |
From: Steven S. <sm...@us...> - 2016-06-05 02:31:12
|
Update of /cvsroot/mjpeg/mjpeg_play/yuvdenoise In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6318 Modified Files: Makefile.am Log Message: remove warning message: -funroll-all-loops' is not supported Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvdenoise/Makefile.am,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** Makefile.am 16 Jun 2005 17:09:38 -0000 1.24 --- Makefile.am 5 Jun 2016 02:31:10 -0000 1.25 *************** *** 10,14 **** endif ! AM_CFLAGS = -O3 -funroll-all-loops -ffast-math bin_PROGRAMS = yuvdenoise --- 10,14 ---- endif ! AM_CFLAGS = -O2 -ffast-math bin_PROGRAMS = yuvdenoise |
From: Steven S. <sm...@us...> - 2016-06-05 02:29:11
|
Update of /cvsroot/mjpeg/mjpeg_play/y4mscaler In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6222 Modified Files: Makefile.am Log Message: get rid of warning message: optimization flag '-finline-functions' is not supported Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/y4mscaler/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile.am 28 Jul 2014 14:26:54 -0000 1.2 --- Makefile.am 5 Jun 2016 02:29:09 -0000 1.3 *************** *** 5,10 **** EXTRA_DIST = ChangeLog README TODO ! AM_CFLAGS = -DNDEBUG -finline-functions -DYS_VERSION_MAJOR=9 -DYS_VERSION_MINOR=0 ! AM_CXXFLAGS = -DNDEBUG -finline-functions -DYS_VERSION_MAJOR=9 -DYS_VERSION_MINOR=0 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils --- 5,10 ---- EXTRA_DIST = ChangeLog README TODO ! AM_CFLAGS = -DNDEBUG -DYS_VERSION_MAJOR=9 -DYS_VERSION_MINOR=0 ! AM_CXXFLAGS = -DNDEBUG -DYS_VERSION_MAJOR=9 -DYS_VERSION_MINOR=0 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils |
From: Steven S. <sm...@us...> - 2016-06-05 02:23:39
|
Update of /cvsroot/mjpeg/mjpeg_play/yuvdenoise In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6033 Modified Files: main.c Log Message: get rid of warnings: main.c:315:11: warning: taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value] Index: main.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvdenoise/main.c,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -d -r1.73 -r1.74 *** main.c 13 Feb 2011 10:46:02 -0000 1.73 --- main.c 5 Jun 2016 02:23:36 -0000 1.74 *************** *** 313,317 **** // add weighted and translated but non-filtered test-pixel ! d = t - abs (r-v); d = d<0? 0:d; c += d; --- 313,317 ---- // add weighted and translated but non-filtered test-pixel ! d = t - r-v; d = d<0? 0:d; c += d; *************** *** 335,339 **** // add weighted and translated but non-filtered test-pixel ! d = t - abs (r-v); d = d<0? 0:d; c += d; --- 335,339 ---- // add weighted and translated but non-filtered test-pixel ! d = t - r-v; d = d<0? 0:d; c += d; *************** *** 357,361 **** // add weighted and translated but non-filtered test-pixel ! d = t - abs (r-v); d = d<0? 0:d; c += d; --- 357,361 ---- // add weighted and translated but non-filtered test-pixel ! d = t - r-v; d = d<0? 0:d; c += d; *************** *** 379,383 **** // add weighted and translated but non-filtered test-pixel ! d = t - abs (r-v); d = d<0? 0:d; c += d; --- 379,383 ---- // add weighted and translated but non-filtered test-pixel ! d = t - r-v; d = d<0? 0:d; c += d; *************** *** 401,405 **** // add weighted and translated but non-filtered test-pixel ! d = t - abs (r-v); d = d<0? 0:d; c += d; --- 401,405 ---- // add weighted and translated but non-filtered test-pixel ! d = t - r-v; d = d<0? 0:d; c += d; *************** *** 423,427 **** // add weighted and translated but non-filtered test-pixel ! d = t - abs (r-v); d = d<0? 0:d; c += d; --- 423,427 ---- // add weighted and translated but non-filtered test-pixel ! d = t - r-v; d = d<0? 0:d; c += d; *************** *** 709,713 **** d /= 16; ! d = t - abs (r-d); d = d<0? 0:d; c += d; --- 709,713 ---- d /= 16; ! d = t - r - d; d = d<0? 0:d; c += d; *************** *** 725,729 **** d /= 16; ! d = t - abs (r-d); d = d<0? 0:d; c += d; --- 725,729 ---- d /= 16; ! d = t - r-d; d = d<0? 0:d; c += d; *************** *** 741,745 **** d /= 16; ! d = t - abs (r-d); d = d<0? 0:d; c += d; --- 741,745 ---- d /= 16; ! d = t - r-d; d = d<0? 0:d; c += d; *************** *** 757,761 **** d /= 16; ! d = t - abs (r-d); d = d<0? 0:d; c += d; --- 757,761 ---- d /= 16; ! d = t - r-d; d = d<0? 0:d; c += d; *************** *** 773,777 **** d /= 16; ! d = t - abs (r-d); d = d<0? 0:d; c += d; --- 773,777 ---- d /= 16; ! d = t - r-d; d = d<0? 0:d; c += d; *************** *** 789,793 **** d /= 16; ! d = t - abs (r-d); d = d<0? 0:d; c += d; --- 789,793 ---- d /= 16; ! d = t - r-d; d = d<0? 0:d; c += d; *************** *** 811,816 **** void filter_plane_median_sse2(uint8_t *plane, int w, int h, int level) { int i; - int avg; /*should not be needed any more */ - int cnt; /* should not be needed any more */ uint8_t * p; uint8_t * d; --- 811,814 ---- |
From: Steven S. <sm...@us...> - 2016-06-05 00:05:49
|
Update of /cvsroot/mjpeg/mjpeg_play/yuvfilters In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32601 Modified Files: yuvkineco.c Log Message: abs() of unsigned int is silly - gives this warning yuvkineco.c:572:10: warning: taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value] Index: yuvkineco.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvfilters/yuvkineco.c,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** yuvkineco.c 5 Dec 2005 05:06:06 -0000 1.19 --- yuvkineco.c 5 Jun 2016 00:05:46 -0000 1.20 *************** *** 538,542 **** else if (256 - yget < noise) noise = 256 - yget; ! d = abs(ypre - yget); h->framestat[b].diffdist[(d < NOISEMAX)? d: NOISEMAX]++; if (noise < d) { --- 538,542 ---- else if (256 - yget < noise) noise = 256 - yget; ! d = ypre - yget; h->framestat[b].diffdist[(d < NOISEMAX)? d: NOISEMAX]++; if (noise < d) { *************** *** 548,557 **** ypre = fpre->data[((i - 1) * h->_.width) + j]; ygte = fget->data[((i - 1) * h->_.width) + j]; ! d = abs(yget - ygte); if (noise < d) { d -= noise; h->framestat[b].eoediff -= (((d * d) + 16) >> 5); } ! d = abs(yget - ypre); if (noise < d) { d -= noise; --- 548,557 ---- ypre = fpre->data[((i - 1) * h->_.width) + j]; ygte = fget->data[((i - 1) * h->_.width) + j]; ! d = yget - ygte; if (noise < d) { d -= noise; h->framestat[b].eoediff -= (((d * d) + 16) >> 5); } ! d = yget - ypre; if (noise < d) { d -= noise; *************** *** 560,574 **** ypre = fpre->data[((i + 1) * h->_.width) + j]; ygte = fget->data[((i + 1) * h->_.width) + j]; ! d = abs(yget - ygte); if (noise < d) { d -= noise; h->framestat[b].eoediff -= (((d * d) + 16) >> 5); } ! d = abs(yget - ypre); if (noise < d) { d -= noise; h->framestat[b].eoediff += (((d * d) + 16) >> 5); } ! d = abs(ypre - ygte); if (noise < d) { d -= noise; --- 560,574 ---- ypre = fpre->data[((i + 1) * h->_.width) + j]; ygte = fget->data[((i + 1) * h->_.width) + j]; ! d = yget - ygte; if (noise < d) { d -= noise; h->framestat[b].eoediff -= (((d * d) + 16) >> 5); } ! d = yget - ypre; if (noise < d) { d -= noise; h->framestat[b].eoediff += (((d * d) + 16) >> 5); } ! d = ypre - ygte; if (noise < d) { d -= noise; |
From: Steven S. <sm...@us...> - 2015-02-19 15:48:27
|
Update of /cvsroot/mjpeg/mjpeg_play In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv13265 Modified Files: INSTALL README Log Message: Clean up the file. Remove references to obsolete programs/scripts, fix typos, etc. Index: README =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/README,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** README 19 Sep 2013 17:28:01 -0000 1.30 --- README 19 Feb 2015 15:48:25 -0000 1.31 *************** *** 8,15 **** Programs for MJPEG recording and playback and simple cut-and-paste ! editting and MPEG compression of audio and video under Linux. ! N.b. Only the "lav" programs have been written whooly from scratch. ! The rest are from diverse open source originals, modified to work with the lav tools edit lists and AVI and quicktime files. Some (especially the MPEG tools) have had also more major perfomance and --- 8,15 ---- Programs for MJPEG recording and playback and simple cut-and-paste ! editing and MPEG compression of audio and video under Linux. ! Only the "lav" programs have been written entirely from scratch. ! The rest are from diverse open source originals modified to work with the lav tools edit lists and AVI and quicktime files. Some (especially the MPEG tools) have had also more major perfomance and *************** *** 19,24 **** The latest and greatest versions of Rainer Johanni's original ! lavtools. Plus some extra goodies to link them to the MPEG ! compression tools. - "lavrec" is a program to record AVI and Quicktime MJPEG files with --- 19,23 ---- The latest and greatest versions of Rainer Johanni's original ! lavtools plus some extra goodies to link them to the MPEG compression tools. - "lavrec" is a program to record AVI and Quicktime MJPEG files with *************** *** 34,38 **** The lav tools and MPEG encoding tools can all work directly with these files as well as Quicktime and AVI files. Since these files have simple plain-text ! format they can easily be manually editted or use for other tools. - "lavtrans" (in directory utils) converts a mixture of AVI files, --- 33,37 ---- The lav tools and MPEG encoding tools can all work directly with these files as well as Quicktime and AVI files. Since these files have simple plain-text ! format they can easily be manually edited or use for other tools. - "lavtrans" (in directory utils) converts a mixture of AVI files, *************** *** 57,65 **** actual end. - - "lav2dfilter". A median filter for noise reduction. Useful when MPEG - encoding TV material. - - - "v4l-conf" is used in X to set up your video framebuffer address - - "yuv2lav", "ypipe" and "transist.flt" for (first decode an mjpeg input file into raw yuv data (lav2yuv)) putting the data of more than --- 56,59 ---- *************** *** 78,82 **** intended as examples of typical uses. - * The mpeg2enc directory --- 72,75 ---- *************** *** 85,92 **** See the README for further details. - In the current beta release MPEG-2 is untested and variable - bit-rate probably won't work. HOWEVER: speed and quality for - MPEG-1 are really rather good. Encoding 352x288 PAL at 18 - fps on a 700Mhz Duron or 11ps on a 450Mhz P-III. * The aenc directory - --- 78,81 ---- *************** *** 98,102 **** sampling rate conversions. You need this to compress audio. - In general, however, you'd be better off with the faster and more capable "toolame" encoder. For transcoding applications the good old --- 87,90 ---- *************** *** 118,138 **** This is *not* quite as trivial a task as it might seem (see the original authors paper on the subject - copy is in the ! documentation). Note that the program has been pretty heavily ! modified since then. ! MPEG-2 multiplexing is implemented but is currently untested. ! DVD VOB multiplexing (AC3 audio in addition to MPEG) is not implemented. ! ! See the README's of the various programs for further details of authorship, usage, and implementation/compilation details. ! ! Attention: lavplay is mainly intended to play back files created by ! lavrec and should also be able to play back MJPEG AVI files created ! from the Iomega BUZ under Win98 or the xawtv capture tool under linux. The vast majority of AVI/Quicktime files will not be played by ! lavplay!!! (see http://dix.euro.ru for such codecs) The reason is ! that lavplay only handles AVI that use an MJPG codec, all other files ! don't use that codec and can therefore not be played back by the BUZ. * Contact --- 106,119 ---- This is *not* quite as trivial a task as it might seem (see the original authors paper on the subject - copy is in the ! documentation). Note that the program has been heavily modified since then. ! See the READMEs of the various programs for further details of authorship, usage, and implementation/compilation details. ! Attention: lavplay is mainly intended to play back files created by lavrec. The vast majority of AVI/Quicktime files will not be played by ! lavplay! (see http://dix.euro.ru for such codecs) The reason is ! that lavplay only handles AVI that use an MJPG codec and other files ! do not use that codec. * Contact Index: INSTALL =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/INSTALL,v retrieving revision 1.99 retrieving revision 1.100 diff -C2 -d -r1.99 -r1.100 *** INSTALL 30 Dec 2013 03:16:25 -0000 1.99 --- INSTALL 19 Feb 2015 15:48:25 -0000 1.100 *************** *** 3,9 **** Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, ! 2006, 2007, 2008, 2009 Free Software Foundation, Inc. ! This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. --- 3,9 ---- Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, ! 2006 Free Software Foundation, Inc. ! This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. *************** *** 11,15 **** ================== ! Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for --- 11,15 ---- ================== ! Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for *************** *** 68,80 **** with the distribution. - 6. Often, you can also type `make uninstall' to remove the installed - files again. - Compilers and Options ===================== ! Some systems require unusual options for compilation or linking that ! the `configure' script does not know about. Run `./configure --help' ! for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters --- 68,77 ---- with the distribution. Compilers and Options ===================== ! Some systems require unusual options for compilation or linking that the ! `configure' script does not know about. Run `./configure --help' for ! details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters *************** *** 89,93 **** ==================================== ! You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the --- 86,90 ---- ==================================== ! You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the *************** *** 101,122 **** reconfiguring for another architecture. - On MacOS X 10.5 and later systems, you can create libraries and - executables that work on multiple system types--known as "fat" or - "universal" binaries--by specifying multiple `-arch' options to the - compiler but only a single `-arch' option to the preprocessor. Like - this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you - may have to build one architecture at a time and combine the results - using the `lipo' tool if you have problems. - Installation Names ================== ! By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving --- 98,105 ---- reconfiguring for another architecture. Installation Names ================== ! By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving *************** *** 141,145 **** ================= ! Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE --- 124,128 ---- ================= ! Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE *************** *** 153,196 **** `--x-libraries=DIR' to specify their locations. - Particular systems - ================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU - CC is not installed, it is recommended to use the following options in - order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - - and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot - parse its `<wchar.h>' header file. The option `-nodtk' can be used as - a workaround. If GNU CC is not installed, it is therefore recommended - to try - - ./configure CC="cc" - - and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put `/usr/ucb' early in your `PATH'. This - directory contains several dysfunctional programs; working variants of - these programs are available in `/usr/bin'. So, if you need `/usr/ucb' - in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', - not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - Specifying the System Type ========================== ! There may be some features `configure' cannot figure out ! automatically, but needs to determine by the type of machine the package ! will run on. Usually, assuming the package is built to be run on the ! _same_ architectures, `configure' can figure that out, but if it prints ! a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: --- 136,147 ---- `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== ! There may be some features `configure' cannot figure out automatically, ! but needs to determine by the type of machine the package will run on. ! Usually, assuming the package is built to be run on the _same_ ! architectures, `configure' can figure that out, but if it prints a ! message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: *************** *** 200,205 **** where SYSTEM can have one of these forms: ! OS ! KERNEL-OS See the file `config.sub' for the possible values of each field. If --- 151,155 ---- where SYSTEM can have one of these forms: ! OS KERNEL-OS See the file `config.sub' for the possible values of each field. If *************** *** 219,225 **** ================ ! If you want to set default values for `configure' scripts to share, ! you can create a site shell script called `config.site' that gives ! default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the --- 169,175 ---- ================ ! If you want to set default values for `configure' scripts to share, you ! can create a site shell script called `config.site' that gives default ! values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the *************** *** 230,234 **** ================== ! Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these --- 180,184 ---- ================== ! Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these *************** *** 249,265 **** ====================== ! `configure' recognizes the following options to control how it ! operates. `--help' `-h' ! Print a summary of all of the options to `configure', and exit. ! ! `--help=short' ! `--help=recursive' ! Print a summary of the options unique to this package's ! `configure', and exit. The `short' variant lists options used ! only in the top level, while the `recursive' variant lists options ! also present in any nested packages. `--version' --- 199,207 ---- ====================== ! `configure' recognizes the following options to control how it operates. `--help' `-h' ! Print a summary of the options to `configure', and exit. `--version' *************** *** 288,301 **** `configure' can determine that directory automatically. - `--prefix=DIR' - Use DIR as the installation prefix. *Note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - - `--no-create' - `-n' - Run the configure checks, but stop before creating any output - files. - `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. --- 230,233 ---- |