Skip to content

Commit e563a8c

Browse files
committed
Checkin noad-0.8.6
1 parent a4ff109 commit e563a8c

26 files changed

+1168
-435
lines changed

ChangeLog

+12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
Version 0.8.6
2+
- fixes for ffmpeg 1.2
3+
4+
Version 0.8.5
5+
- fixed a bug setting marks on non-IFrames
6+
- fixed a bug reusing saved logos
7+
- new tool checkMarks for checking that all marks are on IFrames
8+
- new script (checkAllMarks) for checking all records for faulty marks and re-noad them
9+
10+
Version 0.8.4
11+
- fixed handling of hdtv-recordings
12+
113
Version 0.8.x
214
- can use libmpeg2 or libavcodec(ffmpeg) for video-decoding
315
- configure uses pkg-config to detect libmpeg2/libavcodec by default

Makefile.am

+5-4
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@ noinst_LIBRARIES=libnoad.a
44
libnoad_a_SOURCES=tools.cpp vdr_cl.cpp svdrpc.cpp \
55
tools.h vdr_cl.h svdrpc.h
66

7-
bin_PROGRAMS=noad
7+
bin_PROGRAMS=noad checkMarks
88
noad_SOURCES=audiotools.cpp cchecklogo.cpp ccontrol.cpp cgetlogo.cpp ctoolbox.cpp \
99
noad.cpp noaddata.cpp tnoad.cpp ffmpeg_decoder.cpp libmpeg2_decoder.cpp mpeg_decoder.cpp \
1010
main.cpp \
11-
audiotools.h cchecklogo.h ccontrol.h cgetlogo.h ctoolbox.h \
11+
audiotools.h cchecklogo.h ccontrol.h cgetlogo.h ctoolbox.h channels.h \
1212
noad.h tnoad.h noaddata.h videodir.h \
1313
ffmpeg_decoder.h libmpeg2_decoder.h mpeg2wrap_ffmpeg.h mpeg_decoder.h yuvbuf.h
1414

15-
15+
checkMarks_SOURCES=checkmarks.cpp
1616
noad_LDADD=libnoad.a
17+
checkMarks_LDADD=libnoad.a
1718

1819
noinst_PROGRAMS=@PICSRC@ @TOOLSRC@
1920
EXTRA_PROGRAMS=markpics showindex
@@ -24,6 +25,6 @@ markpics_CXXFLAGS=@markpiccxxflags@
2425
showindex_SOURCES=showindex.cpp
2526
showindex_LDADD=libnoad.a
2627

27-
bin_SCRIPTS=allnewnoad allnoad allnoadnice allnoaduncut clearlogos noadifnew stat2html statupd noadcall.sh
28+
bin_SCRIPTS=allnewnoad allnoad allnoadnice allnoaduncut clearlogos noadifnew stat2html statupd noadcall.sh checkAllMarks
2829

2930
EXTRA_DIST=$(bin_SCRIPTS) README.en mystat.HTML noad_scripts.zip

Makefile.in

