[MPlayer-users] h.264 jm.75b not working in w32

Jonathan Coleman j_coleman at shaw.ca
Sat Feb 21 01:54:53 CET 2004


Hi, I uploaded my problem file to ftp://mplayerhq.hu/MPlayer/incoming/ I think I described adequetly what the problem is here is a copy of the text file which was uploaded along with the file, thanks:

Hi, I encoded some video under w32 using the jm-75b h.264 reference encoder but it will not play in mplayer under w32.  I was using 1.0pre3 but I upgraded to the latest cvs just to make sure that it hasn't been fixed.  Here is my encoder.cfg although I should say that this is a slighly modified h.264 encoder which allows for input of yv12 into the encoder and writing of avi files.  The sourcecode may be obtained here http://www.hydrogenaudio.org/extra/jm75b-avi.zip anyway here is the encoder.cfg:






# New Input File Format is as follows
# <ParameterName> = <ParameterValue> # Comment
#
# See configfile.h for a list of supported ParameterNames


##########################################################################################
# Files
##########################################################################################
InputFile             = "C:\Documents and Settings\Owner\Desktop\test.avs"     # Input sequence, YUV 4:2:0
InputHeaderLength     = 0      # If the inputfile has a header, state it's length in byte here 
FramesToBeEncoded     = 1000    # Number of frames to be coded
PictureRate           = 24     # Picture Rate per second (1-100)
SourceWidth           = 704    # Image width in Pels, must be multiple of 16
SourceHeight          = 304    # Image height in Pels, must be multiple of 
TraceFile             = ""
ReconFile             = ""
OutputFile            = "C:\Documents and Settings\Owner\Desktop\test1.avi"


##########################################################################################
# Encoder Control
##########################################################################################

IntraPeriod           = 240 # Period of I-Frames (0=only first)
IDRIntraEnable        = 1   # Force IDR Intra  (0=disable 1=enable)
QPFirstFrame          = 24  # Quant. param for first frame (intra) (0-51)
QPRemainingFrame      = 24  # Quant. param for remaining frames (0-51)
FrameSkip             =  1  # Number of frames to be skipped in input (e.g 2 will code every third frame)
UseHadamard           =  1  # Hadamard transform (0=not used, 1=used)
SearchRange           = 16  # Max search range
NumberReferenceFrames =  2  # Number of previous frames used for inter motion search (1-5)
MbLineIntraUpdate     =  0  # Error robustness(extra intra macro block updates)(0=off, N: One GOB every N frames are intra coded)
RandomIntraMBRefresh  =  0  # Forced intra MBs per picture
InterSearch16x16      =  1  # Inter block search 16x16 (0=disable, 1=enable)
InterSearch16x8       =  1  # Inter block search 16x8  (0=disable, 1=enable)
InterSearch8x16       =  1  # Inter block search  8x16 (0=disable, 1=enable)
InterSearch8x8        =  1  # Inter block search  8x8  (0=disable, 1=enable)
InterSearch8x4        =  1  # Inter block search  8x4  (0=disable, 1=enable)
InterSearch4x8        =  1  # Inter block search  4x8  (0=disable, 1=enable)
InterSearch4x4        =  1  # Inter block search  4x4  (0=disable, 1=enable)

##########################################################################################
# Error Resilience / Slices
##########################################################################################

SliceMode             =  0   # Slice mode (0=off 1=fixed #mb in slice 2=fixed #bytes in slice 3=use callback 4=FMO)
SliceArgument         = 50   # Slice argument (Arguments to modes 1 and 2 above)
num_slice_groups_minus1 = 0  # Number of Slice Groups Minus 1, 0 == no FMO, 1 == two slice groups, etc.
FmoType               =  0   # 0:  Slice interleave, 1: Scatter, 2: fully flexible, data in FmoConfigFileName, 
                             # 3:  rectangle defined by FmoTopLeftMB and FmoBottomRightMB,
                             #     (only one rectangular slice group supported currently, i.e. FmoNumSliceGroups = 1)
                             # 4-6:evolving slice groups, FmoNumSliceGroups = 1, the evolving method is defined by 
                             #     FmoChangeDirection and FmoChangeRate.
