Files
UnrealEngine/Engine/Source/Runtime/AVEncoder/Private/Decoders/vdecmpeg4/M4MemOps.h
2025-05-18 13:04:45 +08:00

38 lines
812 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "vdecmpeg4.h"
namespace vdecmpeg4
{
void M4MemOpIntraMBAll(void* mCurrent, int32 mbx, int32 mby, void* dct);
void M4MemOpInterMBCopyAll(void* mCurrent, int32 x, int32 y, void* mReference);
void M4MemOpInterMBAdd(void* mCurrent, int32 x, int32 y, void* dctData, uint32 cpb);
void M4MemHalfPelInterpolate(void* dst, void* src, int32 stride, int32 xpos, int32 ypos, void* mv, uint32 rounding, bool b4x4=false);
void M4MemOpInterpolateAll(void* mCurrent, int32 mbx, int32 mby, void* mReference);
class MemOpOffsets
{
public:
MemOpOffsets() : mCurrentPitch(0)
{}
~MemOpOffsets()
{}
void init(int32 pitch);
uint16 blockIdxY[64];
uint16 blockIdxUV[64];
uint32 blockIdxY4[8];
uint32 blockIdxUV4[8];
int32 mCurrentPitch;
};
}