Mattias Wadman
7c5215347d
bitio,decode: Refactor bitio usage and make buffer slicing more correct
...
Remove bitio.Buffer layer. bitio.Buffer was a kitchen sink layer with helpers
now it's just a buffer and most functions have been moved to decode instead.
bitio package now only have primitive types and functions simialar to standard
library io and bytes packages.
Make nearly eveything internally use bitio.Bit* interfaces so that slicing work
correctly this will also make it possible to start experimenting with more
complicated silcing helpers, ex things like:
breplace(.header.bitrate; 123) to get a new buffer with bitrate changed.
2022-02-04 21:41:53 +01:00
Mattias Wadman
fc0aacb654
interp: Cleanup display aliases, now: d, da, dd, dv, ddv
...
Think it makes sense to have them all start with d.
Also f is often used as function argument name.
2022-01-28 18:25:38 +01:00
Mattias Wadman
263f1aeb66
flac: Don't allow zero subframe sample size
...
Spec says sample size can be 4-32 but that is probably before correcting for waste bits
2022-01-18 11:58:57 +01:00
Mattias Wadman
edad481878
num,mathextra: Rename num package to mathextra
...
Think it makes more sense
2022-01-15 19:00:42 +01:00
Mattias Wadman
bfc977b810
png: Decode PLTE and tRNS chunks and cleanup syms a bit
2022-01-07 14:31:18 +01:00
Mattias Wadman
681dbc26b7
elf,ar: Add ar decoder, improved elf decoder
...
Add x86, 386, arm64, arm v6, arm v7 linux elf test files
2022-01-05 22:05:09 +01:00
Mattias Wadman
6ed2e2e72e
interp: dump: Indicate arrays using jq-syntax
...
Related to #16
2021-12-08 16:24:28 +01:00
Mattias Wadman
c2131bb4a0
flac: Cleanup scalar usage and fix incorrect sample rates
...
Also split DisplayFormat into actual and sym
2021-12-08 00:39:52 +01:00
Mattias Wadman
2fc0a71a47
decode: Refactor scalar usage
...
Move scalar into own package.
Split scalar code into decode related scalar code (that reads etc) and
scalar code that just transform the scalar value.
Use a scalar.Mapper interface instead of just a function.
Make mappers, assert and validat impement the interface.
2021-12-02 17:39:26 +01:00
Mattias Wadman
f55b1af6ac
inet: Add tcp and ipv4 reassembly
...
Also add tcp_stream and udp_payload to decode content
2021-11-29 18:42:18 +01:00
Mattias Wadman
4f0bf9228f
flac: Make md5_calculated be a buffer
2021-11-24 12:31:42 +01:00
Mattias Wadman
4f8d03731d
format,decode: Some crc and endian refactor
2021-11-24 12:01:01 +01:00
Mattias Wadman
fc76907c07
png: Add proper color type
2021-11-23 17:04:21 +01:00
Mattias Wadman
2af08da9f7
flac: Fix block_size regression
2021-11-23 16:59:50 +01:00
Mattias Wadman
d1b514edeb
format: Some claeanup
2021-11-19 16:44:06 +01:00
Mattias Wadman
7af191d974
decode: Move io helper into *D
2021-11-18 01:17:41 +01:00
Mattias Wadman
6fba1a8125
decode: Fix bitbuf root handling a bit
2021-11-18 01:17:15 +01:00
Mattias Wadman
986d5ecc50
decode: Move registry package to decode/registry and add a format group type
2021-11-17 16:59:56 +01:00
Mattias Wadman
5d98a6949a
decode: Refactor Error/Fatal into printf functions
2021-11-17 16:26:13 +01:00
Mattias Wadman
ede2e77975
decode: Nicer scalar template and add doc
2021-11-17 16:13:10 +01:00
Mattias Wadman
b66ed32614
decode,interp: Make fuzzing work again and cleanup fatal/error code
2021-11-16 17:11:26 +01:00
Mattias Wadman
f9f866000e
interp,decode: Add force option to ignore asserts
2021-11-16 13:03:56 +01:00
Mattias Wadman
1b32b42f93
decode: Major decode API refactor
...
Generate more code
More generic and comfortable API
Improve and Update format decoder to new API
Add some more format tests
2021-11-15 21:12:07 +01:00
Mattias Wadman
cc5f405554
interp,format: Update tests after decode refactor/tosym/toactual
2021-11-05 17:29:23 +01:00
Mattias Wadman
6a15625587
interp,decode: Refactor out Scalar from Value and merge Array/Struct into Compound
...
Also add tosym, toactual
2021-11-05 17:29:22 +01:00
Mattias Wadman
67898cb44a
interp: Cleanup, use BufferRange for _open, progress for all decode
2021-10-30 01:17:14 +02:00
Mattias Wadman
88eade9ab9
ogg: Add flac support
...
Refactor flac_streaminfo and flac_metadata from flac_metadatablocks
Some deocde bitbuf api cleanup
2021-10-29 18:30:16 +02:00
Mattias Wadman
c1d9b4d2d5
flac_metadatablocks: typ > 127 can't happen, add app id
2021-10-23 23:06:03 +02:00
Mattias Wadman
bc9951cc59
flac_frame: Fail if trying to decode outside block size
2021-10-20 13:55:34 +02:00
Mattias Wadman
344f628403
flac: Calculate correct md5 when total samples count is zero
2021-10-19 18:05:22 +02:00
Mattias Wadman
1f26d4f233
flac_frame: Correctly read escaped samples and also a bit less allocations
2021-10-19 17:27:05 +02:00
Mattias Wadman
ce044baf7e
flac: Cleanup
2021-10-19 15:44:15 +02:00
Mattias Wadman
2b35d28f3b
flac_picture,mp4: avif images and data fallback is image format fails
2021-10-19 01:58:07 +02:00
Mattias Wadman
b643e22877
flac_frame: Support non-8 bit align sample size
2021-10-19 01:52:59 +02:00
Mattias Wadman
984ba1aa43
flac_metadatablocks: type >= 127 is invalid
2021-10-13 21:40:20 +02:00
Mattias Wadman
509b8f8c50
flac_picture: Add picture_type names
2021-10-13 21:34:14 +02:00
Mattias Wadman
691688022f
fqtest: Refactor our script part to own package
...
Hopefully can be reused for docs generation
2021-10-06 18:49:03 +02:00
Mattias Wadman
f9622c2dc7
vorbis_comment: Fix field name typo
2021-10-06 12:01:07 +02:00
Mattias Wadman
723542aea2
flac_frame: Make utf8Uint reader more correct and robust
2021-09-29 11:53:14 +02:00
Mattias Wadman
2daa738de8
flac_frame: Use d.Invalid for posssible errors
2021-09-24 16:26:17 +02:00
Mattias Wadman
797bd4d652
flac: Refactor flac_metadatablock into flac_metadatablocks
...
metadatablocks are not really used alone
2021-09-17 15:46:13 +02:00
Mattias Wadman
ee972f490d
dump: Add ascii header
2021-09-16 22:40:03 +02:00
Mattias Wadman
473b2243c9
decode: Simplify and move format arg into DecodeOptions
2021-09-16 15:29:11 +02:00
Mattias Wadman
776a6b3136
decode: Reuse read buffer per decode to speed things up
2021-09-14 18:54:59 +02:00
Mattias Wadman
798141a0b0
format: Cleanup comments
2021-09-14 17:01:25 +02:00
Mattias Wadman
4b48828b32
format: Rename source file to match format name
2021-09-12 13:08:51 +02:00
Mattias Wadman
f1507f7f65
mod: Use proper path and dont use replace
2021-09-12 13:08:50 +02:00
Mattias Wadman
c155c89ba3
decode: Rename format *Decode to *Format
2021-09-12 13:08:50 +02:00
Mattias Wadman
8dc0f06b62
cli: Add completion tests
2021-09-12 13:08:49 +02:00
Mattias Wadman
970465996c
Init
2021-09-12 13:08:42 +02:00