Jump to content

Aspect ratio changing all the time


qstoffe

Recommended Posts

I have a problem with certain channels changing aspect ratio all of the time. Like every second. It all started a couple of months ago when the "broadcasters" sent out a paper that I needed to rescan the channels at a certain date. I have rescanned all channels after that and most of them work like before but a few of them have this problem with aspect ratio.

 

When I select "View->Filters->DVB Source" the first line under the tab header "DVB Source 3.6.1.0" read like this:

 

H.264 Video, , 16x32, 25fps 10,8MBit/s

 

Most of the time the text at [x] (see ex. on line below) is blank. Sometimes it says 16:9.

// Ex: H.264 Video,[x], [y], 25fps 10,8MBit/s

 

The text at [y] varies every second between many different sizes. Here are some typical:

16x96

96x32

16x32

1280x720

16x16

16x64

16x1280

16x32

16x96

16x9

16x256

 

Also when looking at the status bar in DVBViewer were aspect ratio is displayed it varies between values every second like this:

1:1

1:2

16:9

5:19

1:3

1:4

7:2

1:6

4:3

1:8

1:10

1:32

3:1

13:8

14:9

7:10

 

Trying to watch a channel like this is problematic. I've tried setting the aspect ratio from auto to fixed 16:9 in DVBViewer. Using FFDshow the screen is flickering between sizes like crazy and after a while the picture just freezes. I've also tried changing the video codec to Micrisoft DTV-DVD Video Decoder. Then I can watch such channels without any picture distortion (only works if fixed 16:9 aspect ratio in DVBViewer is selected). Even though the picture looks good with the Microsoft codec, DVBViewer still displays changing aspects ratios and strange picture resolutions. I wonder what could be the problem?

Link to comment

Sound like a problem with your broadcaster.

 

I don't think so. I forgot to mention that if I record from such a channel, the recording is fine with constant 16:9 (1280x720). The changing only occurs when I watch live via DVBViewer.

Link to comment

In which player? DVBViewer? Playback with DVBViewer Filter?

 

- Watching live with DVBViewer the aspect ratio changes all the time.

- Playing a recorded file with DVBViewer; the aspect ratio changes all the time.

- Playing a recorded file with TSPlayer; the aspect ratio is different BUT fixed for each recordning. I.e. 48x64, 112x16, 16x224 etc.

- Playing a recorded file with Media Player Classic (FFDShow); I get constant 16:9 (1280x720).

 

Would it help if I attached/uploaded a recording of a few seconds?

Edited by qstoffe
Link to comment

Ok, looks like the DVBViewer Filter gets confused by something when reading the H.264 sequence parameter sets. I need a sample to get that fixed.

 

Playing a recorded file with TSPlayer; the aspect ratio is different BUT fixed for each recordning

You haven't stored TSPlayer.exe in the DVBViewer directory, so it's using different DVBViewer Filter settings (Keep track of H.264 aspect ratio, see here).

Link to comment

Ok, looks like the DVBViewer Filter gets confused by something when reading the H.264 sequence parameter sets. I need a sample to get that fixed.

 

 

You haven't stored TSPlayer.exe in the DVBViewer directory, so it's using different DVBViewer Filter settings (Keep track of H.264 aspect ratio, see here).

 

Ok, unchecking the "Keep track of H.264 aspect ratio" makes the DVBViewer behave just like TSPlayer (constant but incorrect aspect ratio). I've uploaded a sample file of 25MB:

http://www.crocko.com/AEE36002551D4C499C9BBF7EF87329BC/sample.ts

Link to comment

..could be the source filter that doesn't read the AR correctly. Can't remember to have seen these strange scaling lists before. No problem with mediainfo.

 

