| 
    FFmpeg
    
   | 
 
#include <stddef.h>#include <stdint.h>#include "libavutil/attributes.h"#include "libavutil/common.h"#include "libavutil/intreadwrite.h"#include "libavutil/libm.h"#include "texturedsp.h"#include "texturedsp_template.c"Go to the source code of this file.
Macros | |
| #define | RGBA(r, g, b, a) | 
| #define | TEXTUREDSP_FUNC_NAME ff_texturedsp_decompress_thread | 
| #define | TEXTUREDSP_TEX_FUNC(a, b, c) tex_funct(a, b, c) | 
Functions | |
| static av_always_inline void | extract_color (uint32_t colors[4], uint16_t color0, uint16_t color1, int dxtn, int alpha) | 
| static void | dxt1_block_internal (uint8_t *dst, ptrdiff_t stride, const uint8_t *block, uint8_t alpha) | 
| static int | dxt1_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a DXT1 texture and store the resulting RGBA pixels in 'dst'.  More... | |
| static int | dxt1a_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a DXT1 with 1-bit alpha texture and store the resulting RGBA pixels in 'dst'.  More... | |
| static void | dxt3_block_internal (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| static av_always_inline void | premult2straight (uint8_t *src) | 
| Convert a premultiplied alpha pixel to a straight alpha pixel.  More... | |
| static int | dxt2_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a DXT2 texture and store the resulting RGBA pixels in 'dst'.  More... | |
| static int | dxt3_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a DXT3 texture and store the resulting RGBA pixels in 'dst'.  More... | |
| static void | decompress_indices (uint8_t *dst, const uint8_t *src) | 
| Decompress a BC 16x3 index block stored as h g f e d c b a p o n m l k j i.  More... | |
| static void | dxt5_block_internal (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| static int | dxt4_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a DXT4 texture and store the resulting RGBA pixels in 'dst'.  More... | |
| static int | dxt5_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a DXT5 texture and store the resulting RGBA pixels in 'dst'.  More... | |
| static av_always_inline void | ycocg2rgba (uint8_t *src, int scaled) | 
| Convert a YCoCg buffer to RGBA.  More... | |
| static int | dxt5y_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a DXT5 texture with classic YCoCg and store the resulting RGBA pixels in 'dst'.  More... | |
| static int | dxt5ys_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a DXT5 texture with scaled YCoCg and store the resulting RGBA pixels in 'dst'.  More... | |
| static void | rgtc_block_internal (uint8_t *dst, ptrdiff_t stride, const uint8_t *block, const int *color_tab, int mono, int offset, int pix_size) | 
| static void | rgtc1_block_internal (uint8_t *dst, ptrdiff_t stride, const uint8_t *block, int sign, int mono, int offset, int pix_size) | 
| static int | rgtc1s_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a RGRC1 texture with signed components and store the resulting RGBA pixels in 'dst'.  More... | |
| static int | rgtc1u_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a RGRC1 texture with unsigned components and store the resulting RGBA pixels in 'dst'.  More... | |
| static int | rgtc1u_alpha_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a RGTC1 texture with unsigned components and overwrite the alpha component in 'dst' (RGBA data).  More... | |
| static int | rgtc1u_gray_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a RGTC1 texture with unsigned components to Gray 8.  More... | |
| static void | rgtc2_block_internal (uint8_t *dst, ptrdiff_t stride, const uint8_t *block, int sign) | 
| static int | rgtc2s_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a RGRC2 texture with signed components and store the resulting RGBA pixels in 'dst'.  More... | |
| static int | rgtc2u_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a RGRC2 texture with unsigned components and store the resulting RGBA pixels in 'dst'.  More... | |
| static int | dxn3dc_block (uint8_t *dst, ptrdiff_t stride, const uint8_t *block) | 
| Decompress one block of a 3Dc texture with unsigned components and store the resulting RGBA pixels in 'dst'.  More... | |
| av_cold void | ff_texturedsp_init (TextureDSPContext *c) | 
| #define TEXTUREDSP_FUNC_NAME ff_texturedsp_decompress_thread | 
Definition at line 656 of file texturedsp.c.
Definition at line 657 of file texturedsp.c.
      
  | 
  static | 
Definition at line 40 of file texturedsp.c.
Referenced by dxt1_block_internal(), dxt3_block_internal(), and dxt5_block_internal().
      
  | 
  inlinestatic | 
Definition at line 85 of file texturedsp.c.
Referenced by dxt1_block(), and dxt1a_block().
      
  | 
  static | 
Decompress one block of a DXT1 texture and store the resulting RGBA pixels in 'dst'.
Alpha component is fully opaque.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 115 of file texturedsp.c.
Referenced by decode_rtv1(), and ff_texturedsp_init().
      
  | 
  static | 
Decompress one block of a DXT1 with 1-bit alpha texture and store the resulting RGBA pixels in 'dst'.
Alpha is either fully opaque or fully transparent.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 132 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  inlinestatic | 
Definition at line 139 of file texturedsp.c.
Referenced by dxt2_block(), and dxt3_block().
      
  | 
  static | 
Convert a premultiplied alpha pixel to a straight alpha pixel.
Definition at line 171 of file texturedsp.c.
Referenced by dxt2_block(), and dxt4_block().
      
  | 
  static | 
Decompress one block of a DXT2 texture and store the resulting RGBA pixels in 'dst'.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 192 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  static | 
Decompress one block of a DXT3 texture and store the resulting RGBA pixels in 'dst'.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 216 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  static | 
Decompress a BC 16x3 index block stored as h g f e d c b a p o n m l k j i.
Bits packed as | h | g | f | e | d | c | b | a | // Entry |765 432 107 654 321 076 543 210| // Bit |0000000000111111111112222222222| // Byte
into 16 8-bit indices.
Definition at line 237 of file texturedsp.c.
Referenced by dxt5_block_internal(), and rgtc_block_internal().
      
  | 
  inlinestatic | 
Definition at line 253 of file texturedsp.c.
Referenced by dxt4_block(), dxt5_block(), dxt5y_block(), and dxt5ys_block().
      
  | 
  static | 
Decompress one block of a DXT4 texture and store the resulting RGBA pixels in 'dst'.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 311 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  static | 
Decompress one block of a DXT5 texture and store the resulting RGBA pixels in 'dst'.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 335 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  static | 
Convert a YCoCg buffer to RGBA.
| src | input buffer. | 
| scaled | variant with scaled chroma components and opaque alpha. | 
Definition at line 348 of file texturedsp.c.
Referenced by dxt5y_block(), and dxt5ys_block().
      
  | 
  static | 
Decompress one block of a DXT5 texture with classic YCoCg and store the resulting RGBA pixels in 'dst'.
Alpha component is fully opaque.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 375 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  static | 
Decompress one block of a DXT5 texture with scaled YCoCg and store the resulting RGBA pixels in 'dst'.
Alpha component is fully opaque.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 399 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  inlinestatic | 
Definition at line 414 of file texturedsp.c.
Referenced by rgtc1_block_internal().
      
  | 
  inlinestatic | 
Definition at line 444 of file texturedsp.c.
Referenced by rgtc1s_block(), rgtc1u_alpha_block(), rgtc1u_block(), rgtc1u_gray_block(), and rgtc2_block_internal().
      
  | 
  static | 
Decompress one block of a RGRC1 texture with signed components and store the resulting RGBA pixels in 'dst'.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 493 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  static | 
Decompress one block of a RGRC1 texture with unsigned components and store the resulting RGBA pixels in 'dst'.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 509 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  static | 
Decompress one block of a RGTC1 texture with unsigned components and overwrite the alpha component in 'dst' (RGBA data).
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 525 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  static | 
Decompress one block of a RGTC1 texture with unsigned components to Gray 8.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 541 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  inlinestatic | 
Definition at line 548 of file texturedsp.c.
Referenced by dxn3dc_block(), rgtc2s_block(), and rgtc2u_block().
      
  | 
  static | 
Decompress one block of a RGRC2 texture with signed components and store the resulting RGBA pixels in 'dst'.
Alpha is fully opaque.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 589 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  static | 
Decompress one block of a RGRC2 texture with unsigned components and store the resulting RGBA pixels in 'dst'.
Alpha is fully opaque.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 605 of file texturedsp.c.
Referenced by ff_texturedsp_init().
      
  | 
  static | 
Decompress one block of a 3Dc texture with unsigned components and store the resulting RGBA pixels in 'dst'.
Alpha is fully opaque.
| dst | output buffer. | 
| stride | scanline in bytes. | 
| block | block to decompress. | 
Definition at line 621 of file texturedsp.c.
Referenced by ff_texturedsp_init().
| av_cold void ff_texturedsp_init | ( | TextureDSPContext * | c | ) | 
Definition at line 637 of file texturedsp.c.
Referenced by dds_decode(), decode_init(), dxv_init(), hap_init(), txd_decode_frame(), and vbn_init().
 1.8.17