Commit Graph

276 Commits

Author SHA1 Message Date
Saxon c42d58ea85 codec/mjpeg/jpeg.go: componenting consts for SOF0 and SOS headers 2020-01-03 19:38:30 +10:30
Saxon ac23e126e3 codec/mjpeg/jpeg.go: defining consts for SOS header fields 2020-01-03 19:38:30 +10:30
Saxon 6bdfdb1f2a codec/mjpeg/jpeg.go: defining consts for SOF0 header fields 2020-01-03 19:38:30 +10:30
Saxon 1d0c10a402 codec/mjpeg/jpeg.go: defining consts for JFIF header 2020-01-03 19:38:30 +10:30
Saxon 6f8300fdfb codec/mjpeg/utils.go: added TODO in file header DESCRIPTION field to make stuff in this file exported in codecutil 2020-01-03 19:38:30 +10:30
Saxon 423a5c12c4 codec/mjpeg: renamed putBuffer.putBuf to putBytes 2020-01-03 19:38:30 +10:30
Saxon 4c04cc033a codec/mjpeg/jpeg.go: renamed fields of putBuffer struct 2020-01-03 19:38:30 +10:30
Saxon e8fd1a8661 codec/mjpeg/jpeg.go: made JFIF header label local const 2020-01-03 19:38:30 +10:30
Saxon 029a59fc78 codec/mjpeg/jpeg.go: improve Context struct field names 2020-01-03 19:38:30 +10:30
Saxon ef699451d5 codec/mjpeg: renamed Ctx type to Context and name value of this type ctx instead of c 2020-01-03 19:38:30 +10:30
Saxon 7c8ba0ae4b codec/mjpeg/utils.go: using BigEndian.Uint16 in get16 2020-01-03 17:15:06 +10:30
Saxon 657ed2f277 codec/mjpeg/jpeg.go: renamed ParseScan to ParsePayload, updated call and comment 2020-01-03 17:15:06 +10:30
Saxon d4deb5b641 codec/mjpeg/jpeg.go: Fixed comment for Ctx struct 2020-01-03 17:15:06 +10:30
Saxon db0e292507 codec/mjpeg/extract.go: simplified error message when can't get RTP payload 2020-01-03 17:15:06 +10:30
Saxon 341af70d81 codec/mjpeg/jpeg.go: fixed indentation on file header 2020-01-03 17:15:06 +10:30
Saxon 7587a15fbf codec/mjpeg/jpeg.go: fixed indentation in file header 2020-01-03 17:15:06 +10:30
Saxon e1e890d49e codec/mjpeg/extract.go: corrected comment for Extractor.dst field 2020-01-03 17:15:06 +10:30
Saxon 398543ac8e codec/mjpeg: tidying up
Separated my code from code that was ported from ffmpeg (differen copyright). Also added utils.go file to house the putBuffer and bytestream types. Reduced copying and use of bytes.Buffer.
Instead expanded putBuffer functionality so that I can use this throughout process (reduce copying from buffer to buffer).
2020-01-03 17:15:06 +10:30
Saxon 2d824707ee Fixed bugs, now working 2020-01-03 17:15:06 +10:30
Saxon f0f401ab8c codec/mjpeg/extract.go: wrote Extractor type
Wrote extractor type that provides an Extract function to extract JPEG frames from an RTP/MJPEG stream and writes them to a destination.
2020-01-03 17:15:05 +10:30
Saxon 0ae133d7fb codec/mjpeg/jpeg.go: added writeHeader function to write JPEG header
This also included the addition of some lunimance and chrominance tables, a multiError type (implements error) and a putter type, that will put uint16s, bytes and "buffers" into a byte
slice.
2020-01-03 17:15:05 +10:30
Saxon 238771459b codec/mjpeg/jpeg.go: added writeHuffman function to write JPEG huffman tables to an io.Writer. 2020-01-03 17:15:05 +10:30
Saxon db877fd934 codec/mjpeg/jpeg.go: added putMarker function to write JPEG marker codes to an io.Writer 2020-01-03 17:15:05 +10:30
Saxon c6252195af codec/mjpeg: added jpeg.go file to hold JPEG specific stuff and added some JPEG marker codes. 2020-01-03 17:15:05 +10:30
Scott e116e197ae Changed all %v's to %w's where appropriate 2019-12-04 14:12:20 +10:30
Trek H cd63d0d95a alsa: unexported ringbuffer chunksize
Chunksize can be calculated without needing an ALSA device instance.

Added a DataSize function to pcm package for calculating size of pcm data given relevant attributes.

Removed ChunkSize from config revid config struct.

