gen_zigzag4.m 760 B

123456789101112131415161718192021222324252627282930313233343536
  1. function order = gen_zigzag4(x, filename)
  2. file=fopen(filename, 'w');
  3. %Construct bands
  4. B = ones(4,4);
  5. B(1,1)=0;
  6. #imagesc(B);
  7. order=[];
  8. for k=1:1
  9. mask = B==k;
  10. [dummy,ind]=sort(-x.*mask'(:));
  11. order = [order;ind(1:sum(sum(mask)))];
  12. end
  13. %start indexing at 0
  14. order = order-1;
  15. fprintf(file, "/* This file is generated by gen_zigzag4.m */\n");
  16. fprintf(file, "#include \"odintrin.h\"\n");
  17. fprintf(file, "OD_EXTERN const unsigned char OD_ZIGZAG4[%d][2] = {\n ", length(order));
  18. for k=1:length(order)
  19. fprintf(file, "{%d, %d}", mod(order(k),4), floor(order(k)/4));
  20. if (k!=length(order))
  21. fprintf(file, ",");
  22. end
  23. if (mod(k,4)==0)
  24. fprintf(file, "\n ");
  25. else
  26. fprintf(file, " ");
  27. end
  28. end
  29. fprintf(file, "};\n");
  30. fclose(file);