[MPlayer-cvslog] r33095 - in trunk: configure etc/codecs.conf libmpdemux/stheader.h
cehoyos
subversion at mplayerhq.hu
Wed Mar 23 09:35:46 CET 2011
Author: cehoyos
Date: Wed Mar 23 09:35:45 2011
New Revision: 33095
Log:
Support CrystalHD decoding.
Patch by Philip Langdale, philipl overt org
Modified:
trunk/configure
trunk/etc/codecs.conf
trunk/libmpdemux/stheader.h
Modified: trunk/configure
==============================================================================
--- trunk/configure Tue Mar 22 12:44:26 2011 (r33094)
+++ trunk/configure Wed Mar 23 09:35:45 2011 (r33095)
@@ -431,6 +431,7 @@ Codecs:
--disable-libopencore_amrnb disable libopencore_amr narrowband [autodetect]
--disable-libopencore_amrwb disable libopencore_amr wideband [autodetect]
--disable-libopenjpeg disable OpenJPEG (JPEG2000) input/output support [autodetect]
+ --disable-crystalhd disable CrystalHD support [autodetect]
--disable-decoder=DECODER disable specified FFmpeg decoder
--enable-decoder=DECODER enable specified FFmpeg decoder
--disable-encoder=ENCODER disable specified FFmpeg encoder
@@ -634,8 +635,6 @@ _libopencore_amrwb=auto
libopenjpeg=auto
libavdecoders_all=$(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
libavdecoders=$(echo $libavdecoders_all | sed -e 's/ LIB[A-Z0-9_]*_DECODER//g')
-# temporary hack until we have proper crystalhd support
-libavdecoders=$(echo $libavdecoders | sed -e 's/[A-Z0-9]*_CRYSTALHD_DECODER//g')
libavencoders_all=$(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
libavencoders=$(echo $libavencoders_all | sed -e 's/ LIB[A-Z0-9_]*_ENCODER//g')
libavparsers_all=$(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
@@ -775,6 +774,7 @@ _vidix_pcidb=yes
_dhahelper=no
_svgalib_helper=no
_joystick=no
+crystalhd=auto
_xvid=auto
_xvid_lavc=auto
_x264=auto
@@ -1219,6 +1219,8 @@ for ac_option do
--disable-svgalib_helper) _svgalib_helper=no ;;
--enable-joystick) _joystick=yes ;;
--disable-joystick) _joystick=no ;;
+ --enable-crystalhd) crystalhd=yes ;;
+ --disable-crystalhd) crystalhd=no ;;
--enable-xvid) _xvid=yes ;;
--disable-xvid) _xvid=no ;;
--enable-xvid-lavc) _xvid_lavc=yes ;;
@@ -6963,6 +6965,22 @@ else
fi
echores "$_libdv"
+echocheck "CrystalHD"
+if test "$crystalhd" = auto ; then
+ crystalhd=no
+ statement_check_broken libcrystalhd/bc_dts_types.h libcrystalhd/libcrystalhd_if.h 'DtsGetVersion(0, 0, 0)' -lcrystalhd $_ld_lm && crystalhd=yes
+fi
+
+if test "$crystalhd" = yes ; then
+ extra_ldflags="$extra_ldflags -lcrystalhd"
+ def_crystalhd="#define CONFIG_CRYSTALHD 1"
+ codecmodules="crystalhd $codecmodules"
+else
+ def_crystalhd="#define CONFIG_CRYSTALHD 0"
+ nocodecmodules="crystalhd $nocodecmodules"
+ libavdecoders=$(echo $libavdecoders | sed -e 's/[A-Z0-9]*_CRYSTALHD_DECODER//g')
+fi
+echores "$crystalhd"
echocheck "Xvid"
if test "$_xvid" = auto ; then
@@ -8171,6 +8189,7 @@ CONFIG_LIBRTMP = $_librtmp
CONFIG_AC3DSP = $_mencoder
CONFIG_BZLIB = $bzlib
+CONFIG_CRYSTALHD= $crystalhd
CONFIG_ENCODERS = yes
CONFIG_GPL = yes
CONFIG_MLIB = $_mlib
@@ -8682,6 +8701,7 @@ $def_yasm
#define LIBAV_LICENSE FFMPEG_LICENSE
/* External libraries used through FFmpeg. */
+$def_crystalhd
$def_faac_lavc
$def_libdirac_lavc
$def_libgsm
Modified: trunk/etc/codecs.conf
==============================================================================
--- trunk/etc/codecs.conf Tue Mar 22 12:44:26 2011 (r33094)
+++ trunk/etc/codecs.conf Wed Mar 23 09:35:45 2011 (r33095)
@@ -3,7 +3,7 @@
; Before editing this file, please read DOCS/tech/codecs.conf.txt !
;=============================================================================
-release 20101127
+release 20110311
;=============================================================================
; VIDEO CODECS
@@ -366,6 +366,42 @@ videocodec ffmpeg12vdpau
out VDPAU_MPEG1
out VDPAU_MPEG2
+videocodec ffmpeg2crystalhd
+ info "FFmpeg MPEG-2 (CrystalHD)"
+ status working
+ format 0x10000002 ; MPEG-2
+ fourcc mpg2,MPG2
+ fourcc "DVR "
+ fourcc hdv1
+ fourcc hdv2
+ fourcc MPEG
+ fourcc hdv3 ; HDV 1080i50
+ fourcc hdv5 ; HDV 720p25
+ fourcc mx5p ; MPEG IMX 625/50 (50 Mb/s)
+ fourcc MMES,mmes ; matrox mpeg2 in avi
+ fourcc M701 ; matrox mpeg2 intra-only
+ fourcc hdv6,hdv7,hdv8
+ fourcc xdv1,xdv2,xdv3
+ fourcc xdv4,xdv5,xdv6
+ fourcc xdv7,xdv8,xdv9
+ fourcc xdva,xdvb,xdvc
+ fourcc xdvd,xdve,xdvf
+ fourcc xd5a,xd5b,xd5c
+ fourcc xd5d,xd5e,xd5f
+ fourcc xd59,xd54
+ fourcc mx5n,mx4n,mx4p
+ fourcc mx3n,mx3p
+ fourcc AVmp
+ fourcc VCR2
+ fourcc mp2v,mpgv
+ fourcc m2v1
+ fourcc PIM2
+ fourcc LMP2 ; Lead mpeg2 in avi
+ fourcc slif ; SoftLab MPEG-2 I-frames Codec
+ driver ffmpeg
+ dll mpeg2_crystalhd
+ out YUY2
+
videocodec mpegpes
info "MPEG-PES output (.mpg or DXR3/IVTV/DVB/V4L2 card)"
comment "for hardware decoding"
@@ -900,6 +936,23 @@ videocodec ffdivx
dll msmpeg4
out YV12,I420,IYUV
+videocodec ffdivxcrystalhd
+ info "FFmpeg DivX ;-) (MSMPEG-4 v3) (CrystalHD)"
+ status buggy
+ fourcc MPG3,mpg3 div3
+ fourcc MP43,mp43 div3 ; MSMPEG-4 v3 (fourcc mapping to div3)
+ fourcc DIV5,div5 div3 ; DivX 3.20
+ fourcc DIV6,div6 div4 ; -||-
+ fourcc DIV3,div3,DIV4,div4
+ fourcc DIVF,divf ; divx4.12
+ fourcc AP41 div3 ; AngelPotion stuff
+ fourcc COL1,col1,COL0,col0 ; Cool codec (based on mpg4ds32.ax)
+ fourcc 3IVD,3ivd ; divxdoctored files (3ivx.com)
+ fourcc DVX3
+ driver ffmpeg
+ dll msmpeg4_crystalhd
+ out YUY2
+
videocodec ffmp42
info "FFmpeg MSMPEG-4 v2"
status working
@@ -960,6 +1013,14 @@ videocodec ffwmv3vdpau
dll wmv3_vdpau
out VDPAU_WMV3
+videocodec ffwmv3crystalhd
+ info "FFmpeg WMV3/WMV9 (CrystalHD)"
+ status buggy
+ fourcc WMV3,wmv3
+ driver ffmpeg
+ dll wmv3_crystalhd
+ out YUY2
+
videocodec ffvc1
info "FFmpeg WVC1"
status buggy
@@ -978,6 +1039,15 @@ videocodec ffvc1vdpau
dll vc1_vdpau
out VDPAU_VC1
+videocodec ffvc1crystalhd
+ info "FFmpeg WVC1 (CrystalHD)"
+ status buggy
+ fourcc WVC1,wvc1,WMVA
+ fourcc vc-1,VC-1
+ driver ffmpeg
+ dll vc1_crystalhd
+ out YUY2
+
videocodec ffh264
info "FFmpeg H.264"
status working
@@ -1008,6 +1078,21 @@ videocodec ffh264vdpau
dll h264_vdpau
out VDPAU_H264
+videocodec ffh264crystalhd
+ info "FFmpeg H.264 (CrystalHD)"
+ status working
+ fourcc H264,h264
+ fourcc X264,x264
+ fourcc avc1,AVC1
+ fourcc davc,DAVC
+ fourcc vvvc ; only one sample using this fourcc
+ fourcc ai55,ai15 ; flip4mac avc intra
+ fourcc ai1q,ai5q ; flip4mac avc intra
+ format 0x10000005
+ driver ffmpeg
+ dll h264_crystalhd
+ out YUY2
+
videocodec coreavcwindows
info "CoreAVC H.264 for x86 - http://corecodec.org/"
comment "this codec will only work after purchasing it"
@@ -1100,6 +1185,39 @@ videocodec ffodivxvdpau
dll mpeg4_vdpau
out VDPAU_MPEG4
+videocodec ffodivxcrystalhd
+ info "FFmpeg MPEG-4,DIVX-4/5 (CrystalHD)"
+ status working
+ fourcc FMP4,fmp4
+ fourcc DIVX,divx
+ fourcc DIV1,div1 divx
+ fourcc MP4S,mp4s ; ISO MPEG-4 Video V1
+ fourcc M4S2,m4s2
+ fourcc xvid,XVID,XviD,XVIX
+ fourcc DX50,dx50,BLZ0 DX50
+ fourcc mp4v,MP4V
+ format 0x4
+ fourcc UMP4
+ fourcc RMP4
+ fourcc 3IV2,3iv2 ; 3ivx Delta 4
+ fourcc DXGM
+ fourcc SEDG ; diskless camcorder Samsung Miniket VP-M110
+ fourcc SMP4,smp4 ; Samsung SMP4 video codec
+ fourcc VIDM ; vidm 4.01 codec
+ format 0x10000004 ; mpeg 4 es
+ fourcc m4cc,M4CC
+ fourcc hdx4,HDX4
+ fourcc FVFW,fvfw
+ fourcc FFDS
+ fourcc DCOD,MVXM,EM4A,PM4V
+ fourcc M4T3,DMK2,DIGI,INMC
+ fourcc EPHV,SN40,WAWV
+ fourcc uldx,ULDX,VSPX
+ fourcc SIPP ; Samsung SHR-6040
+ driver ffmpeg
+ dll mpeg4_crystalhd
+ out YUY2
+
videocodec ffwv1f
info "WV1F MPEG-4"
status working
Modified: trunk/libmpdemux/stheader.h
==============================================================================
--- trunk/libmpdemux/stheader.h Tue Mar 22 12:44:26 2011 (r33094)
+++ trunk/libmpdemux/stheader.h Wed Mar 23 09:35:45 2011 (r33095)
@@ -97,7 +97,7 @@ typedef struct sh_video {
double i_pts; // PTS for the _next_ I/P frame
float next_frame_time;
double last_pts;
- double buffered_pts[20];
+ double buffered_pts[32];
int num_buffered_pts;
// output format: (set by demuxer)
float fps; // frames per second (set only if constant fps)
More information about the MPlayer-cvslog
mailing list