Quantcast
Channel: Latest commits for file sixel.c
Browsing all 71 articles
Browse latest View live

sixel: empty pixels in the last sixel row doesn’t contribute to the image height

sixel: empty pixels in the last sixel row doesn’t contribute to the image height All-empty pixels rows in the last sixel row should not be included in the final sixel image. This allows applications to...

View Article


sixel: add optimized resize_horizontally() and resize_vertically()

sixel: add optimized resize_horizontally() and resize_vertically() The resize operations performed in the “hot” path either change the width, or the height, but not both at the same time.

View Article

sixel: decgri: avoid load inside for-loop

sixel: decgri: avoid load inside for-loop

View Article

sixel: add: increase data pointer instead of offset

sixel: add: increase data pointer instead of offset Same ‘add’ instruction to increase the offset, but simpler ‘mov’ instruction when writing the pixel data.

View Article

sixel: add: calculate absolute row no inside the loop

sixel: add: calculate absolute row no inside the loop This results in the same number of instructions inside the loop, with a ‘lea’ instead of a ‘mov’, but simplifies the post-loop logic to update the...

View Article


sixel: add: add sixel_add_many(), improving performance of DECGRI

sixel: add: add sixel_add_many(), improving performance of DECGRI DECGRI, i.e. repeat sixel character, only need to do image resizing, and updating the current ‘column’ value *once*. By adding...

View Article

sixel: decgri: handle a repeat count of 0, by ignoring it

sixel: decgri: handle a repeat count of 0, by ignoring it

View Article

sixel: decgra: set max-non-empty-row-no when resizing the image

sixel: decgra: set max-non-empty-row-no when resizing the image This ensures we don’t trim off bottom rows in unhook(). This could happen either because the application used “Set Raster Attributes” to...

View Article


sixel: implement P2=1 - transparent pixels

sixel: implement P2=1 - transparent pixels When P2=1, empty pixels are transparent. This patch also changes the behavior of P2=0|2, from setting empty pixels to the default background color, to instead...

View Article


sixel: max geometry should be max geometry, not current window size

sixel: max geometry should be max geometry, not current window size “current geometry” will report whatever value is the smallest; the max geometry or the current window size. But “max geometry” always...

View Article

sixel: sixel_overwrite_at_cursor(): early exit when the image list is empty

sixel: sixel_overwrite_at_cursor(): early exit when the image list is empty This avoids a call to sixel_overwrite_by_row() (where we also exit early if the image list is empty). This saves a couple of...

View Article

term: runtime switch between a ‘fast’ and a ‘generic’ ASCII print function

term: runtime switch between a ‘fast’ and a ‘generic’ ASCII print function term_print() is called whenever the client application “prints” something to the grid. It is called for both ASCII and UTF-8...

View Article

sixel: initialize max_non_empty_row_no to -1, not 0

sixel: initialize max_non_empty_row_no to -1, not 0 0 is a perfectly valid row number, and if max_non_empty_row_no==0, that means we have *1* sixel row, and after trimming the image, the image will...

View Article


sixel: free backing buffer if final image size is zero

sixel: free backing buffer if final image size is zero

View Article

sixel: fix double free caused by bad free() in sixel_colors_set()

sixel: fix double free caused by bad free() in sixel_colors_set() sixel_color_set() is called when the number of (sixel) color registers is changed. It frees the current palette, and changes the...

View Article


sixel: sixel_fini(): free image data

sixel: sixel_fini(): free image data Normally, this data is always free:d indirectly, when the sixel image that took over ownership is destroyed. But let’s play it safe.

View Article

sixel: unhook: tighten up the condition needed for us to free image data...

sixel: unhook: tighten up the condition needed for us to free image data pre-maturely

View Article


sixel: fix assertion: image is allowed to cover the entire scrollback

sixel: fix assertion: image is allowed to cover the entire scrollback

View Article

sixel: don’t emit sixels that will end up covering more than the entire...

sixel: don’t emit sixels that will end up covering more than the entire scrollback This limit can be reached by the sixel alone, or the sixel + the final newline. Closes #494

View Article

sixel: don’t *ever* shrink image below its SRA size

sixel: don’t *ever* shrink image below its SRA size If the image was accompanied with a “Set Raster Attributes” (SRA) command, make sure we *never* shrink the image below the size specified in the SRA....

View Article
Browsing all 71 articles
Browse latest View live