gen_zigzag4.m 706 B

1234567891011121314151617181920212223242526272829303132333435
  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, "const unsigned char od_zigzag4[%d][2] = {\n ", length(order));
  17. for k=1:length(order)
  18. fprintf(file, "{%d, %d}", mod(order(k),4), floor(order(k)/4));
  19. if (k!=length(order))
  20. fprintf(file, ",");
  21. end
  22. if (mod(k,4)==0)
  23. fprintf(file, "\n ");
  24. else
  25. fprintf(file, " ");
  26. end
  27. end
  28. fprintf(file, "};\n");
  29. fclose(file);