mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-05 14:30:00 +01:00
vulkan_dpx: fix alignment issue
12-bit images apparently require mod-32 alignment for each line. Go figure.
This commit is contained in:
@@ -44,8 +44,11 @@ i16vec4 parse_packed_in_32(ivec2 pos, int stride)
|
|||||||
#else
|
#else
|
||||||
i16vec4 parse_packed_in_32(ivec2 pos, int stride)
|
i16vec4 parse_packed_in_32(ivec2 pos, int stride)
|
||||||
{
|
{
|
||||||
uint line_off = pos.y*(stride*BITS_PER_COMP*COMPONENTS +
|
uint line_size = stride*BITS_PER_COMP*COMPONENTS;
|
||||||
(need_align << 3));
|
line_size += line_size & 31;
|
||||||
|
line_size += need_align << 3;
|
||||||
|
|
||||||
|
uint line_off = pos.y*line_size;
|
||||||
uint pix_off = pos.x*BITS_PER_COMP*COMPONENTS;
|
uint pix_off = pos.x*BITS_PER_COMP*COMPONENTS;
|
||||||
|
|
||||||
uint off = (line_off + pix_off >> 5);
|
uint off = (line_off + pix_off >> 5);
|
||||||
|
|||||||
@@ -402,9 +402,7 @@ static int vk_decode_dpx_init(AVCodecContext *avctx)
|
|||||||
|
|
||||||
switch (dpx->pix_fmt) {
|
switch (dpx->pix_fmt) {
|
||||||
case AV_PIX_FMT_GRAY10:
|
case AV_PIX_FMT_GRAY10:
|
||||||
case AV_PIX_FMT_GRAY12:
|
|
||||||
case AV_PIX_FMT_GBRAP10:
|
case AV_PIX_FMT_GBRAP10:
|
||||||
case AV_PIX_FMT_GBRAP12:
|
|
||||||
case AV_PIX_FMT_UYVY422:
|
case AV_PIX_FMT_UYVY422:
|
||||||
case AV_PIX_FMT_YUV444P:
|
case AV_PIX_FMT_YUV444P:
|
||||||
case AV_PIX_FMT_YUVA444P:
|
case AV_PIX_FMT_YUVA444P:
|
||||||
|
|||||||
Reference in New Issue
Block a user