ccextractor icon indicating copy to clipboard operation
ccextractor copied to clipboard

[FEATURE] Port 708 decoder encoding module to RUST

Open IshanGrover2004 opened this issue 2 months ago • 3 comments

In raising this pull request, I confirm the following (please check boxes):

  • [x] I have read and understood the contributors guide.
  • [x] I have checked that another pull request for this purpose does not exist.
  • [x] I have considered, and confirmed that this submission will be valuable to others.
  • [x] I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  • [x] I give this submission freely, and claim no ownership to its content.
  • [x] I have mentioned this change in the changelog.

My familiarity with the project is as follows (check one):

  • [ ] I have never used CCExtractor.
  • [ ] I have used CCExtractor just a couple of times.
  • [ ] I absolutely love CCExtractor, but have not contributed previously.
  • [x] I am an active contributor to CCExtractor.

I have migrated the logic and functions from the lib_ccx/ccx_decoder_708_encoding.c file to Rust, located in decoder/encoding.rs. This conversion maintains the same functionality that was originally written in C, now implemented in Rust.

To know more See ccx_decoder_708_encoding.c and compare with File Changed in PR, they are both same

Background & Testing

  • Current codebase scenerio: Only C code of ccx_decoder_708_encoding.c file is available. So while making & running Rust test cases which requires these functions do not have body because cargo test is just seeing the rust code only.
  • After PR changes: Exact same logic of rust code will be there. And I did also added the conditional compilation so that if user build with -without-rust then only C code will work or else Rust code will build. And Yes I have manually tested that when compiling with rust src files, rust code is being used and giving the same result.

IshanGrover2004 avatar Apr 19 '24 12:04 IshanGrover2004