25 VkSpecializationInfo *sl,
36 for (
int i = 0;
i <
f->quant_table_count;
i++) {
37 if (
f->quant_tables[
i][3][127] ||
f->quant_tables[
i][4][127]) {
51 bits =
f->bits_per_raw_sample ?
f->bits_per_raw_sample
52 :
f->avctx->bits_per_raw_sample;
69 for (uint32_t
i = 0;
i < 256;
i++) {
71 for (
int j = 0; j < 8; j++)
72 c = (
c << 1) ^ (0x04C11DB7 & (((
int32_t)
c) >> 31));
79 for (
int i = 1;
i < 256;
i++) {
80 buf[256 +
i] =
f->state_transition[
i];
81 buf[256 -
i] = 256 - (int)
f->state_transition[
i];
90 size_t buf_len = 256*
sizeof(uint32_t) +
99 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT |
100 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
101 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT |
102 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT));
109 memcpy(buf_mapped + 256*
sizeof(uint32_t) + 512*
sizeof(uint8_t),
110 f->quant_tables,
sizeof(
f->quant_tables));
#define i(width, name, range_min, range_max)
Public header for CRC hash function implementation.
static const uint8_t bits[8]
#define MAX_QUANT_TABLE_SIZE
#define MAX_CONTEXT_INPUTS
int ff_ffv1_vk_init_consts(FFVulkanContext *s, FFVkBuffer *vkb, FFV1Context *f)
static void set_crc_tab(uint32_t *buf)
void ff_ffv1_vk_set_common_sl(AVCodecContext *avctx, FFV1Context *f, VkSpecializationInfo *sl, enum AVPixelFormat sw_format)
static void set_rc_state_tab(FFV1Context *f, uint8_t *buf)
int ff_vk_create_buf(FFVulkanContext *s, FFVkBuffer *buf, size_t size, void *pNext, void *alloc_pNext, VkBufferUsageFlags usage, VkMemoryPropertyFlagBits flags)
int ff_vk_mt_is_np_rgb(enum AVPixelFormat pix_fmt)
Returns 1 if pixfmt is a usable RGB format.
int av_pix_fmt_count_planes(enum AVPixelFormat pix_fmt)
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
#define AV_PIX_FMT_FLAG_PLANAR
At least one pixel component is not in the first data plane.
AVPixelFormat
Pixel format.
@ AV_PIX_FMT_YA8
8 bits gray, 8 bits alpha
main external API structure.
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
uint8_t nb_components
The number of components each pixel has, (1-4)
#define SPEC_LIST_ADD(name, idx, val_bits, val)
static int ff_vk_unmap_buffer(FFVulkanContext *s, FFVkBuffer *buf, int flush)
static int ff_vk_map_buffer(FFVulkanContext *s, FFVkBuffer *buf, uint8_t **mem, int invalidate)