Commit Graph

366 Commits

Author SHA1 Message Date
Saxon 95a5ce0ac0 codec/h264/h264dec: wrote TestDecRefPicMarking and fixed bugs 2019-08-05 10:40:20 +09:30
Saxon c2ac8cff24 codec/h264/h264dec: added TestNewPredWeightTable 2019-08-05 01:17:19 +09:30
Saxon b6eb39f4e0 codec/h264/h264dec: started added TestNewPredWeightTable 2019-08-05 00:18:15 +09:30
Saxon 34ce81370d codec/h264/h264dec: added file headers to slice.go and slice_test.go 2019-08-04 13:45:28 +09:30
Saxon 21603750aa codec/h264/h264dec/slice_test.go: added TestNewRefPicListModification with a single test 2019-08-04 13:40:53 +09:30
Saxon a94109e286 codec/h264/h264dec: fixed newRefPicListModification 2019-08-04 12:59:13 +09:30
Trek H 3f29f0c84e Merge branch 'master' into revid-audio 2019-08-02 23:32:21 +09:30
Trek H e63b51e24f codec-util: removed newticker helper 2019-08-02 23:26:15 +09:30
Saxon Milton 3f1c09a671 Merged in slice-modularisation (pull request #218)
codec/h264/h264dec: SliceHeader modularisation
2019-08-01 11:25:14 +00:00
Saxon 344d37cd29 codec/h264/h264dec/nalunit_test.go: added file header 2019-08-01 02:41:20 +09:30
Saxon 311c44f55c codec/h264/h264dec: fixed problem with test 2019-08-01 02:37:34 +09:30
Saxon 42d57eb044 Merge branch 'master' into nalunit-test 2019-08-01 02:29:08 +09:30
Saxon 5185a70bbe codec/h264/h264dec: added TestNewNALUnit but broken, need to fix 2019-08-01 02:28:29 +09:30
Saxon d5776c4496 codec/h264/h264dec: added TestNewSVCExtension 2019-08-01 01:00:41 +09:30
Saxon aab3473abf codec/h264/h264dec: fixed bug in tests 2019-08-01 01:00:41 +09:30
Saxon 96377f8788 codec/h264/h264dec/nalunit_test.go: added TestNewThreeDAVCExtension 2019-08-01 01:00:41 +09:30
Saxon 48955967e0 codec/h264/h264dec/nalunit_test.go: added TestNewMVCExtension 2019-08-01 01:00:18 +09:30
Saxon 0b21b7a8c4 codec/h264/h264dec/read_test.go: added file header 2019-07-31 22:40:10 +09:30
Saxon 9239676214 codec/h264/h264dec: merged in master and removed additional binToSlice func 2019-07-31 22:39:20 +09:30
Saxon e839a8ae57 Merge branch 'master' into pps-testing 2019-07-31 22:38:43 +09:30
Saxon 547e9f22ae codec/h264/h264dec/helpers.go: added helpers.go file and binToSlice func for converting binary string to a []byte 2019-07-31 22:35:09 +09:30
Saxon 2906e82adc codec/h264/h264dec/pps_test.go: added file header 2019-07-31 22:08:03 +09:30
Saxon 84dfbfa2fd codec/h264/h264dec: merged in master and fixed conflict 2019-07-31 22:05:35 +09:30
Saxon 7a4ee894d4 codec/h264/h264dec/sps.go: commented fields of syntax structures 2019-07-31 20:25:38 +09:30
Saxon 1d6c501bb8 codec/h264/h264dec: fixed field types in sps.go and corrected code after merge of master into branch 2019-07-30 10:16:08 +09:30
Saxon 8e8dbbaec6 Merge branch 'master' into vui-hrd-parameters-types 2019-07-29 14:20:11 +09:30
Saxon 520ead0c6c codec/h264/h264dec/nalunit.go: using consts for NAL unit types check in newNALUnit 2019-07-29 14:08:59 +09:30
Saxon 8e1e84d311 codec/h264/h264dec/bits: removed ReadBitsInt and ReadBool as not required anymore 2019-07-29 13:43:03 +09:30
Saxon 6c69174303 codec/h264/h264dec: change field types to types more consistent with specs and now using fieldReader to read fields of syntax structures 2019-07-29 13:41:40 +09:30
Saxon 23d9f289dd codec/h264/h264dec: fixed field types for NalUnit and now using fieldReader in NewNALUnit 2019-07-29 13:04:59 +09:30
Saxon 03813d5a89 Merge branch 'master' into nal-extension-types 2019-07-29 12:49:54 +09:30
Saxon 430e56e22b codec/h264/h264dec: fixed readBits return type 2019-07-29 12:35:01 +09:30
Saxon 75a6df5da5 codec/h264/h264dec: removed readBitsInt and readBool 2019-07-29 12:33:14 +09:30
Saxon 9f47b22a84 codec/h264/h264dec: moved fieldReader to parse.go and wrote methods for reading other descriptor types like ue and te. 2019-07-27 13:59:12 +09:30
Saxon 404e6493b6 codec/h264/h26dec/read.go: added fieldReader type to provide sticky error and specific methods for bool and int reading 2019-07-27 13:37:57 +09:30
Saxon 6779fa3cb6 codec/h264/h264dec: commenting for NAL uni syntax structure fields 2019-07-27 12:26:30 +09:30
Saxon 513ac67ad9 codec/h264/h264dec: added tests for pps parsing found in pps.go and made necessary changes
Changes to get successful parsing included modification to moreRBSPData, and as a result
the Off function from the bits.BitReader. A couple of basic PPS tests have been added, but
more should be added once we know the scaling list parsing works.
2019-07-23 16:38:35 +09:30
Saxon 0240c4c5f7 codec/h264/h264dec: wrote DecRefPicMarking type with constructor and gave to SliceHeader type 2019-07-22 15:13:18 +09:30
Saxon c193853015 codec/h264/h264dec: wrote PredWeightTable type with constructor and gave to SliceHeader struct 2019-07-22 14:01:23 +09:30
Saxon 47d0c300fc codec/h264/h264dec: created RefPicListModification type with constructors and separated from SliceHeader type 2019-07-22 12:56:37 +09:30
Saxon a755ccfc58 codec/h264/h264dec: separated VUI and HRD from SPS struct
Took out all VUI and HRD parameters from the SPS struct and gave them their own structs - VUIParameters and HRDParameters, along with 'contructors'
NewVUIParameters and NewHRDParameters to parse from a bits.BitReader and populate the fields of the struct.
2019-07-21 22:11:27 +09:30
Saxon 865c1676da codec/h264/h264dec: wrote explantory comment for neglectance of io.EOF error when peeking in RBSP parsing process 2019-07-21 21:22:55 +09:30
Saxon 4d65d0d433 codec/h264/h264dec: fixed random build errors 2019-07-19 20:58:01 +09:30
Saxon 278c6f2ef1 codec/h264/h264dec/nalunit.go: added commenting 2019-07-19 20:51:48 +09:30
Saxon bdf3b37fef codec/h264/h264dec: fixed import path for bits package 2019-07-19 20:23:30 +09:30
Saxon ee12e4e90e codec/h264/h264dec: merged in master an fixed conflicts 2019-07-19 20:22:25 +09:30
Saxon f11ba2b433 codec/h264/h264dec: renamed NalUnit function to NewNALUnit and cleaned it up 2019-07-19 20:20:33 +09:30
Saxon 24f6b2d12f codec/h264/decode: added MVCExtension type and NewMVCExtension func 2019-07-19 18:04:51 +09:30
Saxon e54bc234c8 codec/h264/decode: added ThreeDAVCExtenstion type and NewThreeDAVCExtension function 2019-07-19 17:50:45 +09:30
Saxon 0d9861c49e codec/h264/decode: added SVCExtension struct with NewSVCExtension function 2019-07-19 17:37:54 +09:30
Saxon 16b4d570b6 codec/h264/h264dec/bits/bitreader.go: added ReadBool and ReadBitsInt methods 2019-07-19 17:25:57 +09:30
Saxon 3914bc1422 codec/h264/h264dec: fixed import paths 2019-07-19 15:44:45 +09:30
Saxon 5d31c49360 code/h264/h264dec: removed go module stuff 2019-07-19 15:21:17 +09:30
Saxon ce3d98bd3b codec/h264/h264dec: changed packages from h264 to h264dec 2019-07-19 15:20:39 +09:30
Saxon f7b1f2f7b8 codec/h264: decode pakage renamed to h264dec 2019-07-19 15:19:15 +09:30
Saxon ca717dddaf codec/h264/decode: giving parsing function calls BitReaders instead of nil 2019-07-19 14:36:50 +09:30
Saxon 4a9da74ff0 codec/h264/decode: did not copy over most up to date version from old repo, so fixing that 2019-07-19 13:29:10 +09:30
Saxon 04de967aa8 h264: renamed files to make more go like 2019-07-19 12:09:30 +09:30
Saxon f856671ee7 codec/h264: added mrmod h264decode pkg to our av/codec/h264 dir 2019-07-18 14:02:42 +09:30
Trek H 8518d931c6 codecutil: made zeroTicks global 2019-07-15 17:55:42 +09:30
Trek H eb4a325981 codecutil: removed unused code 2019-07-15 15:32:42 +09:30
Trek H 72d56e31ee codecutil: updated logic for 0 delay lexing 2019-07-15 15:17:16 +09:30
Trek H be389fca6e syntax and style changes 2019-07-11 14:54:06 +09:30
Saxon dae6151bae codec/h264: removed decode folder (shouldn't have been on master branch) 2019-06-27 13:57:30 +09:30
Saxon 611dbd14be codec/h264: added decode folder, decode/parse.go and first function in parse.go.
Added decode folder which will contain the h264 decoder and utilities. Added first file parse.go, which contains parsing
processes for syntax elements.
2019-06-23 23:58:05 +09:30
Trek H 95fc69b3c5 audio: syntax and error checking 2019-06-20 18:04:58 +09:30
Trek H 2d5ba8cd8f audio: added validate functions for device config 2019-06-18 18:35:45 +09:30
Trek H 6dd70639fe audio: removed bufSize arg in Lex funcs and use ByteLexer 2019-06-18 17:24:32 +09:30
Trek H b418944daa codecutil: added ByteLexer struct for configuring buffer size 2019-06-18 14:50:36 +09:30
Trek H fb12a2f69e pcm, audio: style changes 2019-06-17 13:29:01 +09:30
Trek H 01561e363d codecutil and audio: tests written using test tables 2019-06-14 19:49:49 +09:30
Trek H e3ba1e43f3 Merge branch 'master' into revid-audio 2019-06-14 00:15:04 +09:30
Trek H 9fe09255be audio and revid: changes for pr
added license to lex.go
changed pcm functions to return alsa.Buffers
style, syntax and clarification added to audio.go
new method of finding buffersize in audio.go uses a new function called nearestPowerOfTwo
2019-06-13 23:35:52 +09:30
Saxon 2640b1b615 Merge branch 'h264-rtp-lexer' 2019-06-07 02:00:41 +09:30
Saxon ce457e1d95 should have been in last commit 2019-06-07 02:00:31 +09:30
Saxon Milton 499a26c09f Merged in h264-rtp-lexer (pull request #202)
codec/h264: added RTPLexer

Approved-by: Alan Noble <anoble@gmail.com>
2019-06-06 16:02:04 +00:00
Saxon fa128d1809 codec/h264: renamed RTPLexer to Extracter
Renamed the RTPLexer to Extracter, renamed NewRTPLexer to NewExtracter and renamed Lex to Extract. Put Extracter and accompanying methods in file extract.go.
Put tests relating to Extracter in extract_test.go.
2019-06-07 01:27:31 +09:30
Trek H 96c1b51173 revid and audio: seperated audio into own package
audio device input is now handle in its own package which resides in the new input directory
a list of codecs was added to codecutil package to help with multiple packages using the same codecs
2019-06-06 02:09:55 +09:30
Trek H bea747085f revid: updated lex funcs in tests, changed audioDevice logger
Since adding the extra bufSize arg to Lex functions, the test functions using them needed to be updated.
NewAudioDevice was changed to accept a logger to log to instead of creating a new one.
2019-06-04 12:28:40 +09:30
Trek H 409dcabe0a revid: added codec conversion after recording 2019-06-04 02:31:35 +09:30
Trek H 90c34c4108 revid: fixed issues after merge 2019-06-03 18:35:28 +09:30
Trek Hopton 0da410166f Merged in adpcm-nonblock (pull request #191)
Changed adpcm to not use blocks

Approved-by: kortschak <dan@kortschak.io>
2019-05-30 11:44:00 +00:00
Saxon aad0c54039 codec/h264/lex_test.go: removed unnecessary conversion 2019-05-30 19:06:50 +09:30
Saxon 20d5f9605f codec/h264/lex.go: checking NAL packet lengths 2019-05-30 19:05:08 +09:30
Saxon 8b7c62602f codec/h264/lex.go: made nalType if statement in RTPLexer.Lex more go like 2019-05-30 18:49:27 +09:30
Trek H 762653b59a adpcm: naming and syntactical changes 2019-05-29 02:57:17 +09:30
Saxon 1df0d214c9 revid/revid.go: fixed merge conflicts 2019-05-27 15:00:41 +09:30
Saxon Milton 4b74ea3291 Merged in revid-rtsp-camera (pull request #200)
revid: RTSP Camera Input

Approved-by: Alan Noble <anoble@gmail.com>
2019-05-27 05:16:59 +00:00
Saxon 0ee6e86638 codec/h264/lex.go: fixed bug in handleFUA 2019-05-27 14:23:33 +09:30
Saxon 85a5f043c8 codec/h264/lex.go: removed FUIndicatorIdx const in handleFUA 2019-05-27 14:08:44 +09:30
Saxon a39cd31a57 codec/h264/lex.go: added spec link for nal type consts 2019-05-27 14:07:04 +09:30
Saxon 5b970823ef codec/h264/lex_test.go: renamed t to tmp in destination.Write() 2019-05-24 10:41:18 +09:30
Saxon 41f442437d codec/h264/lex_test.go: improve comment for rtpReader struct 2019-05-24 10:40:17 +09:30
Saxon e158101170 codec/h264/lex_test.go: fixed Saxon Nelson-Milton author indentation in file header 2019-05-24 10:38:54 +09:30
Saxon 5dfff61887 codec/h264/lex.go: merge logic for start end packet writing into first if 2019-05-24 10:38:06 +09:30
Saxon 04cd2e66ff codec/h264/lex.go: updated comment for RTPLexer.handleFUA() 2019-05-24 10:36:30 +09:30
Saxon 930c35a154 codec/h264/lex.go: udpated comment for RTPLexer.handleSTAPA 2019-05-24 10:36:00 +09:30
Saxon e1fd6837ef codec/h264/lex.go: updated comment for RTPLexer.Lex() 2019-05-24 10:34:52 +09:30
Saxon b49e65d928 codec/h264/lex.go: commented buffer size consts 2019-05-24 10:33:34 +09:30
Saxon 35069bd4f3 codec/h264/lex.go: using if and else statements rather than switch for start and end indicator logic in handleFUA 2019-05-23 13:55:25 +09:30
Trek H a1fe6c6deb adpcm: encoder and decoder structs are now exported 2019-05-22 15:10:02 +09:30
Saxon 0e7504374e codec/h264: fixed some minor naming and comment spelling 2019-05-22 15:09:54 +09:30
Saxon 722ddc6ccb codec/h264/lex_test.go: added test for RTPLexer.Lex(...) and also fixed some build errors 2019-05-22 14:49:25 +09:30
Saxon ceb15e53c3 codec/h264/lex.go: wrote lexer for lexing h264 access units from RTP stream 2019-05-22 12:23:29 +09:30
Saxon c0b5724ea7 Merge branch 'master' into h264-rtp-lexer 2019-05-22 11:10:03 +09:30
Saxon 980cf8da21 codec: H264 and MJPEG lexers now using codecutil package for byte scanner functionality 2019-05-22 11:07:39 +09:30
Saxon 91d2697a55 revid: general clean up 2019-05-21 01:48:29 +09:30
Saxon 970a445ca4 codec/h265/lexer.go & protocol/rtp/client.go: fixed lexer and rtp client.
The lexer had a bug which is now fixed, and the RTP client is no longer looking for SSRC
in rtp.NewClient (which means we miss a packet).
2019-05-20 20:49:50 +09:30
Saxon 819b4a122f codec/h264: renamed Lex to LexFromBytestream 2019-05-19 21:44:23 +09:30
Saxon f52acc7efb codec/h264: fixed comment for Lex 2019-05-19 21:38:05 +09:30
Saxon Milton eaba622909 Merged in separate-codecs (pull request #188)
codec: created h264 and mjpeg packages to house lexers

Approved-by: Alan Noble <anoble@gmail.com>
2019-05-19 11:46:33 +00:00
Saxon 0567a81757 codec/h265: removed unnecessary allocation in handle fragmentation 2019-05-19 21:14:41 +09:30
Saxon abd41d9f01 codec/h265/lex_test.go: fixed TestLex to account for previous changes 2019-05-19 20:45:26 +09:30
Saxon a2d1b09e92 codec/h265: fixed lexer to get nal header into start of fragment
Now getting the nal header and type from fu header for the first fragment. We can now
lex and create HEVC MTS to RTP - working fine. Need to use RTCP now to continue stream.
2019-05-19 17:21:41 +09:30
Trek H 5e4a2fb866 adpcm: naming 2019-05-17 00:58:40 +09:30
Trek H a6d6a22b82 adpcm: changed enc and dec to use io.Writer as dst
also reordered encoder and decoder functions and remove old block consts
2019-05-17 00:52:36 +09:30
Saxon 92d4c5f79a container/mts/encoder.go: generalising stream id logic 2019-05-16 16:41:52 +09:30
Saxon Milton 6b64314d71 Merged in h265-lexer (pull request #189)
codec/h265: h265 lexer and testing
2019-05-13 07:41:17 +00:00
Saxon 8a44b10864 codec/h265/lex.go: fixed indentation in file header 2019-05-11 21:26:42 +09:30
Saxon 83c0a1464f codec/codecutil: fixed file names in file headers and add package comment. 2019-05-10 14:39:47 +09:30
Saxon ae8ced3a19 codec/codecutil: byte-scanner.go -> bytescanner.go and byte-scanner_test.go -> bytescanner_test.go 2019-05-10 13:55:32 +09:30
Saxon 1fb4381b8e codec/lex/lex_test.go: rtpRead.Read() checks for incomplete reads of packets buffer and resizes accordingly 2019-05-09 14:35:21 +09:30
Saxon c31c76e1f5 codec/h265/lex.go: renamed marker to markerIsSet 2019-05-09 14:15:11 +09:30
Saxon cbbe74b34a codec/codecutil/byte-scanner.go: renamed Scanner type to ByteScanner 2019-05-09 13:51:59 +09:30
Saxon 0effbae4f6 codec: renamed codeutils to codecutil 2019-05-09 13:48:33 +09:30
Saxon d703038b75 codec/codecutils: removed intermmediate directory bytescan, and renamed scanner.go to byte-scanner and scanner_test.go to byte-scanner_test.go 2019-05-09 13:47:52 +09:30
Saxon 31d756fef2 codec/h265/lex_test.go: corrected comment for TestLex 2019-05-09 12:10:46 +09:30
Saxon ef16a82edb codec/h265/lex_test.go: for rtpReader.Read() getting number of bytes read from copy and using that in return 2019-05-09 12:09:54 +09:30
Saxon e44d936315 codec/h265: got rid of _d in handleFragmentation 2019-05-09 12:07:46 +09:30
Saxon 6435b3c55f codec/h265: using idx++ rather than idx += 1 in handleAggregation 2019-05-09 12:03:40 +09:30
Saxon 149f91f44d codec/h265: fixed handleAggregation func comment 2019-05-09 12:03:06 +09:30
Saxon 461533199d codec/h265: renamed RTP marker from m to marker 2019-05-09 12:02:23 +09:30
Saxon 449f8bf151 codec/h265: commented 'do nothing' on nil read error in Lex 2019-05-09 12:01:05 +09:30
Saxon 382acb54cf codec/h265: updated comment for NewLexer 2019-05-09 12:00:17 +09:30
Saxon 7dc2bdfded codec/h265: added package comment 2019-05-09 11:59:20 +09:30
Trek H 29e49a7a1c adpcm, pcm: updated documentation 2019-05-08 20:04:40 +09:30
Trek H 9fadb47902 adpcm: naming and documentation 2019-05-06 18:02:17 +09:30
Trek H 0570d7823d adpcm: using consts where needed 2019-05-06 17:56:34 +09:30
Saxon 478db11ecc codec: file descriptions under file header so that they are put in godoc 2019-05-06 15:47:51 +09:30
Trek H c27a726831 adpcm: updated BytesOutput function to account for padding 2019-05-05 18:46:03 +09:30
Trek H 60d789e697 adpcm: updated tests to use new test files 2019-05-05 18:08:50 +09:30
Saxon 314a8dab9a codec: updated commenting and file header descriptions for files in h265 and mjpeg packages 2019-05-03 19:52:23 +09:30
Saxon 2f733cc468 codec: added codecutils/bytescan package 2019-05-03 19:36:34 +09:30
Saxon 85ece7d1ed codec/h265: using bytes.Buffer instead of custom solution 2019-05-02 00:48:57 +09:30
Saxon 659be05a1f codec/h264: using table based testing, and now also testing for when DON is being used. 2019-05-02 00:15:24 +09:30
Trek H ef9a38cb76 adpcm: length check before initialization 2019-05-02 00:02:33 +09:30
Trek H d06388cfe9 adpcm: added overflow checks, improved initialization, naming 2019-05-01 23:53:08 +09:30
Saxon a11b5b4857 codec/h265: fixed lex_test.go file header 2019-05-01 23:20:25 +09:30
Saxon 80ed0d2e1c codec/h265: made test data more compact. 2019-05-01 23:19:16 +09:30
Saxon c15894dc12 codec/h265: completed lex_test.go and fixed bugs in lex.go 2019-05-01 16:45:22 +09:30
Saxon 90995dff6a codec/h265: removed h265_test.go 2019-05-01 13:45:32 +09:30
Saxon 90533d08f4 codec/h265: added lex_test.go 2019-05-01 13:45:08 +09:30
Saxon 2da0a7d39a codec/h265: implemented handleFragmentation 2019-04-30 18:08:41 +09:30
Saxon 299b13b691 codec/h265: started writing lexer
Started writing lexer for h265. Wrote type Lexer as we required a data struct we can initialize before starting the lexing process, with for example, information regarding the presense of DONL and
DOND. Wrote handler for aggregation packet. Still need to do fragmentation packet.
2019-04-30 16:38:23 +09:30
Trek H b412b75fc6 adpcm: fixing offset error 2019-04-26 23:54:05 +09:30
Saxon 32621f0cfe av: fixed build errors 2019-04-26 20:46:43 +09:30
Saxon b42e7f9b13 codec: created h264 and mjpeg packages to house lexers 2019-04-26 20:31:12 +09:30
Trek H c089980175 adpcm: added function for calculating number of adpcm bytes output per given pcm bytes 2019-04-26 20:28:53 +09:30
Trek H a9b1891bbb adpcm: fixed merge error 2019-04-26 20:02:38 +09:30
Trek H 2fd8d8de1b Merge branch 'adpcm-nonblock' of https://bitbucket.org/ausocean/av into adpcm-nonblock 2019-04-26 20:01:48 +09:30
Trek H e55cc27a55 adpcm: changed adpcm to not have blocks of fixed size 2019-04-26 19:58:30 +09:30
Trek H d136d13e38 adpcm: modified the adpcm encoding and decoding to not use blocks 2019-04-26 19:49:05 +09:30
Trek H f597a04289 pcm: changed location to codec 2019-04-09 15:42:44 +09:30
Saxon 937f54f418 av: fixed conflicts with master 2019-03-28 11:03:05 +10:30
Saxon 5366eca2f2 av: fixed imports 2019-03-25 11:51:03 +10:30
Saxon 3a736172ee av: restructured directories 2019-03-25 11:34:56 +10:30