Completed work :
- Quantizer module.
- Run Length Encoder Module.
- Huffman Module.
- Byte-Stuffer Module.
- Back-end Main module.
- Back-end module compatible with front-end.
- Input Buffer that can store three blocks form front-end.
- Completed software prototype for back-end module.
- Connecting front-end and back-end.
- Commit new back-end with new interfaces (front-end compatible).
The back-end module which is committed into the main repository need a couple changes (adding a counter inside). I have done adding counter but did not upload it yet (testing in progress).
I made some changes to quantizer module at the end. So, a bit code clean up is needed in test-bench.
The only main task left now is connecting front-end and back-end modules.
All the modules are scalar, convertible and modular. I also write software prototypes for each module, so that we can check and compare outputs from the test-bench and the software prototype. All the test-bench’s are convertible.
The documentation for the overall project is this link. Just enter the command make html. you will get the HTML version.
The read-the-docs version (online version) of the project documentation is here.
The above documentation covers about the kind of work each module does, interfaces etc. Also, it covers the coverage results of each module.
- My Fork Repo : https://github.com/Vikram9866/test_jpeg
- Main Repo : https://github.com/cfelton/test_jpeg
- PR’s and important branches made during GSoC :
- Also, I missed a PR on test coverage a small typo-error in MyHDL main repo (in attempt to sync my branch with main repository). I will add that again.
- Commits that I have made : click here
The code coverage for the modules can be seen in the documentation.
In near future, I will try to investigate Dynamic Huffman Encoding in the back-end.