summaryrefslogtreecommitdiffstats
path: root/libavcodec/vaapi_mpeg2.c
Commit message (Collapse)AuthorAgeFilesLines
* lavc: Mark all AVHWAccel structures as constMark Thompson2017-12-191-1/+1
|
* lavc: external hardware frame pool initializationwm42017-10-191-0/+1
| | | | | | | | | | | | This adds a new API, which allows the API user to query the required AVHWFramesContext parameters. This also reduces code duplication across the hwaccels by introducing ff_decode_get_hw_frames_ctx(), which uses the new API function. It takes care of initializing the hw_frames_ctx if needed, and does additional error handling and API usage checking. Support for VDA and Cuvid missing. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* pthread_frame: do not run hwaccel decoding asynchronously unless it's safeAnton Khirnov2016-12-191-0/+2
| | | | | | | | | | Certain hardware decoding APIs are not guaranteed to be thread-safe, so having the user access decoded hardware surfaces while the decoder is running in another thread can cause failures (this is mainly known to happen with DXVA2). For such hwaccels, only allow the decoding thread to run while the user is inside a lavc decode call (avcodec_send_packet/receive_frame).
* vaapi_mpeg2: Convert to use the new VAAPI hwaccel codeMark Thompson2016-08-301-61/+106
|
* vaapi_mpeg2: Constify pointersMark Thompson2016-08-131-4/+4
|
* vaapi: Drop pointless debug outputDiego Biurrun2016-05-031-4/+0
|
* lavu: deprecate AV_PIX_FMT_VAAPI_*, replace with AV_PIX_FMT_VAAPIMark Thompson2016-03-191-1/+1
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo: Drop mpegvideo.h where not neededVittorio Giovara2015-09-131-0/+1
| | | | Add necessary headers in .c files.
* vaapi: Fix -Wimplicit-function-declaration for ff_dlog() usageRico Tzschichholz2015-04-261-0/+1
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* lavc: Replace av_dlog and tprintf with internal macrosVittorio Giovara2015-04-191-2/+2
|
* vaapi: Update idct_permutation location after dsputil/idctdsp splitDiego Biurrun2014-07-011-1/+1
|
* mpegvideo: operate with pointers to AVFrames instead of whole structswm42014-04-091-2/+2
| | | | | | | | | | | | | 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>
* vaapi: switch ff_vaapi_get_surface_id from Picture to AVFramewm42014-03-201-2/+2
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara2014-03-161-0/+1
|
* Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-261-1/+0
|
* h264: deMpegEncContextizeAnton Khirnov2013-02-151-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the changes are just trivial are just trivial replacements of fields from MpegEncContext with equivalent fields in H264Context. Everything in h264* other than h264.c are those trivial changes. The nontrivial parts are: 1) extracting a simplified version of the frame management code from mpegvideo.c. We don't need last/next_picture anymore, since h264 uses its own more complex system already and those were set only to appease the mpegvideo parts. 2) some tables that need to be allocated/freed in appropriate places. 3) hwaccels -- mostly trivial replacements. for dxva, the draw_horiz_band() call is moved from ff_dxva2_common_end_frame() to per-codec end_frame() callbacks, because it's now different for h264 and MpegEncContext-based decoders. 4) svq3 -- it does not use h264 complex reference system, so I just added some very simplistic frame management instead and dropped the use of ff_h264_frame_start(). Because of this I also had to move some initialization code to svq3. Additional fixes for chroma format and bit depth changes by Janne Grunau <janne-libav@jannau.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-081-1/+1
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-071-1/+1
|
* vaapi: mpeg2: fix slice_vertical_position calculation.Gwenole Beauchesne2012-04-081-1/+1
| | | | | | | | | | | | | | | | | VASliceParameterBufferMPEG2.slice_vertical_position shall express the slice vertical position from the original bitstream. The HW decoder will correctly decode to the right line computed from the appropriate top_field_first and is_first_field flags. This patch aligns with DXVA's definition, which is what most HW and drivers expect. In particular, Intel PowerVR (Cedarview et al.) and NVIDIA (through VA-to-VDPAU layer). Since it looks more complex to fix binary drivers, I aligned the Intel Gen driver (Sandy Bridge et al.) to this behaviour, while maintaining compatibility with codec layers not providing this patch yet. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* cosmetics: Drop unnecessary parentheses around return values.Diego Biurrun2011-12-301-2/+2
|
* Eliminate pointless 0/NULL initializers in AVCodec and similar declarations.Diego Biurrun2011-11-281-2/+0
|
* vaapi: do not assert on value read from input bitstreamDiego Biurrun2011-07-161-3/+3
| | | | | | | | User-provided data should never trigger an assert; return error instead. Also fix an instance of get_bits where get_bits_long should have been used. This eliminates the following warning: libavcodec/vaapi_mpeg2.c:112:14: warning: variable 'start_code' set but not used
* Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-021-2/+2
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace dprintf with av_dlogLuca Barbato2011-01-291-2/+2
| | | | dprintf clashes with POSIX.1-2008
* Add ff_ to AVHWAccel decodersLuca Barbato2011-01-271-1/+1
| | | | | | That unbreaks compilation of vaapi and dxva2 Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* Define AVMediaType enum, and use it instead of enum CodecType, whichStefano Sabatini2010-03-301-1/+1
| | | | | | is deprecated and will be dropped at the next major bump. Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use VA_INVALID_ID instead of hard coded values.Gwenole Beauchesne2009-12-281-2/+2
| | | | Originally committed as revision 20948 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename ff_vaapi_alloc_picture() to ff_vaapi_alloc_pic_param().Gwenole Beauchesne2009-12-281-1/+1
| | | | Originally committed as revision 20942 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename ff_vaapi_get_surface() to ff_vaapi_get_surface_id().Gwenole Beauchesne2009-12-281-2/+2
| | | | Originally committed as revision 20941 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fill in new VASliceParameterBufferMPEG2.slice_horizontal_position field.Gwenole Beauchesne2009-09-161-0/+1
| | | | | | This is needed for the Intel G45 driver. Originally committed as revision 19876 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Improve VA API buffers allocation logic. This also reduces struct vaapi_contextGwenole Beauchesne2009-03-311-5/+6
| | | | | | down to ~60 bytes vs. a few KBs before, and gets rid of explicit VA data types. Originally committed as revision 18256 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add MPEG-2 bitstream decoding through VA API.Gwenole Beauchesne2009-03-231-0/+149
Originally committed as revision 18172 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud