mirror of
https://github.com/mpv-player/mpv
synced 2024-09-12 23:45:53 +02:00
vd_mpegpes added
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5477 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
3055e6d514
commit
85ee329a2e
@ -4,7 +4,7 @@ include ../config.mak
|
||||
LIBNAME = libmpcodecs.a
|
||||
|
||||
AUDIO_SRCS=dec_audio.c ad.c ad_a52.c ad_acm.c ad_alaw.c ad_dk3adpcm.c ad_dshow.c ad_dvdpcm.c ad_ffmpeg.c ad_hwac3.c ad_imaadpcm.c ad_mp3.c ad_msadpcm.c ad_pcm.c ad_roqaudio.c ad_msgsm.c ad_faad.c ad_vorbis.c
|
||||
VIDEO_SRCS=dec_video.c vd.c vd_null.c vd_cinepak.c vd_qtrpza.c vd_ffmpeg.c vd_dshow.c vd_vfw.c vd_odivx.c vd_divx4.c vd_raw.c vd_xanim.c vd_msvidc.c vd_fli.c vd_qtrle.c vd_qtsmc.c vd_roqvideo.c vd_cyuv.c vd_nuv.c vd_libmpeg2.c vd_msrle.c vd_huffyuv.c vd_zlib.c
|
||||
VIDEO_SRCS=dec_video.c vd.c vd_null.c vd_cinepak.c vd_qtrpza.c vd_ffmpeg.c vd_dshow.c vd_vfw.c vd_odivx.c vd_divx4.c vd_raw.c vd_xanim.c vd_msvidc.c vd_fli.c vd_qtrle.c vd_qtsmc.c vd_roqvideo.c vd_cyuv.c vd_nuv.c vd_libmpeg2.c vd_msrle.c vd_huffyuv.c vd_zlib.c vd_mpegpes.c
|
||||
|
||||
ifeq ($(PNG),yes)
|
||||
VIDEO_SRCS += vd_mpng.c
|
||||
|
@ -46,6 +46,7 @@ extern vd_functions_t mpcodecs_vd_ijpg;
|
||||
extern vd_functions_t mpcodecs_vd_libmpeg2;
|
||||
extern vd_functions_t mpcodecs_vd_huffyuv;
|
||||
extern vd_functions_t mpcodecs_vd_zlib;
|
||||
extern vd_functions_t mpcodecs_vd_mpegpes;
|
||||
|
||||
vd_functions_t* mpcodecs_vd_drivers[] = {
|
||||
&mpcodecs_vd_null,
|
||||
@ -90,6 +91,7 @@ vd_functions_t* mpcodecs_vd_drivers[] = {
|
||||
#ifdef HAVE_ZLIB
|
||||
&mpcodecs_vd_zlib,
|
||||
#endif
|
||||
&mpcodecs_vd_mpegpes,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
50
libmpcodecs/vd_mpegpes.c
Normal file
50
libmpcodecs/vd_mpegpes.c
Normal file
@ -0,0 +1,50 @@
|
||||
#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",
|
||||
VFM_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-4;
|
||||
packet.timestamp=sh->timer*90000.0;
|
||||
packet.id=0x1E0; //+sh_video->ds->id;
|
||||
mpi->planes[0]=(uint8_t*)(&packet);
|
||||
return mpi;
|
||||
}
|
Loading…
Reference in New Issue
Block a user