[FFmpeg-cvslog] vda: unlock the pixel buffer base address.

Sebastien Zwickert git at videolan.org
Sat Jul 18 20:46:00 CEST 2015


ffmpeg | branch: release/2.7 | Sebastien Zwickert <dilaroga at gmail.com> | Sat Jun 20 13:19:29 2015 +0200| [ce3a8c983f6e31ab685db1ab245d8a00a0d63b68] | committer: Michael Niedermayer

vda: unlock the pixel buffer base address.

The pixel buffer base address is never unlocked this causes
a bug with some pixel format types that are produced natively
by the hardware decoder: the first buffer was always used.
Unlock the pixel buffer base address fixes the issue.
(cherry picked from commit c06fdacc3dc706e70d953917fea845532d3703ca)

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ce3a8c983f6e31ab685db1ab245d8a00a0d63b68
---

 ffmpeg_vda.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/ffmpeg_vda.c b/ffmpeg_vda.c
index d15648d..6fe4ed4 100644
--- a/ffmpeg_vda.c
+++ b/ffmpeg_vda.c
@@ -77,6 +77,8 @@ static int vda_retrieve_data(AVCodecContext *s, AVFrame *frame)
                   frame->width, frame->height);
 
     ret = av_frame_copy_props(vda->tmp_frame, frame);
+    CVPixelBufferUnlockBaseAddress(pixbuf, kCVPixelBufferLock_ReadOnly);
+
     if (ret < 0)
         return ret;
 



More information about the ffmpeg-cvslog mailing list