[Mp4-tech] why are there 4 bytes 0x00000001 instead of 3 bytes inevery NALU?

Gary Sullivan garysull windows.microsoft.com
Sat Oct 21 15:32:30 ESTEDT 2006


Alex (et al),
It's not quite that simple.
There are actually five distinct kinds of special zero-valued bytes that
can fall outside of the range between the nal_unit_type ID for a NAL
unit and the "RBSP trailing bits" that follow the basic data payload of
the NAL unit.  Sometimes the inclusion of such zero-valued bytes is
optional and sometimes it is mandatory.  Explaining the complete
rationale for all of them can get a bit complicated.
The first one that can appear in a bitstream is called
leading_zero_8bits.  This is a special name for any extra zero-valued
bytes at the very beginning of the bitstream.  These are conceptually
assigned to the first "byte stream NAL unit".
The second one is the zero_byte.  Its presence is mandatory for the
first NAL unit of each acess unit and for SPS and PPS NAL units,
whenever using the Annex B byte stream format.  It conceptually belongs
to the following NAL unit.
The third one is the first two bytes of the
start_code_prefix_one_3bytes.  Their presence is mandatory for every NAL
unit when using the Annex B byte stream format.  The belong to the
following NAL unit.
The fourth one is the cabac_zero_word, one or more of which can appear
after the RBSP trailing bits inside of a NAL unit when CABAC entropy
coding is being used.  These fall within the start code emulation
prevention process and inside of the NAL unit itself (in section 6
rather than Annex B).  They are probably relatively rare to find in
practice.  They can be present even when the Annex B byte stream NAL
unit is not in use.
Finally, after the end of a NAL unit and before the end of its Annex B
associated "byte stream NAL unit", there can be one or more
trailing_zero_8bits.  These are optional.  They are conceptually
assigned to the preceding NAL unit.
Best Regards,
Gary Sullivan
+> -----Original Message-----
+> From: mp4-tech-bounces lists.mpegif.org 
+> [mailto:mp4-tech-bounces lists.mpegif.org] On Behalf Of Alex
+> Sent: Saturday, October 21, 2023 5:44 AM
+> To: Luqman; mp4-tech lists.mpegif.org
+> Subject: Re: [Mp4-tech] why are there 4 bytes 0x00000001 
+> instead of 3 bytes inevery NALU?
+> 
+> Hi, 
+> 
+> > I have also verified this. There are 4 byte
+> > (0x00000001) in the start of every
+> > NALU even in case it is not the first NALU of an
+> > access unit.
+> > 
+> > >
+> > >Could someone please explain us this "mystery"?
+> > 
+> > Hope someone understanding this issue can elaborate
+> > on this.
+> 
+> 
+> start_prefix_code_3bytes is actually 3 bytes only. 
+> 
+> 1 byte 0x00 comes from the previous NAL unit, which is
+> trailing zero byte; 
+> 
+> 
+> --- Luqman <luqman_ngs gmx.net> wrote:
+> 
+> > > Shankar Manuel Aghito wanted us to know:
+> > 
+> > >Hi Luqman,
+> > >
+> > >I've look at the standard and I can see what you
+> > say, it seems that that
+> > >zero_byte before start_code_prefix_one_3bytes
+> > should be present only in
+> > >SPS, PPS and in the first NALU of each access unit.
+> > I don't know why (I
+> > >guess that it is because we are missing something
+> > in understanding the
+> > >standard), but I am quite sure that the reference
+> > software put 4 bytes
+> > >0x00000001 in the beginning of each NALU, also for
+> > multiple NALUs per
+> > >picture, i.e. when there are NALUs that are not the
+> > first in the access
+> > >unit. Try my matlab script, posted in "RE:
+> > [Mp4-tech] H264 Corrupted
+> > >Bitstreams" a couple of days ago.
+> > 
+> > I have also verified this. There are 4 byte
+> > (0x00000001) in the start of every
+> > NALU even in case it is not the first NALU of an
+> > access unit.
+> > 
+> > >
+> > >Could someone please explain us this "mystery"?
+> > 
+> > Hope someone understanding this issue can elaborate
+> > on this.
+> > 
+> > >
+> > >Also you could try with JM11. I've read of problems
+> > with JM10.2 related
+> > >to use of multiple slices/picture.
+> > 
+> > I skipping NALUs and then decoding with both JM10.2
+> > and JM11.0 versions.
+> > But there were same errors in the end. The decoding
+> > looked fine and a
+> > small number of frames were dropped. I think it is
+> > acceptable, but what
+> > annoys me are the warnings/error messages at the end
+> > of decoding
+> > process.
+> > 
+> > >
+> > >If you still have problems, send encoder/decoder
+> > output and also
+> > >configuration files
+> > >
+> > I will attach configuration files and encoder and
+> > decoder output for
+> > your opinion.
+> > 
+> > 
+> > >---
+> > >
+> > >About the error concealment parameter in the
+> > decoder configuration file.
+> > >2 (motion copy) often is the best in my experience.
+> > But you will only
+> > >see differences when you remove a whole picture,
+> > i.e. all the NALUs of
+> > >one picture. If you loose only some parts of a
+> > picture, different
+> > >concealment algorithms are used, but you cannot
+> > control that in the
+> > >config file.
+> > 
+> > I think all NALUs in a picture/frame are sent in
+> > sequence and there is
+> > no interleaving of NALUs of different pictures. Is
+> > it true? Can someome
+> > shed some light on that? Is there interleaving in
+> > referece software JM
+> > implemented?
+> > 
+> > Anyhow, I did not see any difference when 2 (motion
+> > copy) was activated
+> > in decoder configuration file. I will try to verify
+> > this tomorrow and
+> > then post my results here.
+> > 
+> > >
+> > >---
+> > >
+> > >You don't need to have Log2MaxFNumMinus4 soo high!
+> > With
+> > >Log2MaxFNumMinus4=12 then you can encode 2^(12+4)
+> > pictures before the
+> > >counter restarts!!!
+> > >
+> > Ok, thanks for elaborating on this.
+> > 
+> > There are 4 attached files to my posting:
+> > 
+> > encoder.cfg
+> > decoder.cfg
+> > encod_result: is the output from encoder 
+> > drop_and_decod_result: contains output from my NALU
+> > skipping program  
+> >   (called skip_nalu) and ldecod.dbg.exe 
+> > 
+> > The last file is very lengthy. If you don't like to
+> > go through it I will
+> > print the ERROR and warnings from decoder produced
+> > during _different_ sessons in the
+> > following:
+> > 
+> > 
+> > 1) ERROR: failed to find NumCoeff/TrailingOnes
+> > 2) ldecod.dbg.exe: src/vlc.c:479: more_rbsp_data:
+> > Assertion
+> > `byteoffset<bytecount' failed.
+> > Aborted
+> > 3) ERROR: failed to find NumCoeff/TrailingOnes
+> > 4) RegardsROR: failed to find Run
+> > 5) ERROR: failed to find Total Zeros
+> > 
+> > Again, these messages were printed during
+> > _different_ sessions of
+> > decoder with different number and places of dropped
+> > NALUs.
+> > 
+> > Any idea if it is an expected behaviour from JM
+> > software or not??? I
+> > mean apart from these messages decoder seems to work
+> > as _I_ expected.
+> > 
+> > Regards,
+> > 
+> > Luqman
+> > >  # New Input File Format is as follows
+> > # <ParameterName> = <ParameterValue> # Comment
+> > #
+> > # See configfile.h for a list of supported
+> > ParameterNames
+> > 
+> > 
+> >
+> #############################################################
+> #############################
+> > # Files
+> >
+> #############################################################
+> #############################
+> > InputFile             = "foreman.qcif" # Link to
+> > Input sequence 
+> > InputHeaderLength     = 0      # If the inputfile
+> > has a header, state it's length in byte here
+> > StartFrame            = 0      # Start frame for
+> > encoding. (0-N)
+> > ###### LM: FramesToBeEncode: 2 #original
+> > ##################
+> > FramesToBeEncoded     = 100    # Number of frames to
+> > be coded  
+> > FrameRate             = 30.0   # Frame Rate per
+> > second (0.1-100.0)
+> > SourceWidth           = 176    # Frame width
+> > SourceHeight          = 144    # Frame height
+> > TraceFile             = "trace_enc.txt"
+> > ReconFile             = "test_rec.yuv"
+> > #OutputFile            = "test.264"
+> > OutputFile            = "test.264_nskipped"
+> > 
+> >
+> #############################################################
+> #############################
+> > # Encoder Control
+> >
+> #############################################################
+> #############################
+> > ProfileIDC            = 88  # Profile IDC
+> > (66=baseline, 77=main, 88=extended; FREXT Profiles:
+> > 100=High, 110=High 10, 122=High 4:2:2, 144=High
+> > 4:4:4, for params see below)
+> > LevelIDC              = 10  # Level IDC   (e.g. 20 =
+> > level 2.0)
+> > 
+> > IntraPeriod           =  0  # Period of I-Frames
+> > (0=only first)
+> > EnableOpenGOP         =  0  # Support for open GOPs
+> > (0: disabled, 1: enabled)
+> > IDRIntraEnable        =  1  # Force IDR Intra 
+> > (0=disable 1=enable)
+> > QPISlice              = 28  # Quant. param for I
+> > Slices (0-51)
+> > QPPSlice              = 28  # Quant. param for P
+> > Slices (0-51)
+> > FrameSkip             =  0  # Number of frames to be
+> > skipped in input (e.g 2 will code every third frame)
+> > ChromaQPOffset        =  0  # Chroma QP offset
+> > (-51..51)
+> > UseHadamard           =  1  # Hadamard transform
+> > (0=not used, 1=used for all subpel positions, 2=use
+> > only for qpel)
+> > DisableSubpelME       =  0  # Disable Subpixel
+> > Motion Estimation (0=off/default, 1=on)
+> > SearchRange           = 16  # Max search range
+> > NumberReferenceFrames =  1  # Number of previous
+> > frames used for inter motion search (1-16)
+> > PList0References      =  0  # P slice List 0
+> > reference override (0 disable, N <=
+> > NumberReferenceFrames)
+> > Log2MaxFNumMinus4     =  12  # Sets
+> > log2_max_frame_num_minus4 (-1 : based on
+> > FramesToBeEncoded/Auto, >=0 : Log2MaxFNumMinus4)
+> > Log2MaxPOCLsbMinus4   = -1  # Sets
+> > log2_max_pic_order_cnt_lsb_minus4 (-1 : Auto, >=0 :
+> > Log2MaxPOCLsbMinus4)
+> > 
+> > GenerateMultiplePPS   =  0  # Transmit multiple
+> > parameter sets. Currently parameters basically
+> > enable all WP modes (0: diabled, 1: enabled)
+> > ResendPPS             =  0  # Resend PPS (with
+> > pic_parameter_set_id 0) for every coded Frame/Field
+> > pair (0: disabled, 1: enabled)
+> > 
+> > MbLineIntraUpdate     =  0  # Error robustness(extra
+> > intra macro block updates)(0=off, N: One GOB every N
+> > frames are intra coded)
+> > RandomIntraMBRefresh  =  10  # 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)
+> > 
+> > IntraDisableInterOnly  = 0  # Apply Disabling Intra
+> > conditions only to Inter Slices
+> > (0:disable/default,1: enable)
+> > Intra4x4ParDisable     = 0  # Disable Vertical &
+> > Horizontal 4x4	
+> > Intra4x4DiagDisable    = 0  # Disable Diagonal
+> > 45degree 4x4
+> > Intra4x4DirDisable     = 0  # Disable Other Diagonal
+> > 4x4
+> > Intra16x16ParDisable   = 0  # Disable Vertical &
+> > Horizontal 16x16
+> > Intra16x16PlaneDisable = 0  # Disable Planar 16x16
+> > ChromaIntraDisable     = 0  # Disable Intra Chroma
+> > modes other than DC
+> > EnableIPCM             = 1  # Enable IPCM macroblock
+> > mode
+> > 
+> > DisposableP            = 0  # Enable Disposable P
+> > slices in the primary layer (0: disable/default, 1:
+> > enable)
+> > DispPQPOffset          = 0  # Quantizer offset for
+> > disposable P slices (0: default)
+> > 
+> >
+> #############################################################
+> #############################
+> > # B Slices
+> >
+> #############################################################
+> #############################
+> > 
+> > NumberBFrames         =  0  # Number of B coded
+> > frames inserted (0=not used)  
+> > #NumberBFrames         =  1  # Number of B coded
+> > frames inserted (0=not used)  
+> > QPBSlice              = 30  # Quant. param for B
+> > slices (0-51)
+> > BRefPicQPOffset       =  0  # Quantization offset
+> > for reference B coded pictures (-51..51)
+> > DirectModeType        =  1  # Direct Mode Type
+> > (0:Temporal 1:Spatial)
+> > DirectInferenceFlag   =  1  # Direct Inference Flag
+> > (0: Disable 1: Enable)
+> > BList0References      =  0  # B slice List 0
+> > reference override (0 disable, N <=
+> > NumberReferenceFrames)
+> > BList1References      =  1  # B slice List 1
+> > reference override (0 disable, N <=
+> > NumberReferenceFrames)
+> >                             # 1 List1 reference is
+> > usually recommended for normal GOP Structures. 
+> >                             # A larger value is
+> > usually more appropriate if a more flexible 
+> >                             # structure is used
+> > (i.e. using PyramidCoding)
+> > 
+> > BReferencePictures    =  0  # Referenced B coded
+> > pictures (0=off, 1=on)
+> > 
+> > PyramidCoding         =  0  # B pyramid (0= off, 1=
+> > 2 layers, 2= 2 full pyramid, 3 = explicit)
+> > PyramidLevelQPEnable   =  1  # Adjust QP based on
+> > Pyramid Level (in increments of 1). Overrides
+> > BRefPicQPOffset behavior.(0=off, 1=on)
+> > ExplicitPyramidFormat  = "b2r28b0e30b1e30b3e30b4e30"
+> > # Explicit Enhancement GOP. Format is
+> > {FrameDisplay_orderReferenceQP}. 
+> >                                                    
+> > # Valid values for reference type is r:reference,
+> > e:non reference.
+> > PyramidRefReorder     =  1  # Reorder References
+> > according to Poc distance for PyramidCoding (0=off,
+> > 1=enable)
+> > PocMemoryManagement   =  1  # Memory management
+> > based on Poc Distances for PyramidCoding (0=off,
+> > 1=on)
+> > 
+> > BiPredMotionEstimation = 0   # Enable Bipredictive
+> > based Motion Estimation (0:disabled, 1:enabled)
+> > BiPredMERefinements    = 3   # Bipredictive ME extra
+> > refinements (0: single, N: N extra refinements (1
+> > default)
+> > BiPredMESearchRange    = 16  # Bipredictive ME
+> > Search range (8 default). Note that range is halved
+> > for every extra refinement.
+> > BiPredMESubPel         = 1   # Bipredictive ME
+> > Subpixel Consideration (0: disabled, 1: single
+> > level, 2: dual level)
+> > 
+> > 
+> >
+> #############################################################
+> #############################
+> > # SP Frames
+> >
+> #############################################################
+> #############################
+> > 
+> > SPPicturePeriodicity  =  0  # SP-Picture Periodicity
+> > (0=not used)
+> > QPSPSlice             = 36  # Quant. param of
+> > SP-Slices for Prediction Error (0-51)
+> > QPSP2Slice            = 35  # Quant. param of
+> > SP-Slices for Predicted Blocks (0-51)	
+> > SI_FRAMES             =  0  # SI frame encoding flag
+> > (0=not used, 1=used)
+> > SP_output             =  0  # Controls whether
+> > coefficients will be output to encode switching SP
+> > frames (0=no, 1=yes)
+> > SP_output_name        =  "low_quality.dat" #
+> > Filename for SP output coefficients	
+> > 
+> === message truncated ===> test.264                
+> ........H.26L coded
+> > bitstream
+> > test_dec.yuv             ........Output file,
+> > YUV/RGB
+> > test_rec.yuv             ........Ref sequence (for
+> > SNR)
+> > 1                        ........Write 4:2:0 chroma
+> > components for monochrome streams
+> > 0                        ........NAL mode (0=Annex
+> > B, 1: RTP packets)
+> > 0                        ........SNR computation
+> > offset
+> > 2                        ........Poc Scale (1 or 2)
+> > 500000                   ........Rate_Decoder
+> > 104000                   ........B_decoder
+> > 73000                    ........F_decoder
+> > leakybucketparam.cfg     ........LeakyBucket Params
+> > 0                        ........Err
+> > Concealment(0:Off,1:Frame Copy,2:Motion Copy)
+> > 2                        ........Reference POC gap
+> > (2: IPP (Default), 4: IbP / IpP)
+> > 2                        ........POC gap (2: IPP
+> > /IbP/IpP (Default), 4: IPP with frame skip = 1 etc.)
+> > 
+> > 
+> > This is a file containing input parameters to the
+> > JVT H.264/AVC decoder.
+> > The text line following each parameter is discarded
+> > by the decoder.
+> > > Setting Default Parameters...
+> > Parsing Configfile
+> >
+> encoder.cfg..................................................
........................................................................
............................................................
+> > 
+> > ------------------------------- JM 10.2 (FRExt)
+> > --------------------------------
+> >  Input YUV file                    : video_source 
+> >  Output H.264 bitstream            :
+> > test.264_nskipped 
+> >  Output YUV file                   : test_rec.yuv 
+> >  YUV Format                        : YUV 4:2:0 
+> >  Frames to be encoded I-P/B        : 100/0
+> >  PicInterlace / MbInterlace        : 0/0
+> >  Transform8x8Mode                  : 0
+> >
+> -------------------------------------------------------------
+> ------------------
+> >   Frame  Bit/pic    QP   SnrY    SnrU    SnrV   
+> > Time(ms) MET(ms) Frm/Fld Ref  
+> >
+> -------------------------------------------------------------
+> ------------------
+> > 0000(NVB)     168 
+> > 0000(IDR)   27688   28  36.878  39.761  42.034      
+> > 243       0    FRM    1
+> > 0001(P)      6272   28  36.214  39.463  41.563      
+> > 829     469    FRM    1
+> > 0002(P)      7456   28  36.164  39.215  41.344      
+> > 831     459    FRM    1
+> > 0003(P)      6624   28  35.872  39.059  41.004      
+> > 804     462    FRM    1
+> > 0004(P)      6008   28  35.689  38.980  40.917      
+> > 803     443    FRM    1
+> > 0005(P)      6816   28  35.657  38.916  40.795      
+> > 803     460    FRM    1
+> > 0006(P)      6928   28  35.474  39.152  40.755      
+> > 805     455    FRM    1
+> > 0007(P)      7416   28  35.562  39.175  40.805      
+> > 801     457    FRM    1
+> > 0008(P)      6264   28  35.481  39.052  40.573      
+> > 797     445    FRM    1
+> > 0009(P)      5896   28  35.512  38.998  40.790      
+> > 800     460    FRM    1
+> > 0010(P)      6448   28  35.573  38.931  40.543      
+> > 845     487    FRM    1
+> > 0011(P)      6832   28  35.568  38.905  40.422      
+> > 801     430    FRM    1
+> > 0012(P)      7032   28  35.482  38.900  40.525      
+> > 815     463    FRM    1
+> > 0013(P)      5704   28  35.300  38.908  40.671      
+> > 878     496    FRM    1
+> > 0014(P)      4968   28  35.301  38.742  40.583      
+> > 837     479    FRM    1
+> > 0015(P)      5736   28  35.218  38.654  40.486      
+> > 805     460    FRM    1
+> > 0016(P)      6720   28  35.322  38.811  40.202      
+> > 805     442    FRM    1
+> > 0017(P)      6776   28  35.400  38.761  40.295      
+> > 797     451    FRM    1
+> > 0018(P)      6520   28  35.451  38.732  40.177      
+> > 800     450    FRM    1
+> > 0019(P)      6944   28  35.420  38.570  40.099      
+> > 801     458    FRM    1
+> > 0020(P)      7408   28  35.495  38.343  40.230      
+> > 809     451    FRM    1
+> > 0021(P)      8080   28  35.432  38.334  40.005      
+> > 804     449    FRM    1
+> > 0022(P)      7960   28  35.335  38.336  39.792      
+> > 800     452    FRM    1
+> > 0023(P)      6344   28  35.393  38.423  39.989      
+> > 804     458    FRM    1
+> > 0024(P)      6328   28  35.256  38.392  39.847      
+> > 807     454    FRM    1
+> > 0025(P)      5664   28  35.197  38.337  39.762      
+> > 819     450    FRM    1
+> > 0026(P)      6768   28  35.349  38.385  39.754      
+> > 802     438    FRM    1
+> > 0027(P)      6584   28  35.375  38.377  39.789      
+> > 799     452    FRM    1
+> > 0028(P)      7264   28  35.503  38.542  39.802      
+> > 805     454    FRM    1
+> > 0029(P)      6752   28  35.443  38.528  39.809      
+> > 874     510    FRM    1
+> > 0030(P)      6744   28  35.320  38.412  39.989      
+> > 809     459    FRM    1
+> > 0031(P)      7304   28  35.295  38.368  40.031      
+> > 807     461    FRM    1
+> > 0032(P)      7864   28  35.338  38.600  40.147      
+> > 834     470    FRM    1
+> > 0033(P)      6944   28  35.302  38.458  40.145      
+> > 849     467    FRM    1
+> > 0034(P)      6336   28  35.278  38.401  40.048      
+> > 820     449    FRM    1
+> > 0035(P)      7160   28  35.311  38.562  40.193      
+> > 813     460    FRM    1
+> > 0036(P)      8464   28  35.268  38.686  40.381      
+> > 810     444    FRM    1
+> > 0037(P)      7040   28  35.293  38.507  40.094      
+> > 846     474    FRM    1
+> > 0038(P)      6840   28  35.172  38.576  40.341      
+> > 822     453    FRM    1
+> > 0039(P)      6032   28  35.171  38.486  40.517      
+> > 837     452    FRM    1
+> > 0040(P)      6424   28  35.235  38.429  40.300      
+> > 840     473    FRM    1
+> > 0041(P)      7848   28  35.367  38.588  40.413      
+> > 822     461    FRM    1
+> > 0042(P)      7400   28  35.381  38.524  40.561      
+> > 830     469    FRM    1
+> > 0043(P)      6664   28  35.260  38.677  40.692      
+> > 825     463    FRM    1
+> > 0044(P)      5944   28  35.314  38.588  40.344      
+> > 838     461    FRM    1
+> > 0045(P)      6232   28  35.342  38.718  40.523      
+> > 827     473    FRM    1
+> > 0046(P)      6848   28  35.433  38.730  40.246      
+> > 826     475    FRM    1
+> > 0047(P)      6288   28  35.492  38.762  40.266      
+> > 862     478    FRM    1
+> > 0048(P)      6504   28  35.483  38.660  40.181      
+> > 818     449    FRM    1
+> > 0049(P)      7032   28  35.490  38.703  40.325      
+> > 823     468    FRM    1
+> > 0050(P)      6672   28  35.548  38.745  40.322      
+> > 836     468    FRM    1
+> > 0051(P)      7424   28  35.517  38.725  40.407      
+> > 838     470    FRM    1
+> > 0052(P)      7312   28  35.582  38.577  40.452      
+> > 843     470    FRM    1
+> > 0053(P)      6552   28  35.613  38.850  40.417      
+> > 824     472    FRM    1
+> > 0054(P)      4792   28  35.426  38.821  40.606      
+> > 809     451    FRM    1
+> > 0055(P)      5160   28  35.485  38.927  40.391      
+> > 807     456    FRM    1
+> > 0056(P)      5496   28  35.382  38.791  40.393      
+> > 817     467    FRM    1
+> > 0057(P)      5016   28  35.415  38.802  40.328      
+> > 819     456    FRM    1
+> > 0058(P)      4992   28  35.451  38.847  40.395      
+> > 818     453    FRM    1
+> > 0059(P)      3704   28  35.379  38.781  40.418      
+> > 854     477    FRM    1
+> > 0060(P)      4840   28  35.397  38.736  40.377      
+> > 816     466    FRM    1
+> > 0061(P)      5952   28  35.389  38.768  40.318      
+> > 818     475    FRM    1
+> > 0062(P)      7936   28  35.312  38.732  40.410      
+> > 843     473    FRM    1
+> > 0063(P)      9888   28  35.272  38.544  40.405      
+> > 821     454    FRM    1
+> > 0064(P)      8696   28  35.255  38.609  40.341      
+> > 814     457    FRM    1
+> > 0065(P)      8080   28  35.308  38.451  40.515      
+> > 812     449    FRM    1
+> > 0066(P)      8280   28  35.180  38.470  40.197      
+> > 808     438    FRM    1
+> > 0067(P)      9072   28  35.311  38.436  40.287      
+> > 813     441    FRM    1
+> > 0068(P)      9040   28  35.287  38.386  40.293      
+> > 814     448    FRM    1
+> > 0069(P)      8856   28  35.381  38.518  40.458      
+> > 815     462    FRM    1
+> > 0070(P)      9192   28  35.319  38.464  40.608      
+> > 812     456    FRM    1
+> > 0071(P)      9200   28  35.353  38.554  40.694      
+> > 810     459    FRM    1
+> > 0072(P)      9344   28  35.440  38.664  40.873      
+> > 822     448    FRM    1
+> > 0073(P)      7432   28  35.386  38.804  40.950      
+> > 822     458    FRM    1
+> > 0074(P)      7624   28  35.415  38.930  40.898      
+> > 808     450    FRM    1
+> > 0075(P)      8472   28  35.314  39.189  41.191      
+> > 811     456    FRM    1
+> > 0076(P)      8560   28  35.362  39.126  41.510      
+> > 811     446    FRM    1
+> > 0077(P)      7792   28  35.459  38.956  41.368      
+> > 853     477    FRM    1
+> > 0078(P)      7120   28  35.425  39.113  41.530      
+> > 873     477    FRM    1
+> > 0079(P)      6776   28  35.427  39.161  41.502      
+> > 839     464    FRM    1
+> > 0080(P)      7520   28  35.363  39.295  41.409      
+> > 838     475    FRM    1
+> > 0081(P)      7024   28  35.358  39.136  41.263      
+> > 844     486    FRM    1
+> > 0082(P)      6832   28  35.431  39.202  41.389      
+> > 830     454    FRM    1
+> > 0083(P)      6680   28  35.443  39.070  41.335      
+> > 866     500    FRM    1
+> > 0084(P)      6224   28  35.433  39.023  41.133      
+> > 830     469    FRM    1
+> > 0085(P)      6376   28  35.512  39.026  41.113      
+> > 814     476    FRM    1
+> > 0086(P)      7784   28  35.620  39.187  41.265      
+> > 816     465    FRM    1
+> > 0087(P)      6440   28  35.671  39.248  41.358      
+> > 852     474    FRM    1
+> > 0088(P)      6536   28  35.565  39.489  41.595      
+> > 841     469    FRM    1
+> > 0089(P)      6808   28  35.606  39.426  41.621      
+> > 828     462    FRM    1
+> > 0090(P)      6752   28  35.598  39.389  41.593      
+> > 812     472    FRM    1
+> > 
+> === message truncated ===> 
+> > skip_nalu ----------means output from dropping
+> > utility-------------------------
+> > 
+> >         NALU 5: skipping NALU...
+> >         NALU 14: skipping NALU...
+> >         NALU 23: skipping NALU...
+> >         NALU 32: skipping NALU...
+> >         NALU 41: skipping NALU...
+> >         NALU 50: skipping NALU...
+> >         NALU 65: skipping NALU...
+> >         NALU 73: skipping NALU...
+> >         NALU 81: skipping NALU...
+> >         NALU 88: skipping NALU...
+> >         NALU 92: skipping NALU...
+> >         NALU 95: skipping NALU...
+> >         NALU 100: skipping NALU...
+> >         NALU 108: skipping NALU...
+> >         NALU 116: skipping NALU...
+> > 
+> > 
+> >
+> =============================================================
+> > skipped / total NALUs: 15 / 900 (excl. 1 SPS + 1
+> > PPS)
+> > 
+> > 
+> > ldecod.dbg.exe -----means following is the output
+> > from decoder-------------
+> > 
+> > ----------------------------- JM 10.2 (FRExt)
+> > -----------------------------
+> >  Decoder config file                    : (null) 
+> >
+> -------------------------------------------------------------
+> -------------
+> >  Input H.264 bitstream                  : test.264 
+> >  Output decoded YUV                     :
+> > test_dec.yuv 
+> >  Output status file                     : log.dec 
+> >  Input reference file                   :
+> > test_rec.yuv 
+> >
+> -------------------------------------------------------------
+> -------------
+> > POC must = frame# or field# for SNRs to be correct
+> >
+> -------------------------------------------------------------
+> -------------
+> >   Frame       POC   Pic#   QP   SnrY    SnrU    SnrV
+> >   Y:U:V  Time(ms)
+> >
+> -------------------------------------------------------------
+> -------------
+> > 0000(I)         0     0    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0001(P)         2     1    28  0.0000  0.0000 
+> > 0.0000  4:2:0    67
+> > 0002(P)         4     2    28  0.0000  0.0000 
+> > 0.0000  4:2:0    67
+> > 0003(P)         6     3    28  0.0000  0.0000 
+> > 0.0000  4:2:0    69
+> > 0004(P)         8     4    28  0.0000  0.0000 
+> > 0.0000  4:2:0    74
+> > 0005(P)        10     5    28  0.0000  0.0000 
+> > 0.0000  4:2:0    71
+> > 0006(P)        12     6    28  0.0000  0.0000 
+> > 0.0000  4:2:0    72
+> > 0007(P)        14     7    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0008(P)        16     8    28  0.0000  0.0000 
+> > 0.0000  4:2:0    72
+> > 0009(P)        18     9    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0010(P)        20    10    28  0.0000  0.0000 
+> > 0.0000  4:2:0    71
+> > 0011(P)        22    11    28  0.0000  0.0000 
+> > 0.0000  4:2:0    73
+> > 0012(P)        24    12    28  0.0000  0.0000 
+> > 0.0000  4:2:0    71
+> > 0013(P)        26    13    28  0.0000  0.0000 
+> > 0.0000  4:2:0    73
+> > 0014(P)        28    14    28  0.0000  0.0000 
+> > 0.0000  4:2:0    65
+> > 0015(P)        30    15    28  0.0000  0.0000 
+> > 0.0000  4:2:0    74
+> > 0016(P)        32    16    28  0.0000  0.0000 
+> > 0.0000  4:2:0    77
+> > 0017(P)        34    17    28  0.0000  0.0000 
+> > 0.0000  4:2:0    72
+> > 0018(P)        36    18    28  0.0000  0.0000 
+> > 0.0000  4:2:0    66
+> > 0019(P)        38    19    28  0.0000  0.0000 
+> > 0.0000  4:2:0    74
+> > 0020(P)        40    20    28  0.0000  0.0000 
+> > 0.0000  4:2:0    76
+> > 0021(P)        42    21    28  0.0000  0.0000 
+> > 0.0000  4:2:0    77
+> > 0022(P)        44    22    28  0.0000  0.0000 
+> > 0.0000  4:2:0    76
+> > 0023(P)        46    23    28  0.0000  0.0000 
+> > 0.0000  4:2:0    71
+> > 0024(P)        48    24    28  0.0000  0.0000 
+> > 0.0000  4:2:0    92
+> > 0025(P)        50    25    28  0.0000  0.0000 
+> > 0.0000  4:2:0    79
+> > 0026(P)        52    26    28  0.0000  0.0000 
+> > 0.0000  4:2:0    69
+> > 0027(P)        54    27    28  0.0000  0.0000 
+> > 0.0000  4:2:0    68
+> > 0028(P)        56    28    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0029(P)        58    29    28  0.0000  0.0000 
+> > 0.0000  4:2:0    73
+> > 0030(P)        60    30    28  0.0000  0.0000 
+> > 0.0000  4:2:0    76
+> > 0031(P)        62    31    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0032(P)        64    32    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0033(P)        66    33    28  0.0000  0.0000 
+> > 0.0000  4:2:0    79
+> > 0034(P)        68    34    28  0.0000  0.0000 
+> > 0.0000  4:2:0    71
+> > 0035(P)        70    35    28  0.0000  0.0000 
+> > 0.0000  4:2:0    77
+> > 0036(P)        72    36    28  0.0000  0.0000 
+> > 0.0000  4:2:0    80
+> > 0037(P)        74    37    28  0.0000  0.0000 
+> > 0.0000  4:2:0    74
+> > 0038(P)        76    38    28  0.0000  0.0000 
+> > 0.0000  4:2:0    70
+> > 0039(P)        78    39    28  0.0000  0.0000 
+> > 0.0000  4:2:0    71
+> > 0040(P)        80    40    28  0.0000  0.0000 
+> > 0.0000  4:2:0    68
+> > 0041(P)        82    41    28  0.0000  0.0000 
+> > 0.0000  4:2:0    72
+> > 0042(P)        84    42    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0043(P)        86    43    28  0.0000  0.0000 
+> > 0.0000  4:2:0    74
+> > 0044(P)        88    44    28  0.0000  0.0000 
+> > 0.0000  4:2:0    70
+> > 0045(P)        90    45    28  0.0000  0.0000 
+> > 0.0000  4:2:0    72
+> > 0046(P)        92    46    28  0.0000  0.0000 
+> > 0.0000  4:2:0    73
+> > 0047(P)        94    47    28  0.0000  0.0000 
+> > 0.0000  4:2:0    68
+> > 0048(P)        96    48    28  0.0000  0.0000 
+> > 0.0000  4:2:0    99
+> > 0049(P)        98    49    28  0.0000  0.0000 
+> > 0.0000  4:2:0    74
+> > 0050(P)       100    50    28  0.0000  0.0000 
+> > 0.0000  4:2:0    80
+> > 0051(P)       102    51    28  0.0000  0.0000 
+> > 0.0000  4:2:0    76
+> > 0052(P)       104    52    28  0.0000  0.0000 
+> > 0.0000  4:2:0    76
+> > 0053(P)       106    53    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0054(P)       108    54    28  0.0000  0.0000 
+> > 0.0000  4:2:0    67
+> > 0055(P)       110    55    28  0.0000  0.0000 
+> > 0.0000  4:2:0    65
+> > 0056(P)       112    56    28  0.0000  0.0000 
+> > 0.0000  4:2:0    60
+> > 0057(P)       114    57    28  0.0000  0.0000 
+> > 0.0000  4:2:0    59
+> > 0058(P)       116    58    28  0.0000  0.0000 
+> > 0.0000  4:2:0    61
+> > 0059(P)       118    59    28  0.0000  0.0000 
+> > 0.0000  4:2:0    57
+> > 0060(P)       120    60    28  0.0000  0.0000 
+> > 0.0000  4:2:0    62
+> > 0061(P)       122    61    28  0.0000  0.0000 
+> > 0.0000  4:2:0    64
+> > 0062(P)       124    62    28  0.0000  0.0000 
+> > 0.0000  4:2:0    72
+> > 0063(P)       126    63    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0064(P)       128    64    28  0.0000  0.0000 
+> > 0.0000  4:2:0    79
+> > 0065(P)       130    65    28  0.0000  0.0000 
+> > 0.0000  4:2:0    79
+> > 0066(P)       132    66    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0067(P)       134    67    28  0.0000  0.0000 
+> > 0.0000  4:2:0    78
+> > 0068(P)       136    68    28  0.0000  0.0000 
+> > 0.0000  4:2:0    80
+> > 0069(P)       138    69    28  0.0000  0.0000 
+> > 0.0000  4:2:0    78
+> > 0070(P)       140    70    28  0.0000  0.0000 
+> > 0.0000  4:2:0    78
+> > 0071(P)       142    71    28  0.0000  0.0000 
+> > 0.0000  4:2:0    78
+> > 0072(P)       144    72    28  0.0000  0.0000 
+> > 0.0000  4:2:0    81
+> > 0073(P)       146    73    28  0.0000  0.0000 
+> > 0.0000  4:2:0    77
+> > 0074(P)       148    74    28  0.0000  0.0000 
+> > 0.0000  4:2:0    78
+> > 0075(P)       150    75    28  0.0000  0.0000 
+> > 0.0000  4:2:0    75
+> > 0076(P)       152    76    28  0.0000  0.0000 
+> > 0.0000  4:2:0    77
+> > 0077(P)       154    77    28  0.0000  0.0000 
+> > 0.0000  4:2:0    77
+> > 
+> === message truncated ===>
+> _______________________________________________
+> > NOTE: Please use clear subject lines for your posts.
+> > Include [audio, [video], [systems], [general] or
+> > another apppropriate identifier to indicate the type
+> > of question you have.
+> > 
+> > Note: Conduct on the mailing list is subject to the
+> > Antitrust guidelines found at
+> http://www.mpegif.org/public/documents/vault/mp-out-30042-Ant
+> itrust.php
+> 
+> 
+> --
+> Regards, 
+> Alex
+> 
+> __________________________________________________
+> Do You Yahoo!?
+> Tired of spam?  Yahoo! Mail has the best spam protection around 
+> http://mail.yahoo.com 
+> _______________________________________________
+> NOTE: Please use clear subject lines for your posts. Include 
+> [audio, [video], [systems], [general] or another 
+> apppropriate identifier to indicate the type of question you have.
+> 
+> Note: Conduct on the mailing list is subject to the 
+> Antitrust guidelines found at 
+> http://www.mpegif.org/public/documents/vault/mp-out-30042-Ant
+> itrust.php
+> 


More information about the Mp4-tech mailing list