Commit Graph

316 Commits

Author SHA1 Message Date
Saxon 4aa71e901c codec/h264/h264dec: put function parameters on one line for parseTotalCoeffAndTrailingOnes 2019-09-09 16:41:26 +09:30
Saxon 61a5065556 codec/h264/h264dec: added functions to get TrailingOnes and TotalCoeff as well as testing
The functions firstly derive the value of nC and then read the value of coeff_token from the BitReader. The table read prior and loaded into
a 'map' is then used to get the corresponding values of TrailingOnes and TotalCoef.
2019-09-09 16:41:26 +09:30
Saxon ee9281925e codec/h264/h264dec: added functions for loading table 9-5 CSV into [nColumns]map[int]map[int][2]int with testing 2019-09-09 16:41:26 +09:30
Saxon e614633cbd codec/h264/h264dec: added CSV representation of table 9-5 from H.264 specifications 2019-09-09 16:40:42 +09:30
Saxon 245edafa68 codec/h264/h264dec: added binToInt function and test
This function will convert binary provided as a string and return as int.
2019-09-09 16:40:42 +09:30
Saxon Milton 614f42ec2c Merged in level-information (pull request #245)
codec/h264/h264dec: add function for parsing level information using process in section 9.2.2 of specifications

Approved-by: Alan Noble <anoble@gmail.com>
2019-09-09 06:56:59 +00:00
Saxon 31179205b9 codec/h264/264dec/decode.go: added decodePicOrderCnt to return topFieldOrderCnt and bottomFieldOrderCnt based on picOrderCntType
Also added placeholder for a general 'decode' function.
2019-09-09 16:18:39 +09:30
Saxon c0be9b1910 codec/h264/h264dec/decode.go: added picOrderCntType2 to derive topfieldOrderCnt and bottomFieldOrderCnt for when picOrderCntType == 2 2019-09-09 13:26:46 +09:30
Saxon 43118814fb codec/h264/h264dec/decode.go: added picOrderCntType1 to derive topfieldOrderCnt and bottomFieldOrderCnt for when picOrderCntType == 1 2019-09-09 13:03:11 +09:30
Saxon d92e0bfb5e codec/h264/h264dec/decode.go: wrote function picOrderCntType0 to handle derivation of TopFieldOrderCnt and BottomFieldOrderCnt when pic_order_cnt_type == 0 2019-09-09 11:59:41 +09:30
Saxon fbb98095a0 codec/h264/h264dec: embedded SliceHeader and SliceData into Slice type, and embedded SPS and PPS into VideoStream type 2019-09-09 11:08:48 +09:30
Saxon 46e7f9d303 codec/h264/h264dec/cavlc.go: simplified some logic regarding appending of values onto levelVal based on trailing_ones_sign_flag 2019-09-09 09:11:50 +09:30
Saxon 1eb1d10ac4 codec/h264/h2646dec: added decode.go file to hold slice decoding functionality 2019-09-08 14:09:08 +09:30
Saxon 960d41cb4f codec/h264/h264dec/cavlc.go: removed redundant if checks in parseLevelInformation 2019-09-08 13:31:10 +09:30
Saxon ce803ba488 codec/h264/h264dec: add function for parsing level information using process in section 9.2.2 of specifications 2019-09-06 17:45:23 +09:30
Trek Hopton f537da41f2 Merged in adpcm-chunks (pull request #237)
Added adpcm chunk length and ability to decode consecutive chunks

Approved-by: kortschak <dan@kortschak.io>
2019-08-28 03:30:02 +00:00
Saxon 838d5dd5d6 codec/h264/h264dec: added level_prefix parsing process and test 2019-08-28 10:09:27 +09:30
Saxon Milton 7f3f1a43f9 Merged in refresh-period (pull request #240)
revid: now have MinPeriod and ClipDuration params

Approved-by: Alan Noble <anoble@gmail.com>
2019-08-28 00:06:03 +00:00
Saxon 132059d26e codec/h264/h264dec/cabac.go: added binarization process for coded block pattern 2019-08-26 16:35:06 +09:30
Saxon d4fe1498f5 codec/h264/h264dec: moved CABAC encoding related stuff to cabacenc.go and cabacenc_test.go and corrected function names 2019-08-26 16:01:48 +09:30
Saxon b9cd6b3f13 container/mts/encoder.go: using NALTypeSPS from h264dec package 2019-08-26 09:24:18 +09:30
Saxon 817cc86a34 revid: now have MinPeriod and ClipDuration params
This change included a rename of IntraRefreshPeriod to MinPeriod, and the addition of the ClipDuration param. PSI are now written before IDR. Clips are no longer outputed
based on PSI but rather a time ClipDuration, where ClipDuration >= MinPeriod, however, PSI must still be at the beginning of each clip. Also created functionality to update
meta time even if we don't have a response to update.
2019-08-25 20:42:01 +09:30
Trek H 4e48a7aa09 adpcm: updated test file names 2019-08-21 16:20:11 +09:30
Trek H 4b8864ff20 adpcm: better decoding of chunks
added chunk length to chunk header
added to decoder the ability to decode consecutive chunks of variable length.
2019-08-21 15:39:58 +09:30
Saxon Milton 7ab8fd9e87 Merged in nalunit-test (pull request #224)
codec/h264/h264dec: added NAL unit parsing tests

Approved-by: Alan Noble <anoble@gmail.com>
2019-08-20 03:23:17 +00:00
Saxon Milton 13490e0145 Merged in slice-testing (pull request #225)
codec/h264/h264dec: added some testing for parsing found in slice.go

Approved-by: Alan Noble <anoble@gmail.com>
2019-08-20 02:53:00 +00:00
Saxon 0f35786d06 codec/h264/h264dec/slice_test.go: added license information to file header 2019-08-20 12:06:11 +09:30
Saxon bdcd340802 codec/h264/h264dec/slice_test.go: removed redundant comment 2019-08-20 12:02:39 +09:30
Saxon 27d8d0992c codec/h264/h264dec/slice.go: made corrections to file header 2019-08-20 11:56:42 +09:30
Saxon dab94f6ae2 codec/h264/h264dec: addressing PR feedback.
Updated comment. Put a space between file header and package declaration. Not dereferencing things
2019-08-20 11:39:12 +09:30
Saxon Milton e7f36162b1 codec/h264/h264dec/cabac_test.go: fixed indentation of Shawn's name in file header 2019-08-19 23:43:28 +00:00
Saxon Milton 2735f99f9c codec/h264/h264dec/cabac.go: fixed indentation of Shawn's name in file header 2019-08-19 23:41:56 +00:00
Saxon 657d62a10b codec/h2646/h264dec: added file headers for cabac.go and cabac_test.go 2019-08-20 09:07:55 +09:30
Saxon 9691b1346c codec/h264/h264dec: removed comment for unexported error message and bettered text 2019-08-20 08:59:18 +09:30
Saxon 04fef9ce1d codec/h264/h264dec: added fixedLenBinarization and testing 2019-08-20 08:58:16 +09:30
Saxon 1a5f07305d codec/h264/h2646dec/cabac.go: runcated=>truncated in truncUnaryBinarization comment 2019-08-20 08:04:17 +09:30
Saxon 4a2c3487c7 codec/h264/h264dec: got rid of unneeded closure and renamed suffix to s 2019-08-20 07:53:31 +09:30
Saxon 08d3f6c3d1 codec/h264/h264dec: made absi faster and more readable 2019-08-20 07:53:31 +09:30
Saxon a7abd76113 codec/h264/h264dec: made mini faster and more readable 2019-08-20 07:53:31 +09:30
Saxon 4e29a70b78 codec/h264/h264dec: made maxi faster and more readable 2019-08-20 07:53:31 +09:30
Saxon a4130404fd codec/h264/h264dec: added truncUnaryBinarization and unaryExpGolombBinarization functions both with testing 2019-08-20 07:53:30 +09:30
Saxon 336aa73107 codec/h264/h264dec: wrote UnaryBinarization function and TestUnaryBinarization 2019-08-20 07:53:30 +09:30
Saxon 806264cd42 codec/h264/h264dec/slice.go: added comment to slice type consts to reference specifications 2019-08-19 16:24:53 +09:30
Saxon 6d06fab39f codec/h264/h264dec: added subMbTypeBinarization and TestSubMbTypeBinarization 2019-08-15 00:31:48 +09:30
Saxon cd83cf9e8e codec/h264/h2646dec: fixed up binarization tables and added mbTypeBinarization function along with test TestMbTypeBinarization. 2019-08-15 00:31:12 +09:30
Saxon ba6ecc2902 codec/h264/h264dec: added tables from reference implementation which are adapted tables from tables 9-12 to 9-33 of specifications for use in CABC initialisation 2019-08-06 14:21:52 +09:30
Saxon 150492a5bd codec/h264/h264dec: merged in master and fixed resultant problems 2019-08-05 14:41:26 +09:30
Saxon 2473b9ee0a codec/h264/h264dec: fixed some bugs found by testing 2019-08-05 13:59:08 +09:30
Saxon Milton 401f75a712 Merged in vui-hrd-parameters-types (pull request #217)
codec/h264/h264dec: separated VUI and HRD from SPS struct
2019-08-05 04:18:59 +00:00
Saxon 951d9dd244 codec/h264/h264dec: merged in master, fixed conflicts and problems that that resulted 2019-08-05 13:46:02 +09:30
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