mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-05 14:30:00 +01:00
Compare commits
4 Commits
5d9270df7f
...
bce14bb160
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bce14bb160 | ||
|
|
041d4f010e | ||
|
|
e3e3265034 | ||
|
|
b98179cec6 |
@@ -41,6 +41,8 @@ static void inline ff_dct_unquantize_h263_neon(int qscale, int qadd, int nCoeffs
|
||||
int16x8_t q14s16, q15s16, qzs16;
|
||||
uint16x8_t q1u16, q9u16;
|
||||
|
||||
qzs16 = vdupq_n_s16(0);
|
||||
|
||||
q15s16 = vdupq_n_s16(qscale << 1);
|
||||
q14s16 = vdupq_n_s16(qadd);
|
||||
q13s16 = vnegq_s16(q14s16);
|
||||
|
||||
@@ -360,7 +360,7 @@ static int decode_frame(AVCodecContext *avctx,
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
int header_len = bytestream2_get_be16(&gb);
|
||||
if (header_len < 62)
|
||||
if (header_len < 62 || bytestream2_get_bytes_left(&gb) < header_len - 2)
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
GetByteContext gb_hdr;
|
||||
|
||||
@@ -2569,7 +2569,7 @@ static int switch_layout_host(AVHWFramesContext *hwfc, FFVkExecPool *ectx,
|
||||
VkResult ret;
|
||||
VulkanDevicePriv *p = hwfc->device_ctx->hwctx;
|
||||
FFVulkanFunctions *vk = &p->vkctx.vkfn;
|
||||
VkHostImageLayoutTransitionInfo layout_change[AV_NUM_DATA_POINTERS];
|
||||
VkHostImageLayoutTransitionInfoEXT layout_change[AV_NUM_DATA_POINTERS];
|
||||
int nb_images = ff_vk_count_images(frame);
|
||||
|
||||
VkImageLayout new_layout;
|
||||
@@ -2585,7 +2585,7 @@ static int switch_layout_host(AVHWFramesContext *hwfc, FFVkExecPool *ectx,
|
||||
return AVERROR(ENOTSUP);
|
||||
|
||||
for (i = 0; i < nb_images; i++) {
|
||||
layout_change[i] = (VkHostImageLayoutTransitionInfo) {
|
||||
layout_change[i] = (VkHostImageLayoutTransitionInfoEXT) {
|
||||
.sType = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO,
|
||||
.image = frame->img[i],
|
||||
.oldLayout = frame->layout[i],
|
||||
|
||||
@@ -215,11 +215,11 @@ void checkasm_check_mpegvideo_unquantize(void)
|
||||
int q_scale_type = rnd() & 1;
|
||||
|
||||
ff_mpv_unquantize_init(&unquant_dsp_ctx, 1 /* bitexact */, q_scale_type);
|
||||
declare_func(void, MPVContext *s, int16_t *block, int n, int qscale);
|
||||
declare_func(void, const MPVContext *s, int16_t *block, int n, int qscale);
|
||||
|
||||
for (size_t i = 0; i < FF_ARRAY_ELEMS(tests); ++i) {
|
||||
void (*func)(MPVContext *s, int16_t *block, int n, int qscale) =
|
||||
*(void (**)(MPVContext *, int16_t *, int, int))((char*)&unquant_dsp_ctx + tests[i].offset);
|
||||
void (*func)(const MPVContext *s, int16_t *block, int n, int qscale) =
|
||||
*(void (**)(const MPVContext *, int16_t *, int, int))((char*)&unquant_dsp_ctx + tests[i].offset);
|
||||
if (check_func(func, "%s", tests[i].name)) {
|
||||
MPVContext new, ref;
|
||||
DECLARE_ALIGNED(16, int16_t, block_new)[64];
|
||||
|
||||
Reference in New Issue
Block a user