-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathChangeLog
More file actions
718 lines (568 loc) · 27 KB
/
Copy pathChangeLog
File metadata and controls
718 lines (568 loc) · 27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
20180328:
* ezthumb.c: don't display milliseconds in large video clips.
20170625:
* ezthumb.c: replaced the video_decode_valided() to video_decode_to()
in the two-pass mode in case of running out of key frames in very
short video clips.
* Improved: if received a repetitive key frame list, which means the
video clip is very short, enforce the accurate mode by default.
20170620:
* Makefile.am: added a "light" release to deliver a much smaller
package for Linux platform, which removed the pre-compiled Win32
binaries.
* ezgui.c: removed the annoying debug print in xui_make_filters().
20170615: 3.6.7
* main.c: added the --size-unit option for user's preferred units.
20170614:
* ezgui.c: fixed the shrinking window issue by skipping the first
resize event when saving the current window's size.
20170609:
* ezgui.c: fixed the bug which failed to drag & drop files with spaces
inside the names.
* libcsoup: updated to 0.9.10 to support url decoding.
20170609:
* libcsoup: updated to 0.9.9 to harden the csc_gettoken().
* ezthumb.h: added more video extension names as the video filter.
* ezgui.c: xui_make_filters() expand uppercase extension for gtk.
20170608: 3.6.6
* ezthumb.c: Fixed the bug which failed to use ffmpeg 3.x new API
properly.
* configure.ac: Fixed a bug which failed to install the new named
EzthumbWin.exe.
20170602: 3.6.5
* ezgui.c: The progress bar dialog will inherit the configuration from
the ezthumb GUI dialog.
20170602:
* ezgui.c: Fixed a bug that Chinese characters were failed to pass to
the progress bar dialog.
* ezthumb.nsi: Workarounded the imcomplete context menu in Windows.
Note that the issue was caused by not all video format were associated
in HKCR\SystemFileAssociations\video, such as .mkv, .mp4, etc.
The workaround is by adding ezthumb to the OpenWithList.
20170529: 3.6.4
* ezgui.c: added some codes to verify the inputs of text controls.
* ezthumb.c: fixed a bug which freeze the progress bar in i-frame
dumping mode.
* ezgui.c: fixed a bug which failed to hightlight the "RUN" button
when media files were loaded from the command line.
20170529:
* ezwinfont.c: added to support the TTF fonts in Windows.
The libgd uses fontconfig to translate the font faces to the font
files. In Windows however there's no fontconfig available so libgd
could not find the proper font files. Unfortunately there's also no
out-of-box APIs to directly translate the font faces to the font files
in Windows. My approach is to enumerate all registered font faces and
to compare them with all registered true type fonts. It's still
imperfect but around 95% fonts could be matched.
20170520:
* configure: adjusted the link sequence so libiup would be ahead of
any gtk/X11 libraries.
20170519: 3.6.3
* configure.ac: adjusted the link sequence to avoid the
".../libX11.so: error adding symbols: DSO missing ..." issue.
* libcsoup: disabled the build of the test program for Android.
* Makefile.am: Added the 64x64 icon.
* ezgui.c: Fixed the bug which failed to save the transparent
screenshots.
20170517:
* ezgui.c: Added event to font_face text entry so it can choose
fonts directly.
* ezgui.c: Using IUP internal iupGetFontInfo() function to parse the
font face.
20170515: 3.6.2
* ezgui.c: Fixed the bug that failed to restore the default value
of the Grid Setting as well as the text control detection.
Three issues were related to this bug:
1. text control didn't hook up the event process
2. the profile was disabled but failed to enable again
3. the font_gtk_name field dereferenced to the volatile contents
of IupGetAttribute().
20170514:
* ezgui.c: Fixed the bug that the label control has a different
background colour than the dialog background.
The bug was caused by the tab control which came from the Windows
theme.
20170513:
* ffmpeg_3_x: Merged the 'deprecated build' from the ffmpeg_3_x branch
because this build can barely work on ffmpeg 3.3.
20170512:
* ezgui.c: Fixed the bug that the zoom option layout is inconsistent in
different distros. In GTK2 the text control applied the vertical
alignment of the "+/-" button. In GTK3 on the other hand, the "+/-"
button turned to be horizontal, which means the text control need a
larger size attribution.
* id_lookup.c: Normalized the information label in the head margin of
the screenshot canvas.
20170511:
* libcsoup: updated to 0.9.7 to remove the -Wshift-negative-value warning.
* ezgui.c: Fixed the bug which deleting all entries in GTK3.
In GTK3 once an entry was removed, the focus automatically moved to
the next entry, unlike GTK2, which caused the constantly deleting.
* ezgui.c: Fixed the bug which generating screenshot with wrong
attribution if some videoes were removed from the list control.
Root Cause: The REMOVEITEM only affective after the list control has
been mapped. Therefore the virtual list can not remove its contents,
which caused the filename list couldn't match with the attribution
list.
* ezgui.c: Fixed the bug which failed to recover the 'auto' zooming if
other zooms were chosen once.
20170510:
* configure.ac: added tests for HAVE_AVFRAME_PKT_PTS, HAVE_AVFRAME_BEST_ETS,
HAVE_GD_USE_FONTCONFIG and HAVE_GD_IMAGE_GIFANIMATION
* ezthumb.h: EZOPT.img_format changed to integer type
* ezgui.c: Fixed the bug which failed to save to png and gif.
* ezthumb.h: EZOPT.suffix expands to 256
* ezgui.c: Fixed the bug which failed to save the suffix to the config file.
* ezgui.c: Fixed the bug which failed to save to the specified path.
20170505: 3.6.1
* ezthumb.nsi: added a section to add to context menu (Win32).
20170419:
* IUP: updated to 3.21 to workaround the missing GTK icons.
* IUP: using the officially distributed WIN32 libs from IUP home page.
- It looks the "IUP_MessageInfo" issue is persistent.
20170411: 3.6.0
* GNU autoconf: Added configure.ac, Makefile.am and other supportives
* IUP: Modified the buildsys to fit into autoconf.
* ezconfig: Been outdated by autoconf.
* id_lookup.c: Removed the codec table because it's jumping around
different ffmpeg versions.
* libav: should be supported now.
* ezgui.c: normalized the button height because in gtk3 the icon size
diffs.
20170310: 3.5.0
* ezgui.c: Added a progress bar dialog for integrating with file managers.
20160809: release 3.4.1
* Added factory reset
* IUP updated to 3.10.1
* Fixed the progress bar overlap status bar issue
* Fixed the utf-8 filename issue in Windows
* Fixed the core dump when verbose level reach 7
* Fixed the failure of removing registry in Windows.
20160809:
* libcsoup: updated to 0.9.6
which fixed two issue: the dead loop in csc_cdll that caused core dump
in verbose level 7; the registry removal issue that caused by wrong
path seperator.
20160806:
* main.c: added the factory reset function.
* main.c: added displaying credits.
20160805:
* ezgui.c: Fixed the status/progress bar displaying issue in Windows
The optind could go ahead of argc which caused -1 'fum' in ezgui_run()
* ezgui.c: Fixed the logic that didn't run auto mode while initial.
* ezgui.c: Fixed accessing utf-8 filename in Windows.
It looks IUP option UTF8MODE_FILE turned every filename to UTF-8
string so ezthumb has to abandon the fopen(), which was ok to read
a file, but write to chaos filenames.
The fix is using smm_fopen() instead which convert UTF-8 to UTF-16
against the current code page.
* ezicon.h: use the 128x128 icon only
* ezgui.c: added hot keys to tab bar and decorated the ui
20160803:
* libcsoup: updated to 0.9.3 to support module name translation.
* Makefile: reviewed to support a better upsource management.
20160802:
* external: upsourced to recent versions and clean up the libgd.
* ezgui.c: removed the gtk part totally because IUP works pretty well.
* ezthumb_debug.c: removed by reusing the same facilities in libcsoup.
20151119: Version 3.4.0 release
* libcsoup: updated to 0.8.10
* eziup.c: introduced SView to simplify the listview
Many UI changes and elements introduced.
20150501:
* eziup.c: added an 'about' page.
20150428:
* ezicon.h: fixed a bug that ICON shifted 6 pixels.
The ICON array converted from gdk-pixbuf-csource has a 24-byte-head
structure, which is not needed in IupImage/IupImageRGB/IupImageRGBA.
Otherwise IupImage/IupImageRGB/IupImageRGBA() will read the
head as part of pixels, which shifts the whole image.
20150311: Version 3.3.0 release
* libcsoup: fixed a makefile bug in main/ directory
* Makefile: updated the release process
20150305:
* libcsoup: updated to 0.8.3 that fixed the missing '/' issue.
* Makefile: release method updated.
20150304:
* Win32 version: updated the FFMPEG to 2015-03-03 git-5de2dab.
It should support H.265.
20150303:
* video_frame_free(): fixed the issue that av_frame_free() reported
double free coredump by only copy image data in video_frame_update().
* eziup.c: duration read from the FFMPEG avformat_find_stream_info().
The gain is faster and less mess in ArgusTV. The higher the version
of FFMPEG the better the duration it probes.
20150302:
* video_decode_next(): supported PTS in high version ffmpeg.
20150227: Version 3.2.3 tested in CentOS 4
* video_frame_free(): prototype modified to clear the EZFRM pointer.
Otherwise the binding mode would've found the dereference pointers.
20150226: Version 3.2.3 Concept verified
* ezthumb.c: revoke the original double-decoding-frame plan.
The double-decoding-frame could not work because ffmpeg reuses the
picture buffer even allocated more than one AVFrame structure.
The fix is allocating my own picture buffer. Once a proper frame
has been decoded, it will be moved into the picture buffer for
future reference.
20150115: Version 3.2.3
* ezthumb.c: use video_decode_valided() instead of video_decode_next()
in most cases. The video_decode_next() still have a chance to decode
damaged picture while I-Packet turned out to be P-Frame.
20150114:
I've sicked in searching and reviewing ffmpeg versions to decide
the proper APIs so using a small script file to detect them.
* mkconfig.sh: test the ffmpeg APIs then output a configure header
* conftest.c: support file to test the ffmpeg APIs
20150109: Version 3.2.2
* eziup.c: Improved UI display.
* libcsoup: Fixed a bug that failed to read file over 2GB
* ezthumb.c: Fixed the AR correction issue.
20140830: Version 3.2.1
* libcsoup: updated to 0.8.1. Ezthumb applies the new debug scheme.
20140512: Pre Version 3.2.0
* external: integrated external source codes into ezthumb to make
them consistent and easy to maintain.
* libcsoup: updated to 0.5.0
* eziup.c: fully migrate to iup.
* ezthumb.c: support av_frame_alloc() if avcodec is higher than 53.6.0
20131009: Version 3.0.4
* libcsoup: following up libcsoup 0.2.2, which fixed a problem by
opening files with the sharing mode in Win32 to get the file size.
The test harness was that running ezthumb while playing the same video
by mediaplayer. Without the fix it would put ezthumb into full scan
mode.
20130926: Version 3.0.3
* ezthumb.c: previous fix doesn't work well so make an update
20130915: Version 3.0.2
* ezthumb.c: fixed a bug that av_read_frame() always return the first
packet positively after av_seek() out of the range in
video_duration_quickscan().
20130830:
* Makefile: slightly modified to match the changes in libcsoup
20130828: Version 3.0.1
Fixed a bug that displaying wrong file size; for example,
a file of 2973632284 bytes was displayed 2.01GB, not 2.77GB
Imporved quick scan in duration test.
A foolproof update while displaying language metadata.
20130809: Version 3.0.0
Most tests have been done so it's the time to release.
There are so many codes and features newly included.
I reckon to it's proper to jump the version number.
20130808:
* ezthumb.c: never fail the video_decode_xxx() functions.
[BUG]: Otherwise in binding mode, alizee.rm la_lsla_bonita.wmv
SeeYa.mkv shakira1.mp4 shakira2.mp4, ezthumb -b --opt-ffr on *,
the last frame run out of la_lsla_bonita.wmv cause the index
disordered in between clips
20130724:
* ezthumb.c: remove the heuristic process because it's already
integrated into the scan mode as default function.
* ezthumb.c: since the scan mode is heuristically, the two-pass mode
is much less important now. Thus turned the two-pass mode to the
tradition way to cut down the memory usage.
20130718:
* video_dts_to_ms(): removed the offset adjustment to
formatx->start_time because it made confusing and not consistent to
other convert functions.
20130628: move to 2.2.0
Major update to support binding mode.
20120902: quickfix branch V2.1.10
ezgui.c: temporarily change the default codepage to UTF-8 to fix the
file name issue. The problem is that ezthumb uses native codepage to
translate the file name, which came from the command line as the native
form. However, the file name passed from GTK had been converted to
UTF-8. When command line version works good, the GUI version failed.
Temporarily changing the codepage to UTF-8 before calling ezthumb core
functions, the MultiByteToWideChar() could work properly.
20120829: quickfix branch
https://sourceforge.net/p/ezthumb/discussion/general/thread/3fe795fe/
A bug was found in Win32 version that ezthumb failed to open certain
files with unknown codepage characters in the file name.
When MultiByteToWideChar() converted the file name to UTF-16 string,
it was using the output codepage of console, which was ANSI. However
the CreateFile() was waiting for the name converted to 623 in my
machine. Both converting are correct but dismatched. This problem
only happens in Windows because Linux uses UTF-8 as default.
* smm_codepage.c: fixed the default codepage by GetACP()
20120822: quickfix branch V2.1.9
* Makefile: convert man page to PDF file when releasing the ezthumb
* -Makefile: could be a problem in Windows
* Makefile: decided to generate PDF page in linux and manage with git
* id_lookup.c: fixed the deprecated symbols in ffmpeg-1.x
(LIBAVCODEC_VERSION_MAJOR == 54)
20120821: quickfix branch
* libsmm: Reviewed the error code strategy of libsmm
Use the consistent error codes instead of the system dependent ones
* smm_pathtrek.c: many bugs were found and fixed
introduced the recursive depth control
20120816: quickfix branch
Improved the --override option. Testing the existance of thumbnails
before creating the thumbnail.
20120814: V2.1.8
file_size field is depreciated and soon removed. use avio_size() instead
document update
reviewed and adjusted the debug levels
* id_lookup.c: id_lookup_tail() introduced to removed the fix coded offset
improved filter to block unwanted/fake media files
* eznotify.c: file_size field replaced by avio_size()
20120813:
Replaced FF_I_TYPE by AV_PICTURE_TYPE_I since it was deprecated
since 4 Jan 2012. See
https://lists.ffmpeg.org/pipermail/ffmpeg-cvslog/2012-January/045452.html
20120812:
Introduced the recursive mode to batch process video files
Introduced an option to override/skip/copy the existed thumbnails
The default is 'copy'.
20120807:
a better foolproof way to process the size of file
video_media_on_canvas(): display combined bitrate by calculating it.
20120807: V2.1.7
Added a warning info about the internal field of file size.
I remember once before this field returned 0. Thus I tried to get the
size by stream function. Perhaps it's been fixed in the ffmpeg.
added a smm function to retrieve the file size.
* video_media_on_canvas(): calculate the bitrate upon file size.
A new issue was found that in some video clips, the ffmpep filled
the AVFormatContext->bit_rate with audio stream's. The video
AVCodecContext->bit_rate was 0.
20120803:
Fixed the 32-bit I/O error by using the internal file size field
in the AVFormatContext structure. Hope it make no surprise in
different version FFMPEGs.
20120803:
A bug was witnessed in Win32 version that when ezthumb was processing
files over 4GB, it would enforce the 2-pass mode automatically, which
took a long time. Linux version doesn't have this problem.
The cause of this issue is in the video_allocate() where fopen() and
ftell() was used to retrieve the length of file. Apparently the 32-bit
file I/O failed to work on the large files. The stat() function does
not work either. What's more, the FFMPEG was compiled in 32-bit mode
so it could not get the correct file length either. It returned the
same result to stat() in AVFormatContext->file_size.
Linux version doesn't have this problem, which must be contributed by
compiled in the 64-bit system. The I/O is natively 64-bit. I reckon
the same issue should appear in the 32-bit system.
The fix should be implementing the 64-bit I/O, or better, split it
into 32-bit and 64-bit version and integrating the 64-bit FFMPEG.
20120724: V2.1.6
Moved the registering of video and image object to their allocating
functions, as well as the deregistering process to the free functions.
Removed the appendix snapshots. In previous version, if snapshooting
was interrupted by broken files, the last snapshot would fill the
empty canvas. In this version, the empty canvas will be leave blank.
After weighed by balance, I think it may be a good idea to restart the
ezthumb in the safe mode if no thumbnail was generated in the required
process method, better than nothing .
20120723:
Fixed the accidental saving of full-scan mode into configure file
When using 'ezthumb -p 2pass', the 'duration_mode' in the configure
file would be changed to 'full scan', which was default in the
'2pass' but should not be stored permenantly. It's a logical issue
and be fixed by using the session mode.
Fixed the "ezthumb --accurate Blender_C4_2012-07-19_14-30.ts" broken
issue. It caused by the video_frame_best() had picked the empty
frame. Should initialize the DTS of empty frames to -1.
20120720:
* ezthumb.c: applied the AR correction to the thumbnails.
The AR parameter came from the AVCodecContext->sample_aspect_ratio.
20120720:
Fixed a zooming problem:
1. use ezthumb -s 480x240 small.avi to receive the 480x240 thumbnail
2. use ezthumb -s 25% small.avi to expect a 180x144 thumbnail, but
still received the 480x240 one, which was in the configure file.
The zoomed width and height were written in the configure file.
The '-s' disabled the profile so ezthumb retrieved them from the
configure file, which included the recent width and height.
They have higher priority than the ratio so the command line ratio
was ignored.
The quick fix is to reset the width and height if a command line was
specified. As well as '-t' and '-w' options.
20120717: V2.1.5
Expended the profile system.
The profile now accept a logarithmic formula to take screen shots.
The formula is:
lg(n)(M + a) - b
'n' is the base. 'M' is the video length in minutes.
The related profile item is
WEIGHT + 'L' + a + 'x' + b + 'x' + n.
For example, the default profile is 180L10x100x1.027, so if a video
length is 120 minutes, it would take
lg(1.027)(120+10) - 100 == 82 shots
Combined with the relative screen size profile 100R4x320, which means
to generate 4 shots in a row, each shot closed to 320 in width.
It will generate a 4x21 thumbnail array.
A hidden command line option, --protest, was applied to test the
new profile system and help to find out the proper parameter of the
formula.
* ezthumb.c: fixed the bug that "-g 4" option made the program crash
20120620: V2.1.4
Fixed a build system problem in Win32.
The install rule in the Makefile required ezthumb.exe and
ezthumb_win.exe rule. After a successful building, the object files
would be the GUI version at last. The install rule will make it link
again so the console version ezthumb accidentally linked by the GUI
version objects, which is annoying.
20120615: V2.1.3
Fixed a problem that when the video length ran out of the profile
range, say 180 minute, ezthumb would use the default 4x4 grid which
was bad. The fix extended the profile's range so if video ran out,
it uses the last field of the profile.
20120613: V2.1.2
Fixed the Chinese filename issue.
This issue happened on MS Windows porting. If the filename, or part of
the directory contain Chinese, for example, ²âÊÔÎļþ, which isnatively
\262\342\312\324\316\304\274\376 in Windows file system, it would be
failed to be open because the GTK file chooser changed it to utf-8,
which is 230 181 139 232 175 149 230 150 135 228 187 182. The fopen()
doesn't know the conversion so it fails. The fix is to use g_fopen()
instead.
A good thing is the avformat_open_input() supports utf-8 itself so the
simple replacement of fopen() can do the trick.
20120612: V2.1.1
Improved the file type selection function
Fixed the application icon issue in MS Windows
20120413: V2.1.0
Introduced the safe mode as the default single step
Introduced the dual frame buffer
Improved the towpass mode
20120403:
* ezthumb.c: improved twopass method after sanity test.
Replace the scan mode with the safe mode
* ezthumb.c: decode-on-the-fly is now the default setting.
--decode-otf option will still be available but no effect at all
20120322:
* ezthumb.c: reapply the twopass method
20120320:
* ezthumb.c: introduced two frame buffers while decoding, one is the
current decoded frame and another one is the previous decoded frame.
It could be useful while deciding the closest frames.
20120316:
* main.c/ezthumb.c: introduced the safe mode as part of the -p option.
20120315: V2.0.1
* main.c: fixed the '-p key' issue which caused by the profile
* workaround for DVB rip file by this option:
ezthumb -p scan --accurate --decode-otf Argus_20120222-114427384.ts
20120313:
* video_duration(): there are two issues in this function. First the
video header might be non-existed or inaccurate. In that case the
video duration could be a redicules number. Using a bitrate threshold
to workaround this problem. Second is that in the function
avformat_seek_file(), the AVSEEK_FLAG_BYTE acts terrible (with
middle.avi). Sometimes there is no way to seek to 90% of the video
file so have to make a workabound.
20120214: V2.0.0
GUI mode added.
20111214: V1.5.8
* ezthumb.c, main.c: improved progress display for i-frame ripping by
using DTS as the indicator
20111213:
* ezthumb.c: verify the validation of the video file by checking its
screen resolution and by opening the file.
20111204: V1.5.7
* smm_signal_break.c: Fixed a bug that the custom signal callback was
not hooked indeed.
20111125: FFMPEG version list
Finally found the culprit. There were two FFMPEG installs in my ubuntu
10.10. One was 0.6.x. Another one appeared as 0.8.x. By removing the
latter the problem is gone.
Library: libavformat libavcodec libavdevice libavutil libswscale libavfilter
ffmpeg-0.6.1: 52.64.2 52.72.2 52.2.0 50.15.1 0.11.0 1.19.0
ffmpeg-0.6.3: 52.64.2 52.72.2 52.2.0 50.15.1 0.11.0 1.19.0
ffmpeg-0.7.8: 52.111.0 52.123.0 52.5.0 50.43.0 0.14.1 1.80.0
ubuntu 10.10: 52.64.2 52.72.2 52.2.0 50.15.1 0.11.0
ubuntu extra: 53.0.3 53.1.1 53.0.0 51.1.0 0.14.0
20111124:
I've got sick off the endless guess work about the FFMPEG's API
version changes so I downloaded the 0.7.8 to revise the proper version
macro. I believe most parts are fine except the av_dump_format().
There's no clue of when it was introduced.
Apparently the FFMPEG's APIChanges.txt has something wrong about the
version and avformat_open_input(). Defer to current FFMPEG lib.
Made up the missing freetype6.dll in the Windows release
20111123: V1.5.6
Merged partly from guidev about the LIBAVFORMAT_VERSION macro to
make the makefile workable in archlinux, ubuntu 10.10 and mingw
Implemented a simple build-in profile.
20111122:
Release tag: RELEASE_1_5_5.
All .a files were missing under the mswin/ directory because of the
wrong setting of the .gitignore file. Now retrieved them.
20111115: V1.5.5
Integrated other libraries into the mswin branch so they could
be managed by git.
Revisioned the makefile for MinGW
20111104:
Revisioned this project in MinGW and made it workable in MS Windows
Fixed the conditional compiling error for the FFMPEG version control
20111021: V1.5.4
* id_lookup.c: merged the id_*.c into id_lookup.c
Slightly adjusted the Makefile
20111021: V1.5.3
* Release tag: RELEASE_1_5_3
Merge two branches into the new version for release
20111021: V1.5.2
Supported the maximum number when ripping the key frames
Command line now support the '-p key@N' opion
20111007: V1.5.2
Added a rectify function in video_snapshot_skim() to speed up the
doing in the unseekable media files.
Refined the video_find_stream() so it could also support 0.6.3 ffmpeg
20111006: V1.5.1
Fixed a bug of finding the video stream, now using
av_find_best_stream().
Added the signal handler. Now ezthumb can be broken in the middle.
20111001: V1.5.0
Make fixes and ready for release
20110908: V1.4.2
Displaying the screen shot method has been moved into
video_snap_begin()
20110908: V1.4.1
heuristic method is ready for test.
20110906: V1.4.0
Many codes regroups in recent day. Begin with a thought that reducing
scan passes if video file doesn't support backward seek. I roughly
have got an idea of a heuristic method. Hope it can be done in 1.4.1.
20110831:
* ezthumb.c: a little bit speed up of the video_duration() function
20110830: V1.3.3
* ezthumb.c: duration structure changed
20110829:
* main.c: '--index' option and adjust the '-i', '-S' and '-I' options
* ezthumb.c: fixed the bug about no video stream issue
* LIBAVFORMAT_VERSION_MAJOR: is used to control the depreciated APIs
* BUGGY: the "APIchanges" in FFMPEG has error in av_open_input_file()
so the version number is not correct about this function.
20110824: V1.3.2
* eznotify.c: fixed a bug that calling the eznotify() with null
pointer.
20110821: V1.3.1
* main.c: add '-I' option and move av_log_set_level() to main().
* ezthumb.c: video_seek_available() fixed a bug that desn't rewind
the video stream when this function failed.
+ A problem: if the video clip is shorted than it claimed, the output
would be nasty
20110820: V1.3
* ezthumb.c: fixed the buggy video_ms_to_pts() and
video_system_to_pts().
20110819: merged change from 1.2.2, the '--outdir' option
* main.c: add command line option "--linear" to indicate the ezthumb
to walk through the whole video rather than using av_seek_frame().
Change command line option "--opt-key" to "--anyframe".
20110818: pre V1.3
* main.c: use a generic event_cb() to handle all notifications.
* eznotify.c: generic module to handle all notifications.
* ezthumb.c: isolated the functions to generate thumbnails to:
video_save_scan_pass(), video_save_quick_pass()
The problem comes with some .wmv files which could not apply
av_seek_frame(). The solution is to walk through the whole video from
first packet to the last.
20110302:
* main.c: add command line options to set up colours and font size.
20110301:
* ezthumb.c: fix the coredump if using still images as input sources.
20110227: V1.2
Support setting the starting and the ending time position.
Add a status line to the bottom of the canvas.
20110223: V1.1
Support the animated GIF.
Support the transparent background.