FmoTopLeftMB          = 24   # the top left MB of the rectangular shape for slice groups, MB counted in raster scan order
FmoBottomRightMB      = 74   # the bottom right MB of the rectangular shape for slice groups
FmoChangeDirection    = 1    # 0: box-out clockwise, raster scan or wipe right, 
                             # 1: box-out counter clockwise, reverse raster scan or wipe left
FmoChangeRate         = 4    # SLICE_GROUP_CHANGE_RATE minus 1

FmoConfigFileName     = "fmoconf.cfg"   # not yet used, for future fully flexible MBAmaps

UseRedundantSlice     = 0    # 0: not used, 1: one redundant slice used for each slice (other modes not supported yet)

##########################################################################################
# B Frames
##########################################################################################

NumberBFrames         =  1  # Number of B frames inserted (0=not used)  
QPBPicture            =  26 # Quant. param for B frames (0-51)
DirectModeType        =  0  # Direct Mode Type (0:Temporal 1:Spatial)

##########################################################################################
# SP Frames
##########################################################################################

SPPicturePeriodicity  =  0  # SP-Picture Periodicity (0=not used)
QPSPPicture           = 28  # Quant. param of SP-Pictures for Prediction Error (0-51)
QPSP2Picture          = 27  # Quant. param of SP-Pictures for Predicted Blocks (0-51)


##########################################################################################
# Output Control, NALs
##########################################################################################

SymbolMode             =  1  # Symbol mode (Entropy coding method: 0=UVLC, 1=CABAC)
OutFileMode            =  0  # Output file mode, 0:Annex B, 1:RTP
PartitionMode          =  0  # Partition Mode, 0: no DP, 1: 3 Partitions per Slice

##########################################################################################
# Search Range Restriction / RD Optimization 
##########################################################################################

RestrictSearchRange  =  2  # restriction for (0: blocks and ref, 1: ref, 2: no restrictions)
RDOptimization       =  0  # rd-optimized mode decision (0:off, 1:on, 2: with losses)
LossRateA            = 10  # expected packet loss rate of the channel for the first partition, only valid if RDOptimization = 2
LossRateB            =  0  # expected packet loss rate of the channel for the second partition, only valid if RDOptimization = 2
LossRateC            =  0  # expected packet loss rate of the channel for the third partition, only valid if RDOptimization = 2
NumberOfDecoders     = 30  # Numbers of decoders used to simulate the channel, only valid if RDOptimization = 2
RestrictRefFrames    =  0  # Doesnt allow reference to areas that have been intra updated in a later frame.

##########################################################################################
# Additional Stuff
#########################################################################################

UseConstrainedIntraPred  =  0  # If 1, Inter pixels are not used for Intra macroblock prediction.
LastFrameNumber          =  0  # Last frame number that have to be coded (0: no effect)
ChangeQPP                = 16  # QP (P-frame) for second part of sequence (0-51)
ChangeQPB                = 18  # QP (B-frame) for second part of sequence (0-51)
ChangeQPStart            =  0  # Frame no. for second part of sequence (0: no second part)

NumberofLeakyBuckets     =  8                      # Number of Leaky Bucket values
LeakyBucketRateFile      =  "leakybucketrate.cfg"  # File from which encoder derives rate values
LeakyBucketParamFile     =  "leakybucketparam.cfg" # File where encoder stores leakybucketparams

PicInterlace             =  0  # Picture AFF    (0: frame coding, 1: field coding, 2:adaptive frame/field coding)
MbInterlace              =  0  # Macroblock AFF (0: frame coding, 1: field coding, 2:adaptive frame/field coding)

