1
1
mirror of https://github.com/wader/fq.git synced 2024-10-04 07:27:08 +03:00
Commit Graph

185 Commits

Author SHA1 Message Date
bump
2c38cf1324 Update github-golangci-lint to 1.60.1 from 1.59.1
Release notes https://github.com/golangci/golangci-lint/releases/tag/v1.60.1

Require go 1.21 and fix various lint warnings and use new features
2024-08-14 20:05:40 +02:00
Mattias Wadman
70b1b0d6a3 mp4: Decode uinf box 2024-04-10 22:17:39 +02:00
Mattias Wadman
4f90a2eaae mp4: Decode jP box 2024-04-10 21:50:55 +02:00
Mattias Wadman
ebffb3be7b jp2c: Add jpeg2000 codestream format 2024-04-10 16:24:14 +02:00
Mattias Wadman
87b6c4dd6a mp4: Fix jp2 test 2024-04-09 22:59:47 +02:00
Mattias Wadman
5cbda8fbb0
Merge pull request #921 from wader/mp4-jp2-boxes
mp4: JPEG200 boxes jp2h and ihdr
2024-04-09 20:43:26 +02:00
Mattias Wadman
8009b6f661 mp4: JPEG200 boxes jp2h and ihdr 2024-04-09 20:34:53 +02:00
Mattias Wadman
1784c43824 mp4,avi: Trim spaces for type 2024-04-09 20:09:12 +02:00
Mattias Wadman
c8f9cdc9d7 interp: Add string_truncate option
Was hardcoded to 50, now confiugurable also used affected by dd, dv etc
2024-04-08 17:45:10 +02:00
Mattias Wadman
bf7fa07c41 fq: Use go 1.20 and cleanup
Also rename *ex packages to *x
2024-04-01 19:14:10 +02:00
Mattias Wadman
80bccc91ed opus,vorbis: More sym snake_case 2024-03-27 18:30:27 +01:00
Mattias Wadman
2ea70c42ac mp4: Add thmb box support 2024-03-19 17:44:37 +01:00
Mattias Wadman
ed3a126f0a mp4: Turns out for qt brand hdlr component name might be zero bytes
From QuickTime File Format specification:
A (counted) string that specifies the name of the component—that is, the media handler used
when this media was created. This field may contain a zero-length (empty) string.
2024-03-19 17:06:21 +01:00
Mattias Wadman
87052733e6 pssh_playready: Use snake_case sym values 2024-03-11 17:00:26 +01:00
Mattias Wadman
38b4412ad4 png: Type flags were off-by-one bit 2024-01-05 16:53:05 +01:00
Mattias Wadman
56c47229f0
Merge pull request #834 from wader/mp4-track-dref
mp4: Don't decode samples if track has external data reference
2023-12-11 15:11:06 +01:00
Mattias Wadman
0d06e0a4cb mp4: Don't decode samples if track has external data reference
Also add field for data reference url

Fixes FileFormatConformance/data/file_features/published/isobmff/02_dref_edts_img.mp4
2023-12-11 14:55:10 +01:00
Mattias Wadman
d2c5ce5575 mp4: Use box structure instead of track id to keep track for sample table data
Fixes issue with mp4s where tkhd is after sample table boxes
2023-12-11 14:48:54 +01:00
Mattias Wadman
aadf26f6c7 mp4: ctts v0 sample_offset seems to be signed in practice
sample file from the wild has v0 as negatice offsets
ffmpeg mov.c ignored versions and always read as signed
2023-12-08 17:24:20 +01:00
Mattias Wadman
fca55b2c09 mpeg_es: Support ES_ID_Inc and decode descriptors for IOD tags 2023-12-06 15:12:53 +01:00
Mattias Wadman
5e2e49e31b protobuf: No need for synthetic for string and bytes value 2023-10-29 16:10:22 +01:00
Mattias Wadman
051a70bd4b interp: Change bit ranges to use exclusive end
All other ranges and slicing uses exclusive end so i think it make sense
to make it consistent.

Update docs and add additional example for non-byte-aligned field.

