arcturus-industries / arcfile

ARC file: A data format for 3D vision researchers and developers
MIT License
20 stars 3 forks source link

improve tests with assert and a test for flatbuffers as well as add HEVC support for both recording and the CLI extractor #8

Closed abryden closed 3 years ago

abryden commented 3 years ago

Starting to look at H264/H265 support. Considering extending the capture application to support the choice of protobuf and flatbuffers. As part of this extended the tests to make sure flatbuffers are working as intended.

abryden commented 3 years ago

Converting to a draft since I'm attempting to get Initial HEVC support in this PR.

abryden commented 3 years ago

As of now this uses Vikas' code to encode H265/HEVC but only serializes the actual H265 frame and not the header/attachments. I'll add a discussion of this over in the discussions section but will likely go ahead and add a header section to the protobuf and flatbuffers definitions barring any objections.

jrpowers commented 3 years ago

Thanks Aaron! One small issue I spot is that there are still some "Copyright © 2020 Vikas Reddy. All rights reserved" in the LT files (LT is the abbreviation of his company name LightTwist).

We should definitely make sure to credit Vikas but I think we should remove that copyright line and probably rename the files away from LTXXX just to avoid confusion.

LightTwist commented 3 years ago

Looks good to me, I could see having a setting to force HW encode and decode on OSX (see comment inline on decode).

abryden commented 3 years ago

Looks good to me, I could see having a setting to force HW encode and decode on OSX (see comment inline on decode).

Thanks! Got the copyright and naming changes in. Working on testing HW decode and encode. I'll report back once I have some evidence on numbers.

Edit: I had a hard time showing a time improvement on hardware decode. I suspect the JPEG encoding in the CLI utility dominates the performance currently.

@vikasreddy-lighttwist Does this look good on the way I handled the copyright notice and renaming?

LightTwist commented 3 years ago

Hey Aaron, would you mind changing the note at the top of those files to:

// Thanks to Vikas Reddy/LightTwist who generously allowed us to use this code // Taken from MIT licensed code created by Vikas Reddy/LightTwist
// // Created by Vikas Reddy on 6/22/20. //

Might be worthwhile to note the MIT license. Later I can publish that code via a LightTwist repo and you could even link to it maybe just so it's clear / good record keeping.

abryden commented 3 years ago

Hey Aaron, would you mind changing the note at the top of those files to:

// Thanks to Vikas Reddy/LightTwist who generously allowed us to use this code // Taken from MIT licensed code created by Vikas Reddy/LightTwist // // Created by Vikas Reddy on 6/22/20. //

Might be worthwhile to note the MIT license. Later I can publish that code via a LightTwist repo and you could even link to it maybe just so it's clear / good record keeping.

Done. See commit at https://github.com/arcturus-industries/arcfile/pull/8/commits/7225206a261ed38284cd2bf546c74f27a903b0cd