<?xml version="1.0" encoding="utf-8"?>
 <sample__Service_2410_H.264_Video>
   <PacketizedElementaryStream>
     <PID Value="2419"/>
     <Service String="_Service 2410"/>
     <StreamType String="H.264 Video">
       <SubType String="High profile, level 4.0"/>
       <Resolution String="1280 x 720"/>
       <AspectRatio FValue="1.78" Name="16:9"/>
       <Framerate FValue="50.000" Unit="fps"/>
       <FrameMode String="Progressive"/>
     </StreamType>
     <PESHeader Value="19" Unit="Byte">
       <StreamID HValue="0xE0"/>
       <PESPacketLength Value="0"/>
       <PESScramblingControl Value="0"/>
       <PESPriority Value="1"/>
       <DataAlignmentIndicator Value="0"/>
       <Copyright Value="0"/>
       <OriginalOrCopy Value="1"/>
       <PTSDTSFlags Value="3">
         <PTS String="01:10:29.088"/>
         <DTS String="01:10:28.888"/>
       </PTSDTSFlags>
       <ESCRFlag Value="0"/>
       <ESRateFlag Value="0"/>
       <DSMTrickModeFlag Value="0"/>
       <AdditionalCopyInfoFlag Value="0"/>
       <PESCRCFlag Value="0"/>
       <PESExtensionFlag Value="0"/>
       <PESHeaderDataLength Value="10"/>
       <NumberOfStuffingBytes Value="0"/>
     </PESHeader>
     <AccessUnitDelimiter Value="8" Unit="Byte">
       <ZeroByte HValue="0x00"/>
       <StartCodePrefixOne3Bytes HValue="0x000001"/>
       <ForbiddenZeroBit Value="0"/>
       <NALRefIDC Value="0"/>
       <NALUnitType Value="9"/>
       <PrimaryPicType Value="0"/>
       <RBSPStopOneBit Value="1"/>
     </AccessUnitDelimiter>
     <SequenceParameterSet Value="96" Unit="Byte">
       <ZeroByte HValue="0x00"/>
       <StartCodePrefixOne3Bytes HValue="0x000001"/>
       <ForbiddenZeroBit Value="0"/>
       <NALRefIDC Value="3"/>
       <NALUnitType Value="7"/>
       <ProfileIDC Value="100" Name="High"/>
       <ConstraintSet0Flag Value="0"/>
       <ConstraintSet1Flag Value="0"/>
       <ConstraintSet2Flag Value="0"/>
       <ConstraintSet3Flag Value="0"/>
       <ReservedZero4Bits HValue="0x0"/>
       <LevelIDC Value="40" Name="Level 4.0"/>
       <SeqParameterSetID Value="0"/>
       <HighProfileData>
         <ChromaFormatIDC Value="1" Name="4:2:0"/>
         <BitDepthLumaMinus8 Value="0"/>
         <BitDepthChromaMinus8 Value="0"/>
         <QPrimeYZeroTransformBypassFlag Value="0"/>
         <SeqScalingMatrixPresentFlag Value="1">
           <SeqScalingListPresentFlag_0 Value="1">
             <ScalingList_0 Dump="08 08 08 08"/>
             <ScalingList_1 Dump="08 0C 1D 16"/>
             <ScalingList_2 Dump="12 22 37 2D"/>
             <ScalingList_3 Dump="2E 38 38 38"/>
           </SeqScalingListPresentFlag_0>
           <SeqScalingListPresentFlag_1 Value="1">
             <ScalingList_0 Dump="0A 0C 0C 1C"/>
             <ScalingList_1 Dump="1C 1C 50 50"/>
             <ScalingList_2 Dump="50 50 50 50"/>
             <ScalingList_3 Dump="50 50 50 50"/>
           </SeqScalingListPresentFlag_1>
           <SeqScalingListPresentFlag_2 Value="0"/>
           <SeqScalingListPresentFlag_3 Value="0"/>
           <SeqScalingListPresentFlag_4 Value="1">
             <ScalingList_0 Dump="0E 12 12 1A"/>
             <ScalingList_1 Dump="1E 1A 24 26"/>
             <ScalingList_2 Dump="26 24 2C 30"/>
             <ScalingList_3 Dump="2C 40 40 40"/>
           </SeqScalingListPresentFlag_4>
           <SeqScalingListPresentFlag_5 Value="0"/>
           <SeqScalingListPresentFlag_6 Value="1">
             <ScalingList_0 Dump="08 08 08 08 08 08 08 08"/>
             <ScalingList_1 Dump="08 08 08 08 08 08 08 0D"/>
             <ScalingList_2 Dump="08 08 08 08 08 13 0D 0B"/>
             <ScalingList_3 Dump="0A 0D 14 10 15 16 12 0F"/>
             <ScalingList_4 Dump="14 14 16 1B 20 1D 16 18"/>
             <ScalingList_5 Dump="1F 19 14 14 1B 26 1D 1D"/>
             <ScalingList_6 Dump="22 23 25 25 24 16 1B 28"/>
             <ScalingList_7 Dump="2B 27 23 2A 20 23 25 23"/>
           </SeqScalingListPresentFlag_6>
           <SeqScalingListPresentFlag_7 Value="0"/>
         </SeqScalingMatrixPresentFlag>
       </HighProfileData>
       <Log2MaxFrameNumMinus4 Value="2" Name="MaxFrameNum = 64"/>
       <PicOrderCntType Value="0">
         <Log2MaxPicOrderCntLsbMinus4 Value="4"/>
       </PicOrderCntType>
       <NumRefFrames Value="4"/>
       <GapsInFrameNumValueAllowedFlag Value="0"/>
       <PicWidthInMbsMinus1 Value="79" Name="1280 Pixel"/>
       <PicHeightInMapUnitsMinus1 Value="44" Name="720 Pixel"/>
       <FrameMBSOnlyFlag Value="1" Name="Coded frames"/>
       <Direct8x8InterferenceFlag Value="1"/>
       <FrameCroppingFlag Value="0"/>
       <VUIParametersPresentFlag Value="1">
         <AspectRatioInfoPresentFlag Value="1">
           <AspectRatioIDC Value="1" Name="Sample aspect ratio 1:1"/>
         </AspectRatioInfoPresentFlag>
         <OverscanInfoPresentFlag Value="1">
           <OverscanAppropriateFlag Value="1"/>
         </OverscanInfoPresentFlag>
         <VideoSignalTypePresentFlag Value="1">
           <VideoFormat Value="5" Name="Unspecified"/>
           <VideoFullRangeFlag Value="0"/>
           <ColourDescriptionPresentFlag Value="1">
             <ColourPrimaries Value="1"/>
             <TransferCharacteristics Value="1"/>
             <MatrixCoefficients Value="1"/>
           </ColourDescriptionPresentFlag>
         </VideoSignalTypePresentFlag>
         <ChromaLocInfoPresentFlag Value="1">
           <ChromaSampleLocTypeTopField Value="0"/>
           <ChromaSampleLocTypeBottomField Value="0"/>
         </ChromaLocInfoPresentFlag>
         <TimingInfoPresentFlag Value="1">
           <NumUnitsInTick Value="1"/>
           <TimeScale Value="100"/>
           <FixedFramerateFlag Value="1" Name="50 fps"/>
         </TimingInfoPresentFlag>
         <NalHrdParametersPresentFlag Value="0"/>
         <VclHrdParametersPresentFlag Value="0"/>
         <PicStructPresentFlag Value="1"/>
         <BitstreamRestrictionFlag Value="0"/>
       </VUIParametersPresentFlag>
       <RBSPStopOneBit Value="1"/>
     </SequenceParameterSet>
     <PictureParameterSet Value="8" Unit="Byte">
       <ZeroByte HValue="0x00"/>
       <StartCodePrefixOne3Bytes HValue="0x000001"/>
       <ForbiddenZeroBit Value="0"/>
       <NALRefIDC Value="3"/>
       <NALUnitType Value="8"/>
       <PictureParameterSetID Value="0"/>
       <SequenceParameterSetID Value="0"/>
       <EntropyCodingModeFlag Value="1"/>
       <PicOrderPresentFlag Value="0"/>
       <NumSliceGroupsMinus1 Value="0"/>
       <NumRefIDX10ActiveMinus1 Value="0"/>
       <NumRefIDX11ActiveMinus1 Value="0"/>
       <WeightedPredFlag Value="0"/>
       <WeightedBipredIDC Value="0"/>
       <PicIntQPMinus26 Value="0"/>
       <PicInitQSMinus26 Value="-2"/>
       <ChromaQPIndexOffset Value="0"/>
       <DeblockingFilterControlPresentFlag Value="1"/>
       <ConstrainedIntraPredFlag Value="0"/>
       <RendundantPicCntPresentFlag Value="0"/>
       <RBSPStopOneBit Value="1"/>
     </PictureParameterSet>
     <SupplementaryEnhancedInformation Value="15" Unit="Byte">
       <StartCodePrefixOne3Bytes HValue="0x000001"/>
       <ForbiddenZeroBit Value="0"/>
       <NALRefIDC Value="0"/>
       <NALUnitType Value="6"/>
       <SEIMessage Value="0" Name="BufferingPeriod">
         <PayloadType Value="0"/>
         <PayloadSize Value="1"/>
         <SeqParameterSetID Value="0"/>
         <NalHrdBpPresentFlag Value="0"/>
         <VclHrdBpPresentFlag Value="0"/>
       </SEIMessage>
       <SEIMessage Value="1" Name="PicTiming">
         <PayloadType Value="1"/>
         <PayloadSize Value="1"/>
         <CpbDpbDelaysPresentFlag Value="0"/>
         <PicStructPresentFlag Value="1">
           <PicStruct Value="0" Name="NumClockTS = 1"/>
           <ClockTimestampFlag_0 Value="0"/>
         </PicStructPresentFlag>
       </SEIMessage>
       <SEIMessage Value="6" Name="RecoveryPoint">
         <PayloadType Value="6"/>
         <PayloadSize Value="1"/>
         <RecoveryFrameCnt Value="0"/>
         <ExactMatchFlag Value="1"/>
         <BrokenLinkFlag Value="0"/>
         <ChangingSliceGroupIDC Value="0"/>
       </SEIMessage>
       <RBSPStopOneBit Value="1"/>
     </SupplementaryEnhancedInformation>
   </PacketizedElementaryStream>
 </sample__Service_2410_H.264_Video>

 