+16-7
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ POST_INSTALL = :
3636
NORMAL_UNINSTALL = :
3737
PRE_UNINSTALL = :
3838
POST_UNINSTALL = :
39-
bin_PROGRAMS = noad$(EXEEXT)
39+
bin_PROGRAMS = noad$(EXEEXT) checkMarks$(EXEEXT)
4040
EXTRA_PROGRAMS = markpics$(EXEEXT) showindex$(EXEEXT)
4141
subdir = .
4242
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
@@ -69,6 +69,9 @@ am_libnoad_a_OBJECTS = tools.$(OBJEXT) vdr_cl.$(OBJEXT) \
6969
libnoad_a_OBJECTS = $(am_libnoad_a_OBJECTS)
7070
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
7171
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
72+
am_checkMarks_OBJECTS = checkmarks.$(OBJEXT)
73+
checkMarks_OBJECTS = $(am_checkMarks_OBJECTS)
74+
checkMarks_DEPENDENCIES = libnoad.a
7275
am_markpics_OBJECTS = markpics-markpics.$(OBJEXT)
7376
markpics_OBJECTS = $(am_markpics_OBJECTS)
7477
markpics_DEPENDENCIES = libnoad.a
@@ -137,10 +140,10 @@ am__v_CCLD_0 = @echo " CCLD " $@;
137140
AM_V_GEN = $(am__v_GEN_$(V))
138141
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
139142
am__v_GEN_0 = @echo " GEN " $@;
140-
SOURCES = $(libnoad_a_SOURCES) $(markpics_SOURCES) $(noad_SOURCES) \
141-
$(showindex_SOURCES)
142-
DIST_SOURCES = $(libnoad_a_SOURCES) $(markpics_SOURCES) \
143-
$(noad_SOURCES) $(showindex_SOURCES)
143+
SOURCES = $(libnoad_a_SOURCES) $(checkMarks_SOURCES) \
144+
$(markpics_SOURCES) $(noad_SOURCES) $(showindex_SOURCES)
145+
DIST_SOURCES = $(libnoad_a_SOURCES) $(checkMarks_SOURCES) \
146+
$(markpics_SOURCES) $(noad_SOURCES) $(showindex_SOURCES)
144147
ETAGS = etags
145148
CTAGS = ctags
146149
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -273,18 +276,20 @@ libnoad_a_SOURCES = tools.cpp vdr_cl.cpp svdrpc.cpp \
273276
noad_SOURCES = audiotools.cpp cchecklogo.cpp ccontrol.cpp cgetlogo.cpp ctoolbox.cpp \
274277
noad.cpp noaddata.cpp tnoad.cpp ffmpeg_decoder.cpp libmpeg2_decoder.cpp mpeg_decoder.cpp \
275278
main.cpp \
276-
audiotools.h cchecklogo.h ccontrol.h cgetlogo.h ctoolbox.h \
279+
audiotools.h cchecklogo.h ccontrol.h cgetlogo.h ctoolbox.h channels.h \
277280
noad.h tnoad.h noaddata.h videodir.h \
278281
ffmpeg_decoder.h libmpeg2_decoder.h mpeg2wrap_ffmpeg.h mpeg_decoder.h yuvbuf.h
279282

283+
checkMarks_SOURCES = checkmarks.cpp
280284
noad_LDADD = libnoad.a
285+
checkMarks_LDADD = libnoad.a
281286
noinst_PROGRAMS = @PICSRC@ @TOOLSRC@
282287
markpics_SOURCES = markpics.cpp
283288
markpics_LDADD = libnoad.a @markpics_ldadd@
284289
markpics_CXXFLAGS = @markpiccxxflags@
285290
showindex_SOURCES = showindex.cpp
286291
showindex_LDADD = libnoad.a
287-
bin_SCRIPTS = allnewnoad allnoad allnoadnice allnoaduncut clearlogos noadifnew stat2html statupd noadcall.sh
292+
bin_SCRIPTS = allnewnoad allnoad allnoadnice allnoaduncut clearlogos noadifnew stat2html statupd noadcall.sh checkAllMarks
288293
EXTRA_DIST = $(bin_SCRIPTS) README.en mystat.HTML noad_scripts.zip
289294
all: config.h
290295
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -389,6 +394,9 @@ clean-binPROGRAMS:
389394

390395
clean-noinstPROGRAMS:
391396
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
397+
checkMarks$(EXEEXT): $(checkMarks_OBJECTS) $(checkMarks_DEPENDENCIES)
398+
@rm -f checkMarks$(EXEEXT)
399+
$(AM_V_CXXLD)$(CXXLINK) $(checkMarks_OBJECTS) $(checkMarks_LDADD) $(LIBS)
392400
markpics$(EXEEXT): $(markpics_OBJECTS) $(markpics_DEPENDENCIES)
393401
@rm -f markpics$(EXEEXT)
394402
$(AM_V_CXXLD)$(markpics_LINK) $(markpics_OBJECTS) $(markpics_LDADD) $(LIBS)
@@ -443,6 +451,7 @@ distclean-compile:
443451
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cchecklogo.Po@am__quote@
444452
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccontrol.Po@am__quote@
445453
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cgetlogo.Po@am__quote@
454+
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkmarks.Po@am__quote@
446455
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ctoolbox.Po@am__quote@
447456
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffmpeg_decoder.Po@am__quote@
448457
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpeg2_decoder.Po@am__quote@

README

+9
Original file line numberDiff line numberDiff line change
@@ -245,4 +245,13 @@ Ab Version 0.8 wurde der Video-Decoder
245245
werden. Default ist, wenn m�glich, ffmpeg. Wird der libmpeg-decoder gew�hlt, so wird bei Ekennung einer HD-Aufnahme
246246
automatisch zum ffmpeg-decoder gewechselt.
247247

