mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2024-11-23 03:09:55 +00:00
added crop offset info
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / windows-qt (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / macos-qt (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-qt (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / windows-qt (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / macos-qt (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-qt (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
This commit is contained in:
parent
48378d6d14
commit
5739e126d0
@ -44,6 +44,7 @@ int PS4_SYSV_ABI sceVideodecDecode(OrbisVideodecCtrl* pCtrlIn,
|
||||
pFrameBufferInOut->thisSize != sizeof(OrbisVideodecFrameBuffer)) {
|
||||
return ORBIS_VIDEODEC_ERROR_STRUCT_SIZE;
|
||||
}
|
||||
|
||||
VdecDecoder* decoder = (VdecDecoder*)pCtrlIn->handle;
|
||||
if (!decoder) {
|
||||
return ORBIS_VIDEODEC_ERROR_HANDLE;
|
||||
@ -53,6 +54,7 @@ int PS4_SYSV_ABI sceVideodecDecode(OrbisVideodecCtrl* pCtrlIn,
|
||||
|
||||
int PS4_SYSV_ABI sceVideodecDeleteDecoder(OrbisVideodecCtrl* pCtrlIn) {
|
||||
LOG_INFO(Lib_Videodec, "(STUBBED) called");
|
||||
|
||||
VdecDecoder* decoder = (VdecDecoder*)pCtrlIn->handle;
|
||||
if (!decoder) {
|
||||
return ORBIS_VIDEODEC_ERROR_HANDLE;
|
||||
@ -73,6 +75,7 @@ int PS4_SYSV_ABI sceVideodecFlush(OrbisVideodecCtrl* pCtrlIn,
|
||||
pPictureInfoOut->thisSize != sizeof(OrbisVideodecPictureInfo)) {
|
||||
return ORBIS_VIDEODEC_ERROR_STRUCT_SIZE;
|
||||
}
|
||||
|
||||
VdecDecoder* decoder = (VdecDecoder*)pCtrlIn->handle;
|
||||
if (!decoder) {
|
||||
return ORBIS_VIDEODEC_ERROR_HANDLE;
|
||||
@ -112,6 +115,7 @@ int PS4_SYSV_ABI sceVideodecQueryResourceInfo(const OrbisVideodecConfigInfo* pCf
|
||||
|
||||
int PS4_SYSV_ABI sceVideodecReset(OrbisVideodecCtrl* pCtrlIn) {
|
||||
LOG_INFO(Lib_Videodec, "(STUBBED) called");
|
||||
|
||||
VdecDecoder* decoder = (VdecDecoder*)pCtrlIn->handle;
|
||||
decoder->Reset();
|
||||
return ORBIS_OK;
|
||||
|
@ -156,6 +156,16 @@ s32 VdecDecoder::Flush(OrbisVideodecFrameBuffer& pFrameBufferInOut,
|
||||
|
||||
pPictureInfoOut.isValid = true;
|
||||
pPictureInfoOut.isErrorPic = false;
|
||||
|
||||
u32 width = Common::AlignUp((u32)frame->width, 16);
|
||||
u32 height = Common::AlignUp((u32)frame->height, 16);
|
||||
pPictureInfoOut.codec.avc.frameCropLeftOffset = u32(frame->crop_left);
|
||||
pPictureInfoOut.codec.avc.frameCropRightOffset =
|
||||
u32(frame->crop_right + (width - frame->width));
|
||||
pPictureInfoOut.codec.avc.frameCropTopOffset = u32(frame->crop_top);
|
||||
pPictureInfoOut.codec.avc.frameCropBottomOffset =
|
||||
u32(frame->crop_bottom + (height - frame->height));
|
||||
// TODO maybe more avc?
|
||||
}
|
||||
|
||||
av_frame_free(&frame);
|
||||
|
Loading…
Reference in New Issue
Block a user