Commit Graph

272 Commits

Author SHA1 Message Date
Saxon 445649311b codec/h264/h264dec/cavlc.go: added process to comgine level and run information 2019-09-09 17:05:22 +09:30
Saxon 05e16ec260 codec/h264/h2646dec/cavlc.go: fixed build error caused by rebase 2019-09-09 16:48:10 +09:30
Saxon d78ca2d2d2 codec/h264/h264dec/cavlctab.go: commented const string representation of table 9-5. 2019-09-09 16:41:26 +09:30
Saxon 42a1918c0d codec/h264/h264dec: using const string instead of CSV file to hold table 9-5. Also made some other minor improvements 2019-09-09 16:41:26 +09:30
Saxon 92eb3e85a5 codec/h264/h264dec: created tokenMap type to make things more readable 2019-09-09 16:41:26 +09:30
Saxon 8316a621b9 codec/h264/h264dec/cavlc.go: fix comment inside parseTotalCoeffAndTrailingOnes 2019-09-09 16:41:26 +09:30
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