Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6117 → Rev 6118

/contrib/media/fplay/vaapi.c
13,8 → 13,6
#include "winlib/winlib.h"
#include "fplay.h"
 
extern int dfx;
 
struct hw_profile
{
enum AVCodecID av_codec;
224,9 → 222,6
vaapi->display = display;
vaapi->config_id = VA_INVALID_ID;
vaapi->context_id = VA_INVALID_ID;
// vaapi->pic_param_buf_id = VA_INVALID_ID;
// vaapi->iq_matrix_buf_id = VA_INVALID_ID;
// vaapi->bitplane_buf_id = VA_INVALID_ID;
 
v_context = vaapi;
 
466,14 → 461,11
av_freep(&data);
}
 
 
static int get_buffer2(AVCodecContext *avctx, AVFrame *pic, int flags)
{
void *surface = (void *)(uintptr_t)v_surface_id[dfx];
vst_t *vst = (vst_t*)avctx->opaque;
void *surface = (void *)(uintptr_t)v_surface_id[vst->dfx];
 
// printf("%s surface %x\n", __FUNCTION__, surface);
 
// pic->type= FF_BUFFER_TYPE_USER;
pic->data[3] = surface;
 
struct av_surface *avsurface;
489,15 → 481,15
 
struct vaapi_context va_context_storage;
 
int fplay_init_context(AVCodecContext *avctx)
int fplay_init_context(vst_t *vst)
{
ENTER();
AVCodecContext *vCtx = vst->vCtx;
 
avctx->thread_count = 1;
avctx->get_format = get_format;
avctx->get_buffer2 = get_buffer2;
vCtx->opaque = vst;
vCtx->thread_count = 1;
vCtx->get_format = get_format;
vCtx->get_buffer2 = get_buffer2;
 
LEAVE();
return 0;
}
 
515,17 → 507,8
 
struct SwsContext *vacvt_ctx;
 
 
void va_sync()
void va_convert_picture(vst_t *vst, int width, int height, AVPicture *pic)
{
struct vaapi_context* const vaapi = v_context;
 
vaSyncSurface(vaapi->display,v_surface_id[dfx]);
};
 
 
void va_convert_picture(int width, int height, AVPicture *pic)
{
uint8_t *src_data[4];
int src_linesize[4];
VAImage vaimage;
533,10 → 516,9
uint8_t *vdata;
struct vaapi_context* const vaapi = v_context;
 
vaSyncSurface(vaapi->display,v_surface_id[vst->dfx]);
 
va_sync();
 
status = vaDeriveImage(vaapi->display,v_surface_id[dfx],&vaimage);
status = vaDeriveImage(vaapi->display,v_surface_id[vst->dfx],&vaimage);
if (!vaapi_check_status(status, "vaDeriveImage()"))
{
FAIL();
545,7 → 527,7
 
static int once = 2;
 
if(once && dfx == 0)
if(once && vst->dfx == 0)
{
VABufferInfo info = {0};