General
ID                               : 6
Complete name                    : F:\Temp\sample.ts
Format                           : MPEG-TS
File size                        : 24.8 MiB
Duration                         : 23s 492ms
Overall bit rate                 : 8 836 Kbps

Video
ID                               : 2419 (0x973)
Menu ID                          : 2410 (0x96A)
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : High@L4.0
Format settings, CABAC           : Yes
Format settings, ReFrames        : 4 frames
Format settings, GOP             : M=8, N=32
Duration                         : 23s 420ms
Bit rate                         : 7 947 Kbps
Width                            : 1 280 pixels
Height                           : 720 pixels
Display aspect ratio             : 16:9
Frame rate                       : 50.000 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.172
Stream size                      : 22.2 MiB (90%)
Color primaries                  : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics         : BT.709-5, BT.1361
Matrix coefficients              : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177

Link to comment

I think I have found the bug. The H.264 sequence parameter set parser in the DVBViewer Filter gets confused by certain parameter combinations (scaling lists).

 

Please try DVBViewer Filter 3.6.1.1 Beta from the members are, beta section. Store PushSource.ax in DVBViewer\Filters, restart DVBViewer and let me know whether the aspect ratio handling is ok.

 

Additionally it has to be fixed in the DVBViewer file analysis. However, the effect of the wrong aspect ratio calculation is not so fatal in this case.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...