Also fixes issue showing zero bit ranges as start-NA.
2023-10-20 15:37:26 +02:00
Mattias Wadman
1d14ea51cd matroska: Decode ebml date type
Also some refactor of shared date decode functions to allow unit
2023-10-17 11:10:48 +02:00
Mattias Wadman
23ae4d978b decode,interp: Make synthetic values more visible and not act as decode values 2023-10-07 17:40:16 +02:00
Mattias Wadman
bedd719b3a mp4: Decode emsg box 2023-08-31 17:33:18 +02:00
Mattias Wadman
312d8078a7 mp4: Decode cslg box 2023-08-31 15:00:29 +02:00
Mattias Wadman
e50028ac00 mp4,mpeg_es: Decode iods box and MP4_IOD_Tag OD 2023-08-30 14:57:41 +02:00
Mattias Wadman
0d0147643a gomod: Update x/exp and gomarkdown
Add cmp package from go 1.21 to have cmp.Compare to make sort easier
2023-08-09 14:36:51 +02:00
Mattias Wadman
97194ad8bc mp4: Nicer major brand and handle some qt brand short strings better 2023-07-26 12:15:51 +02:00
Sergei Kuzmin
e869d8af03 sgpd box entries parsing
Previously entries were parsed as raw bytes, now KIDs/IVs are
explicitely parsed.
2023-06-20 21:57:27 -07:00
Mattias Wadman
1da8069190 mp4: udta: Improve length/lang box probe and support empty value 2023-05-17 11:55:13 +02:00
Mattias Wadman
493848a7e5 mp4: Use correct epoch for quicktime timestamps
Somehow was 1904-01-04 should be 1904-01-01
2023-05-16 13:10:56 +02:00
Mattias Wadman
2c505feec8 help,markdown: Rewrote and made text rendering nicer
Plan is to use it for man page etc and also some ansi renderer
2023-05-08 00:07:56 +02:00
Mattias Wadman
a4a332bf4e formats: Clenaup naming a bit 2023-05-01 13:19:04 +02:00
Mattias Wadman
7adc1e7030 mp4: Better description for QuickTime terminator atom
Addition improvement could be to only allow it in quicktime ftyp brand
and also not as a root book. Currently trailing zero bytes could be
mistaken as a terminator atom.
2023-05-01 12:32:25 +02:00
Mattias Wadman
b08ef00dd1 decode,interp: Refactor format groups into a proper struct
Replaces []Format with a Group type.
A bit more type safe.
Breaking change for RegisterFormat, now takes a first argument that is a "single" format group.
Lots of naming cleanup.

This is also preparation for decode group argument which will enable doing intresting
probing, ex a format decoder could know it's decode as part of probe group  (html could
be probed possibly), or have "arg probe" group for decoder who inspect args to know
if they should probe (-d /path/to/schema etc) to enable nice CLI-ergonomics.
2023-04-29 20:02:34 +02:00
Mattias Wadman
3c6d31b0fe mp4: ctts,infe,iinf,trun: More ISOMFF version handling 2023-04-17 11:43:54 +02:00
Mattias Wadman
980ecdba82 decode: Add float 80 reader
Rename *d.Bits to UintBits as it return a uint
Add *d.Bits that return []byte
2023-03-10 01:15:55 +01:00
Mattias Wadman
cc52a4419d id3v2: Decode subframes for CTOC and add struct for headers 2023-03-05 19:29:22 +01:00
Mattias Wadman
dec433fc53 help,markdown: Fix double line breaks when converting to text
Also fix ugly last line break hack
2023-03-02 23:38:11 +01:00
Mattias Wadman
8e0dde03d0 decode: Support multiple format args and some rename and refactor
This will allow passing both cli options and format options to sub decoder.
Ex: pass keylog option to a tls decoder when decoding a pcap.
Ex: pass decode options to a format inside a http body inside a pcap.

Add ArgAs method to lookup argument based on type. This also makes the format
decode function have same signature as sub decoders in the decode API.

This change decode.Format a bit:
DecodeFn is now just func(d *D) any
DecodeInArg renamed to DefaultInArg
2023-02-18 21:38:51 +01:00
Mattias Wadman
a1bb630a2a doc,fq: Improve cli help and some cleanup 2023-02-15 11:04:39 +01:00
Mattias Wadman
b60aceca9e matroska: Add decode_samples option
Also change the option help a bit, maybe medid and support is confusing, we
might evetually decode non-audio/video things.
2023-02-08 11:31:41 +01:00
Mattias Wadman
a2cdb3d6c9
Merge pull request #558 from wader/mp4-udta-with-no-length
mp4: udta: Handle box with value rest of box
2023-01-25 16:34:58 +01:00
Mattias Wadman
6340365841 mp4: udta: Handle box with value rest of box
Try distinguish by probing length field. Should probably be improved, what does ffmpeg do?

Regression from c3e3b3e90d #553
2023-01-25 16:24:28 +01:00
Mattias Wadman
b04a650bae flac_picture,mpeg: Fix trailing ")" typo in map sym and description 2023-01-25 14:01:34 +01:00
Mattias Wadman
d645e71008
Merge pull request #554 from wader/mp4-ftyp-qt-minor-desc
mp4: Decode qt minor verison as YYYY.MM description
2023-01-16 12:23:42 +01:00
Mattias Wadman
f386a5158e mp4: Decode qt minor verison as YYYY.MM description 2023-01-16 12:13:19 +01:00
Mattias Wadman
c3e3b3e90d mp4: Decode udta metadata boxes without meta box 2023-01-16 12:03:53 +01:00
Mattias Wadman
c2795a7c2f
Merge pull request #552 from wader/mp4-tkhd-flags
mp4: Decode tkhd flags
2023-01-13 18:02:53 +01:00