NumberFramesInEnhancementLayerSubSequence  = 0  # number of frames in the Enhanced Scalability Layer(0: no Enhanced Layer)
NumberOfFrameInSecondIGOP                  = 0  # Number of frames to be coded in the second IGOP

WeightedPrediction        =  0   # P picture Weighted Prediction (0=off, 1=explicit mode)  
WeightedBiprediction      =  0   # B picture Weighted Prediciton (0=off, 1=explicit mode,  2=implicit mode)  
StoredBPictures           =  0   # Stored B pictures (0=off, 1=on)

SparePictureOption        =  0   # (0: no spare picture info, 1: spare picture available)
SparePictureDetectionThr  =  6   # Threshold for spare reference pictures detection
SparePicturePercentageThr = 92   # Threshold for the spare macroblock percentage

PicOrderCntType           = 0    # (0: POC mode 0, 1: POC mode 1, 2: POC mode 2)

##########################################################################################
# Loop filter parameters
##########################################################################################

LoopFilterParametersFlag = 0  # Configure loop filter (0=parameter below ingored, 1=parameters sent)
LoopFilterDisable        = 1  # Disable loop filter in slice header (0=Filter, 1=No Filter)
LoopFilterAlphaC0Offset  = 0  # Alpha & C0 offset div. 2, {-6, -5, ... 0, +1, .. +6}
LoopFilterBetaOffset     = 0  # Beta offset div. 2, {-6, -5, ... 0, +1, .. +6}


##########################################################################################
# CABAC context initialization
##########################################################################################

ContextInitMethod   = 0   # Context init (0: fixed, 1: adaptive)
FixedModelNumber    = 0   # model number for fixed decision for inter slices ( 0, 1, or 2 )

########################################################################################
#Rate control
########################################################################################

RateControlEnable    =      1   # 0 Disable, 1 Enable
Bitrate              =  716800   # Bitrate(bps)
InitialQP            =     24   # Initial Quantization Parameter for the first I frame
                                # InitialQp depends on two values: Bits Per Picture,
                                # and the GOP length
BasicUnit            =     11   # Number of MBs in the basic unit
                                # should be a fractor of the total number 
                                # of MBs in a frame
ChannelType          =      0   # type of channel( 1=time varying channel; 0=Constant channel)








Also, here is an output of mplayer w/ -v:






MPlayer dev-CVS-040219-08:04-3.2.3 (C) 2000-2004 MPlayer Team

CPU: Intel Pentium 4/Xeon/Celeron Foster 1520 MHz (Family: 8, Stepping: 4)
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Reading config file /usr/local/etc/mplayer/mplayer.confReading config file C:/Video/mplayer/mplayer/config
Reading C:/Video/mplayer/mplayer/codecs.conf: Reading /usr/local/etc/mplayer/codecs.conf: Using built-in default codecs.conf.
CommandLine: 'C:\Documents and Settings\Owner\Desktop\h.264-jm75b-notworking.avi' '-v'
get_path('font/font.desc') -> 'C:/Video/mplayer/mplayer/font/font.desc'
font: can't open file: C:/Video/mplayer/mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using usleep() timing
get_path('input.conf') -> 'C:/Video/mplayer/mplayer/input.conf'
get_path('C:\Documents and Settings\Owner\Desktop\h.264-jm75b-notworking.avi.conf') -> 'C:/Video/mplayer/mplayer/C:\Documents and Settings\Owner\Desktop\h.264-jm75b-notworking.avi.conf'

