view libmpcodecs/vd_mpegpes.c @ 15447:a246c4454efc

1.961: vo_quartz and vo_macosx support -ontop as well. 1.962: vo_ggi now supports ontop. 1.963: sync to x264 rev223 (options: ratetol, vbv_*) + also added: qp_step 1.964: Document -vf pp=ac. 1.965: Document -hr-edl-seek, based on a description by Oded Shimon. 1.966: added some hyphens in quoted examples 1.967: -edl works with MEncoder as well. 1.968: wording fix (skipped) + That key is really called 'Apfel'. happily fixed
author kraymer
date Fri, 13 May 2005 23:19:06 +0000
parents baac3cd44794
children 9dbe188e65ad
line wrap: on
line source

#include <stdio.h>
#include <stdlib.h>

#include "config.h"
#include "mp_msg.h"

#include "vd_internal.h"

static vd_info_t info = 
{
	"MPEG 1/2 Video passthrough",
	"mpegpes",
	"A'rpi",
	"A'rpi",
	"for hw decoders"
};

LIBVD_EXTERN(mpegpes)

//#include "libmpdemux/parse_es.h"

#include "libvo/video_out.h"

// to set/get/query special features/parameters
static int control(sh_video_t *sh,int cmd,void* arg,...){
    return CONTROL_UNKNOWN;
}

// init driver
static int init(sh_video_t *sh){
    return mpcodecs_config_vo(sh,sh->disp_w,sh->disp_h,IMGFMT_MPEGPES);
}

// uninit driver
static void uninit(sh_video_t *sh){
}

// decode a frame
static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
    mp_image_t* mpi;
    static vo_mpegpes_t packet;
    mpi=mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, sh->disp_w, sh->disp_h);
    packet.data=data;
    packet.size=len;
    packet.timestamp=sh->timer*90000.0;
    packet.id=0x1E0; //+sh_video->ds->id;
    mpi->planes[0]=(uint8_t*)(&packet);
    return mpi;
}