mirror of https://git.ffmpeg.org/ffmpeg.git
avutil/hwcontext_vdpau: Correctly initialise pixfmts
The number of declared vdpau formats can vary depending on which version of libvdpau we build against, so the number of pix fmts can vary too. Let's make sure we keep those numbers in sync.
This commit is contained in:
parent
2dabee7c0f
commit
93febc4e15
|
@ -32,27 +32,6 @@
|
|||
#include "pixfmt.h"
|
||||
#include "pixdesc.h"
|
||||
|
||||
typedef struct VDPAUDeviceContext {
|
||||
VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities *get_transfer_caps;
|
||||
VdpVideoSurfaceGetBitsYCbCr *get_data;
|
||||
VdpVideoSurfacePutBitsYCbCr *put_data;
|
||||
VdpVideoSurfaceCreate *surf_create;
|
||||
VdpVideoSurfaceDestroy *surf_destroy;
|
||||
|
||||
enum AVPixelFormat *pix_fmts[8];
|
||||
int nb_pix_fmts[8];
|
||||
} VDPAUDeviceContext;
|
||||
|
||||
typedef struct VDPAUFramesContext {
|
||||
VdpVideoSurfaceGetBitsYCbCr *get_data;
|
||||
VdpVideoSurfacePutBitsYCbCr *put_data;
|
||||
VdpChromaType chroma_type;
|
||||
int chroma_idx;
|
||||
|
||||
const enum AVPixelFormat *pix_fmts;
|
||||
int nb_pix_fmts;
|
||||
} VDPAUFramesContext;
|
||||
|
||||
typedef struct VDPAUPixFmtMap {
|
||||
VdpYCbCrFormat vdpau_fmt;
|
||||
enum AVPixelFormat pix_fmt;
|
||||
|
@ -103,6 +82,27 @@ static const struct {
|
|||
#endif
|
||||
};
|
||||
|
||||
typedef struct VDPAUDeviceContext {
|
||||
VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities *get_transfer_caps;
|
||||
VdpVideoSurfaceGetBitsYCbCr *get_data;
|
||||
VdpVideoSurfacePutBitsYCbCr *put_data;
|
||||
VdpVideoSurfaceCreate *surf_create;
|
||||
VdpVideoSurfaceDestroy *surf_destroy;
|
||||
|
||||
enum AVPixelFormat *pix_fmts[FF_ARRAY_ELEMS(vdpau_pix_fmts)];
|
||||
int nb_pix_fmts[FF_ARRAY_ELEMS(vdpau_pix_fmts)];
|
||||
} VDPAUDeviceContext;
|
||||
|
||||
typedef struct VDPAUFramesContext {
|
||||
VdpVideoSurfaceGetBitsYCbCr *get_data;
|
||||
VdpVideoSurfacePutBitsYCbCr *put_data;
|
||||
VdpChromaType chroma_type;
|
||||
int chroma_idx;
|
||||
|
||||
const enum AVPixelFormat *pix_fmts;
|
||||
int nb_pix_fmts;
|
||||
} VDPAUFramesContext;
|
||||
|
||||
static int count_pixfmts(const VDPAUPixFmtMap *map)
|
||||
{
|
||||
int count = 0;
|
||||
|
|
Loading…
Reference in New Issue