Playing C:\Documents and Settings\Owner\Desktop\h.264-jm75b-notworking.avi.
WINSOCK2 init: 0
[file] File size is 1965056 bytes
STREAM: [file] C:\Documents and Settings\Owner\Desktop\h.264-jm75b-notworking.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
AVI file format detected.
list_end=0xD8
======= AVI Header =======
us/frame: 43478  (fps=23.000)
max bytes/sec: 145429
padding: 0
MainAVIHeader.dwFlags: (2064) HAS_INDEX TRUST_CKTYPE
frames  total: 499   initial: 0
streams: 1
Suggested BufferSize: 19119
Size:  704 x 304
==========================
list_end=0xD8
==> Found video stream: 0
====== STREAM Header =====
Type: vids   FCC: H264 (34363248)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 23/1 = 23.000
Start: 0   Len: 499
Suggested BufferSize: 19119
Quality -1
Sample size: 0
==========================
found 'bih', 44 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 704
  biHeight 304
  biPlanes 1
  biBitCount 0
  biCompression 875967048='H264'
  biSizeImage 0
===========================
Broken chunk?  chunksize=1812  (id=JUNK)
list_end=0x1DDB36
Found movie at 0x800 - 0x1DDB36
Reading INDEX block, 499 chunks for 499 frames (fpos=001DDB3E)
stream_seek: WARNING! Can't seek to 0x755B32BE !
AVI index offset: 0x7FC (movi=0x800 idx0=0x4 idx1=0x42A0)
Auto-selected AVI video ID = 0
AVI_NI: No audio stream found -> no sound.
AVI: Searching for audio stream (id:-1)
AVI: No audio stream found -> no sound.
AVI video size=1950367 (499) audio size=0 (0)
VIDEO:  [H264]  704x304  0bpp  23.000 fps  719.2 kbps (87.8 kbyte/s)
[V] filefmt:3  fourcc:0x34363248  size:704x304  fps:23.00  ftime:=0.0435
get_path('sub/') -> 'C:/Video/mplayer/mplayer/sub/'
get_path('default.sub') -> 'C:/Video/mplayer/mplayer/default.sub'
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffh264] vfm:ffmpeg (FFmpeg H.264)
==========================================================================
Audio: no sound
Freeing 0 unused audio chunks
Starting playback...
[ffmpeg] aspect_ratio: -1.#IND00
VDec: vo config request - 704 x 304 (preferred csp: Planar YV12)
Trying filter chain: vo
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
SwScale params: -1 x -1 (-1=no scaling)
Trying filter chain: scale vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO Config (704x304->704x304,flags=0,'MPlayer',0x32315659)
SwScaler: using unscaled Planar YV12 -> BGR 24-bit special converter
REQ: flags=0x7  req=0x0  
VO: [gl2] 704x304 => 704x304 BGR 24-bit 
VO: Description: X11 (OpenGL) - multiple textures version
VO: Author: Arpad Gereoffy & Sven Goethel
vo: win32: running at 1024x768 with depth 32
[gl2] OpenGL Driver Information:
 vendor: ATI Technologies Inc.,
 renderer Radeon 7500 DDR x86/SSE2,
 version 1.3.3143 WinXP Release
[gl2] You have OpenGL >= 1.2 capable drivers, GOOD (16bpp and BGR is ok!)
[gl2] Creating 1x1 textures of size 1024x512 ...
[gl2] antialiasing off
[gl2] bilinear linear
[gl2] Using image_bpp=24, image_bytes=3, isBGR=1, 
 gl_bitmap_format=GL_BGR, gl_bitmap_type=GL_UNSIGNED_BYTE, 
 gl_alignment=8, rgb_size=24 (8,8,8), a_sz=8, 
 gl_internal_format=GL_RGBA8
[gl2] Resize: 704x304
*** [scale] Allocating mp_image_t, 704x304x12bpp YUV planar, 321024 bytes
*** [vo] Allocating mp_image_t, 704x304x24bpp BGR packed, 642048 bytes
V:   0.0    1   0%  0%  0.0% 0 0 0%
*** [scale] Allocating mp_image_t, 704x304x12bpp YUV planar, 321024 bytes
uninit video: ffmpeg
DEMUXER: freeing demuxer at 02F45978  
WINSOCK2 uninit
vo: win32: uninit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-users/attachments/20040220/c8eda77c/attachment.htm>


More information about the MPlayer-users mailing list