-
Notifications
You must be signed in to change notification settings - Fork 455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tier1 decoder speed optimizations #783
Commits on May 21, 2016
-
Move some MQC functions into a header for speed
Allow these hot functions to be inlined. This boosts decode performance by ~10%.
Configuration menu - View commit details
-
Copy full SHA for 426bf8d - Browse repository at this point
Copy the full SHA 426bf8dView commit details -
opj_t1_updateflags(): tiny optimization
We can avoid using a loop-up table with some shift arithmetics.
Configuration menu - View commit details
-
Copy full SHA for c539808 - Browse repository at this point
Copy the full SHA c539808View commit details -
Improve code generation in opj_t1_dec_clnpass()
Add a opj_t1_dec_clnpass_step_only_if_flag_not_sig_visit() method that does the job of opj_t1_dec_clnpass_step_only() assuming the conditions are met. And use it in opj_t1_dec_clnpass(). The compiler generates more efficient code.
Configuration menu - View commit details
-
Copy full SHA for d8fef96 - Browse repository at this point
Copy the full SHA d8fef96View commit details -
Configuration menu - View commit details
-
Copy full SHA for 23a01df - Browse repository at this point
Copy the full SHA 23a01dfView commit details -
Reduce number of occurrences of orient function argument
This is essentially used to shift inside the lut_ctxno_zc, which we can precompute at the beginning of opj_t1_decode_cblk() / opj_t1_encode_cblk()
Configuration menu - View commit details
-
Copy full SHA for ba1edf6 - Browse repository at this point
Copy the full SHA ba1edf6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 31882ad - Browse repository at this point
Copy the full SHA 31882adView commit details
Commits on May 23, 2016
-
Tier 1 decoding: add a colflags array
Addition flag array such that colflags[1+0] is for state of col=0,row=0..3, colflags[1+1] for col=1, row=0..3, colflags[1+flags_stride] for col=0,row=4..7, ... This array avoids too much cache trashing when processing by 4 vertical samples as done in the various decoding steps.
Configuration menu - View commit details
-
Copy full SHA for 1da397e - Browse repository at this point
Copy the full SHA 1da397eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 93f7f90 - Browse repository at this point
Copy the full SHA 93f7f90View commit details -
opj_t1_dec_clnpass(): remove useless test in the runlen decoding path…
… (of the non VSC case)
Configuration menu - View commit details
-
Copy full SHA for 956c31d - Browse repository at this point
Copy the full SHA 956c31dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8371491 - Browse repository at this point
Copy the full SHA 8371491View commit details -
Improve perf of opj_t1_dec_sigpass_mqc_vsc() and opj_t1_dec_refpass_m…
…qc_vsc() with loop unrolling
Configuration menu - View commit details
-
Copy full SHA for 107eb31 - Browse repository at this point
Copy the full SHA 107eb31View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7092f7e - Browse repository at this point
Copy the full SHA 7092f7eView commit details