exiftool_vendored 11.89.0 → 11.90.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +16 -3
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +14 -13
- data/bin/lib/Image/ExifTool/Canon.pm +6 -2
- data/bin/lib/Image/ExifTool/CanonCustom.pm +3 -3
- data/bin/lib/Image/ExifTool/Exif.pm +3 -2
- data/bin/lib/Image/ExifTool/Font.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +4 -1
- data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +49 -11
- data/bin/lib/Image/ExifTool/Olympus.pm +3 -1
- data/bin/lib/Image/ExifTool/PNG.pm +1 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +3 -3
- data/bin/lib/Image/ExifTool/QuickTime.pm +355 -56
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +4 -0
- data/bin/lib/Image/ExifTool/Sigma.pm +0 -1
- data/bin/lib/Image/ExifTool/Sony.pm +2 -1
- data/bin/lib/Image/ExifTool/TagNames.pod +1 -1
- data/bin/lib/Image/ExifTool/Text.pm +1 -1
- data/bin/lib/Image/ExifTool/VCard.pm +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -4
- data/bin/lib/Image/ExifTool.pm +2 -2
- data/bin/lib/Image/ExifTool.pod +3 -3
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
@@ -45,7 +45,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
45
45
|
use Image::ExifTool::Exif;
|
46
46
|
use Image::ExifTool::GPS;
|
47
47
|
|
48
|
-
$VERSION = '2.
|
48
|
+
$VERSION = '2.44';
|
49
49
|
|
50
50
|
sub ProcessMOV($$;$);
|
51
51
|
sub ProcessKeys($$$);
|
@@ -2071,7 +2071,6 @@ my %eeBox = (
|
|
2071
2071
|
# kgcg - 128 bytes 0's and 1's
|
2072
2072
|
# kgsi - 4 bytes "00 00 00 80"
|
2073
2073
|
# FIEL - 18 bytes "FIEL\0\x01\0\0\0..."
|
2074
|
-
|
2075
2074
|
#
|
2076
2075
|
# other 3rd-party tags
|
2077
2076
|
# (ref http://code.google.com/p/mp4parser/source/browse/trunk/isoparser/src/main/resources/isoparser-default.properties?r=814)
|
@@ -2574,19 +2573,35 @@ my %eeBox = (
|
|
2574
2573
|
Mask => 0x1f,
|
2575
2574
|
PrintConv => {
|
2576
2575
|
0 => 'No Profile',
|
2577
|
-
1 => 'Main
|
2578
|
-
2 => 'Main 10
|
2579
|
-
3 => 'Main Still Picture
|
2576
|
+
1 => 'Main',
|
2577
|
+
2 => 'Main 10',
|
2578
|
+
3 => 'Main Still Picture',
|
2579
|
+
4 => 'Format Range Extensions',
|
2580
|
+
5 => 'High Throughput',
|
2581
|
+
6 => 'Multiview Main',
|
2582
|
+
7 => 'Scalable Main',
|
2583
|
+
8 => '3D Main',
|
2584
|
+
9 => 'Screen Content Coding Extensions',
|
2585
|
+
10 => 'Scalable Format Range Extensions',
|
2586
|
+
11 => 'High Throughput Screen Content Coding Extensions',
|
2580
2587
|
},
|
2581
2588
|
},
|
2582
2589
|
2 => {
|
2583
2590
|
Name => 'GenProfileCompatibilityFlags',
|
2584
2591
|
Format => 'int32u',
|
2585
2592
|
PrintConv => { BITMASK => {
|
2586
|
-
31 => 'No Profile',
|
2587
|
-
30 => 'Main',
|
2588
|
-
29 => 'Main 10',
|
2589
|
-
28 => 'Main Still Picture',
|
2593
|
+
31 => 'No Profile', # (bit 0 in stream)
|
2594
|
+
30 => 'Main', # (bit 1 in stream)
|
2595
|
+
29 => 'Main 10', # (bit 2 in stream)
|
2596
|
+
28 => 'Main Still Picture', # (bit 3 in stream)
|
2597
|
+
27 => 'Format Range Extensions',# (...)
|
2598
|
+
26 => 'High Throughput',
|
2599
|
+
25 => 'Multiview Main',
|
2600
|
+
24 => 'Scalable Main',
|
2601
|
+
23 => '3D Main',
|
2602
|
+
22 => 'Screen Content Coding Extensions',
|
2603
|
+
21 => 'Scalable Format Range Extensions',
|
2604
|
+
20 => 'High Throughput Screen Content Coding Extensions',
|
2590
2605
|
}},
|
2591
2606
|
},
|
2592
2607
|
6 => {
|
@@ -2945,7 +2960,9 @@ my %eeBox = (
|
|
2945
2960
|
Name => 'GenreID',
|
2946
2961
|
Format => 'int32u',
|
2947
2962
|
SeparateTable => 1,
|
2948
|
-
|
2963
|
+
# the following lookup is based on http://itunes.apple.com/WebObjects/MZStoreServices.woa/ws/genres
|
2964
|
+
# (see scripts/parse_genre to parse genre JSON file from above)
|
2965
|
+
PrintConv => { #21/PH
|
2949
2966
|
2 => 'Music|Blues',
|
2950
2967
|
3 => 'Music|Comedy',
|
2951
2968
|
4 => "Music|Children's Music",
|
@@ -2991,6 +3008,17 @@ my %eeBox = (
|
|
2991
3008
|
53 => 'Music|Instrumental',
|
2992
3009
|
74 => 'Audiobooks|News',
|
2993
3010
|
75 => 'Audiobooks|Programs & Performances',
|
3011
|
+
500 => 'Fitness Music',
|
3012
|
+
501 => 'Fitness Music|Pop',
|
3013
|
+
502 => 'Fitness Music|Dance',
|
3014
|
+
503 => 'Fitness Music|Hip-Hop',
|
3015
|
+
504 => 'Fitness Music|Rock',
|
3016
|
+
505 => 'Fitness Music|Alt/Indie',
|
3017
|
+
506 => 'Fitness Music|Latino',
|
3018
|
+
507 => 'Fitness Music|Country',
|
3019
|
+
508 => 'Fitness Music|World',
|
3020
|
+
509 => 'Fitness Music|New Age',
|
3021
|
+
510 => 'Fitness Music|Classical',
|
2994
3022
|
1001 => 'Music|Alternative|College Rock',
|
2995
3023
|
1002 => 'Music|Alternative|Goth Rock',
|
2996
3024
|
1003 => 'Music|Alternative|Grunge',
|
@@ -3162,8 +3190,8 @@ my %eeBox = (
|
|
3162
3190
|
1174 => 'Music|Vocal|Traditional Pop',
|
3163
3191
|
1175 => 'Music|Jazz|Vocal Jazz',
|
3164
3192
|
1176 => 'Music|Vocal|Vocal Pop',
|
3165
|
-
1177 => 'Music|
|
3166
|
-
1178 => 'Music|
|
3193
|
+
1177 => 'Music|African|Afro-Beat',
|
3194
|
+
1178 => 'Music|African|Afro-Pop',
|
3167
3195
|
1179 => 'Music|World|Cajun',
|
3168
3196
|
1180 => 'Music|World|Celtic',
|
3169
3197
|
1181 => 'Music|World|Celtic Folk',
|
@@ -3188,7 +3216,7 @@ my %eeBox = (
|
|
3188
3216
|
1200 => 'Music|World|Australia',
|
3189
3217
|
1201 => 'Music|World|Japan',
|
3190
3218
|
1202 => 'Music|World|France',
|
3191
|
-
1203 => 'Music|
|
3219
|
+
1203 => 'Music|African',
|
3192
3220
|
1204 => 'Music|World|Asia',
|
3193
3221
|
1205 => 'Music|World|Europe',
|
3194
3222
|
1206 => 'Music|World|South Africa',
|
@@ -3247,18 +3275,18 @@ my %eeBox = (
|
|
3247
3275
|
1267 => 'Music|Indian|Devotional & Spiritual',
|
3248
3276
|
1268 => 'Music|Indian|Sufi',
|
3249
3277
|
1269 => 'Music|Indian|Indian Classical',
|
3250
|
-
1270 => 'Music|
|
3278
|
+
1270 => 'Music|Russian|Russian Chanson',
|
3251
3279
|
1271 => 'Music|World|Dini',
|
3252
|
-
1272 => 'Music|
|
3253
|
-
1273 => 'Music|
|
3280
|
+
1272 => 'Music|Turkish|Halk',
|
3281
|
+
1273 => 'Music|Turkish|Sanat',
|
3254
3282
|
1274 => 'Music|World|Dangdut',
|
3255
3283
|
1275 => 'Music|World|Indonesian Religious',
|
3256
3284
|
1276 => 'Music|World|Calypso',
|
3257
3285
|
1277 => 'Music|World|Soca',
|
3258
3286
|
1278 => 'Music|Indian|Ghazals',
|
3259
3287
|
1279 => 'Music|Indian|Indian Folk',
|
3260
|
-
1280 => 'Music|
|
3261
|
-
1281 => 'Music|
|
3288
|
+
1280 => 'Music|Turkish|Arabesque',
|
3289
|
+
1281 => 'Music|African|Afrikaans',
|
3262
3290
|
1282 => 'Music|World|Farsi',
|
3263
3291
|
1283 => 'Music|World|Israeli',
|
3264
3292
|
1284 => 'Music|Arabic|Khaleeji',
|
@@ -3275,8 +3303,8 @@ my %eeBox = (
|
|
3275
3303
|
1296 => 'Music|World|Tango',
|
3276
3304
|
1297 => 'Music|World|Fado',
|
3277
3305
|
1298 => 'Music|World|Iberia',
|
3278
|
-
1299 => 'Music|
|
3279
|
-
1300 => 'Music|
|
3306
|
+
1299 => 'Music|Russian',
|
3307
|
+
1300 => 'Music|Turkish',
|
3280
3308
|
1301 => 'Podcasts|Arts',
|
3281
3309
|
1302 => 'Podcasts|Society & Culture|Personal Journals',
|
3282
3310
|
1303 => 'Podcasts|Comedy',
|
@@ -3345,6 +3373,90 @@ my %eeBox = (
|
|
3345
3373
|
1479 => 'Podcasts|Science & Medicine|Social Sciences',
|
3346
3374
|
1480 => 'Podcasts|Technology|Software How-To',
|
3347
3375
|
1481 => 'Podcasts|Health|Alternative Health',
|
3376
|
+
1482 => 'Podcasts|Arts|Books',
|
3377
|
+
1483 => 'Podcasts|Fiction',
|
3378
|
+
1484 => 'Podcasts|Fiction|Drama',
|
3379
|
+
1485 => 'Podcasts|Fiction|Science Fiction',
|
3380
|
+
1486 => 'Podcasts|Fiction|Comedy Fiction',
|
3381
|
+
1487 => 'Podcasts|History',
|
3382
|
+
1488 => 'Podcasts|True Crime',
|
3383
|
+
1489 => 'Podcasts|News',
|
3384
|
+
1490 => 'Podcasts|News|Business News',
|
3385
|
+
1491 => 'Podcasts|Business|Management',
|
3386
|
+
1492 => 'Podcasts|Business|Marketing',
|
3387
|
+
1493 => 'Podcasts|Business|Entrepreneurship',
|
3388
|
+
1494 => 'Podcasts|Business|Non-Profit',
|
3389
|
+
1495 => 'Podcasts|Comedy|Improv',
|
3390
|
+
1496 => 'Podcasts|Comedy|Comedy Interviews',
|
3391
|
+
1497 => 'Podcasts|Comedy|Stand-Up',
|
3392
|
+
1498 => 'Podcasts|Education|Language Learning',
|
3393
|
+
1499 => 'Podcasts|Education|How To',
|
3394
|
+
1500 => 'Podcasts|Education|Self-Improvement',
|
3395
|
+
1501 => 'Podcasts|Education|Courses',
|
3396
|
+
1502 => 'Podcasts|Leisure',
|
3397
|
+
1503 => 'Podcasts|Leisure|Automotive',
|
3398
|
+
1504 => 'Podcasts|Leisure|Aviation',
|
3399
|
+
1505 => 'Podcasts|Leisure|Hobbies',
|
3400
|
+
1506 => 'Podcasts|Leisure|Crafts',
|
3401
|
+
1507 => 'Podcasts|Leisure|Games',
|
3402
|
+
1508 => 'Podcasts|Leisure|Home & Garden',
|
3403
|
+
1509 => 'Podcasts|Leisure|Video Games',
|
3404
|
+
1510 => 'Podcasts|Leisure|Animation & Manga',
|
3405
|
+
1511 => 'Podcasts|Government',
|
3406
|
+
1512 => 'Podcasts|Health & Fitness',
|
3407
|
+
1513 => 'Podcasts|Health & Fitness|Alternative Health',
|
3408
|
+
1514 => 'Podcasts|Health & Fitness|Fitness',
|
3409
|
+
1515 => 'Podcasts|Health & Fitness|Nutrition',
|
3410
|
+
1516 => 'Podcasts|Health & Fitness|Sexuality',
|
3411
|
+
1517 => 'Podcasts|Health & Fitness|Mental Health',
|
3412
|
+
1518 => 'Podcasts|Health & Fitness|Medicine',
|
3413
|
+
1519 => 'Podcasts|Kids & Family|Education for Kids',
|
3414
|
+
1520 => 'Podcasts|Kids & Family|Stories for Kids',
|
3415
|
+
1521 => 'Podcasts|Kids & Family|Parenting',
|
3416
|
+
1522 => 'Podcasts|Kids & Family|Pets & Animals',
|
3417
|
+
1523 => 'Podcasts|Music|Music Commentary',
|
3418
|
+
1524 => 'Podcasts|Music|Music History',
|
3419
|
+
1525 => 'Podcasts|Music|Music Interviews',
|
3420
|
+
1526 => 'Podcasts|News|Daily News',
|
3421
|
+
1527 => 'Podcasts|News|Politics',
|
3422
|
+
1528 => 'Podcasts|News|Tech News',
|
3423
|
+
1529 => 'Podcasts|News|Sports News',
|
3424
|
+
1530 => 'Podcasts|News|News Commentary',
|
3425
|
+
1531 => 'Podcasts|News|Entertainment News',
|
3426
|
+
1532 => 'Podcasts|Religion & Spirituality|Religion',
|
3427
|
+
1533 => 'Podcasts|Science',
|
3428
|
+
1534 => 'Podcasts|Science|Natural Sciences',
|
3429
|
+
1535 => 'Podcasts|Science|Social Sciences',
|
3430
|
+
1536 => 'Podcasts|Science|Mathematics',
|
3431
|
+
1537 => 'Podcasts|Science|Nature',
|
3432
|
+
1538 => 'Podcasts|Science|Astronomy',
|
3433
|
+
1539 => 'Podcasts|Science|Chemistry',
|
3434
|
+
1540 => 'Podcasts|Science|Earth Sciences',
|
3435
|
+
1541 => 'Podcasts|Science|Life Sciences',
|
3436
|
+
1542 => 'Podcasts|Science|Physics',
|
3437
|
+
1543 => 'Podcasts|Society & Culture|Documentary',
|
3438
|
+
1544 => 'Podcasts|Society & Culture|Relationships',
|
3439
|
+
1545 => 'Podcasts|Sports',
|
3440
|
+
1546 => 'Podcasts|Sports|Soccer',
|
3441
|
+
1547 => 'Podcasts|Sports|Football',
|
3442
|
+
1548 => 'Podcasts|Sports|Basketball',
|
3443
|
+
1549 => 'Podcasts|Sports|Baseball',
|
3444
|
+
1550 => 'Podcasts|Sports|Hockey',
|
3445
|
+
1551 => 'Podcasts|Sports|Running',
|
3446
|
+
1552 => 'Podcasts|Sports|Rugby',
|
3447
|
+
1553 => 'Podcasts|Sports|Golf',
|
3448
|
+
1554 => 'Podcasts|Sports|Cricket',
|
3449
|
+
1555 => 'Podcasts|Sports|Wrestling',
|
3450
|
+
1556 => 'Podcasts|Sports|Tennis',
|
3451
|
+
1557 => 'Podcasts|Sports|Volleyball',
|
3452
|
+
1558 => 'Podcasts|Sports|Swimming',
|
3453
|
+
1559 => 'Podcasts|Sports|Wilderness',
|
3454
|
+
1560 => 'Podcasts|Sports|Fantasy Sports',
|
3455
|
+
1561 => 'Podcasts|TV & Film|TV Reviews',
|
3456
|
+
1562 => 'Podcasts|TV & Film|After Shows',
|
3457
|
+
1563 => 'Podcasts|TV & Film|Film Reviews',
|
3458
|
+
1564 => 'Podcasts|TV & Film|Film History',
|
3459
|
+
1565 => 'Podcasts|TV & Film|Film Interviews',
|
3348
3460
|
1602 => 'Music Videos|Blues',
|
3349
3461
|
1603 => 'Music Videos|Comedy',
|
3350
3462
|
1604 => "Music Videos|Children's Music",
|
@@ -3437,10 +3549,10 @@ my %eeBox = (
|
|
3437
3549
|
1695 => 'Music Videos|Indian|Devotional & Spiritual',
|
3438
3550
|
1696 => 'Music Videos|Indian|Sufi',
|
3439
3551
|
1697 => 'Music Videos|Indian|Indian Classical',
|
3440
|
-
1698 => 'Music Videos|
|
3552
|
+
1698 => 'Music Videos|Russian|Russian Chanson',
|
3441
3553
|
1699 => 'Music Videos|World|Dini',
|
3442
|
-
1700 => 'Music Videos|
|
3443
|
-
1701 => 'Music Videos|
|
3554
|
+
1700 => 'Music Videos|Turkish|Halk',
|
3555
|
+
1701 => 'Music Videos|Turkish|Sanat',
|
3444
3556
|
1702 => 'Music Videos|World|Dangdut',
|
3445
3557
|
1703 => 'Music Videos|World|Indonesian Religious',
|
3446
3558
|
1704 => 'Music Videos|Indian|Indian Pop',
|
@@ -3448,8 +3560,8 @@ my %eeBox = (
|
|
3448
3560
|
1706 => 'Music Videos|World|Soca',
|
3449
3561
|
1707 => 'Music Videos|Indian|Ghazals',
|
3450
3562
|
1708 => 'Music Videos|Indian|Indian Folk',
|
3451
|
-
1709 => 'Music Videos|
|
3452
|
-
1710 => 'Music Videos|
|
3563
|
+
1709 => 'Music Videos|Turkish|Arabesque',
|
3564
|
+
1710 => 'Music Videos|African|Afrikaans',
|
3453
3565
|
1711 => 'Music Videos|World|Farsi',
|
3454
3566
|
1712 => 'Music Videos|World|Israeli',
|
3455
3567
|
1713 => 'Music Videos|Arabic',
|
@@ -3467,8 +3579,8 @@ my %eeBox = (
|
|
3467
3579
|
1726 => 'Music Videos|World|Tango',
|
3468
3580
|
1727 => 'Music Videos|World|Fado',
|
3469
3581
|
1728 => 'Music Videos|World|Iberia',
|
3470
|
-
1729 => 'Music Videos|
|
3471
|
-
1730 => 'Music Videos|
|
3582
|
+
1729 => 'Music Videos|Russian',
|
3583
|
+
1730 => 'Music Videos|Turkish',
|
3472
3584
|
1731 => 'Music Videos|Alternative|College Rock',
|
3473
3585
|
1732 => 'Music Videos|Alternative|Goth Rock',
|
3474
3586
|
1733 => 'Music Videos|Alternative|Grunge',
|
@@ -3641,9 +3753,9 @@ my %eeBox = (
|
|
3641
3753
|
1901 => 'Music Videos|Vocal|Traditional Pop',
|
3642
3754
|
1902 => 'Music Videos|Jazz|Vocal Jazz',
|
3643
3755
|
1903 => 'Music Videos|Vocal|Vocal Pop',
|
3644
|
-
1904 => 'Music Videos|
|
3645
|
-
1905 => 'Music Videos|
|
3646
|
-
1906 => 'Music Videos|
|
3756
|
+
1904 => 'Music Videos|African',
|
3757
|
+
1905 => 'Music Videos|African|Afro-Beat',
|
3758
|
+
1906 => 'Music Videos|African|Afro-Pop',
|
3647
3759
|
1907 => 'Music Videos|World|Asia',
|
3648
3760
|
1908 => 'Music Videos|World|Australia',
|
3649
3761
|
1909 => 'Music Videos|World|Cajun',
|
@@ -3711,12 +3823,69 @@ my %eeBox = (
|
|
3711
3823
|
1973 => 'Music Videos|Indian|Regional Indian|Bengali',
|
3712
3824
|
1974 => 'Music Videos|Indian|Indian Classical|Carnatic Classical',
|
3713
3825
|
1975 => 'Music Videos|Indian|Indian Classical|Hindustani Classical',
|
3826
|
+
1976 => 'Music Videos|African|Afro House',
|
3827
|
+
1977 => 'Music Videos|African|Afro Soul',
|
3828
|
+
1978 => 'Music Videos|African|Afrobeats',
|
3829
|
+
1979 => 'Music Videos|African|Benga',
|
3830
|
+
1980 => 'Music Videos|African|Bongo-Flava',
|
3831
|
+
1981 => 'Music Videos|African|Coupe-Decale',
|
3832
|
+
1982 => 'Music Videos|African|Gqom',
|
3833
|
+
1983 => 'Music Videos|African|Highlife',
|
3834
|
+
1984 => 'Music Videos|African|Kuduro',
|
3835
|
+
1985 => 'Music Videos|African|Kizomba',
|
3836
|
+
1986 => 'Music Videos|African|Kwaito',
|
3837
|
+
1987 => 'Music Videos|African|Mbalax',
|
3838
|
+
1988 => 'Music Videos|African|Ndombolo',
|
3839
|
+
1989 => 'Music Videos|African|Shangaan Electro',
|
3840
|
+
1990 => 'Music Videos|African|Soukous',
|
3841
|
+
1991 => 'Music Videos|African|Taarab',
|
3842
|
+
1992 => 'Music Videos|African|Zouglou',
|
3843
|
+
1993 => 'Music Videos|Turkish|Ozgun',
|
3844
|
+
1994 => 'Music Videos|Turkish|Fantezi',
|
3845
|
+
1995 => 'Music Videos|Turkish|Religious',
|
3846
|
+
1996 => 'Music Videos|Pop|Turkish Pop',
|
3847
|
+
1997 => 'Music Videos|Rock|Turkish Rock',
|
3848
|
+
1998 => 'Music Videos|Alternative|Turkish Alternative',
|
3849
|
+
1999 => 'Music Videos|Hip-Hop/Rap|Turkish Hip-Hop/Rap',
|
3850
|
+
2000 => 'Music Videos|African|Maskandi',
|
3851
|
+
2001 => 'Music Videos|Russian|Russian Romance',
|
3852
|
+
2002 => 'Music Videos|Russian|Russian Bard',
|
3853
|
+
2003 => 'Music Videos|Russian|Russian Pop',
|
3854
|
+
2004 => 'Music Videos|Russian|Russian Rock',
|
3855
|
+
2005 => 'Music Videos|Russian|Russian Hip-Hop',
|
3856
|
+
2006 => 'Music Videos|Arabic|Levant',
|
3857
|
+
2007 => 'Music Videos|Arabic|Levant|Dabke',
|
3858
|
+
2008 => 'Music Videos|Arabic|Maghreb Rai',
|
3859
|
+
2009 => 'Music Videos|Arabic|Khaleeji|Khaleeji Jalsat',
|
3860
|
+
2010 => 'Music Videos|Arabic|Khaleeji|Khaleeji Shailat',
|
3861
|
+
2011 => 'Music Videos|Tarab',
|
3862
|
+
2012 => 'Music Videos|Tarab|Iraqi Tarab',
|
3863
|
+
2013 => 'Music Videos|Tarab|Egyptian Tarab',
|
3864
|
+
2014 => 'Music Videos|Tarab|Khaleeji Tarab',
|
3865
|
+
2015 => 'Music Videos|Pop|Levant Pop',
|
3866
|
+
2016 => 'Music Videos|Pop|Iraqi Pop',
|
3867
|
+
2017 => 'Music Videos|Pop|Egyptian Pop',
|
3868
|
+
2018 => 'Music Videos|Pop|Maghreb Pop',
|
3869
|
+
2019 => 'Music Videos|Pop|Khaleeji Pop',
|
3870
|
+
2020 => 'Music Videos|Hip-Hop/Rap|Levant Hip-Hop',
|
3871
|
+
2021 => 'Music Videos|Hip-Hop/Rap|Egyptian Hip-Hop',
|
3872
|
+
2022 => 'Music Videos|Hip-Hop/Rap|Maghreb Hip-Hop',
|
3873
|
+
2023 => 'Music Videos|Hip-Hop/Rap|Khaleeji Hip-Hop',
|
3874
|
+
2024 => 'Music Videos|Alternative|Indie Levant',
|
3875
|
+
2025 => 'Music Videos|Alternative|Indie Egyptian',
|
3876
|
+
2026 => 'Music Videos|Alternative|Indie Maghreb',
|
3877
|
+
2027 => 'Music Videos|Electronic|Levant Electronic',
|
3878
|
+
2028 => "Music Videos|Electronic|Electro-Cha'abi",
|
3879
|
+
2029 => 'Music Videos|Electronic|Maghreb Electronic',
|
3880
|
+
2030 => 'Music Videos|Folk|Iraqi Folk',
|
3881
|
+
2031 => 'Music Videos|Folk|Khaleeji Folk',
|
3882
|
+
2032 => 'Music Videos|Dance|Maghreb Dance',
|
3714
3883
|
4000 => 'TV Shows|Comedy',
|
3715
3884
|
4001 => 'TV Shows|Drama',
|
3716
3885
|
4002 => 'TV Shows|Animation',
|
3717
3886
|
4003 => 'TV Shows|Action & Adventure',
|
3718
|
-
4004 => 'TV Shows|
|
3719
|
-
4005 => 'TV Shows|Kids',
|
3887
|
+
4004 => 'TV Shows|Classics',
|
3888
|
+
4005 => 'TV Shows|Kids & Family',
|
3720
3889
|
4006 => 'TV Shows|Nonfiction',
|
3721
3890
|
4007 => 'TV Shows|Reality TV',
|
3722
3891
|
4008 => 'TV Shows|Sci-Fi & Fantasy',
|
@@ -3782,9 +3951,11 @@ my %eeBox = (
|
|
3782
3951
|
6023 => 'App Store|Food & Drink',
|
3783
3952
|
6024 => 'App Store|Shopping',
|
3784
3953
|
6025 => 'App Store|Stickers',
|
3954
|
+
6026 => 'App Store|Developer Tools',
|
3955
|
+
6027 => 'App Store|Graphics & Design',
|
3785
3956
|
7001 => 'App Store|Games|Action',
|
3786
3957
|
7002 => 'App Store|Games|Adventure',
|
3787
|
-
7003 => 'App Store|Games|
|
3958
|
+
7003 => 'App Store|Games|Casual',
|
3788
3959
|
7004 => 'App Store|Games|Board',
|
3789
3960
|
7005 => 'App Store|Games|Card',
|
3790
3961
|
7006 => 'App Store|Games|Casino',
|
@@ -4083,11 +4254,11 @@ my %eeBox = (
|
|
4083
4254
|
8301 => 'Tones|Ringtones|Vocal|Trot',
|
4084
4255
|
8302 => 'Tones|Ringtones|Jazz|Vocal Jazz',
|
4085
4256
|
8303 => 'Tones|Ringtones|Vocal|Vocal Pop',
|
4086
|
-
8304 => 'Tones|Ringtones|
|
4087
|
-
8305 => 'Tones|Ringtones|
|
4088
|
-
8306 => 'Tones|Ringtones|
|
4089
|
-
8307 => 'Tones|Ringtones|
|
4090
|
-
8308 => 'Tones|Ringtones|
|
4257
|
+
8304 => 'Tones|Ringtones|African',
|
4258
|
+
8305 => 'Tones|Ringtones|African|Afrikaans',
|
4259
|
+
8306 => 'Tones|Ringtones|African|Afro-Beat',
|
4260
|
+
8307 => 'Tones|Ringtones|African|Afro-Pop',
|
4261
|
+
8308 => 'Tones|Ringtones|Turkish|Arabesque',
|
4091
4262
|
8309 => 'Tones|Ringtones|World|Asia',
|
4092
4263
|
8310 => 'Tones|Ringtones|World|Australia',
|
4093
4264
|
8311 => 'Tones|Ringtones|World|Cajun',
|
@@ -4103,7 +4274,7 @@ my %eeBox = (
|
|
4103
4274
|
8321 => 'Tones|Ringtones|World|Farsi',
|
4104
4275
|
8322 => 'Tones|Ringtones|World|Flamenco',
|
4105
4276
|
8323 => 'Tones|Ringtones|World|France',
|
4106
|
-
8324 => 'Tones|Ringtones|
|
4277
|
+
8324 => 'Tones|Ringtones|Turkish|Halk',
|
4107
4278
|
8325 => 'Tones|Ringtones|World|Hawaii',
|
4108
4279
|
8326 => 'Tones|Ringtones|World|Iberia',
|
4109
4280
|
8327 => 'Tones|Ringtones|World|Indonesian Religious',
|
@@ -4112,15 +4283,15 @@ my %eeBox = (
|
|
4112
4283
|
8330 => 'Tones|Ringtones|World|Klezmer',
|
4113
4284
|
8331 => 'Tones|Ringtones|World|North America',
|
4114
4285
|
8332 => 'Tones|Ringtones|World|Polka',
|
4115
|
-
8333 => 'Tones|Ringtones|
|
4116
|
-
8334 => 'Tones|Ringtones|
|
4117
|
-
8335 => 'Tones|Ringtones|
|
4286
|
+
8333 => 'Tones|Ringtones|Russian',
|
4287
|
+
8334 => 'Tones|Ringtones|Russian|Russian Chanson',
|
4288
|
+
8335 => 'Tones|Ringtones|Turkish|Sanat',
|
4118
4289
|
8336 => 'Tones|Ringtones|World|Soca',
|
4119
4290
|
8337 => 'Tones|Ringtones|World|South Africa',
|
4120
4291
|
8338 => 'Tones|Ringtones|World|South America',
|
4121
4292
|
8339 => 'Tones|Ringtones|World|Tango',
|
4122
4293
|
8340 => 'Tones|Ringtones|World|Traditional Celtic',
|
4123
|
-
8341 => 'Tones|Ringtones|
|
4294
|
+
8341 => 'Tones|Ringtones|Turkish',
|
4124
4295
|
8342 => 'Tones|Ringtones|World|Worldbeat',
|
4125
4296
|
8343 => 'Tones|Ringtones|World|Zydeco',
|
4126
4297
|
8345 => 'Tones|Ringtones|Classical|Art Song',
|
@@ -4171,6 +4342,63 @@ my %eeBox = (
|
|
4171
4342
|
8390 => 'Tones|Ringtones|Indian|Regional Indian|Bengali',
|
4172
4343
|
8391 => 'Tones|Ringtones|Indian|Indian Classical|Carnatic Classical',
|
4173
4344
|
8392 => 'Tones|Ringtones|Indian|Indian Classical|Hindustani Classical',
|
4345
|
+
8393 => 'Tones|Ringtones|African|Afro House',
|
4346
|
+
8394 => 'Tones|Ringtones|African|Afro Soul',
|
4347
|
+
8395 => 'Tones|Ringtones|African|Afrobeats',
|
4348
|
+
8396 => 'Tones|Ringtones|African|Benga',
|
4349
|
+
8397 => 'Tones|Ringtones|African|Bongo-Flava',
|
4350
|
+
8398 => 'Tones|Ringtones|African|Coupe-Decale',
|
4351
|
+
8399 => 'Tones|Ringtones|African|Gqom',
|
4352
|
+
8400 => 'Tones|Ringtones|African|Highlife',
|
4353
|
+
8401 => 'Tones|Ringtones|African|Kuduro',
|
4354
|
+
8402 => 'Tones|Ringtones|African|Kizomba',
|
4355
|
+
8403 => 'Tones|Ringtones|African|Kwaito',
|
4356
|
+
8404 => 'Tones|Ringtones|African|Mbalax',
|
4357
|
+
8405 => 'Tones|Ringtones|African|Ndombolo',
|
4358
|
+
8406 => 'Tones|Ringtones|African|Shangaan Electro',
|
4359
|
+
8407 => 'Tones|Ringtones|African|Soukous',
|
4360
|
+
8408 => 'Tones|Ringtones|African|Taarab',
|
4361
|
+
8409 => 'Tones|Ringtones|African|Zouglou',
|
4362
|
+
8410 => 'Tones|Ringtones|Turkish|Ozgun',
|
4363
|
+
8411 => 'Tones|Ringtones|Turkish|Fantezi',
|
4364
|
+
8412 => 'Tones|Ringtones|Turkish|Religious',
|
4365
|
+
8413 => 'Tones|Ringtones|Pop|Turkish Pop',
|
4366
|
+
8414 => 'Tones|Ringtones|Rock|Turkish Rock',
|
4367
|
+
8415 => 'Tones|Ringtones|Alternative|Turkish Alternative',
|
4368
|
+
8416 => 'Tones|Ringtones|Hip-Hop/Rap|Turkish Hip-Hop/Rap',
|
4369
|
+
8417 => 'Tones|Ringtones|African|Maskandi',
|
4370
|
+
8418 => 'Tones|Ringtones|Russian|Russian Romance',
|
4371
|
+
8419 => 'Tones|Ringtones|Russian|Russian Bard',
|
4372
|
+
8420 => 'Tones|Ringtones|Russian|Russian Pop',
|
4373
|
+
8421 => 'Tones|Ringtones|Russian|Russian Rock',
|
4374
|
+
8422 => 'Tones|Ringtones|Russian|Russian Hip-Hop',
|
4375
|
+
8423 => 'Tones|Ringtones|Arabic|Levant',
|
4376
|
+
8424 => 'Tones|Ringtones|Arabic|Levant|Dabke',
|
4377
|
+
8425 => 'Tones|Ringtones|Arabic|Maghreb Rai',
|
4378
|
+
8426 => 'Tones|Ringtones|Arabic|Khaleeji|Khaleeji Jalsat',
|
4379
|
+
8427 => 'Tones|Ringtones|Arabic|Khaleeji|Khaleeji Shailat',
|
4380
|
+
8428 => 'Tones|Ringtones|Tarab',
|
4381
|
+
8429 => 'Tones|Ringtones|Tarab|Iraqi Tarab',
|
4382
|
+
8430 => 'Tones|Ringtones|Tarab|Egyptian Tarab',
|
4383
|
+
8431 => 'Tones|Ringtones|Tarab|Khaleeji Tarab',
|
4384
|
+
8432 => 'Tones|Ringtones|Pop|Levant Pop',
|
4385
|
+
8433 => 'Tones|Ringtones|Pop|Iraqi Pop',
|
4386
|
+
8434 => 'Tones|Ringtones|Pop|Egyptian Pop',
|
4387
|
+
8435 => 'Tones|Ringtones|Pop|Maghreb Pop',
|
4388
|
+
8436 => 'Tones|Ringtones|Pop|Khaleeji Pop',
|
4389
|
+
8437 => 'Tones|Ringtones|Hip-Hop/Rap|Levant Hip-Hop',
|
4390
|
+
8438 => 'Tones|Ringtones|Hip-Hop/Rap|Egyptian Hip-Hop',
|
4391
|
+
8439 => 'Tones|Ringtones|Hip-Hop/Rap|Maghreb Hip-Hop',
|
4392
|
+
8440 => 'Tones|Ringtones|Hip-Hop/Rap|Khaleeji Hip-Hop',
|
4393
|
+
8441 => 'Tones|Ringtones|Alternative|Indie Levant',
|
4394
|
+
8442 => 'Tones|Ringtones|Alternative|Indie Egyptian',
|
4395
|
+
8443 => 'Tones|Ringtones|Alternative|Indie Maghreb',
|
4396
|
+
8444 => 'Tones|Ringtones|Electronic|Levant Electronic',
|
4397
|
+
8445 => "Tones|Ringtones|Electronic|Electro-Cha'abi",
|
4398
|
+
8446 => 'Tones|Ringtones|Electronic|Maghreb Electronic',
|
4399
|
+
8447 => 'Tones|Ringtones|Folk|Iraqi Folk',
|
4400
|
+
8448 => 'Tones|Ringtones|Folk|Khaleeji Folk',
|
4401
|
+
8449 => 'Tones|Ringtones|Dance|Maghreb Dance',
|
4174
4402
|
9002 => 'Books|Nonfiction',
|
4175
4403
|
9003 => 'Books|Romance',
|
4176
4404
|
9004 => 'Books|Travel & Adventure',
|
@@ -4184,7 +4412,7 @@ my %eeBox = (
|
|
4184
4412
|
9019 => 'Books|Science & Nature',
|
4185
4413
|
9020 => 'Books|Sci-Fi & Fantasy',
|
4186
4414
|
9024 => 'Books|Lifestyle & Home',
|
4187
|
-
9025 => 'Books|
|
4415
|
+
9025 => 'Books|Self-Development',
|
4188
4416
|
9026 => 'Books|Comics & Graphic Novels',
|
4189
4417
|
9027 => 'Books|Computers & Internet',
|
4190
4418
|
9028 => 'Books|Cookbooks, Food & Wine',
|
@@ -4198,7 +4426,7 @@ my %eeBox = (
|
|
4198
4426
|
10001 => 'Books|Lifestyle & Home|Antiques & Collectibles',
|
4199
4427
|
10002 => 'Books|Arts & Entertainment|Art & Architecture',
|
4200
4428
|
10003 => 'Books|Religion & Spirituality|Bibles',
|
4201
|
-
10004 => 'Books|
|
4429
|
+
10004 => 'Books|Self-Development|Spirituality',
|
4202
4430
|
10005 => 'Books|Business & Personal Finance|Industries & Professions',
|
4203
4431
|
10006 => 'Books|Business & Personal Finance|Marketing & Sales',
|
4204
4432
|
10007 => 'Books|Business & Personal Finance|Small Business & Entrepreneurship',
|
@@ -4263,7 +4491,7 @@ my %eeBox = (
|
|
4263
4491
|
10066 => 'Books|Reference|Foreign Languages',
|
4264
4492
|
10067 => 'Books|Arts & Entertainment|Games',
|
4265
4493
|
10068 => 'Books|Lifestyle & Home|Gardening',
|
4266
|
-
10069 => 'Books|
|
4494
|
+
10069 => 'Books|Self-Development|Health & Fitness',
|
4267
4495
|
10070 => 'Books|History|Africa',
|
4268
4496
|
10071 => 'Books|History|Americas',
|
4269
4497
|
10072 => 'Books|History|Ancient',
|
@@ -4288,7 +4516,7 @@ my %eeBox = (
|
|
4288
4516
|
10091 => 'Books|Nonfiction|Philosophy',
|
4289
4517
|
10092 => 'Books|Arts & Entertainment|Photography',
|
4290
4518
|
10093 => 'Books|Fiction & Literature|Poetry',
|
4291
|
-
10094 => 'Books|
|
4519
|
+
10094 => 'Books|Self-Development|Psychology',
|
4292
4520
|
10095 => 'Books|Reference|Almanacs & Yearbooks',
|
4293
4521
|
10096 => 'Books|Reference|Atlases & Maps',
|
4294
4522
|
10097 => 'Books|Reference|Catalogs & Directories',
|
@@ -4313,7 +4541,7 @@ my %eeBox = (
|
|
4313
4541
|
10116 => 'Books|Science & Nature|Life Sciences',
|
4314
4542
|
10117 => 'Books|Science & Nature|Physics',
|
4315
4543
|
10118 => 'Books|Science & Nature|Reference',
|
4316
|
-
10119 => 'Books|
|
4544
|
+
10119 => 'Books|Self-Development|Self-Improvement',
|
4317
4545
|
10120 => 'Books|Nonfiction|Social Science',
|
4318
4546
|
10121 => 'Books|Sports & Outdoors|Baseball',
|
4319
4547
|
10122 => 'Books|Sports & Outdoors|Basketball',
|
@@ -4403,7 +4631,7 @@ my %eeBox = (
|
|
4403
4631
|
11059 => 'Books|Sports & Outdoors|Motor Sports',
|
4404
4632
|
11060 => 'Books|Sports & Outdoors|Rugby',
|
4405
4633
|
11061 => 'Books|Sports & Outdoors|Running',
|
4406
|
-
11062 => 'Books|
|
4634
|
+
11062 => 'Books|Self-Development|Diet & Nutrition',
|
4407
4635
|
11063 => 'Books|Science & Nature|Agriculture',
|
4408
4636
|
11064 => 'Books|Science & Nature|Atmosphere',
|
4409
4637
|
11065 => 'Books|Science & Nature|Biology',
|
@@ -4647,6 +4875,8 @@ my %eeBox = (
|
|
4647
4875
|
11339 => 'Books|Comics & Graphic Novels|Manga|Girls',
|
4648
4876
|
11340 => 'Books|Comics & Graphic Novels|Manga|Women',
|
4649
4877
|
11341 => 'Books|Comics & Graphic Novels|Manga|Other',
|
4878
|
+
11342 => 'Books|Comics & Graphic Novels|Manga|Yaoi',
|
4879
|
+
11343 => 'Books|Comics & Graphic Novels|Manga|Comic Essays',
|
4650
4880
|
12001 => 'Mac App Store|Business',
|
4651
4881
|
12002 => 'Mac App Store|Developer Tools',
|
4652
4882
|
12003 => 'Mac App Store|Education',
|
@@ -4670,7 +4900,7 @@ my %eeBox = (
|
|
4670
4900
|
12022 => 'Mac App Store|Graphics & Design',
|
4671
4901
|
12201 => 'Mac App Store|Games|Action',
|
4672
4902
|
12202 => 'Mac App Store|Games|Adventure',
|
4673
|
-
12203 => 'Mac App Store|Games|
|
4903
|
+
12203 => 'Mac App Store|Games|Casual',
|
4674
4904
|
12204 => 'Mac App Store|Games|Board',
|
4675
4905
|
12205 => 'Mac App Store|Games|Card',
|
4676
4906
|
12206 => 'Mac App Store|Games|Casino',
|
@@ -5092,6 +5322,63 @@ my %eeBox = (
|
|
5092
5322
|
100046 => 'Music|Indian|Regional Indian|Bengali',
|
5093
5323
|
100047 => 'Music|Indian|Indian Classical|Carnatic Classical',
|
5094
5324
|
100048 => 'Music|Indian|Indian Classical|Hindustani Classical',
|
5325
|
+
100049 => 'Music|African|Afro House',
|
5326
|
+
100050 => 'Music|African|Afro Soul',
|
5327
|
+
100051 => 'Music|African|Afrobeats',
|
5328
|
+
100052 => 'Music|African|Benga',
|
5329
|
+
100053 => 'Music|African|Bongo-Flava',
|
5330
|
+
100054 => 'Music|African|Coupe-Decale',
|
5331
|
+
100055 => 'Music|African|Gqom',
|
5332
|
+
100056 => 'Music|African|Highlife',
|
5333
|
+
100057 => 'Music|African|Kuduro',
|
5334
|
+
100058 => 'Music|African|Kizomba',
|
5335
|
+
100059 => 'Music|African|Kwaito',
|
5336
|
+
100060 => 'Music|African|Mbalax',
|
5337
|
+
100061 => 'Music|African|Ndombolo',
|
5338
|
+
100062 => 'Music|African|Shangaan Electro',
|
5339
|
+
100063 => 'Music|African|Soukous',
|
5340
|
+
100064 => 'Music|African|Taarab',
|
5341
|
+
100065 => 'Music|African|Zouglou',
|
5342
|
+
100066 => 'Music|Turkish|Ozgun',
|
5343
|
+
100067 => 'Music|Turkish|Fantezi',
|
5344
|
+
100068 => 'Music|Turkish|Religious',
|
5345
|
+
100069 => 'Music|Pop|Turkish Pop',
|
5346
|
+
100070 => 'Music|Rock|Turkish Rock',
|
5347
|
+
100071 => 'Music|Alternative|Turkish Alternative',
|
5348
|
+
100072 => 'Music|Hip-Hop/Rap|Turkish Hip-Hop/Rap',
|
5349
|
+
100073 => 'Music|African|Maskandi',
|
5350
|
+
100074 => 'Music|Russian|Russian Romance',
|
5351
|
+
100075 => 'Music|Russian|Russian Bard',
|
5352
|
+
100076 => 'Music|Russian|Russian Pop',
|
5353
|
+
100077 => 'Music|Russian|Russian Rock',
|
5354
|
+
100078 => 'Music|Russian|Russian Hip-Hop',
|
5355
|
+
100079 => 'Music|Arabic|Levant',
|
5356
|
+
100080 => 'Music|Arabic|Levant|Dabke',
|
5357
|
+
100081 => 'Music|Arabic|Maghreb Rai',
|
5358
|
+
100082 => 'Music|Arabic|Khaleeji|Khaleeji Jalsat',
|
5359
|
+
100083 => 'Music|Arabic|Khaleeji|Khaleeji Shailat',
|
5360
|
+
100084 => 'Music|Tarab',
|
5361
|
+
100085 => 'Music|Tarab|Iraqi Tarab',
|
5362
|
+
100086 => 'Music|Tarab|Egyptian Tarab',
|
5363
|
+
100087 => 'Music|Tarab|Khaleeji Tarab',
|
5364
|
+
100088 => 'Music|Pop|Levant Pop',
|
5365
|
+
100089 => 'Music|Pop|Iraqi Pop',
|
5366
|
+
100090 => 'Music|Pop|Egyptian Pop',
|
5367
|
+
100091 => 'Music|Pop|Maghreb Pop',
|
5368
|
+
100092 => 'Music|Pop|Khaleeji Pop',
|
5369
|
+
100093 => 'Music|Hip-Hop/Rap|Levant Hip-Hop',
|
5370
|
+
100094 => 'Music|Hip-Hop/Rap|Egyptian Hip-Hop',
|
5371
|
+
100095 => 'Music|Hip-Hop/Rap|Maghreb Hip-Hop',
|
5372
|
+
100096 => 'Music|Hip-Hop/Rap|Khaleeji Hip-Hop',
|
5373
|
+
100097 => 'Music|Alternative|Indie Levant',
|
5374
|
+
100098 => 'Music|Alternative|Indie Egyptian',
|
5375
|
+
100099 => 'Music|Alternative|Indie Maghreb',
|
5376
|
+
100100 => 'Music|Electronic|Levant Electronic',
|
5377
|
+
100101 => "Music|Electronic|Electro-Cha'abi",
|
5378
|
+
100102 => 'Music|Electronic|Maghreb Electronic',
|
5379
|
+
100103 => 'Music|Folk|Iraqi Folk',
|
5380
|
+
100104 => 'Music|Folk|Khaleeji Folk',
|
5381
|
+
100105 => 'Music|Dance|Maghreb Dance',
|
5095
5382
|
40000000 => 'iTunes U',
|
5096
5383
|
40000001 => 'iTunes U|Business & Economics',
|
5097
5384
|
40000002 => 'iTunes U|Business & Economics|Economics',
|
@@ -5317,6 +5604,7 @@ my %eeBox = (
|
|
5317
5604
|
50000090 => 'Books|Comics & Graphic Novels|Comics',
|
5318
5605
|
50000091 => 'Books|Romance|Multicultural',
|
5319
5606
|
50000092 => 'Audiobooks|Erotica',
|
5607
|
+
50000093 => 'Audiobooks|Light Novels',
|
5320
5608
|
},
|
5321
5609
|
},
|
5322
5610
|
grup => { Name => 'Grouping', Avoid => 1 }, #10
|
@@ -6292,7 +6580,7 @@ my %eeBox = (
|
|
6292
6580
|
sgpd => {
|
6293
6581
|
Name => 'SampleGroupDescription',
|
6294
6582
|
Flags => ['Binary','Unknown'],
|
6295
|
-
# bytes 4-7 give grouping type (ref ISO/IEC 14496-15:2014)
|
6583
|
+
# bytes 4-7 give grouping type (ref ISO/IEC 14496-15:2014)
|
6296
6584
|
# tsas - temporal sublayer sample
|
6297
6585
|
# stsa - step-wise temporal layer access
|
6298
6586
|
# avss - AVC sample
|
@@ -7916,22 +8204,27 @@ sub HandleItemInfo($)
|
|
7916
8204
|
$buff = $val . $buff if length $val;
|
7917
8205
|
next unless length $buff; # ignore empty directories
|
7918
8206
|
my ($start, $subTable, $proc);
|
8207
|
+
my $pos = $$item{Extents}[0][1] + $base;
|
7919
8208
|
if ($name eq 'EXIF' and length $buff >= 4) {
|
7920
|
-
$
|
8209
|
+
my $n = unpack('N', $buff);
|
8210
|
+
$start = 4 + $n; # skip "Exif\0\0" header if it exists
|
7921
8211
|
$subTable = GetTagTable('Image::ExifTool::Exif::Main');
|
8212
|
+
if ($$et{HTML_DUMP}) {
|
8213
|
+
$et->HDump($pos, 4, 'Exif header length', "Value: $n");
|
8214
|
+
$et->HDump($pos+4, $start-4, 'Exif header') if $n;
|
8215
|
+
}
|
7922
8216
|
$proc = \&Image::ExifTool::ProcessTIFF;
|
7923
8217
|
} else {
|
7924
8218
|
$start = 0;
|
7925
8219
|
$subTable = GetTagTable('Image::ExifTool::XMP::Main');
|
7926
8220
|
}
|
7927
|
-
my $pos = $$item{Extents}[0][1] + $base;
|
7928
8221
|
my %dirInfo = (
|
7929
8222
|
DataPt => \$buff,
|
7930
8223
|
DataLen => length $buff,
|
7931
8224
|
DirStart => $start,
|
7932
8225
|
DirLen => length($buff) - $start,
|
7933
8226
|
DataPos => $pos,
|
7934
|
-
Base => $pos, # (needed for IsOffset tags in binary data)
|
8227
|
+
Base => $pos + $start, # (needed for HtmlDump and IsOffset tags in binary data)
|
7935
8228
|
);
|
7936
8229
|
# handle processing of metadata for sub-documents
|
7937
8230
|
if (defined $primary and $$item{RefersTo} and not $$item{RefersTo}{$primary}) {
|
@@ -8560,7 +8853,7 @@ ItemID: foreach $id (keys %$items) {
|
|
8560
8853
|
);
|
8561
8854
|
# print iref item ID numbers
|
8562
8855
|
if ($dirID eq 'iref') {
|
8563
|
-
my ($id, $count, @to);
|
8856
|
+
my ($id, $count, @to, $i);
|
8564
8857
|
if ($$et{ItemRefVersion}) {
|
8565
8858
|
($id, $count, @to) = unpack('NnN*', $val) if length $val >= 10;
|
8566
8859
|
} else {
|
@@ -8568,7 +8861,13 @@ ItemID: foreach $id (keys %$items) {
|
|
8568
8861
|
}
|
8569
8862
|
defined $id or $id = '<err>', $count = 0;
|
8570
8863
|
$id .= " (wrong count: $count)" if $count != @to;
|
8571
|
-
|
8864
|
+
# convert sequential numbers to a range
|
8865
|
+
for ($i=1; $i<@to; ) {
|
8866
|
+
$to[$i-1] =~ /(\d+)$/ and $to[$i] == $1 + 1 or ++$i, next;
|
8867
|
+
$to[$i-1] =~ s/(-.*)?$/-$to[$i]/;
|
8868
|
+
splice @to, $i, 1;
|
8869
|
+
}
|
8870
|
+
$et->VPrint(1, "$$et{INDENT} Item $id refers to: ",join(',',@to),"\n");
|
8572
8871
|
}
|
8573
8872
|
}
|
8574
8873
|
# extract metadata from stream if ExtractEmbedded option is enabled
|