mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-28 20:53:54 +02:00
Merge commit '8b51bcfed75721e0d20832e5a90e1d585318c9d9'
* commit '8b51bcfed75721e0d20832e5a90e1d585318c9d9': vdpau: revector macro to reduce line span Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
0b30d186f1
@ -637,45 +637,46 @@ void ff_vdpau_mpeg4_decode_picture(Mpeg4DecContext *ctx, const uint8_t *buf,
|
||||
|
||||
int av_vdpau_get_profile(AVCodecContext *avctx, VdpDecoderProfile *profile)
|
||||
{
|
||||
#define PROFILE(prof) \
|
||||
do { \
|
||||
*profile = prof; \
|
||||
return 0; \
|
||||
#define PROFILE(prof) \
|
||||
do { \
|
||||
*profile = VDP_DECODER_PROFILE_##prof; \
|
||||
return 0; \
|
||||
} while (0)
|
||||
|
||||
switch (avctx->codec_id) {
|
||||
case AV_CODEC_ID_MPEG1VIDEO: PROFILE(VDP_DECODER_PROFILE_MPEG1);
|
||||
case AV_CODEC_ID_MPEG1VIDEO: PROFILE(MPEG1);
|
||||
case AV_CODEC_ID_MPEG2VIDEO:
|
||||
switch (avctx->profile) {
|
||||
case FF_PROFILE_MPEG2_MAIN: PROFILE(VDP_DECODER_PROFILE_MPEG2_MAIN);
|
||||
case FF_PROFILE_MPEG2_SIMPLE: PROFILE(VDP_DECODER_PROFILE_MPEG2_SIMPLE);
|
||||
case FF_PROFILE_MPEG2_MAIN: PROFILE(MPEG2_MAIN);
|
||||
case FF_PROFILE_MPEG2_SIMPLE: PROFILE(MPEG2_SIMPLE);
|
||||
default: return AVERROR(EINVAL);
|
||||
}
|
||||
case AV_CODEC_ID_H263: PROFILE(VDP_DECODER_PROFILE_MPEG4_PART2_ASP);
|
||||
case AV_CODEC_ID_H263: PROFILE(MPEG4_PART2_ASP);
|
||||
case AV_CODEC_ID_MPEG4:
|
||||
switch (avctx->profile) {
|
||||
case FF_PROFILE_MPEG4_SIMPLE: PROFILE(VDP_DECODER_PROFILE_MPEG4_PART2_SP);
|
||||
case FF_PROFILE_MPEG4_ADVANCED_SIMPLE: PROFILE(VDP_DECODER_PROFILE_MPEG4_PART2_ASP);
|
||||
case FF_PROFILE_MPEG4_SIMPLE: PROFILE(MPEG4_PART2_SP);
|
||||
case FF_PROFILE_MPEG4_ADVANCED_SIMPLE: PROFILE(MPEG4_PART2_ASP);
|
||||
default: return AVERROR(EINVAL);
|
||||
}
|
||||
case AV_CODEC_ID_H264:
|
||||
switch (avctx->profile & ~FF_PROFILE_H264_INTRA) {
|
||||
case FF_PROFILE_H264_BASELINE: PROFILE(VDP_DECODER_PROFILE_H264_BASELINE);
|
||||
case FF_PROFILE_H264_BASELINE: PROFILE(H264_BASELINE);
|
||||
case FF_PROFILE_H264_CONSTRAINED_BASELINE:
|
||||
case FF_PROFILE_H264_MAIN: PROFILE(VDP_DECODER_PROFILE_H264_MAIN);
|
||||
case FF_PROFILE_H264_HIGH: PROFILE(VDP_DECODER_PROFILE_H264_HIGH);
|
||||
case FF_PROFILE_H264_MAIN: PROFILE(H264_MAIN);
|
||||
case FF_PROFILE_H264_HIGH: PROFILE(H264_HIGH);
|
||||
default: return AVERROR(EINVAL);
|
||||
}
|
||||
case AV_CODEC_ID_WMV3:
|
||||
case AV_CODEC_ID_VC1:
|
||||
switch (avctx->profile) {
|
||||
case FF_PROFILE_VC1_SIMPLE: PROFILE(VDP_DECODER_PROFILE_VC1_SIMPLE);
|
||||
case FF_PROFILE_VC1_MAIN: PROFILE(VDP_DECODER_PROFILE_VC1_MAIN);
|
||||
case FF_PROFILE_VC1_ADVANCED: PROFILE(VDP_DECODER_PROFILE_VC1_ADVANCED);
|
||||
case FF_PROFILE_VC1_SIMPLE: PROFILE(VC1_SIMPLE);
|
||||
case FF_PROFILE_VC1_MAIN: PROFILE(VC1_MAIN);
|
||||
case FF_PROFILE_VC1_ADVANCED: PROFILE(VC1_ADVANCED);
|
||||
default: return AVERROR(EINVAL);
|
||||
}
|
||||
}
|
||||
return AVERROR(EINVAL);
|
||||
#undef PROFILE
|
||||
}
|
||||
|
||||
AVVDPAUContext *av_vdpau_alloc_context(void)
|
||||
|
Loading…
Reference in New Issue
Block a user