Michael Niedermayer
e36916a63f
avcodec/pthread_frame: fix setting hwaccel with threads and get_format()
...
Fixes assertion failure with vdpau and vlc
Fixes Ticket3742
Tested-by: oromit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 19:58:58 +02:00
Michael Niedermayer
ab1e191720
avcodec/pthread_frame: Use av_mallocz_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 16:34:20 +02:00
Dale Curtis
ca2fd25988
Fix compilation errors when deprecated features are disabled.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 22:55:28 +02:00
Michael Niedermayer
55fe1582cb
avcodec/pthread_frame: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:36:29 +02:00
Michael Niedermayer
af72f62d7b
Merge commit '9929b3564c0dca42ed7baa6798ef15b6f0013c83'
...
* commit '9929b3564c0dca42ed7baa6798ef15b6f0013c83':
pthread_frame: simplify the code by using new AVPacket API
Conflicts:
libavcodec/pthread_frame.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:02:36 +02:00
Anton Khirnov
9929b3564c
pthread_frame: simplify the code by using new AVPacket API
...
This also handles side data properly.
2014-05-19 13:12:46 +02:00
Michael Niedermayer
2ec4586d77
Merge commit 'dd2d3b766b20196d0b65a82e3d897ccecbf7adb8'
...
* commit 'dd2d3b766b20196d0b65a82e3d897ccecbf7adb8':
lavc: Add hwaccel private data and init/uninit callbacks
Conflicts:
libavcodec/avcodec.h
libavcodec/internal.h
libavcodec/pthread_frame.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 00:21:44 +02:00
Michael Niedermayer
d93cf093f8
Merge commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425'
...
* commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425':
lavc: Add an internal wrapper around get_format()
Conflicts:
libavcodec/h264_slice.c
libavcodec/mpeg12dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 21:48:32 +02:00
Anton Khirnov
dd2d3b766b
lavc: Add hwaccel private data and init/uninit callbacks
2014-05-11 14:59:07 +02:00
Michael Niedermayer
59a53842d3
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
mpegvideo: operate with pointers to AVFrames instead of whole structs
Conflicts:
libavcodec/h261dec.c
libavcodec/h263dec.c
libavcodec/intrax8.c
libavcodec/mpeg12enc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_motion.c
libavcodec/mpegvideo_xvmc.c
libavcodec/msmpeg4.c
libavcodec/ratecontrol.c
libavcodec/vaapi.c
libavcodec/vc1dec.c
libavcodec/vdpau_vc1.c
See: fc567ac49e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 15:18:46 +02:00
wm4
f6774f905f
mpegvideo: operate with pointers to AVFrames instead of whole structs
...
The most interesting parts are initialization in ff_MPV_common_init() and
uninitialization in ff_MPV_common_end().
ff_mpeg_unref_picture and ff_thread_release_buffer have additional NULL
checks for Picture.f, because these functions can be called on
uninitialized or partially initialized Pictures.
NULL pointer checks are added to ff_thread_release_buffer() stub function.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-09 02:12:19 +02:00
Michael Niedermayer
f87b3d5523
avcodec/pthread_frame: fix missing unlock on error
...
Fixes CID1197057
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 03:51:46 +02:00
Nicolas George
ea6825fd09
lavc/pthread: copy packet side data.
2014-03-08 12:27:02 +01:00
Michael Niedermayer
a22907e9ea
Merge commit 'd1f9563d502037239185c11578cc614bdf0c5870'
...
* commit 'd1f9563d502037239185c11578cc614bdf0c5870':
pthread_frame: flush all threads on flush, not just the first one
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 13:26:51 +01:00
Anton Khirnov
d1f9563d50
pthread_frame: flush all threads on flush, not just the first one
...
avcodec_flush_buffers() must release all internally held references
according to its documentation, for which all the threads need to be
flushed.
CC:libav-stable@libav.org
Bug-Id: vlc/9665
2014-02-28 21:55:46 +01:00
Michael Niedermayer
8367bc6be8
Merge commit '9cbf2d78f0a9c19129e7a70b2281a450d386c6d9'
...
* commit '9cbf2d78f0a9c19129e7a70b2281a450d386c6d9':
pthread_frame: unref decoded frames on failure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 17:01:20 +01:00
Anton Khirnov
9cbf2d78f0
pthread_frame: unref decoded frames on failure
...
This is similar to what the non-threaded code already does.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-06 08:25:55 +01:00
Michael Niedermayer
11679e1b90
avcodec/pthread_frame: Fix memleak of AVCodecContext on error
...
Fixes CID1135767
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 00:27:09 +01:00
Michael Niedermayer
45fd4ec9ef
Merge commit 'd351ef47d0e0ccb7de96b37f137c16b2885580ac'
...
* commit 'd351ef47d0e0ccb7de96b37f137c16b2885580ac':
pthread_frame: use the AVFrame API properly.
Conflicts:
libavcodec/pthread_frame.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 13:25:17 +01:00
Anton Khirnov
d351ef47d0
pthread_frame: use the AVFrame API properly.
...
Remove the extended_data workaround, all decoders should now handle this
properly.
2013-12-09 08:42:25 +01:00
Hendrik Leppkes
841c0aafa5
avcodec/pthread: check packet buffer allocation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-25 02:22:43 +01:00
Michael Niedermayer
56e122787e
Merge commit 'a553c6a347d3d28d7ee44c3df3d5c4ee780dba23'
...
* commit 'a553c6a347d3d28d7ee44c3df3d5c4ee780dba23':
lavc: use buf[0] instead of data[0] in checks whether a frame is allocated
Conflicts:
libavcodec/h264_refs.c
libavcodec/mpegvideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-19 03:56:53 +01:00
Anton Khirnov
a553c6a347
lavc: use buf[0] instead of data[0] in checks whether a frame is allocated
...
data[0] may be NULL for valid frames with hwaccel pixel formats.
2013-11-18 18:09:48 +01:00
Michael Niedermayer
ab71be0912
Merge commit 'da6506c607eda585ba4b15430cf3c9a2ce09c3a9'
...
* commit 'da6506c607eda585ba4b15430cf3c9a2ce09c3a9':
lavc: move AVCodecContext.pkt to AVCodecInternal
Conflicts:
libavcodec/internal.h
libavcodec/rawdec.c
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 11:41:55 +01:00
Michael Niedermayer
3fc26d8073
Merge commit '38ecc3702dabbea09230f6d6333f59e74f5d1c12'
...
* commit '38ecc3702dabbea09230f6d6333f59e74f5d1c12':
pthread: store thread contexts in AVCodecInternal instead of AVCodecContext
Conflicts:
libavcodec/internal.h
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 11:14:38 +01:00
Michael Niedermayer
4eea41cba1
Merge commit 'cc14ee03a7b91c69343f8d60c9e089a1950eeadb'
...
* commit 'cc14ee03a7b91c69343f8d60c9e089a1950eeadb':
lavc: split slice and frame threading functions into separate files
Conflicts:
libavcodec/Makefile
libavcodec/pthread.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 10:44:34 +01:00
Anton Khirnov
da6506c607
lavc: move AVCodecContext.pkt to AVCodecInternal
...
It's a private field, not meant to be accessed from outside lavc.
2013-11-04 08:51:26 +01:00
Anton Khirnov
38ecc3702d
pthread: store thread contexts in AVCodecInternal instead of AVCodecContext
...
It's a private field, it should not be visible to callers.
Deprecate AVCodecContext.thread_opaque
2013-11-04 08:51:26 +01:00
Anton Khirnov
cc14ee03a7
lavc: split slice and frame threading functions into separate files
2013-11-04 08:51:26 +01:00