[vlc-commits] vt_utils: set the picture planes once the picture is created
Steve Lhomme
git at videolan.org
Mon Aug 10 08:54:46 CEST 2020
vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Tue Jul 21 13:53:17 2020 +0200| [8619abbd7dd83c8428debea6be9f33c96ee511f8] | committer: Steve Lhomme
vt_utils: set the picture planes once the picture is created
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8619abbd7dd83c8428debea6be9f33c96ee511f8
---
modules/codec/vt_utils.c | 33 +++++++++++++++++----------------
1 file changed, 17 insertions(+), 16 deletions(-)
diff --git a/modules/codec/vt_utils.c b/modules/codec/vt_utils.c
index 55375dc2ff..75191117fe 100644
--- a/modules/codec/vt_utils.c
+++ b/modules/codec/vt_utils.c
@@ -159,22 +159,6 @@ cvpxpic_create_mapped(const video_format_t *fmt, CVPixelBufferRef cvpx,
assert(CVPixelBufferGetPlaneCount(cvpx) == planes_count);
#endif
- if (planes_count == 0)
- {
- rsc.p[0].p_pixels = CVPixelBufferGetBaseAddress(cvpx);
- rsc.p[0].i_lines = CVPixelBufferGetHeight(cvpx);
- rsc.p[0].i_pitch = CVPixelBufferGetBytesPerRow(cvpx);
- }
- else
- {
- for (unsigned i = 0; i < planes_count; ++i)
- {
- rsc.p[i].p_pixels = CVPixelBufferGetBaseAddressOfPlane(cvpx, i);
- rsc.p[i].i_lines = CVPixelBufferGetHeightOfPlane(cvpx, i);
- rsc.p[i].i_pitch = CVPixelBufferGetBytesPerRowOfPlane(cvpx, i);
- }
- }
-
void (*pf_destroy)(picture_context_t *) = readonly ?
cvpxpic_destroy_mapped_ro_cb : cvpxpic_destroy_mapped_rw_cb;
@@ -185,6 +169,23 @@ cvpxpic_create_mapped(const video_format_t *fmt, CVPixelBufferRef cvpx,
CVPixelBufferUnlockBaseAddress(cvpx, lock);
return NULL;
}
+
+ if (planes_count == 0)
+ {
+ pic->p[0].p_pixels = CVPixelBufferGetBaseAddress(cvpx);
+ pic->p[0].i_lines = CVPixelBufferGetHeight(cvpx);
+ pic->p[0].i_pitch = CVPixelBufferGetBytesPerRow(cvpx);
+ }
+ else
+ {
+ for (unsigned i = 0; i < planes_count; ++i)
+ {
+ pic->p[i].p_pixels = CVPixelBufferGetBaseAddressOfPlane(cvpx, i);
+ pic->p[i].i_lines = CVPixelBufferGetHeightOfPlane(cvpx, i);
+ pic->p[i].i_pitch = CVPixelBufferGetBytesPerRowOfPlane(cvpx, i);
+ }
+ }
+
return pic;
}
More information about the vlc-commits
mailing list