1
1
mirror of https://github.com/wader/fq.git synced 2024-11-22 07:16:49 +03:00

format: Add vorbis-comment-picture test, add .gitignore and cleanup

This commit is contained in:
Mattias Wadman 2021-11-21 19:32:52 +01:00
parent f40320b04c
commit 606c0b67ae
4 changed files with 89 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.DS_Store
testfiles/

Binary file not shown.

View File

@ -0,0 +1,87 @@
# ffmpeg -f lavfi -i sine -f lavfi -i testsrc=s=4x4:r=1:d=1 -t 10ms -disposition:v attached_pic -f flac test.flac
# ffmpeg -f lavfi -i sine -t 10ms -f ogg test.ogg
# vorbiscomment -a test.ogg -t METADATA_BLOCK_PICTURE=$(fq -r '.. | select(format=="flac_picture") | tobytes | base64' test.flac)
# fq '.. | select(format=="vorbis_comment") | tobytes' test.ogg > vorbis-comment-picture
$ fq -d vorbis_comment verbose /vorbis-comment-picture
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.: {} /vorbis-comment-picture (vorbis_comment) 0x0-0x11f.7 (288)
0x000|0d 00 00 00 |.... | vendor_length: 13 0x0-0x3.7 (4)
0x000| 4c 61 76 66 35 38 2e 37 36 2e 31 30| Lavf58.76.10| vendor: "Lavf58.76.100" 0x4-0x10.7 (13)
0x010|30 |0 |
0x010| 02 00 00 00 | .... | user_comment_list_length: 2 0x11-0x14.7 (4)
| | | user_comments: [2] 0x15-0x11f.7 (267)
| | | [0]: user_comment {} 0x15-0x38.7 (36)
0x010| 20 00 00 00 | ... | length: 32 0x15-0x18.7 (4)
0x010| 65 6e 63 6f 64 65 72| encoder| comment: "encoder=Lavc58.134.100 libvorbis" 0x19-0x38.7 (32)
0x020|3d 4c 61 76 63 35 38 2e 31 33 34 2e 31 30 30 20|=Lavc58.134.100 |
0x030|6c 69 62 76 6f 72 62 69 73 |libvorbis |
| | | [1]: user_comment {} 0x39-0x11f.7 (231)
0x030| e3 00 00 00 | .... | length: 227 0x39-0x3c.7 (4)
0x030| 4d 45 54| MET| comment: "METADATA_BLOCK_PICTURE=AAAAAAAAAAlpbWFnZS9wbmcAAAA"... 0x3d-0x11f.7 (227)
0x040|41 44 41 54 41 5f 42 4c 4f 43 4b 5f 50 49 43 54|ADATA_BLOCK_PICT|
* |until 0x11f.7 (end) (227) | |
| | | picture: {} (flac_picture) 0x0-0x98.7 (153)
0x00|00 00 00 00 |.... | picture_type: "Other" (0) 0x0-0x3.7 (4)
0x00| 00 00 00 09 | .... | mime_length: 9 0x4-0x7.7 (4)
0x00| 69 6d 61 67 65 2f 70 6e| image/pn| mime: "image/png" 0x8-0x10.7 (9)
0x10|67 |g |
0x10| 00 00 00 00 | .... | description_length: 0 0x11-0x14.7 (4)
| | | description: "" 0x15-NA (0)
0x10| 00 00 00 04 | .... | width: 4 0x15-0x18.7 (4)
0x10| 00 00 00 04 | .... | height: 4 0x19-0x1c.7 (4)
0x10| 00 00 00| ...| color_depth: 24 0x1d-0x20.7 (4)
0x20|18 |. |
0x20| 00 00 00 00 | .... | number_of_index_colors: 0 0x21-0x24.7 (4)
0x20| 00 00 00 70 | ...p | picture_length: 112 0x25-0x28.7 (4)
| | | picture_data: {} (png) 0x29-0x98.7 (112)
0x20| 89 50 4e 47 0d 0a 1a| .PNG...| signature: raw bits (valid) 0x29-0x30.7 (8)
0x30|0a |. |
| | | chunks: [4] 0x31-0x98.7 (104)
| | | [0]: chunk {} 0x31-0x49.7 (25)
0x30| 00 00 00 0d | .... | length: 13 0x31-0x34.7 (4)
0x30| 49 48 44 52 | IHDR | type: "IHDR" 0x35-0x38.7 (4)
0x30| 49 | I | ancillary: false 0x35.3-0x35.3 (0.1)
0x30| 48 | H | private: false 0x36.3-0x36.3 (0.1)
0x30| 44 | D | reserved: false 0x37.3-0x37.3 (0.1)
0x30| 52 | R | safe_to_copy: true 0x38.3-0x38.3 (0.1)
0x30| 00 00 00 04 | .... | width: 4 0x39-0x3c.7 (4)
0x30| 00 00 00| ...| height: 4 0x3d-0x40.7 (4)
0x40|04 |. |
0x40| 08 | . | bit_depth: 8 0x41-0x41.7 (1)
0x40| 02 | . | color_type: 2 0x42-0x42.7 (1)
0x40| 00 | . | compression_method: "deflate" (0) 0x43-0x43.7 (1)
0x40| 00 | . | filter_method: "Adaptive filtering" (0) 0x44-0x44.7 (1)
0x40| 00 | . | interlace_method: "No interlace" (0) 0x45-0x45.7 (1)
0x40| 26 93 09 29 | &..) | crc: "26930929" (raw bits) (valid) 0x46-0x49.7 (4)
| | | [1]: chunk {} 0x4a-0x5e.7 (21)
0x40| 00 00 00 09 | .... | length: 9 0x4a-0x4d.7 (4)
0x40| 70 48| pH| type: "pHYs" 0x4e-0x51.7 (4)
0x50|59 73 |Ys |
0x40| 70 | p | ancillary: true 0x4e.3-0x4e.3 (0.1)
0x40| 48| H| private: false 0x4f.3-0x4f.3 (0.1)
0x50|59 |Y | reserved: true 0x50.3-0x50.3 (0.1)
0x50| 73 | s | safe_to_copy: true 0x51.3-0x51.3 (0.1)
0x50| 00 00 00 01 | .... | x_pixels_per_unit: 1 0x52-0x55.7 (4)
0x50| 00 00 00 01 | .... | y_pixels_per_unit: 1 0x56-0x59.7 (4)
0x50| 00 | . | unit: 0 0x5a-0x5a.7 (1)
0x50| 4f 25 c4 d6 | O%.. | crc: "4f25c4d6" (raw bits) (valid) 0x5b-0x5e.7 (4)
| | | [2]: chunk {} 0x5f-0x8c.7 (46)
0x50| 00| .| length: 34 0x5f-0x62.7 (4)
0x60|00 00 22 |.." |
0x60| 49 44 41 54 | IDAT | type: "IDAT" 0x63-0x66.7 (4)
0x60| 49 | I | ancillary: false 0x63.3-0x63.3 (0.1)
0x60| 44 | D | private: false 0x64.3-0x64.3 (0.1)
0x60| 41 | A | reserved: false 0x65.3-0x65.3 (0.1)
0x60| 54 | T | safe_to_copy: true 0x66.3-0x66.3 (0.1)
0x60| 78 9c 63 60 60 60 f8 0f c6| x.c```...| data: raw bits 0x67-0x88.7 (34)
0x70|ff 41 14 88 05 64 fc 87 08 22 71 80 44 3d 88 f1|.A...d..."q.D=..|
0x80|bf 81 e1 3f 00 c8 76 13 ed |...?..v.. |
0x80| 2f 76 8a 2a | /v.* | crc: "2f768a2a" (raw bits) (valid) 0x89-0x8c.7 (4)
| | | [3]: chunk {} 0x8d-0x98.7 (12)
0x80| 00 00 00| ...| length: 0 0x8d-0x90.7 (4)
0x90|00 |. |
0x90| 49 45 4e 44 | IEND | type: "IEND" 0x91-0x94.7 (4)
0x90| 49 | I | ancillary: false 0x91.3-0x91.3 (0.1)
0x90| 45 | E | private: false 0x92.3-0x92.3 (0.1)
0x90| 4e | N | reserved: false 0x93.3-0x93.3 (0.1)
0x90| 44 | D | safe_to_copy: false 0x94.3-0x94.3 (0.1)
0x90| ae 42 60 82| | .B`.| | crc: "ae426082" (raw bits) (valid) 0x95-0x98.7 (4)

Binary file not shown.