Changed NewByteLexer to accept an in rather than a pointer.
2019-11-13 19:56:13 +10:30
Trek H 796a3b9a97 pcm: changed term clip to buffer 2019-11-13 16:54:41 +10:30
Trek H 3a7c2c5c5e pcm: removed unused sample formats 2019-11-13 14:00:52 +10:30
Trek H 678245c634 pcm: fix string format 2019-11-13 12:30:48 +10:30
Trek H 5e472ba4c9 pcm: refactored to be general not alsa only
Addition of new structs and helper functions for passing around pcm clips/buffers and their formats so that we don't have to import and rely on yobert/alsa code.

Updated any commands and alsa package to use refactored code.
2019-11-12 21:24:08 +10:30
Saxon 47f6dcfe51 codec/h264/extract.go: extracter->extractor everywhere 2019-10-28 08:41:49 +10:30
Saxon Milton 392ed399d9 Merged in use-gvctrl-in-revid (pull request #266)
Use gvctrl in revid

Approved-by: Alan Noble <anoble@gmail.com>
2019-10-25 01:27:05 +00:00
Saxon 529ca0d547 codec/h264/extract.go: simplified switch 2019-10-23 14:38:18 +10:30
Saxon 38cfad7b67 revid: fixing some more bugs
Fixed H264 RTP extractor. Fine tuned some timing regarding geovision setup. Added some more
logging to geovision setup.
2019-10-23 12:48:22 +10:30
Saxon f336a03d7a revid: general bug fixing
Use http instead of https in gvctrl getLogin request. Gave RTP client a close method so that the conn can
be closed after we're done with the client. Put timeout on reading from the RTP client PacketConn so that
we don't hang on the ReadFrom call if the conn is closed. Closing the RTSP and RTP clients when
startRTSPCamera is returned.
2019-10-22 23:04:33 +10:30
Saxon Milton 38eed6bb2d Merged in fix-mjpeg-lex (pull request #261)
codec/mjpeg/lex.go: returning nil error from Lex if we get io.EOF on reading bytes

Approved-by: Alan Noble <anoble@gmail.com>
2019-10-20 02:24:45 +00:00
Saxon 7181532ccb codec/mjpeg/lex.go changed error checks for io.EOF to positive checks 2019-10-20 09:08:19 +10:30
Saxon 9087f727db codec/h264/extract_test.go: fixed testing for extractor 2019-10-07 16:12:30 +10:30
Saxon fc4e88bce6 fixed bugs causing problems with GeoVision H264 RTMP to youtube streaming.
Two fixes were involved, firstly, access unit delimeters were used to denote access units and the Write timeout on rtmpSender's ringBuffer was
increased to stop the 'unable to dump old write' errors. Also made some small changes elsewhere that should fix future issues, particular with
MTS output.
2019-10-07 14:18:20 +10:30
Saxon 1c9146eec0 codec/mjpeg/lex.go: returning nil error from Lex if we get io.EOF on reading bytes 2019-10-03 00:32:34 +09:30
Saxon 2d5d8f3bdd codec/codecutil/helpers.go: added ADPCM support to SIDToMIMEType 2019-10-01 21:01:45 +09:30
Saxon 2acc729676 codec/codecutil/helpers.go: added helpers.go file with SIDToMIMEType function to provide MIME type given a stream ID 2019-10-01 21:01:45 +09:30
Saxon Milton f8f78947f9 Merged in picture-order-count (pull request #249)
codec/h264/h264dec/decode.go: decoding process for picture order count

Approved-by: Alan Noble <anoble@gmail.com>
2019-09-20 02:37:33 +00:00
Saxon Milton 1fba7556dd Merged in total-coeff-and-trailing-ones (pull request #243)
codec/h264/h264dec: parsing process for TotalCoeff and TrailingOnes

Approved-by: Alan Noble <anoble@gmail.com>
2019-09-20 00:38:58 +00:00
Saxon 4c7f36ee36 codec/h264/h264dec/decode.go: slightly simplified if-else statements regarding BottomField and FieldPic 2019-09-18 19:41:32 +09:30
Saxon 117a75ae55 codec/h264/h264dec: simplified logic where there are things applicable to non-IDRs, which we don't handle yet. 2019-09-16 22:07:57 +09:30
Saxon 89452d55d3 codec/h264/h264dec/cavlc.go: simplified logic in loop to count leading zeros in formCoeffTokenMap 2019-09-13 11:21:00 +09:30
Trek H 2c7e28206d Merge branch 'master' into adpcm-mts 2019-09-12 21:11:50 +09:30
Trek H 96035f6d8b adpcm and mts: comments and pid change 2019-09-12 19:16:11 +09:30
Saxon ecdaab175b codec/h264/parse.go: skip over access unit delimiters when getting nalType 2019-09-11 09:47:37 +09:30