1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-07-21 11:44:12 +02:00
Commit Graph

36 Commits

Author SHA1 Message Date
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
wm4
1b1094a19d vdpau: switch ff_vdpau_get_surface_id from Picture to AVFrame
This gets rid of aliasing completely unrelated structs to Picture.

Fixes the remaining compilation warnings in the vdpau code.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-03-20 17:00:39 +01:00
wm4
7948a51b5c vdpau: don't assume Picture and H264Picture are the same
The code passed H264Picture* and Picture*, and assumed the
hwaccel_picture_private field was in the same place in both
structs. Somehow this happened to work in Libav, but broke in
FFmpeg (and probably subtly breaks in Libav too).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-03-20 16:59:46 +01:00
Rémi Denis-Courmont
eeaf4f3b87 av_vdpau_get_profile: mask out H.264 intra profile flag
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-03-04 22:48:55 +01:00
Anton Khirnov
728c465856 vdpau: add a constructor for AVVDPAUContext.
We will likely want to add new fields to it in the future, so this is
needed to avoid breaking ABI.
2013-11-14 09:38:58 +01:00
Anton Khirnov
ca22d1dea2 vdpau: add a convenience function for getting a decoder profile.
Based on the code by Rémi Denis-Courmont <remi@remlab.net> from VLC.
2013-11-14 09:38:50 +01:00
Rémi Denis-Courmont
2852740e23 vdpau: store picture data in picture's rather than codec's context
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:20:41 +02:00
Rémi Denis-Courmont
578ea75a9e vdpau: remove old-style decoders
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:15:49 +02:00
Janne Grunau
b247253929 vdpau: wrap codec specific functions in appropiate #ifs
Fixes linking when only a subset of the deprecated vdpau decoders is
enabled.
2013-03-27 13:20:13 +01:00
Anton Khirnov
759001c534 lavc decoders: work with refcounted frames. 2013-03-08 07:38:30 +01:00
Anton Khirnov
2c54155407 h264: deMpegEncContextize
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>
2013-02-15 16:35:16 +01:00
Anton Khirnov
1d0feb5d1a mpegvideo: split ff_draw_horiz_band().
Split out dependency on MpegEncContext.
2013-02-15 16:10:19 +01:00
Rémi Denis-Courmont
44e065d56c vdpau: Add context and common helpers for hwaccel support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:41:27 +01:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Janne Grunau
cd8c64e197 Revert "mpeg12: move full_pel from MpegEncContext to Mpeg1Context"
This reverts commit da22ba7df4 since it
broke slice threading. Slice threading just duplicates MpegEncContext
so every value used during mpeg_decode_slice has to be in it.
A second patch will fix the illusion that Mpeg1Context is available
in mpeg_decode_slice.
2011-10-24 00:59:41 +02:00
Anton Khirnov
da22ba7df4 mpeg12: move full_pel from MpegEncContext to Mpeg1Context
It's MPEG-1 specific.
2011-10-23 14:14:39 +02:00
Mans Rullgard
1765aacb17 hwaccel: unbreak build
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-10 23:58:26 +01:00
Carl Eugen Hoyos
a4ab70f92e ffmpeg: Fix VDPAU decoding for some H264 samples. 2011-07-04 00:02:37 -07:00
Diego Biurrun
adbfc605f6 doxygen: Consistently use '@' instead of '\' for Doxygen markup.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-06-24 00:37:49 +02:00
Stefano Sabatini
975a1447f7 Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02 12:18:44 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Stephen Warren
3bccd93ac0 Set VDPAU H264 picture parameter field_order_cnt and frame_num at the
start of decoding a picture instead of at the end.
Fixes mmco01.264

Patch by Stephen Warren

Originally committed as revision 22728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 08:10:29 +00:00
Stephen Warren
e5efbafdfd Fix VDPAU for H.264 streams with long reference frames.
Patch by Stephen Warren.

Originally committed as revision 22727 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 07:52:44 +00:00
Carl Eugen Hoyos
66b50bc0b2 Cosmetics: Fix a comment.
Originally committed as revision 22533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 23:52:45 +00:00
Carl Eugen Hoyos
741a17e6b4 Support B-frames when decoding MPEG-4 with VDPAU hardware acceleration.
Based on a patch by NVIDIA.

Originally committed as revision 22160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 00:09:57 +00:00
NVIDIA Corporation
70e0c871eb Add VDPAU hardware accelerated decoding for MPEG-4 ASP which can be used
by video players.

Original patch by NVIDIA corporation.

Originally committed as revision 20502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 18:52:39 +00:00
Stephen Warren
49caac2413 Fix H.264 bitstream field log2_max_pic_order_cnt_lsb_minus4
if sps.poc_type == 0.

Patch by Stephen Warren, swarren nvidia com

Originally committed as revision 17854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 08:03:26 +00:00
NVIDIA Corporation
2f9c978a07 Do not set h264.is_reference for pictures that are delayed, but not
actually reference frames.

Patch by NVIDIA

Originally committed as revision 17596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 01:03:01 +00:00
NVIDIA Corporation
f90b55166e The field rangered in VDPAU's VdpPictureInfoVC1 now also contains
rangeredfrm (VC-1 7.1.13) in bit 1.

Patch by NVIDIA

Originally committed as revision 17595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 00:29:01 +00:00
Reimar Döffinger
d46b2d682f 100l, always declare variables at the top of a block, not inside a for ()
Originally committed as revision 17541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 14:02:11 +00:00
Reimar Döffinger
9bbf1a5c23 Instead of crashing, return from ff_vdpau_mpeg_picture_complete()
if get_buffer() failed.

Patch by Reimar

Originally committed as revision 17427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 09:21:29 +00:00
Stephen Warren
ef7ae94ba2 Fix MBAFF/PAFF samples.
Patch by Stephen Warren, swarren nvidia com

Originally committed as revision 17401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-17 23:30:07 +00:00
Reimar Döffinger
06aae1238f Place spaces consistently in pointer types in vdpau.c
Originally committed as revision 17320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 12:31:01 +00:00
Diego Biurrun
fd949a6353 Revert adding a _pixfmt to vdpau/xvmc header names.
Since vdpau.h was an installed header this would break API.

Originally committed as revision 17225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 13:37:18 +00:00
Diego Biurrun
8df3bf60cf Rename xvmc_render.h --> xvmc_pixfmt.h and vdpau.h --> vdpau_pixfmt.h as
suggested by Michael, the new names better describe the contents of the files.

Originally committed as revision 17168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 01:00:46 +00:00
Diego Biurrun
9b4cfc360a Rename vdpauvideo.c --> vdpau.c and xvmcvideo.c --> xvmc.c to better fit
the general libavcodec naming structure.

Originally committed as revision 17152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-11 12:01:59 +00:00