248+
Ab noad 0.8.5:
249+
Neues Tool "checkMarks" zum �berpr�fen der Marken f�r eine Aufnahme.
250+
Durch einen Fehler in den 0.8.x-Versionen kann es vorkommen, das Marken auf falsche Frames gesetzt werden. Um diese
251+
Aufnahmen zu finden gibt es jetzt ein Tool f�r die Markenpr�fung.
252+
Um alle Aufnahmen mit fehlerhaften Marken zu finden
253+
und die Marken neu zu setzen ist ein script (checkAllMarks) mitgeliefert. Dieses script erwartet als Parameter ein
254+
Video-Aufnahmeverzeichnis. Es werden dann in diesem Aufnahmeverzeichnis alle Aufnahmen mit checkMarks �berpr�ft und
255+
die Marken ggf. mit einem Aufruf der aktuellen noad-Version neu gesucht.
256+
248257
Fehlermeldungen, Anregungen, Hinweise und auch Erfahrungsberichte an: [email protected]

README.en

+8
Original file line numberDiff line numberDiff line change
@@ -215,4 +215,12 @@ decoder - choose video-decoder
215215
You can choose between libmpeg2 or libavcodec(ffmpeg) as video-decoder. Default is ffmpeg if possible. If you choose libmpeg2 and
216216
noad detects a hd-video ffmpeg will be used if possible.
217217

218+
noad 0.8.5:
219+
New tool "checkMarks" for checking the marks for a recording.
220+
Due to an error in the 0.8.x-Versions there can be marks on non-IFrames. To identify those recordings there is now a
221+
tool for checking the marks.
222+
To find all recordings with faulty marks there is a scrip called "checkAllMarks". This script has to be called with
223+
a vdr-video-directory as parameter. It searches all recordings in that dir and checks them with checkMarks.
224+
If necessary, recordings with faulty marks will be rescanned with the curent noad-programm.
225+
218226
Send bug-reports and hints to: [email protected]

allnoaduncut

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ then
1414
fi
1515
vdir=${1}
1616
shift
17-
find $vdir -follow -type d -name '*.rec' ! -path '*/%*' -exec ./noad $* - '{}' ';'
17+
find $vdir -follow -type d -name '*.rec' ! -path '*/%*' -exec noad $* - '{}' ';'
1818

audiotools.cpp

+16-2
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@
33
bool havesilence = false;
44
#ifdef HAVE_LIBAVCODEC
55

6-
#include "mpeg2wrap.h"
76
#include "mpeg2wrap_ffmpeg.h"
87
extern "C"
98
{
109
#include "libavcodec/avcodec.h"
1110
}
1211

12+
#if LIBAVCODEC_VERSION_MAJOR > 54
13+
#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
14+
#endif
15+
1316
// from libavutil/intreadwrite.h:
1417
#define AV_RB32(x) ((((const uint8_t*)(x))[0] << 24) | \
1518
(((const uint8_t*)(x))[1] << 16) | \
@@ -47,6 +50,9 @@ int pr = 1;
4750
uint8_t *outbuf=NULL;
4851
AVCodec *codec=NULL;
4952
AVCodecContext *codecContext= NULL;
53+
#if LIBAVCODEC_VERSION_MAJOR > 54
54+
AVDictionary *avDictionary = NULL; // "create" an empty dictionary
55+
#endif
5056
int64_t basepts=0;
5157
int64_t audiobasepts=0;
5258
//int64_t audiopts=0;
@@ -102,8 +108,13 @@ void initAVCodec()
102108
codecContext = avcodec_alloc_context3(codec);
103109
#endif
104110

111+
#if LIBAVCODEC_VERSION_MAJOR > 54
112+
/* open it */
113+
if (avcodec_open2(codecContext, codec, &avDictionary) < 0)
114+
#else
105115
/* open it */
106116
if (avcodec_open(codecContext, codec) < 0)
117+
#endif
107118
{
108119
fprintf(stderr, "could not open codec\n");
109120
}
@@ -118,6 +129,9 @@ void exitAVCodec()
118129
{
119130
free(outbuf);
120131
avcodec_close(codecContext);
132+
#if LIBAVCODEC_VERSION_MAJOR > 54
133+
av_dict_free(&avDictionary);
134+
#endif
121135
av_free(codecContext);
122136
av_codec_initialised = false;
123137
}
@@ -179,7 +193,7 @@ int scan_audio_stream_0(unsigned char *mbuf, int count)
179193
if (len < 0)
180194
{
181195
//fprintf(stderr, "Error while decoding audio\n\n");
182-
esyslog("Error while decoding audio (ignored)");
196+
// esyslog("Error while decoding audio (ignored)");
183197
resetAudioBuffer();
184198
size=0;
185199
break;

0 commit comments

Comments
 (0)