mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
Merge commit 'd565fef1b83b6c5f8afb32229260b79f67c68109'
* commit 'd565fef1b83b6c5f8afb32229260b79f67c68109': vdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level check Conflicts: libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
51c810e62b
@ -15,6 +15,9 @@ libavutil: 2014-08-09
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2014-10-xx - xxxxxxx - lavc 56.4.0 - avcodec.h
|
||||||
|
Add AV_HWACCEL_FLAG_IGNORE_LEVEL flag to av_vdpau_bind_context().
|
||||||
|
|
||||||
2014-10-13 - xxxxxxx - lavc 56.03.0 - avcodec.h
|
2014-10-13 - xxxxxxx - lavc 56.03.0 - avcodec.h
|
||||||
Add AVCodecContext.initial_padding. Deprecate the use of AVCodecContext.delay
|
Add AVCodecContext.initial_padding. Deprecate the use of AVCodecContext.delay
|
||||||
for audio encoding.
|
for audio encoding.
|
||||||
|
@ -3229,7 +3229,8 @@ int av_codec_get_max_lowres(const AVCodec *codec);
|
|||||||
struct MpegEncContext;
|
struct MpegEncContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AVHWAccel.
|
* @defgroup lavc_hwaccel AVHWAccel
|
||||||
|
* @{
|
||||||
*/
|
*/
|
||||||
typedef struct AVHWAccel {
|
typedef struct AVHWAccel {
|
||||||
/**
|
/**
|
||||||
@ -3365,6 +3366,17 @@ typedef struct AVHWAccel {
|
|||||||
int priv_data_size;
|
int priv_data_size;
|
||||||
} AVHWAccel;
|
} AVHWAccel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hardware acceleration should be used for decoding even if the codec level
|
||||||
|
* used is unknown or higher than the maximum supported level reported by the
|
||||||
|
* hardware driver.
|
||||||
|
*/
|
||||||
|
#define AV_HWACCEL_FLAG_IGNORE_LEVEL (1 << 0)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @defgroup lavc_picture AVPicture
|
* @defgroup lavc_picture AVPicture
|
||||||
*
|
*
|
||||||
|
@ -107,7 +107,9 @@ int ff_vdpau_common_init(AVCodecContext *avctx, VdpDecoderProfile profile,
|
|||||||
vdctx->device = hwctx->device;
|
vdctx->device = hwctx->device;
|
||||||
vdctx->get_proc_address = hwctx->get_proc_address;
|
vdctx->get_proc_address = hwctx->get_proc_address;
|
||||||
|
|
||||||
if (level < 0)
|
if (hwctx->flags & AV_HWACCEL_FLAG_IGNORE_LEVEL)
|
||||||
|
level = 0;
|
||||||
|
else if (level < 0)
|
||||||
return AVERROR(ENOTSUP);
|
return AVERROR(ENOTSUP);
|
||||||
|
|
||||||
status = vdctx->get_proc_address(vdctx->device,
|
status = vdctx->get_proc_address(vdctx->device,
|
||||||
@ -686,7 +688,7 @@ int av_vdpau_bind_context(AVCodecContext *avctx, VdpDevice device,
|
|||||||
{
|
{
|
||||||
VDPAUHWContext *hwctx;
|
VDPAUHWContext *hwctx;
|
||||||
|
|
||||||
if (flags != 0)
|
if (flags & ~AV_HWACCEL_FLAG_IGNORE_LEVEL)
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
|
|
||||||
if (av_reallocp(&avctx->hwaccel_context, sizeof(*hwctx)))
|
if (av_reallocp(&avctx->hwaccel_context, sizeof(*hwctx)))
|
||||||
@ -698,6 +700,7 @@ int av_vdpau_bind_context(AVCodecContext *avctx, VdpDevice device,
|
|||||||
hwctx->context.decoder = VDP_INVALID_HANDLE;
|
hwctx->context.decoder = VDP_INVALID_HANDLE;
|
||||||
hwctx->device = device;
|
hwctx->device = device;
|
||||||
hwctx->get_proc_address = get_proc;
|
hwctx->get_proc_address = get_proc;
|
||||||
|
hwctx->flags = flags;
|
||||||
hwctx->reset = 1;
|
hwctx->reset = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -162,7 +162,7 @@ void av_vdpau_hwaccel_set_render2(AVVDPAUContext *, AVVDPAU_Render2);
|
|||||||
* @param avctx decoding context whose get_format() callback is invoked
|
* @param avctx decoding context whose get_format() callback is invoked
|
||||||
* @param device VDPAU device handle to use for hardware acceleration
|
* @param device VDPAU device handle to use for hardware acceleration
|
||||||
* @param get_proc_address VDPAU device driver
|
* @param get_proc_address VDPAU device driver
|
||||||
* @param flags for future use, must be zero
|
* @param flags zero of more OR'd AV_HWACCEL_FLAG_* flags
|
||||||
*
|
*
|
||||||
* @return 0 on success, an AVERROR code on failure.
|
* @return 0 on success, an AVERROR code on failure.
|
||||||
*/
|
*/
|
||||||
|
@ -60,6 +60,7 @@ typedef struct VDPAUHWContext {
|
|||||||
VdpDevice device;
|
VdpDevice device;
|
||||||
VdpGetProcAddress *get_proc_address;
|
VdpGetProcAddress *get_proc_address;
|
||||||
char reset;
|
char reset;
|
||||||
|
unsigned char flags;
|
||||||
} VDPAUHWContext;
|
} VDPAUHWContext;
|
||||||
|
|
||||||
typedef struct VDPAUContext {
|
typedef struct VDPAUContext {
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#include "libavutil/version.h"
|
#include "libavutil/version.h"
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_MAJOR 56
|
#define LIBAVCODEC_VERSION_MAJOR 56
|
||||||
#define LIBAVCODEC_VERSION_MINOR 5
|
#define LIBAVCODEC_VERSION_MINOR 6
|
||||||
#define LIBAVCODEC_VERSION_MICRO 100
|
#define LIBAVCODEC_VERSION_MICRO 100
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user