Adds avi
decoder and replace raw
with more convenient bits
and bytes
format. Otherwise mostly small updates and bug fixes.
Increase minor version. fq does not use sementic versioning (yet) but it's probably a good idea to start increase minor version when adding features to be able to do patch releases.
In other fq related news:
- I gave a talk about fq at No Time To Wait 6 a conference about open media, standardization, and audiovisual preservation.
- While prototyping writing decoders directly in jq for fq I ended up implementing jq in jq. Still thinking and working on how to do decoders in jq.
Changes
- Replace
raw
format withbits
andbytes
format that decodes directly to a binary with different unit size.$ echo -n 'hello' | fq -d bytes '.[-3:]' > last_3_bytes $ echo 'hello' | fq -d bytes '.[1]' 101 $ echo 'hello' | fq -c -d bits '[.[range(8)]]' [0,1,1,0,1,0,0,0]
Decoder changes
avc_au
Support annexb format (used in AVI). #476avi
Add AVI (Audio Video Interleaved) decoder. #476# extract samples for stream 1 $ fq '.streams[1].samples[] | tobytes' file.avi > stream01.mp3
bits
Replacesraw
but is a binary using bit units. #485bytes
Replacesraw
but is a binary using byte units. #485bplist
flac_frame
Correctly decode zero escape sample size. #461id3v2
Fix decoding of COMM and TXXX with missing null terminator. #468matroska
Updated to latest specification. #455mp3_frame
Use frame size calculation from spec instead of own as it seems to not work in some cases. #480mp3_frame_tags
Replacesxing
and also decodes "lame extensions" for both Xing and Info. #481raw
Removed. #485wav
More codec symbol names and now shares RIFF code with AVI decoder. #476yaml
Fix type panic for large intergers. #462
Changelog
- 7b6492e Improve README.md a bit, one more demo and move up usage
- 4e06962 Update docker-golang to 1.19.2 from 1.19.1
- e033449 Update docker-golang to 1.19.3 from 1.19.2
- f3f2648 Update github-go-version to 1.19.2 from 1.19.1, 1.19.1, 1.19.1
- 003197e Update github-go-version to 1.19.3 from 1.19.2, 1.19.2, 1.19.2
- 453963d Update github-golangci-lint to 1.50.1 from 1.50.0
- 56dcb3a Update gomod-BurntSushi/toml to 1.2.1 from 1.2.0
- 101b280 Update gomod-golang/text to 0.3.8 from 0.3.7
- d80f12c Update gomod-golang/text to 0.4.0 from 0.3.8
- 753927b Update make-golangci-lint to 1.50.1 from 1.50.0
- 4d8dd5c adds check for recursion in decodeReference, adds test to verify fix
- b7c4576 adds necessary cast
- 46b7ab3 adds test to verify fix
- 4ee7dd8 changes Errorf to Fatalf on infinite loops
- 41b2d1a cli: Better decode error help
- 7254b0f decode,elf,fuzz: TryBytesRange error on negative size
- bafd1f5 decode,fuzz: Signed integer (S) read require at least one bit
- 2a86d32 doc,rtmp,pcap,markdown: Add more examples
- 0b9b017 doc: Add gomarkdown to license/dependencies
- 4bfd9d8 doc: Add link to nttw6 presentation video and slides
- fb1a91a drop indented else block per lint
- 4dd594c fixes bad path in test output
- f9a1d3f fixes calculation of floating point lengths
- 236fbc1 fixes reference calculation to use reference size from trailer
- ac86f93 fixes signed integer parsing
- fb2a2b9 flac,fuzz: Fatal error on negative partition sample count
- 7859be1 flac_frame: Properly decode zero escape sample size
- 7cb2a6c fuzz: gotip not needed anymore
- cef4245 fuzz: make fuzz GROUP=mp4 to fuzz one group
- 413d425 gofmt
- 349d949 gojq: Update rebased fq fork
- 450f584 gojq: Update rebased fq fork
- d8641ab gomod: Update modules that lack bump config
- f66e224 id3v2: In the wild COMM and TXXX frame might not have a null terminator
- b09d611 makes dictionary key type checking more sensible
- d07b2ee markdown,fuzz: Update gomarkdown
- 646f32d matroska: Fix path tests and make _tree_path more robust
- e748079 matroska: Update spec and regenerate
- 1c7d325 mod: Update ones without bump config
- 2de8753 mp3_frame: Fix issue calc frame size for some configs
- c3a0686 mp3_frame_tags: Refactor and rename xing format to mp3_frame_tags
- d75748d mp4: Decode more sample flags
- c93301f raw,bits,bytes: Replace raw format with bits and bytes format that decode to a binary
- b08e25c removes unnecessary cast
- 2b3adbe renames test data file
- 0cf46e1 wav,avi,avc_au: Add avi decoder and refactor wav decoder
- 2606916 yaml,fuzz: gojq.Normalize value to fix type panic