From garysull windows.microsoft.com Sat Sep 1 03:51:42 2007
From: garysull windows.microsoft.com (Gary Sullivan)
Date: Sat Sep 1 06:04:09 2007
Subject: [Mp4-tech] SPS switch on non-IDR I-frame?
In-Reply-To: <039601c7ebfb$60a6c7d0$c23347ab@gateway.2wire.net>
References: <039601c7ebfb$60a6c7d0$c23347ab@gateway.2wire.net>
Message-ID: <21D067220A163E4BABC5C7A568A93B1588F2D6345C@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
Andrew Palfreyman et al,
That is not allowed. The SPS sets up basic things like picture size, which could be problematic to switch in non-IDR access units. At the moment I don't have time to look up exactly where and how it is prohibited, but I am confident that it is prohibited.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Andrew Palfreyman
Sent: Friday, August 31, 2023 11:19 AM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] SPS switch on non-IDR I-frame?
I'm unclear from the AVC spec whether or not it's legal to switch the active SPS on a non-IDR I-frame. There appears to be no issue with the decoders I've tried.
Best,
Andrew Palfreyman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070901/b4a3bd82/attachment.html
From Ye-Kui.Wang nokia.com Sat Sep 1 14:26:15 2007
From: Ye-Kui.Wang nokia.com (Ye-Kui.Wang@nokia.com)
Date: Sat Sep 1 09:22:09 2007
Subject: [Mp4-tech] SPS switch on non-IDR I-frame?
In-Reply-To: <039601c7ebfb$60a6c7d0$c23347ab@gateway.2wire.net>
References: <039601c7ebfb$60a6c7d0$c23347ab@gateway.2wire.net>
Message-ID: <1C1F3D15859526459B4DD0A7A9B2268B03CF15E0@trebe101.NOE.Nokia.com>
No, it is not allowed to change the content of an active SPS at non-IDR access units. SPSs may be repeated at non-IDR access unit, though. See the following paragraph in ?7.4.1.2.1.
Any sequence parameter set NAL unit containing the value of seq_parameter_set_id for the active sequence parameter set RBSP shall have the same content as that of the active sequence parameter set RBSP unless it follows the last access unit of a coded video sequence and precedes the first VCL NAL unit and the first SEI NAL unit containing a buffering period SEI message (when present) of another coded video sequence.
BR, YK
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of ext Andrew Palfreyman
Sent: Friday, August 31, 2023 9:19 PM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] SPS switch on non-IDR I-frame?
I'm unclear from the AVC spec whether or not it's legal to switch the active SPS on a non-IDR I-frame. There appears to be no issue with the decoders I've tried.
Best,
Andrew Palfreyman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070901/da9e9f47/attachment.html
From t5598016 ntut.edu.tw Mon Sep 3 15:22:14 2007
From: t5598016 ntut.edu.tw (95598016)
Date: Mon Sep 3 05:40:08 2007
Subject: [Mp4-tech] [system] DMB stream
Message-ID: <00e701c7edf2$c50ab3f0$95b57c8c@ntut>
Dear all expert,
I am a newhard in DMB
Can anyone provide DMB stream with HE-AAC or link to download ?
thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070903/98c94a17/attachment.html
From garysull windows.microsoft.com Tue Sep 4 15:14:12 2007
From: garysull windows.microsoft.com (Gary Sullivan)
Date: Tue Sep 4 18:28:09 2007
Subject: [Mp4-tech] RE: Why spatial prediction in AVC performed in pixel
domain?
In-Reply-To: <9110732D7E34E5459A92F96AEEDF829E026D54F2@NT-SJCA-0751.brcm.ad.broadcom.com>
References: <21D067220A163E4BABC5C7A568A93B1587040E3D50@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
<9110732D7E34E5459A92F96AEEDF829E026D54F2@NT-SJCA-0751.brcm.ad.broadcom.com>
Message-ID: <21D067220A163E4BABC5C7A568A93B15915E9B0111@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
Regarding my prior remark about Q15-E-17 and Q15-F-11 that "I believe he had been playing with such concepts before that as well", please refer to the prior documents Q15-C-23 of November 1997 and Q15-D-29 of April 1998. In addition to proposing (4x4) spatial-domain intra prediction, they also proposed to enable 4x4 motion and to use an integer-based 4x4 transform in conjunction with an in-loop deblocking filter. In Q15-D-29, these features were combined with multiple-reference picture use (5 reference pictures) as had been proposed in Q15-C-11 of November 1997. From these contributions I believe one can already see the design of H.264/MPEG-4 Part 10 AVC really beginning to take shape (in hindsight).
Best Regards,
Gary Sullivan
________________________________
From: Shevach Riabtsev [mailto:sriabtsev@broadcom.com]
Sent: Wednesday, August 29, 2023 7:35 AM
To: Gary Sullivan
Cc: mp4-tech@lists.mpegif.org
Subject: RE: Why spatial prediction in AVC performed in pixel domain?
Thanks Gary
Actually you answered my query. Indeed if one block is in Inter MB and other block belongs to Intra MB, then no correlation in frequency domain between the blocks expected.
I missed this point.
Regards, Shevach
Broadcom
________________________________
From: Gary Sullivan [mailto:garysull@windows.microsoft.com]
Sent: Wednesday, August 29, 2023 4:21 PM
To: Shevach Riabtsev
Cc: mp4-tech@lists.mpegif.org
Subject: RE: Why spatial prediction in AVC performed in pixel domain?
Shevach et al,
The Q15 documents should be found at http://ftp3.itu.int/av-arch/video-site. Look in the folders for 1998.
The measurement you did sounds excessively simplistic. You did not demonstrate an actual compression system with real syntax design and actual selection of which prediction mode will be used and test the compression performance in the rate-distortion sense. Just measuring correlation is not enough.
I am pretty confident that we would not be using the spatial prediction scheme if the old frequency-domain prediction scheme like what is found in H.263 Annex I and MPEG-4 part 2 would have worked better.
Note also that the frequency-domain prediction scheme has a problem if the neighbor is not intra coded.
Best Regards,
Gary Sullivan
________________________________
From: Shevach Riabtsev [mailto:sriabtsev@broadcom.com]
Sent: Wednesday, August 29, 2023 4:52 AM
To: Gary Sullivan
Cc: mp4-tech@lists.mpegif.org
Subject: RE: Why spatial prediction in AVC performed in pixel domain?
Gary
I compared correlation coefficients among neighboring 4x4 blocks in both sample domain and frequency one (i.e. quantized coefficients). It appears that the correlation in frequency domain is stronger than in pixel one.
The only advantage of sample domain spatial prediction I can see is the arithmetic precision. Indeed, in pixel domain all predictors are 8-bits width, while in frequency plane the predictors are 12 bits.
Where I can achieve Q15-E-17 and Q15-F-11 proposals. Could you send me a link to these documents.
Regards, Shevach
Broadcom
________________________________
From: Gary Sullivan [mailto:garysull@windows.microsoft.com]
Sent: Monday, August 27, 2023 5:46 PM
To: Shevach Riabtsev; mp4-tech@lists.mpegif.org
Subject: RE: Why spatial prediction in AVC performed in pixel domain?
Have you actually done any experiments to confirm your belief that the frequency domain works better on noisy material?
Of course, also, not all material is noisy...
Gisle Bjontegaard proposed the basic concept of the spatial prediction as part of his original proposals in 1998 for the H.26L project (Q15-E-17 in July and Q15-F-11 in November). I believe he had been playing with such concepts before that as well. I'm rather confident that he would not have proposed such a thing unless it was ordinarily beneficial to compression capability.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Shevach Riabtsev
Sent: Monday, August 27, 2023 4:51 AM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] Why spatial prediction in AVC performed in pixel domain?
Dear experts
The spatial prediction in AVC is executed in pixel (sample) domain, while in MPEG2 and MPEG4 the spatial prediction (actually partial prediction) is performed in frequency domain.
I think that on noisy material it is beneficial to perform the spatial prediction in frequency domain in the same manner as pixel-domain prediction.
Say, for each 4x4 block, DCT and quantization is performed, then the prediction direction and the residual between quantization coefficients of the current 4x4 block and the neighboring (left and/or top) is calculated.
What was a reason to prefer the sample domain for the spatial prediction instead of frequency one.
Regards, Shevach
Broadcom
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070904/96846ad8/attachment.html
From darui.sun wwcoms.com.cn Wed Sep 5 16:16:13 2007
From: darui.sun wwcoms.com.cn (Darui.Sun)
Date: Wed Sep 5 09:40:41 2007
Subject: [Mp4-tech] How to quantize the coefficients in advanced intra
coding of h.263+?
Message-ID: <200709050716.l857GZdP017425@lists1.magma.ca>
hi, experts,
In reference encoder of h.263+, the quantization for advanced intra coding is calculated as follows,
|LEVEL| = (|COF| + QUANT / 2) / (2 * QUANT)
but in the Test model (for example TMN12)�� the equation is as follows,
|LEVEL| = (|COF| + 3 * QUANT / 4) / (2 * QUANT)
Why is the quantization different? could anybody clarify it for me��
thanks in advance
sun
From Danijel.Domazet zg.t-com.hr Wed Sep 5 13:38:40 2007
From: Danijel.Domazet zg.t-com.hr (Danijel Domazet)
Date: Wed Sep 5 09:42:41 2007
Subject: [Mp4-tech] AAC - CRC protection
Message-ID: <000301c7efa8$eca10bf0$6601a8c0@DanijelPC>
Hi all,
One problem regarding AAC audio with ADTS header that uses CRC protection.
ISO 14496-3 states:
"...first 192 bits of any channel_pair_element should be CRC protected. In
addition, the first 128 bits of 2nd individual_channel_stream in the
channel_pair_element must be protected.
For any element where the specified protection length of 128 or 192 bits
exceeds its actual length, the element is zero padded to the specified
length for CRC calculation."
What happens when CPE is very short (~50 bits)? By feeding 192 bits of CPE
to the CRC I will protects 2nd ICS in this CPE automaticaly. Do I then feed
2nd ICS again into CRC calculator, this time as 128 bits?
Thanks,
Danijel Domazet
From garysull windows.microsoft.com Wed Sep 5 11:25:20 2007
From: garysull windows.microsoft.com (Gary Sullivan)
Date: Wed Sep 5 13:34:07 2007
Subject: [Mp4-tech] How to quantize the coefficients in advanced intra
coding of h.263+?
In-Reply-To: <200709050716.l857GZdP017425@lists1.magma.ca>
References: <200709050716.l857GZdP017425@lists1.magma.ca>
Message-ID: <21D067220A163E4BABC5C7A568A93B15915E9B04DC@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
Darui Sun et al,
There are several documents available on that subject.
I believe the TMN12 design is the result of my contribution Q15-D-30 of April 1998, which can be found in:
http://ftp3.itu.ch/av-arch/video-site/9804_Tam/
The software that you're referring to was probably based on an older TMN design.
For further background education and information on how to design a better quantization rule than either one of those, I suggest starting with the documents listed below and following the trail of references in them to the extent that your curiosity leads you:
JVT-O014 (Note: after the dash, the next character is the letter "O" and the next character after that is the numberal "0".)
JVT-P015
JVT-N011
Those can be found in http://ftp3.itu.int/av-arch/jvt-site.
The adaptive technique described in those three documents is now supported in recent versions of the JM reference software.
Best Regards,
Gary Sullivan
+> -----Original Message-----
+> From: mp4-tech-bounces@lists.mpegif.org
+> [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Darui.Sun
+> Sent: Wednesday, September 05, 2023 12:16 AM
+> To: Gary Sullivan; mp4-tech@lists.mpegif.org
+> Subject: [Mp4-tech] How to quantize the coefficients in
+> advanced intra coding of h.263+?
+>
+> hi, experts,
+>
+> In reference encoder of h.263+, the quantization for
+> advanced intra coding is calculated as follows,
+> |LEVEL| = (|COF| + QUANT / 2) / (2 * QUANT)
+>
+> but in the Test model (for example TMN12)�� the equation
+> is as follows,
+> |LEVEL| = (|COF| + 3 * QUANT / 4) / (2 * QUANT)
+>
+>
+> Why is the quantization different? could anybody clarify
+> it for me��
+>
+> thanks in advance
+>
+> sun
+>
+>
+>
+> _______________________________________________
+> 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
+>
From aupadhyay NeoMagic.com Thu Sep 6 18:38:54 2007
From: aupadhyay NeoMagic.com (Amit Upadhyay)
Date: Thu Sep 6 08:46:06 2007
Subject: [Mp4-tech] [Audio] ISO Document for Parametric Stereo
Message-ID:
Hi everyone,
Can some one point out the ISO document where I can find information about
Parametric Stereo. I have 14496-3:2001 but that does not contain information
about PS. So do I need to purchase the latest version of this document or
some amendment to this document?
>From the ISO store I can see that the latest version is ISO/IEC
14496-3:2005. Is that correct? Which Subpart of this document has
information about PS?
Also is there any way that I can see a table of contents for the subparts of
14496-3 before purchasing the document.
Regards,
Amit.
From Andreas.Schneider codingtechnologies.com Thu Sep 6 16:23:25 2007
From: Andreas.Schneider codingtechnologies.com (Andreas Schneider)
Date: Thu Sep 6 09:28:07 2007
Subject: [Mp4-tech] [Audio] ISO Document for Parametric Stereo
In-Reply-To:
Message-ID:
Hello Amit,
You need the latest version, which is called ISO/IEC 14496-3:2005. Subpart
8 contains the syntax and sematics of parametric stereo.
If you are interested in the HE AAC v2 profile, which contains Parametric
Stereo, you need ISO/IEC 14496-3:2005/Amd.2:2006 as well.
Sorry, I don't know of a way to peak into the TOC of an ISO standard
before buying it (short of writing a mail like the one you wrote ;-) ).
Best,
Andreas
mp4-tech-bounces@lists.mpegif.org wrote on 06.09.2023 14:08:54:
> Hi everyone,
>
> Can some one point out the ISO document where I can find information
about
> Parametric Stereo. I have 14496-3:2001 but that does not contain
information
> about PS. So do I need to purchase the latest version of this document
or
> some amendment to this document?
>
> >From the ISO store I can see that the latest version is ISO/IEC
> 14496-3:2005. Is that correct? Which Subpart of this document has
> information about PS?
>
> Also is there any way that I can see a table of contents for the
subparts of
> 14496-3 before purchasing the document.
>
> Regards,
> Amit.
>
>
>
> _______________________________________________
> 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-Antitrust.php
--
Andreas Schneider
Senior Research Engineer
mailto:snd@CodingTechnologies.com
+49 911 92891 -26 (phone)
+49 911 92891 -99 (fax)
Coding Technologies GmbH
Deutschherrnstr. 15-19
D-90429 Nuernberg, Germany
http://www.codingtechnologies.com
HRB 17557, Amtsgericht N?rnberg, GF: Dipl.Ing. Martin Dietz (Managing
Director)
From Danijel.Domazet zg.t-com.hr Thu Sep 6 16:18:41 2007
From: Danijel.Domazet zg.t-com.hr (Danijel Domazet)
Date: Thu Sep 6 10:16:08 2007
Subject: [Mp4-tech] [Audio] ISO Document for Parametric Stereo
References:
Message-ID: <000301c7f088$71a7f680$6601a8c0@DanijelPC>
Hi Amit,
For Parametric Stereo you will need:
14496-3:2001 (second edition) Amendment 2:2004
or
14496-3:2005 (third edition)
Either one of these will do.
Regards,
Danijel
----- Original Message -----
From: "Amit Upadhyay"
To:
Sent: Thursday, September 06, 2023 2:08 PM
Subject: [Mp4-tech] [Audio] ISO Document for Parametric Stereo
> Hi everyone,
>
> Can some one point out the ISO document where I can find information about
> Parametric Stereo. I have 14496-3:2001 but that does not contain
> information
> about PS. So do I need to purchase the latest version of this document or
> some amendment to this document?
>
>>From the ISO store I can see that the latest version is ISO/IEC
> 14496-3:2005. Is that correct? Which Subpart of this document has
> information about PS?
>
> Also is there any way that I can see a table of contents for the subparts
> of
> 14496-3 before purchasing the document.
>
> Regards,
> Amit.
>
>
>
> _______________________________________________
> 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-Antitrust.php
From dunyujie gmail.com Thu Sep 6 22:34:11 2007
From: dunyujie gmail.com (Dun Yujie)
Date: Thu Sep 6 10:16:16 2007
Subject: [Mp4-tech] [Audio] ISO Document for Parametric Stereo
References:
Message-ID: <002001c7f08a$9f144f90$3300a8c0@r40e>
Hi Amit,
In ISO/IEC 14496-3:2005., the subpart 8,
Subpart8: Technical description of parametric coding for high quality audio.
It contains Parametric Stereo.
Regards,
Jenice.
----- Original Message -----
From: "Amit Upadhyay"
To:
Sent: Thursday, September 06, 2023 20:08
Subject: [Mp4-tech] [Audio] ISO Document for Parametric Stereo
> Hi everyone,
>
> Can some one point out the ISO document where I can find information about
> Parametric Stereo. I have 14496-3:2001 but that does not contain
> information
> about PS. So do I need to purchase the latest version of this document or
> some amendment to this document?
>
>>From the ISO store I can see that the latest version is ISO/IEC
> 14496-3:2005. Is that correct? Which Subpart of this document has
> information about PS?
>
> Also is there any way that I can see a table of contents for the subparts
> of
> 14496-3 before purchasing the document.
>
> Regards,
> Amit.
>
>
>
> _______________________________________________
> 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-Antitrust.php
From gel codingtechnologies.com Thu Sep 6 18:45:12 2007
From: gel codingtechnologies.com (Alexander Groeschel)
Date: Thu Sep 6 12:46:08 2007
Subject: [Mp4-tech] AAC - CRC protection
In-Reply-To: <000301c7efa8$eca10bf0$6601a8c0@DanijelPC>
Message-ID:
Hi Danijel,
I am afraid you are right, the literal interpretation is to feed some data
twice in this case. An attempt to change this (probably unwanted stuff) in
MPEG came too late (chips were out at that time already).
best,
alex.
mp4-tech-bounces@lists.mpegif.org wrote on 09/05/2024 12:38:40 PM:
>
> Hi all,
>
> One problem regarding AAC audio with ADTS header that uses CRC
protection.
>
> ISO 14496-3 states:
> "...first 192 bits of any channel_pair_element should be CRC protected.
In
> addition, the first 128 bits of 2nd individual_channel_stream in the
> channel_pair_element must be protected.
> For any element where the specified protection length of 128 or 192 bits
> exceeds its actual length, the element is zero padded to the specified
> length for CRC calculation."
>
>
> What happens when CPE is very short (~50 bits)? By feeding 192 bits of
CPE
> to the CRC I will protects 2nd ICS in this CPE automaticaly. Do I then
feed
> 2nd ICS again into CRC calculator, this time as 128 bits?
>
>
> Thanks,
> Danijel Domazet
>
> _______________________________________________
> 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-Antitrust.php
_________________________________
Alexander Gr?schel
Senior Research Engineer
Coding Technologies GmbH
( HRB 17557, Amtsgericht N?rnberg,
GF: Dipl.Ing. Martin Dietz )
+49 911 928 91 21 (phone)
+49 911 928 91 99 (fax)
Deutschherrnstra?e 15 - 19,
D-90429 N?rnberg, Germany
mailto:alexander.groeschel@codingtechnologies.com
http://www.codingtechnologies.com
------------------------------------------------------------------------
From Gomathi_Ramamoorthy mindtree.com Fri Sep 7 12:00:31 2007
From: Gomathi_Ramamoorthy mindtree.com (Gomathi Ramamoorthy)
Date: Fri Sep 7 08:52:10 2007
Subject: [Mp4-tech] Memory Requirement for JM reference code
Message-ID: <2C15D00D262B7245B1D8D1799F04D88F06397EF5@mtw01ex01.mindtree.com>
Dear all,
I'm working in H.264 decoder.I have downloaded the JM reference code.I would
like to find out the memory it takes i.e for
Global variables
Static variables
Heap and progarm memory that the JM decoder requires in the VC++ version.
I tried googling.But I could not make it out.
I will be very thankful if some one helps me in this regard (as soon as
possible)....
Please reply me soon
Thanks in advance
Regards
Gomathi.
DISCLAIMER:
This message (including attachment if any) is confidential and may be privileged. Before opening attachments please check them for viruses and defects. MindTree Consulting Limited (MindTree) will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside. If you have received this message by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited.Please note that e-mails are susceptible to change and MindTree shall not be liable for any improper, untimely or incomplete transmission.
E-mail may contain viruses. Before opening attachments please check them for viruses and defects. While MindTree Consulting Limited (MindTree) has put in place checks to minimize the risks, MindTree will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070907/84f80e4e/attachment.html
From Dakshinamurthy.Krishnan lntinfotech.com Fri Sep 7 18:54:45 2007
From: Dakshinamurthy.Krishnan lntinfotech.com (Dakshinamurthy Krishnan)
Date: Fri Sep 7 08:52:15 2007
Subject: [Mp4-tech] Reg Interlaced and progressive video sequence
Message-ID:
Dear Experts,
>From the High definition Forum, i got seperate YUV sequence for
Interlaced and Progressive.
But from JM download , I am able to encode same sequence in both
Frame/Field modes. Why there should be seperate sequence,
>From progressive alternate lines can be extracted for interlaced.
Please say some links for YUV sequence for HD(Main profile 4) other than
this link
ftp://ftp.ldv.e-technik.tu-muenchen.de/dist/test_sequences/
Tnx in advance,
Dakshin
Regards ,
Dakshinamurthy .K
L&T Infotech , Manapakkam ,
Chennai -600089
Extn: 7066
______________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070907/3f1bedc4/attachment.html
From dthoang yahoo.com Fri Sep 7 10:57:45 2007
From: dthoang yahoo.com (Dzung Hoang)
Date: Fri Sep 7 13:28:08 2007
Subject: [Mp4-tech] Memory Requirement for JM reference code
In-Reply-To: <2C15D00D262B7245B1D8D1799F04D88F06397EF5@mtw01ex01.mindtree.com>
References: <2C15D00D262B7245B1D8D1799F04D88F06397EF5@mtw01ex01.mindtree.com>
Message-ID: <002701c7f15f$73636770$9600000a@DZUNGLAPTOP>
Instrument all malloc, calloc, and free calls to keep track of the maximum
heap allocation. Run Windows Task Manager and enable the ?Peak Memory Usage?
column. Run the instrumented JM encoder at various image resolutions and
graph the results. The amount of memory used depends upon the image size.
After you have plotted the results, please post so that future googlers can
find them.
Regards,
- Dzung Hoang
_____
From: mp4-tech-bounces@lists.mpegif.org
[mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Gomathi Ramamoorthy
Sent: Friday, September 07, 2023 12:31 AM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] Memory Requirement for JM reference code
Dear all,
I?m working in H.264 decoder.I have downloaded the JM reference code.I would
like to find out the memory it takes i.e for
Global variables
Static variables
Heap and progarm memory that the JM decoder requires in the VC++ version.
I tried googling.But I could not make it out.
I will be very thankful if some one helps me in this regard (as soon as
possible)?.
Please reply me soon
Thanks in advance
Regards
Gomathi.
DISCLAIMER:
This message (including attachment if any) is confidential and may be
privileged. If you have received this message by mistake please notify the
sender by return e-mail and delete this message from your system. Any
unauthorized use or dissemination of this message in whole or in part is
strictly prohibited.
E-mail may contain viruses. Before opening attachments please check them for
viruses and defects. While MindTree Consulting Limited (MindTree) has put in
place checks to minimize the risks, MindTree will not be responsible for any
viruses or defects or any forwarded attachments emanating either from within
MindTree or outside.
Please note that e-mails are susceptible to change and MindTree shall not be
liable for any improper, untimely or incomplete transmission.
MindTree reserves the right to monitor and review the content of all
messages sent to or from MindTree e-mail address. Messages sent to or from
this e-mail address may be stored on the MindTree e-mail system or else
where.
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.485 / Virus Database: 269.13.7 - Release Date: 9/6/2023 12:00
AM
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.485 / Virus Database: 269.13.7 - Release Date: 9/6/2023 12:00
AM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070907/3211fdab/attachment.html
From alexis.tourapis dolby.com Fri Sep 7 12:00:22 2007
From: alexis.tourapis dolby.com (Tourapis, Alexis)
Date: Fri Sep 7 14:04:08 2007
Subject: [Mp4-tech] Memory Requirement for JM reference code
In-Reply-To: <002701c7f15f$73636770$9600000a@DZUNGLAPTOP>
References: <2C15D00D262B7245B1D8D1799F04D88F06397EF5@mtw01ex01.mindtree.com>
<002701c7f15f$73636770$9600000a@DZUNGLAPTOP>
Message-ID: <2BAAC5E4AF2518459F0AB5D9279420479A5218@bur-exch-01.dolby.net>
Please note that if you are only concerned with 8 bit content you should also try and set #define IMGTYPE to 0. We are also working on several optimizations in the upcoming versions which would change the memory footprint of the software considerably.
Tools like vtune, valgrind, electric fence can provide some info on how memory is used beyond optimizing/debugging. They may not be at the fine grain level that you want them, but maybe that is a start for you.
Best regards,
Alexis
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Dzung Hoang
Sent: Friday, September 07, 2023 7:58 AM
To: 'Gomathi Ramamoorthy'; mp4-tech@lists.mpegif.org
Subject: RE: [Mp4-tech] Memory Requirement for JM reference code
Instrument all malloc, calloc, and free calls to keep track of the maximum heap allocation. Run Windows Task Manager and enable the ?Peak Memory Usage? column. Run the instrumented JM encoder at various image resolutions and graph the results. The amount of memory used depends upon the image size. After you have plotted the results, please post so that future googlers can find them.
Regards,
- Dzung Hoang
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Gomathi Ramamoorthy
Sent: Friday, September 07, 2023 12:31 AM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] Memory Requirement for JM reference code
Dear all,
I?m working in H.264 decoder.I have downloaded the JM reference code.I would like to find out the memory it takes i.e for
Global variables
Static variables
Heap and progarm memory that the JM decoder requires in the VC++ version.
I tried googling.But I could not make it out.
I will be very thankful if some one helps me in this regard (as soon as possible)?.
Please reply me soon
Thanks in advance
Regards
Gomathi.
DISCLAIMER:
This message (including attachment if any) is confidential and may be privileged. If you have received this message by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited.
E-mail may contain viruses. Before opening attachments please check them for viruses and defects. While MindTree Consulting Limited (MindTree) has put in place checks to minimize the risks, MindTree will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside.
Please note that e-mails are susceptible to change and MindTree shall not be liable for any improper, untimely or incomplete transmission.
MindTree reserves the right to monitor and review the content of all messages sent to or from MindTree e-mail address. Messages sent to or from this e-mail address may be stored on the MindTree e-mail system or else where.
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.485 / Virus Database: 269.13.7 - Release Date: 9/6/2023 12:00 AM
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.485 / Virus Database: 269.13.7 - Release Date: 9/6/2023 12:00 AM
-----------------------------------------
This message (including any attachments) may contain confidential
information intended for a specific individual and purpose. If you
are not the intended recipient, delete this message. If you are
not the intended recipient, disclosing, copying, distributing, or
taking any action based on this message is strictly prohibited.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070907/739f55ef/attachment-0001.html
From Gomathi_Ramamoorthy mindtree.com Mon Sep 10 12:04:00 2007
From: Gomathi_Ramamoorthy mindtree.com (Gomathi Ramamoorthy)
Date: Mon Sep 10 11:22:09 2007
Subject: [Mp4-tech] Memory Requirement for JM reference code
In-Reply-To: <002701c7f15f$73636770$9600000a@DZUNGLAPTOP>
References: <2C15D00D262B7245B1D8D1799F04D88F06397EF5@mtw01ex01.mindtree.com>
<002701c7f15f$73636770$9600000a@DZUNGLAPTOP>
Message-ID: <2C15D00D262B7245B1D8D1799F04D88F06397EFE@mtw01ex01.mindtree.com>
Hi Dzung,
Thank u so much for your suggestions.I will work on it and let u know results
soon.
Thanks for all
________________________________
From: Dzung Hoang [mailto:dthoang@yahoo.com]
Sent: Friday, September 07, 2023 8:28 PM
To: Gomathi Ramamoorthy; mp4-tech@lists.mpegif.org
Subject: RE: [Mp4-tech] Memory Requirement for JM reference code
Instrument all malloc, calloc, and free calls to keep track of the maximum
heap allocation. Run Windows Task Manager and enable the "Peak Memory Usage"
column. Run the instrumented JM encoder at various image resolutions and
graph the results. The amount of memory used depends upon the image size.
After you have plotted the results, please post so that future googlers can
find them.
Regards,
- Dzung Hoang
________________________________
From: mp4-tech-bounces@lists.mpegif.org
[mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Gomathi Ramamoorthy
Sent: Friday, September 07, 2023 12:31 AM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] Memory Requirement for JM reference code
Dear all,
I'm working in H.264 decoder.I have downloaded the JM reference code.I would
like to find out the memory it takes i.e for
Global variables
Static variables
Heap and progarm memory that the JM decoder requires in the VC++ version.
I tried googling.But I could not make it out.
I will be very thankful if some one helps me in this regard (as soon as
possible)....
Please reply me soon
Thanks in advance
Regards
Gomathi.
DISCLAIMER:
This message (including attachment if any) is confidential and may be
privileged. If you have received this message by mistake please notify the
sender by return e-mail and delete this message from your system. Any
unauthorized use or dissemination of this message in whole or in part is
strictly prohibited.
E-mail may contain viruses. Before opening attachments please check them for
viruses and defects. While MindTree Consulting Limited (MindTree) has put in
place checks to minimize the risks, MindTree will not be responsible for any
viruses or defects or any forwarded attachments emanating either from within
MindTree or outside.
Please note that e-mails are susceptible to change and MindTree shall not be
liable for any improper, untimely or incomplete transmission.
MindTree reserves the right to monitor and review the content of all messages
sent to or from MindTree e-mail address. Messages sent to or from this e-mail
address may be stored on the MindTree e-mail system or else where.
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.485 / Virus Database: 269.13.7 - Release Date: 9/6/2023 12:00 AM
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.485 / Virus Database: 269.13.7 - Release Date: 9/6/2023 12:00 AM
DISCLAIMER:
This message (including attachment if any) is confidential and may be privileged. Before opening attachments please check them for viruses and defects. MindTree Consulting Limited (MindTree) will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside. If you have received this message by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited.Please note that e-mails are susceptible to change and MindTree shall not be liable for any improper, untimely or incomplete transmission.
E-mail may contain viruses. Before opening attachments please check them for viruses and defects. While MindTree Consulting Limited (MindTree) has put in place checks to minimize the risks, MindTree will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070910/32116fb7/attachment-0001.html
From mafie att.net Mon Sep 10 01:32:05 2007
From: mafie att.net (Farhad Mafie)
Date: Mon Sep 10 11:22:15 2007
Subject: [Mp4-tech] Early Bird Registration Open -- www.SoCconference.com
The 5th International System-on-Chip (SoC) Conference and
Exhibit, Nov 7 & 8, 2007
Message-ID: <004f01c7f37c$b1317050$4001a8c0@scomh07>
The Most Innovative and Affordably Priced Chip Design Technology
Conference of the Year
Don't Miss Out!
Special
Discount for Students and IEEE, ACM, & AeA Members
5th International System-on-Chip (SoC)
Conference, Workshop & Exhibit
November 7 & 8, 2007 - Radisson Hotel Newport Beach, California
Early Bird Registration Open Now . . .
Register Today & Save!
For Conference Information &
Registration, Please Visit:
www.SoCconference.com
Leading-edge Companies, Universities, and Organizations will be
presenting their latest System-on-Chip (SoC), ASIC, ASSP, FPGA, and
Foundry technologies and products in this informative and exciting
Conference & Exhibit. Selected participating companies and
universities:
Tensilica, Jazz Semiconductor, MIPS Technologies, Novelics, Inside
GNSS, Intel, Broadcom, Toshiba, eASIC, Argon, Altera, Texas
Instruments, ST Microelectronics, NXP Semiconductors, Texas A&M
University, AMD, Rambus, SiRF, iSuppli, Fujitsu, IBM, Tower
Semiconductor, ARM, Fujitsu, Nvidia, Carnegie Mellon University,
Synopsys, Cadence Design Systems, The SPIRIT Consortium, Mentor
Graphics, Actel, Trimble, Virage Logic, Micron, National
Semiconductor, Savant Company Inc., Innovative Silicon, Kilopass
Technology, Carbon Design Systems, Silicon Canvas, ENOVIA MatrixOne,
Faraday Technology, CSU Fullerton, UCI, EDN, eMemory, Chapman
University, IEEE, AeA, Qualcomm, Kenet, and many more.
Four Informative Tracks
* Semiconductor Technology & Trends: New Design Approaches for
Complex SoCs
* Multicore, CPUs, DSPs & NoCs for Complex SoCs
* Memory sub-system Issues, Advances & Trends for Complex SoC
Designs
* Innovative Tools & Solutions: For Complex SoC Designs
Four Outstanding Keynote Speakers
* Dr. Marco Racanelli, Jazz Semiconductor, Vice President of
Technology & Engineering
* Dr. Jeff Parkhurst, Intel, Academic Research Programs Manager
* Dr. Ahmad Bahai, National Semiconductor, CTO
* Dr. Rob Rutenbar, Carnegie Mellon University
Three Challenging Panel Discussions
* Emerging Trends for Complex SoCs: From Advanced
Multicore/CPUs/DSPs To Innovative Embedded Memories. Moderator: Ron
Wilson, Executive Editor EDN
* Emerging Wireless Chips: The Development & Integration
Challenges. Moderator: Glen Gibbons, Inside GNSS, Editor and Managing
Partner
* Structured ASICs: Dead or Alive. Moderator: Steve Leibson, EDN
Contributing Editor.
Several Outstanding Workshops by Tensilica, Savant, Etc.
One Night of Tabletop Exhibitions ( November 7, 2007, 4:30 PM - 8:30 PM)
* Sign up online for complimentary exhibition passes (Nov 7, 2007,
Exhibition night only).
* Meet one-on-one with SoC experts representing a wide variety of
companies
* Have your toughest questions answered by leading-edge companies!
* Discuss development tools and chip design challenges with
SoC/ASIC/Foundry experts
* Connect with companies offering practical solutions to your
design challenges
* "Seeing Is Believing!" See demos of EDA tools from leading-edge
EDA vendors
Why You Should Attend
* Discuss 65nm and post-65nm challenges for SoC/ASIC/ASSP/FPGA
designs
* Learn about the latest configurable CPUs, Processors, and DSPs
cores
* Gain insight into memory subsystems design for complex
SoC/ASIC/ASSP/FPGA designs
* Learn about the new trends and future direction of
System-on-Chip
* Network with the leaders driving SoC technology during the
conference & exhibit
* Learn about the latest EDA Tools and design techniques for
Nanometer SoCs
Who Should Attend
* Chip designers
* Design engineers
* ASIC/SoC/ASSP/FPGA designers
* EDA Developers
* System architects
* IP Developers
* Hardware engineers
* System platform designers
* Executives and business decision-makers in technology companies
* Technical marketing/sales professionals
* Technology and business analysts
* Engineering professors and students
* Anyone involved with ASIC, SoC, ASSP, Foundry, and FPGA design,
development, planning, promotion, and procurement
The 5th International System-on-Chip (SoC) Conference & Exhibit is the
year's most important, most informative technical conference for the
chip design community. In collaboration with major industry enablers
and top academic experts, it addresses the latest technologies and
products from vendors in semiconductor, EDA, IP, CPUs/DSPs, Memories,
NoC, Multi-core, etc.
Discount for Students and IEEE, ACM & AeA Members
The Most Informative and Targeted SoC,
ASIC, ASSP, FPGA
Conference, Workshop & Exhibit
Event of the Year!
Early Bird Registration Open Now . . .
Register Today & Save!
Don't Miss Out!
Please share this message with interested colleagues!
Got a registration question?
Please email: SoC@SavantCompany.com
www.SoCconference.com
Please Share This Message With Your Colleagues!
To unsubscribe: Please send an email to
SoC_Conf@savantcompany.com with
"Remove" in the subject line.
Copyright C 2003 -2007 by Savant Company Inc. PO Box 51330, Irvine, CA
92619, U.S.A. All worldwide rights reserved. All names contained herein
are the trademarks of their respective holders.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070910/dbbcccb4/attachment-0001.html
From anpalfre cisco.com Mon Sep 10 13:39:06 2007
From: anpalfre cisco.com (Andrew Palfreyman)
Date: Mon Sep 10 16:22:08 2007
Subject: [Mp4-tech] Only half POC range available for ordered ranges?
Message-ID: <014501c7f3e2$40c1f540$7078150a@gateway.2wire.net>
Skipped content of type multipart/alternative-------------- next part --------------
A non-text attachment was scrubbed...
Name: POC_N2.doc
Type: application/msword
Size: 16896 bytes
Desc: not available
Url : /pipermail/mp4-tech/attachments/20070910/f3853350/POC_N2.doc
From garysull windows.microsoft.com Mon Sep 10 16:32:51 2007
From: garysull windows.microsoft.com (Gary Sullivan)
Date: Mon Sep 10 18:40:07 2007
Subject: [Mp4-tech] Only half POC range available for ordered ranges?
In-Reply-To: <014501c7f3e2$40c1f540$7078150a@gateway.2wire.net>
References: <014501c7f3e2$40c1f540$7078150a@gateway.2wire.net>
Message-ID: <21D067220A163E4BABC5C7A568A93B15915EE29E9E@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
Mr. Palfreyman et al,
I think you are not interpreting the equations correctly. I think the statement of "the fact that POC increases by 2 on each frame or field pair" is not correct in general (i.e., unless the encoder wants it to be correct).
I think that you have also provided insufficient data for your example. For example, you did not provide the values of pic_order_cnt_lsb, field_pic_flag and bottom_field_flag. You also did not explicitly provide the value of MaxPicOrderCntLsb.
Guessing somwhat, I suspect that in your example, you are saying that pic_order_cnt_lsb = 20 and MaxPicOrderCntLsb = 64. If that is true, then consider the following:
if( ( pic_order_cnt_lsb < prevPicOrderCntLsb ) &&
( ( prevPicOrderCntLsb ? pic_order_cnt_lsb ) >= ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb + MaxPicOrderCntLsb
else if( ( pic_order_cnt_lsb > prevPicOrderCntLsb ) &&
( ( pic_order_cnt_lsb ? prevPicOrderCntLsb ) > ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb ? MaxPicOrderCntLsb
else
PicOrderCntMsb = prevPicOrderCntMsb
reduces to
if( ( 20 < 18 ) && anything )
doesn't matter because the expression is false
else if( ( 20 > 18 ) && ( ( 20 ? 18 ) > ( 32 ) ) )
doesn't matter because the expression is false
else
PicOrderCntMsb = 0
Which is different than what you said.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Andrew Palfreyman
Sent: Monday, September 10, 2023 12:39 PM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] Only half POC range available for ordered ranges?
Per paragraph 8.2.1.1 (see attached analysis) for picture_count_type = 0, it would appear that, while POCs increase between consecutive frames in stream order, the maximum number of such frames in this group can be no larger than MaxPicOrderCntLsb / 2 , else POC will go negative. I'm curious as to why this restriction exists. I'm guessing it relates somehow to the fact that POC increases by 2 on each frame or field pair. I'm also curious as to why negative POC values are interpreted as such and instead aren't allowed to simply roll over.
Best,
Andrew Palfreyman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070910/7a84d11b/attachment-0001.html
From garysull windows.microsoft.com Mon Sep 10 23:00:05 2007
From: garysull windows.microsoft.com (Gary Sullivan)
Date: Tue Sep 11 01:10:09 2007
Subject: [Mp4-tech] Only half POC range available for ordered ranges?
In-Reply-To: <02f301c7f42e$d6968490$7078150a@gateway.2wire.net>
References: <014501c7f3e2$40c1f540$7078150a@gateway.2wire.net>
<21D067220A163E4BABC5C7A568A93B15915EE29E9E@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
<02f301c7f42e$d6968490$7078150a@gateway.2wire.net>
Message-ID: <21D067220A163E4BABC5C7A568A93B15915EE2A026@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
Mr. Palfreyman et al,
I see. If the encoder designer doesn't want a jump forward of pic_order_cnt_lsb (relative to prevPicOrderCountLsb) exceeding 32 to be interpreted as a jump backward in PicOrderCnt, then I think the right thing for the encoder to do is to use a value of log2_max_pic_order_cnt_lsb_minus4 that is greater than 2, thus causing the value of MaxPicOrderCntLsb to exceed 64.
Best Regards,
Gary Sullivan
________________________________
From: Andrew Palfreyman [mailto:anpalfre@cisco.com]
Sent: Monday, September 10, 2023 9:47 PM
To: Gary Sullivan; mp4-tech@lists.mpegif.org
Subject: Re: [Mp4-tech] Only half POC range available for ordered ranges?
Dr. Sullivan,
Apologies for the ambiguity of the presentation. The data I omitted is as follows:
MaxPicOrderCountLsb = 64
prevPicOrderCountMsb = 0
prevPicOrderCountLsb = 18
pic_order_count_lsb = 52
field_pic_flag = 0
The current frame is a reference frame followed by a large number of consecutive non-reference frames, accounting for the large difference (pic_order_count_lsb - prevPicOrderCountLsb = 34). Note that when pic_order_count_lsb is reduced to 50, no negative value results.
Best,
Andrew Palfreyman
----- Original Message -----
From: Gary Sullivan
To: Andrew Palfreyman ; mp4-tech@lists.mpegif.org
Sent: Monday, September 10, 2023 3:32 PM
Subject: RE: [Mp4-tech] Only half POC range available for ordered ranges?
Mr. Palfreyman et al,
I think you are not interpreting the equations correctly. I think the statement of "the fact that POC increases by 2 on each frame or field pair" is not correct in general (i.e., unless the encoder wants it to be correct).
I think that you have also provided insufficient data for your example. For example, you did not provide the values of pic_order_cnt_lsb, field_pic_flag and bottom_field_flag. You also did not explicitly provide the value of MaxPicOrderCntLsb.
Guessing somwhat, I suspect that in your example, you are saying that pic_order_cnt_lsb = 20 and MaxPicOrderCntLsb = 64. If that is true, then consider the following:
if( ( pic_order_cnt_lsb < prevPicOrderCntLsb ) &&
( ( prevPicOrderCntLsb ? pic_order_cnt_lsb ) >= ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb + MaxPicOrderCntLsb
else if( ( pic_order_cnt_lsb > prevPicOrderCntLsb ) &&
( ( pic_order_cnt_lsb ? prevPicOrderCntLsb ) > ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb ? MaxPicOrderCntLsb
else
PicOrderCntMsb = prevPicOrderCntMsb
reduces to
if( ( 20 < 18 ) && anything )
doesn't matter because the expression is false
else if( ( 20 > 18 ) && ( ( 20 ? 18 ) > ( 32 ) ) )
doesn't matter because the expression is false
else
PicOrderCntMsb = 0
Which is different than what you said.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Andrew Palfreyman
Sent: Monday, September 10, 2023 12:39 PM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] Only half POC range available for ordered ranges?
Per paragraph 8.2.1.1 (see attached analysis) for picture_count_type = 0, it would appear that, while POCs increase between consecutive frames in stream order, the maximum number of such frames in this group can be no larger than MaxPicOrderCntLsb / 2 , else POC will go negative. I'm curious as to why this restriction exists. I'm guessing it relates somehow to the fact that POC increases by 2 on each frame or field pair. I'm also curious as to why negative POC values are interpreted as such and instead aren't allowed to simply roll over.
Best,
Andrew Palfreyman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070910/3e91aa94/attachment.html
From anpalfre cisco.com Mon Sep 10 22:47:20 2007
From: anpalfre cisco.com (Andrew Palfreyman)
Date: Tue Sep 11 13:04:07 2007
Subject: [Mp4-tech] Only half POC range available for ordered ranges?
References: <014501c7f3e2$40c1f540$7078150a@gateway.2wire.net>
<21D067220A163E4BABC5C7A568A93B15915EE29E9E@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
Message-ID: <02f301c7f42e$d6968490$7078150a@gateway.2wire.net>
Dr. Sullivan,
Apologies for the ambiguity of the presentation. The data I omitted is as follows:
MaxPicOrderCountLsb = 64
prevPicOrderCountMsb = 0
prevPicOrderCountLsb = 18
pic_order_count_lsb = 52
field_pic_flag = 0
The current frame is a reference frame followed by a large number of consecutive non-reference frames, accounting for the large difference (pic_order_count_lsb - prevPicOrderCountLsb = 34). Note that when pic_order_count_lsb is reduced to 50, no negative value results.
Best,
Andrew Palfreyman
----- Original Message -----
From: Gary Sullivan
To: Andrew Palfreyman ; mp4-tech@lists.mpegif.org
Sent: Monday, September 10, 2023 3:32 PM
Subject: RE: [Mp4-tech] Only half POC range available for ordered ranges?
Mr. Palfreyman et al,
I think you are not interpreting the equations correctly. I think the statement of "the fact that POC increases by 2 on each frame or field pair" is not correct in general (i.e., unless the encoder wants it to be correct).
I think that you have also provided insufficient data for your example. For example, you did not provide the values of pic_order_cnt_lsb, field_pic_flag and bottom_field_flag. You also did not explicitly provide the value of MaxPicOrderCntLsb.
Guessing somwhat, I suspect that in your example, you are saying that pic_order_cnt_lsb = 20 and MaxPicOrderCntLsb = 64. If that is true, then consider the following:
if( ( pic_order_cnt_lsb < prevPicOrderCntLsb ) &&
( ( prevPicOrderCntLsb ? pic_order_cnt_lsb ) >= ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb + MaxPicOrderCntLsb
else if( ( pic_order_cnt_lsb > prevPicOrderCntLsb ) &&
( ( pic_order_cnt_lsb ? prevPicOrderCntLsb ) > ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb ? MaxPicOrderCntLsb
else
PicOrderCntMsb = prevPicOrderCntMsb
reduces to
if( ( 20 < 18 ) && anything )
doesn't matter because the expression is false
else if( ( 20 > 18 ) && ( ( 20 ? 18 ) > ( 32 ) ) )
doesn't matter because the expression is false
else
PicOrderCntMsb = 0
Which is different than what you said.
Best Regards,
Gary Sullivan
----------------------------------------------------------------------------
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Andrew Palfreyman
Sent: Monday, September 10, 2023 12:39 PM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] Only half POC range available for ordered ranges?
Per paragraph 8.2.1.1 (see attached analysis) for picture_count_type = 0, it would appear that, while POCs increase between consecutive frames in stream order, the maximum number of such frames in this group can be no larger than MaxPicOrderCntLsb / 2 , else POC will go negative. I'm curious as to why this restriction exists. I'm guessing it relates somehow to the fact that POC increases by 2 on each frame or field pair. I'm also curious as to why negative POC values are interpreted as such and instead aren't allowed to simply roll over.
Best,
Andrew Palfreyman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070910/31bdfed4/attachment.html
From alexc improvsys.com Tue Sep 11 13:16:29 2007
From: alexc improvsys.com (Alex Converse)
Date: Tue Sep 11 13:04:13 2007
Subject: [Mp4-tech] [Audio] Initial value of kx'
Message-ID: <46E6BF5D.6050809@improvsys.com>
Hi all,
ISO/IEC 14496-3:2005 section 4.6.18.5, page 226 states: "At start-up
lTemp, kx' and bsco' are set to zero." But the reference decoder
(ISO/IEC 14496-5:2001/Amd.10:2007) initializes it in ct_sbrdec.c:472
with: "sbrDec.prevLowSubband[i] = (int) (upsampleFac * 32);" which sets
it to 64. Can I get a clarification here? Is it supposed to be 0 or 64
or am I misunderstanding something?
Thanks,
Alex Converse
From alexc improvsys.com Mon Sep 10 19:08:53 2007
From: alexc improvsys.com (Alex Converse)
Date: Fri Sep 14 09:34:07 2007
Subject: [Mp4-tech] [Audio] Initial value of kx'
Message-ID: <46E5C075.8080702@improvsys.com>
Hi all,
ISO/IEC 14496-3:2005 section 4.6.18.5, page 226 states: "At start-up
lTemp, kx' and bsco' are set to zero." But the reference decoder
(ISO/IEC 14496-5:2001/Amd.10:2007) initializes it in ct_sbrdec.c:472
with: "sbrDec.prevLowSubband[i] = (int) (upsampleFac * 32);" which sets
it to 64. Can I get a clarification here? Is it supposed to be 0 or 64
or am I misunderstanding something?
Thanks,
Alex Converse
From annesophie.bacquet gmail.com Tue Sep 18 12:36:37 2007
From: annesophie.bacquet gmail.com (Anne Sophie Bacquet)
Date: Tue Sep 18 09:16:07 2007
Subject: [Mp4-tech] Fwd: [JM Trace and DP]
In-Reply-To:
References:
Message-ID:
Dear experts,
I'm a french student currently working on H.264 AVC and its scalable
extension.
I wanted to generate a Trace file when using Data partioning with JM12_4 or
12_2 in the lencod project but the execution doesn't work.
Does anyone already encounter this problem or have already generate a trace
file with DP in JM?
I thank you in advance.
Best Regards
Anne Sophie Bacquet
IEMN DOAE
UVHC Valencinnes
France
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070918/51a98eee/attachment.html
From salameboyex hotmail.com Wed Sep 19 14:02:51 2007
From: salameboyex hotmail.com (tiago tito)
Date: Wed Sep 19 09:34:09 2007
Subject: [Mp4-tech] Open source MPEG-J api's at ISO
In-Reply-To:
Message-ID:
Dear experts,
I'm a brazilian student currently working on MPEG-J.
I cannot use open source MPEG-J api's at ISO. When I run make.bat in
Mpeg-j\samples\SceneAPITest, this erro appears: "Cannot open JSHeader"
How I proceeded?
Thanks a lot
_________________________________________________________________
Verificador de Seguran?a do Windows Live OneCare: combata j? v?rus e outras
amea?as! http://onecare.live.com/site/pt-br/default.htm
From changfeng.niu gmail.com Thu Sep 20 10:47:32 2007
From: changfeng.niu gmail.com (changfeng niu)
Date: Thu Sep 20 08:40:09 2007
Subject: [Mp4-tech] B frame bit-rate in H.264 stream
Message-ID: <9d688aea0709191847l3fec189br4dbe171c48ea53fe@mail.gmail.com>
Hello everyone:
First, I would like to ask a question about H.264 video coding. When I use
JM
8.6 to code, I find that for almost all sequences the second one of two
successive B frames mostly has fewer bits than the first one without B frame
as a
reference. Why?
Now, I am working on transcoding from MPEG2 to H.264. I meet such a
similar
question. When coding with MPEG2 decoder reconstruction picture as JM 8.6
inputfile, I frame, P frame and the first one of two successive B frames
without B
frame as a reference have almost the same bits and PSNR as tanscoing
procedure and
coding bits of the second one of two successive B frames are fewer notably
than
the first one of two successive B frames .However two successive B frames
mostly
have the same bits without B frame as a reference in our transcoding
procedure .
Our transcoding procedure has the same configuration parameters except
following
two differences with JM 8.6.
1. Whether a macroblock is coded as a intra one or a inter one lies on MPEG2
encoder in transcoding procedure while it is decided by mode selection in
JM 8.6.
2. In transcoing procedure mv of a macroblock constitutes of MPEG2 mv
integer and
inserted subpixell using H.264 arithmetic while it is get by full searching
restricted to 16 pixels in JM 8.6.
I don't know whether mv makes an influence or not.
Waiting for your answer.Thanks very much!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070920/5088b8a7/attachment.html
From nikhil.nike gmail.com Thu Sep 20 22:39:30 2007
From: nikhil.nike gmail.com (Nikhil Jain)
Date: Thu Sep 20 13:10:07 2007
Subject: [Mp4-tech] Fwd: RTSP over RTP/UDP
In-Reply-To: <30f382d90709200859o45294910rb06d4d92b5c4bef8@mail.gmail.com>
References: <30f382d90709200859o45294910rb06d4d92b5c4bef8@mail.gmail.com>
Message-ID: <30f382d90709200909j68bba285ncd0388520525083a@mail.gmail.com>
Hi...........
I want to setup a H.264 video conferencing system with a DSP board, i have
implemented UDP/IP
I am thinking of implementing RTSP/RTP over UDP ( as i can't implement TCP
due to complexity & memory constraint) for sending H.264 coded video from
DSP board to PC (e.g. running VLC player who will send RTSP req).
Is this feasible, m i going in right direction ?
if yes, how i can go ahead with implementation of RTSP
(i went through RFC 2326 but didn't got idea how to go ahead with
implementation with RTP/UDP)
i also wrote code for RTP header for H.264's NALU as payload
please help me
thank you
--
Nikhil Jain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070920/97167550/attachment.html
From garysull windows.microsoft.com Thu Sep 20 11:41:33 2007
From: garysull windows.microsoft.com (Gary Sullivan)
Date: Thu Sep 20 13:46:07 2007
Subject: [Mp4-tech] B frame bit-rate in H.264 stream
In-Reply-To: <9d688aea0709191847l3fec189br4dbe171c48ea53fe@mail.gmail.com>
References: <9d688aea0709191847l3fec189br4dbe171c48ea53fe@mail.gmail.com>
Message-ID: <21D067220A163E4BABC5C7A568A93B159CF7ABB956@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
Chanfeng et al,
You didn't say exactly what bitstream order and output order these frames are following.
If I make the old-fashioned MPEG-2-style assumption, it would look like this temporally:
I0, B1, B2, P3, B4, ..., Pn, Bn+1, Bn+2, Pn+3, ...
and would look like this in bitstream order
I0, P3, B1, B2, P6, ..., Pn+3, Bn+1, Bn+2, Pn+6, ...
Where, in the MPEG-2 case, Bn+1 and Bn+2 use Pn and Pn+3 as references.
I think what you are saying is that you see a lower bit rate for Bn+2 when Bn+1 and Pn+3 are used as references than when Pn and Pn+3 are used as references.
This only makes sense, because Bn+1 is temporally much closer to Bn+2 than Pn is.
The temporal prediction distance to Bn+1 is cut in half, so it should be obvious that Bn+2 should be a better predictor than Pn.
This may somewhat depend, however, on the fidelity used for the encoding of the different pictures. For overall average PSNR optimization, it is typically better to decrease fidelity somewhat as one moves upward in the prediction structure. So ordinarily, when using B frames as reference pictures, I0 would use the highest fidelity, Pn+3 would have the next highest fidelity, Bn+1 would have the next highest fidelity, and Bn+2 would have the lowest fidelity. However, that rule of thumb might need some adjustment for perceptual optimization purposes.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of changfeng niu
Sent: Wednesday, September 19, 2023 6:48 PM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] B frame bit-rate in H.264 stream
Hello everyone:
First, I would like to ask a question about H.264 video coding. When I use JM
8.6 to code, I find that for almost all sequences the second one of two
successive B frames mostly has fewer bits than the first one without B frame as a
reference. Why?
Now, I am working on transcoding from MPEG2 to H.264. I meet such a similar
question. When coding with MPEG2 decoder reconstruction picture as JM 8.6
inputfile, I frame, P frame and the first one of two successive B frames without B
frame as a reference have almost the same bits and PSNR as tanscoing procedure and
coding bits of the second one of two successive B frames are fewer notably than
the first one of two successive B frames .However two successive B frames mostly
have the same bits without B frame as a reference in our transcoding procedure .
Our transcoding procedure has the same configuration parameters except following
two differences with JM 8.6.
1. Whether a macroblock is coded as a intra one or a inter one lies on MPEG2
encoder in transcoding procedure while it is decided by mode selection in JM 8.6.
2. In transcoing procedure mv of a macroblock constitutes of MPEG2 mv integer and
inserted subpixell using H.264 arithmetic while it is get by full searching
restricted to 16 pixels in JM 8.6.
I don't know whether mv makes an influence or not.
Waiting for your answer.Thanks very much!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070920/de297d56/attachment.html
From garysull windows.microsoft.com Thu Sep 20 12:56:49 2007
From: garysull windows.microsoft.com (Gary Sullivan)
Date: Thu Sep 20 15:04:08 2007
Subject: [Mp4-tech] B frame bit-rate in H.264 stream
In-Reply-To: <21D067220A163E4BABC5C7A568A93B159CF7ABB956@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
References: <9d688aea0709191847l3fec189br4dbe171c48ea53fe@mail.gmail.com>
<21D067220A163E4BABC5C7A568A93B159CF7ABB956@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
Message-ID: <21D067220A163E4BABC5C7A568A93B159CF7ABBA00@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
Chanfeng et al,
After re-reading your orginal message, I am not sure whether or not the question that you were asking is the one that I was answering. I thought you were commenting on differences in behavior depending on whether the first of two consecutive B frames is used as a reference or not. But now I think maybe your question was different.
Some things to think about include the ordering of the reference picture lists (which is determined by the encoder) and the potential effects of the entropy coding mode -- you didn't say which mode you were using. CABAC has a greater ability to adapt to the statistics of what the encoder is actually doing, while VLC operation may cause excess overhead if the statistics of the macroblock/sub-macroblock prediction modes and reference picture index values are not well matched to the ue(v) Exp-Golomb VLC code that is used to represent them.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Gary Sullivan
Sent: Thursday, September 20, 2023 10:42 AM
To: changfeng niu; mp4-tech@lists.mpegif.org
Subject: RE: [Mp4-tech] B frame bit-rate in H.264 stream
Chanfeng et al,
You didn't say exactly what bitstream order and output order these frames are following.
If I make the old-fashioned MPEG-2-style assumption, it would look like this temporally:
I0, B1, B2, P3, B4, ..., Pn, Bn+1, Bn+2, Pn+3, ...
and would look like this in bitstream order
I0, P3, B1, B2, P6, ..., Pn+3, Bn+1, Bn+2, Pn+6, ...
Where, in the MPEG-2 case, Bn+1 and Bn+2 use Pn and Pn+3 as references.
I think what you are saying is that you see a lower bit rate for Bn+2 when Bn+1 and Pn+3 are used as references than when Pn and Pn+3 are used as references.
This only makes sense, because Bn+1 is temporally much closer to Bn+2 than Pn is.
The temporal prediction distance to Bn+1 is cut in half, so it should be obvious that Bn+2 should be a better predictor than Pn.
This may somewhat depend, however, on the fidelity used for the encoding of the different pictures. For overall average PSNR optimization, it is typically better to decrease fidelity somewhat as one moves upward in the prediction structure. So ordinarily, when using B frames as reference pictures, I0 would use the highest fidelity, Pn+3 would have the next highest fidelity, Bn+1 would have the next highest fidelity, and Bn+2 would have the lowest fidelity. However, that rule of thumb might need some adjustment for perceptual optimization purposes.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of changfeng niu
Sent: Wednesday, September 19, 2023 6:48 PM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] B frame bit-rate in H.264 stream
Hello everyone:
First, I would like to ask a question about H.264 video coding. When I use JM
8.6 to code, I find that for almost all sequences the second one of two
successive B frames mostly has fewer bits than the first one without B frame as a
reference. Why?
Now, I am working on transcoding from MPEG2 to H.264. I meet such a similar
question. When coding with MPEG2 decoder reconstruction picture as JM 8.6
inputfile, I frame, P frame and the first one of two successive B frames without B
frame as a reference have almost the same bits and PSNR as tanscoing procedure and
coding bits of the second one of two successive B frames are fewer notably than
the first one of two successive B frames .However two successive B frames mostly
have the same bits without B frame as a reference in our transcoding procedure .
Our transcoding procedure has the same configuration parameters except following
two differences with JM 8.6.
1. Whether a macroblock is coded as a intra one or a inter one lies on MPEG2
encoder in transcoding procedure while it is decided by mode selection in JM 8.6.
2. In transcoing procedure mv of a macroblock constitutes of MPEG2 mv integer and
inserted subpixell using H.264 arithmetic while it is get by full searching
restricted to 16 pixels in JM 8.6.
I don't know whether mv makes an influence or not.
Waiting for your answer.Thanks very much!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070920/c325f1ba/attachment-0001.html
From alexis.tourapis dolby.com Thu Sep 20 20:37:16 2007
From: alexis.tourapis dolby.com (Tourapis, Alexis)
Date: Thu Sep 20 22:46:07 2007
Subject: [Mp4-tech] B frame bit-rate in H.264 stream
In-Reply-To: <21D067220A163E4BABC5C7A568A93B159CF7ABBA00@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
References: <9d688aea0709191847l3fec189br4dbe171c48ea53fe@mail.gmail.com><21D067220A163E4BABC5C7A568A93B159CF7ABB956@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
<21D067220A163E4BABC5C7A568A93B159CF7ABBA00@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
Message-ID: <2BAAC5E4AF2518459F0AB5D927942047A471BD@bur-exch-01.dolby.net>
Dear Changfeng,
I would actually first provide some concerns on the version of the software you are using which is very old. We have corrected several bugs from version 8.6 to the current version which include better support and bug fixes for reference B coded pictures and I would be very cautious using the software you are currently using. I understand that you might not be interested in high profile encoding or the use of more sophisticated hierarchical structures that are supported in the new version, but the bug corrections and enhancements that may exist in the new versions are in my opinion well worth it.
In any case, I would agree with Gary's comments (my interpretation is like the one in his original email). Since now your second frame is closer to its references from both directions, then it makes sense that you are getting a lower number of bits (higher temporal correlation). As Gary suggested, such performance relates strongly not only on this factor but also on the quantization values you are using for each level (i.e. it is likely that you are using a lower QP for the reference B coded picture, but also lower lagrangian parameters as is done in newer versions), but also on how many references you are considering (i.e. if you are using 2 references for list0 then for the second B coded picture you could use blocks from either the P coded picture from the past or the B coded picture depending on which one results in better performance. This benefit is obviously not available for the first B), and direct modes. Btw, I would encourage you to also examine not only the I0, P3, B1, B2, P6, ..., Pn+3, Bn+1, Bn+2, Pn+6, ... but also the I0, P3, B2, B1, P6, ..., Pn+3, Bn+2, Bn+1, Pn+6, ... structure as well. In fact, you may find that the second structure in many scenarios could perform better than the first since B2 (which is a reference) is also closer to P6 which may also use it as a reference. There are other benefits which might be a good exercise to discover on your own. Btw, I would suggest that you also make sure that your software uses proper MMCO and reordering commands to ensure that you have the right references at any step of your encoding process. Without reordering commands for example, P6 would be using B1 (or B2 in my example) as the first reference in list0 and not P3, while without MMCO instructions and depending on how many references you have available in your reference buffer you may have lost some key references which could again hurt performance (i.e. with only 2 references available after encoding P6 your encoder would remove P3 from the buffer. Then B4 would be using P6 and B1 for prediction which may further impair the performance of coding that picture.) My guess is that you may not be using such tools considering that these were not implemented (from what I recall) in that version of the software.
In any case, I hope this information is useful.
Best regards,
Alexis
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Gary Sullivan
Sent: Thursday, September 20, 2023 11:57 AM
To: changfeng niu; mp4-tech@lists.mpegif.org
Subject: RE: [Mp4-tech] B frame bit-rate in H.264 stream
Chanfeng et al,
After re-reading your orginal message, I am not sure whether or not the question that you were asking is the one that I was answering. I thought you were commenting on differences in behavior depending on whether the first of two consecutive B frames is used as a reference or not. But now I think maybe your question was different.
Some things to think about include the ordering of the reference picture lists (which is determined by the encoder) and the potential effects of the entropy coding mode -- you didn't say which mode you were using. CABAC has a greater ability to adapt to the statistics of what the encoder is actually doing, while VLC operation may cause excess overhead if the statistics of the macroblock/sub-macroblock prediction modes and reference picture index values are not well matched to the ue(v) Exp-Golomb VLC code that is used to represent them.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Gary Sullivan
Sent: Thursday, September 20, 2023 10:42 AM
To: changfeng niu; mp4-tech@lists.mpegif.org
Subject: RE: [Mp4-tech] B frame bit-rate in H.264 stream
Chanfeng et al,
You didn't say exactly what bitstream order and output order these frames are following.
If I make the old-fashioned MPEG-2-style assumption, it would look like this temporally:
I0, B1, B2, P3, B4, ..., Pn, Bn+1, Bn+2, Pn+3, ...
and would look like this in bitstream order
I0, P3, B1, B2, P6, ..., Pn+3, Bn+1, Bn+2, Pn+6, ...
Where, in the MPEG-2 case, Bn+1 and Bn+2 use Pn and Pn+3 as references.
I think what you are saying is that you see a lower bit rate for Bn+2 when Bn+1 and Pn+3 are used as references than when Pn and Pn+3 are used as references.
This only makes sense, because Bn+1 is temporally much closer to Bn+2 than Pn is.
The temporal prediction distance to Bn+1 is cut in half, so it should be obvious that Bn+2 should be a better predictor than Pn.
This may somewhat depend, however, on the fidelity used for the encoding of the different pictures. For overall average PSNR optimization, it is typically better to decrease fidelity somewhat as one moves upward in the prediction structure. So ordinarily, when using B frames as reference pictures, I0 would use the highest fidelity, Pn+3 would have the next highest fidelity, Bn+1 would have the next highest fidelity, and Bn+2 would have the lowest fidelity. However, that rule of thumb might need some adjustment for perceptual optimization purposes.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of changfeng niu
Sent: Wednesday, September 19, 2023 6:48 PM
To: mp4-tech@lists.mpegif.org
Subject: [Mp4-tech] B frame bit-rate in H.264 stream
Hello everyone:
First, I would like to ask a question about H.264 video coding. When I use JM
8.6 to code, I find that for almost all sequences the second one of two
successive B frames mostly has fewer bits than the first one without B frame as a
reference. Why?
Now, I am working on transcoding from MPEG2 to H.264. I meet such a similar
question. When coding with MPEG2 decoder reconstruction picture as JM 8.6
inputfile, I frame, P frame and the first one of two successive B frames without B
frame as a reference have almost the same bits and PSNR as tanscoing procedure and
coding bits of the second one of two successive B frames are fewer notably than
the first one of two successive B frames .However two successive B frames mostly
have the same bits without B frame as a reference in our transcoding procedure .
Our transcoding procedure has the same configuration parameters except following
two differences with JM 8.6.
1. Whether a macroblock is coded as a intra one or a inter one lies on MPEG2
encoder in transcoding procedure while it is decided by mode selection in JM 8.6.
2. In transcoing procedure mv of a macroblock constitutes of MPEG2 mv integer and
inserted subpixell using H.264 arithmetic while it is get by full searching
restricted to 16 pixels in JM 8.6.
I don't know whether mv makes an influence or not.
Waiting for your answer.Thanks very much!
-----------------------------------------
This message (including any attachments) may contain confidential
information intended for a specific individual and purpose. If you
are not the intended recipient, delete this message. If you are
not the intended recipient, disclosing, copying, distributing, or
taking any action based on this message is strictly prohibited.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070920/dba02236/attachment.html
From changfeng.niu gmail.com Fri Sep 21 20:43:32 2007
From: changfeng.niu gmail.com (changfeng niu)
Date: Fri Sep 21 08:04:07 2007
Subject: [Mp4-tech] B frame bit-rate in H.264 stream
In-Reply-To: <2BAAC5E4AF2518459F0AB5D927942047A471BD@bur-exch-01.dolby.net>
References: <9d688aea0709191847l3fec189br4dbe171c48ea53fe@mail.gmail.com>
<21D067220A163E4BABC5C7A568A93B159CF7ABB956@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
<21D067220A163E4BABC5C7A568A93B159CF7ABBA00@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com>
<2BAAC5E4AF2518459F0AB5D927942047A471BD@bur-exch-01.dolby.net>
Message-ID: <9d688aea0709210443la03dc81i90b85b4e01a0eb5c@mail.gmail.com>
Skipped content of type multipart/alternative-------------- next part --------------
JM encoder.cfg is as follows:
##########################################################################################
# Files
##########################################################################################
InputFile = "Tank.yuv" # 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)
FramesToBeEncoded = 83 # Number of frames to be coded
FrameRate = 25.0 # Frame Rate per second (0.1-100.0)
SourceWidth = 720 # Frame width
SourceHeight = 576 # Frame height
TraceFile = "trace_enc.txt"
ReconFile = "test_rec.yuv"
OutputFile = "test.264"
##########################################################################################
# Encoder Control
##########################################################################################
ProfileIDC = 77 # 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 = 40 # Level IDC (e.g. 20 = level 2.0)
IntraPeriod = 4 # Period of I-Frames (0=only first)
EnableOpenGOP = 0 # Support for open GOPs (0: disabled, 1: enabled)
IDRIntraEnable = 0 # Force IDR Intra (0=disable 1=enable)
QPISlice = 35 # Quant. param for I Slices (0-51)
QPPSlice = 40 # Quant. param for P Slices (0-51)
FrameSkip = 2 # Number of frames to be skipped in input (e.g 2 will code every third frame)
ChromaQPOffset = 0 # Chroma QP offset (-51..51)
UseHadamard = 0 # 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 = 32 # 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 = 0 # 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 = 0 # Forced intra MBs per picture
InterSearch16x16 = 1 # Inter block search 16x16 (0=disable, 1=enable)
InterSearch16x8 = 0 # Inter block search 16x8 (0=disable, 1=enable)
InterSearch8x16 = 0 # Inter block search 8x16 (0=disable, 1=enable)
InterSearch8x8 = 0 # Inter block search 8x8 (0=disable, 1=enable)
InterSearch8x4 = 0 # Inter block search 8x4 (0=disable, 1=enable)
InterSearch4x8 = 0 # Inter block search 4x8 (0=disable, 1=enable)
InterSearch4x4 = 0 # 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
UseFME = 0 # Use fast motion estimation (0=disable, 1=enable)
##########################################################################################
# B Slices
##########################################################################################
NumberBFrames = 2 # Number of B coded frames inserted (0=not used)
QPBSlice = 40 # 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 = 2 # 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 = 28 # Quant. param of SP-Slices for Prediction Error (0-51)
QPSP2Slice = 27 # Quant. param of SP-Slices for Predicted Blocks (0-51)
##########################################################################################
# Output Control, NALs
##########################################################################################
SymbolMode = 0 # 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
##########################################################################################
# CABAC context initialization
##########################################################################################
ContextInitMethod = 1 # Context init (0: fixed, 1: adaptive)
FixedModelNumber = 0 # model number for fixed decision for inter slices ( 0, 1, or 2 )
##########################################################################################
# Interlace Handling
#########################################################################################
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)
IntraBottom = 0 # Force Intra Bottom at GOP Period
##########################################################################################
# Weighted Prediction
#########################################################################################
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)
UseWeightedReferenceME = 0 # Use weighted reference for ME (0=off, 1=on)
##########################################################################################
# Picture based Multi-pass encoding
#########################################################################################
RDPictureDecision = 0 # Perform RD optimal decision between different coded picture versions.
# If GenerateMultiplePPS is enabled then this will test different WP methods.
# Otherwise it will test QP +-1 (0: disabled, 1: enabled)
RDPictureIntra = 0 # Perform RD optimal decision also for intra coded pictures (0: disabled (default), 1: enabled).
RDPSliceWeightOnly = 1 # Only consider Weighted Prediction for P slices in Picture RD decision. (0: disabled, 1: enabled (default))
RDBSliceWeightOnly = 0 # Only consider Weighted Prediction for B slices in Picture RD decision. (0: disabled (default), 1: enabled )
##########################################################################################
# Loop filter parameters
##########################################################################################
LoopFilterParametersFlag = 1 # 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}
##########################################################################################
# Error Resilience / Slices
##########################################################################################
SliceMode = 2 # Slice mode (0=off 1=fixed #mb in slice 2=fixed #bytes in slice 3=use callback)
SliceArgument = 2048 # 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.
slice_group_map_type = 0 # 0: Interleave, 1: Dispersed, 2: Foreground with left-over,
# 3: Box-out, 4: Raster Scan 5: Wipe
# 6: Explicit, slice_group_id read from SliceGroupConfigFileName
slice_group_change_direction_flag = 0 # 0: box-out clockwise, raster scan or wipe right,
# 1: box-out counter clockwise, reverse raster scan or wipe left
slice_group_change_rate_minus1 = 85 #
SliceGroupConfigFileName = "sg0conf.cfg" # Used for slice_group_map_type 0, 2, 6
UseRedundantSlice = 0 # 0: not used, 1: one redundant slice used for each slice (other modes not supported yet)
##########################################################################################
# Search Range Restriction / RD Optimization
##########################################################################################
RestrictSearchRange = 1 # restriction for (0: blocks and ref, 1: ref, 2: no restrictions)
RDOptimization = 0 # rd-optimized mode decision
# 0: RD-off (Low complexity mode)
# 1: RD-on (High complexity mode)
# 2: RD-on (Fast high complexity mode - not work in FREX Profiles)
# 3: with losses
DisableThresholding = 0 # Disable Thresholding of Transform Coefficients (0:off, 1:on)
DisableBSkipRDO = 0 # Disable B Skip Mode consideration from RDO Mode decision (0:off, 1:on)
SkipIntraInInterSlices = 0 # Skips Intra mode checking in inter slices if certain mode decisions are satisfied (0: off, 1: on)
# Explicit Lambda Usage
UseExplicitLambdaParams = 0 # Use explicit lambda scaling parameters (0:disabled, 1:enabled)
LambdaWeightIslice = 0.65 # scaling param for I slices. This will be used as a multiplier i.e. lambda=LambdaWeightISlice * 2^((QP-12)/3)
LambdaWeightPslice = 0.68 # scaling param for P slices. This will be used as a multiplier i.e. lambda=LambdaWeightPSlice * 2^((QP-12)/3)
LambdaWeightBslice = 2.00 # scaling param for B slices. This will be used as a multiplier i.e. lambda=LambdaWeightBSlice * 2^((QP-12)/3)
LambdaWeightRefBslice = 1.50 # scaling param for Referenced B slices. This will be used as a multiplier i.e. lambda=LambdaWeightRefBSlice * 2^((QP-12)/3)
LambdaWeightSPslice = 1.50 # scaling param for SP slices. This will be used as a multiplier i.e. lambda=LambdaWeightSPSlice * 2^((QP-12)/3)
LambdaWeightSIslice = 0.65 # scaling param for SI slices. This will be used as a multiplier i.e. lambda=LambdaWeightSISlice * 2^((QP-12)/3)
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)
ChangeQPI = 16 # QP (I-slices) for second part of sequence (0-51)
ChangeQPP = 16 # QP (P-slices) for second part of sequence (0-51)
ChangeQPB = 18 # QP (B-slices) for second part of sequence (0-51)
ChangeQPBSRefOffset = 2 # QP offset (stored B-slices) for second part of sequence (-51..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
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
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)
########################################################################################
#Rate control
########################################################################################
RateControlEnable = 0 # 0 Disable, 1 Enable
Bitrate = 2048000 # 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 = 45 # 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)
########################################################################################
#Fast Mode Decision
########################################################################################
EarlySkipEnable = 0 # Early skip detection (0: Disable 1: Enable)
SelectiveIntraEnable = 0 # Selective Intra mode decision (0: Disable 1: Enable)
########################################################################################
#FREXT stuff
########################################################################################
YUVFormat = 1 # YUV format (0=4:0:0, 1=4:2:0, 2=4:2:2, 3=4:4:4)
RGBInput = 0 # 1=RGB input, 0=GBR or YUV input
BitDepthLuma = 8 # Bit Depth for Luminance (8...12 bits)
BitDepthChroma = 8 # Bit Depth for Chrominance (8...12 bits)
CbQPOffset = 0 # Chroma QP offset for Cb-part (-51..51)
CrQPOffset = 0 # Chroma QP offset for Cr-part (-51..51)
Transform8x8Mode = 0 # (0: only 4x4 transform, 1: allow using 8x8 transform additionally, 2: only 8x8 transform)
ResidueTransformFlag = 0 # (0: no residue color transform 1: apply residue color transform)
ReportFrameStats = 0 # (0:Disable Frame Statistics 1: Enable)
DisplayEncParams = 0 # (0:Disable Display of Encoder Params 1: Enable)
Verbose = 1 # level of display verboseness (0:short, 1:normal, 2:detailed)
########################################################################################
#Q-Matrix (FREXT)
########################################################################################
QmatrixFile = "q_matrix.cfg"
ScalingMatrixPresentFlag = 0 # Enable Q_Matrix (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag0 = 3 # Intra4x4_Luma (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag1 = 3 # Intra4x4_ChromaU (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag2 = 3 # Intra4x4_chromaV (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag3 = 3 # Inter4x4_Luma (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag4 = 3 # Inter4x4_ChromaU (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag5 = 3 # Inter4x4_ChromaV (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag6 = 3 # Intra8x8_Luma (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag7 = 3 # Inter8x8_Luma (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
########################################################################################
#Rounding Offset control
########################################################################################
OffsetMatrixPresentFlag = 0 # Enable Explicit Offset Quantization Matrices (0: disable 1: enable)
QOffsetMatrixFile = "q_offset.cfg" # Explicit Quantization Matrices file
AdaptiveRounding = 0 # Enable Adaptive Rounding based on JVT-N011 (0: disable, 1: enable)
AdaptRndPeriod = 1 # Period in terms of MBs for updating rounding offsets.
# 0 performs update at the picture level. Default is 16. 1 is as in JVT-N011.
AdaptRndChroma = 0 # Enables coefficient rounding adaptation for chroma
AdaptRndWFactorIRef = 4 # Adaptive Rounding Weight for I/SI slices in reference pictures /4096
AdaptRndWFactorPRef = 4 # Adaptive Rounding Weight for P/SP slices in reference pictures /4096
AdaptRndWFactorBRef = 4 # Adaptive Rounding Weight for B slices in reference pictures /4096
AdaptRndWFactorINRef = 4 # Adaptive Rounding Weight for I/SI slices in non reference pictures /4096
AdaptRndWFactorPNRef = 4 # Adaptive Rounding Weight for P/SP slices in non reference pictures /4096
AdaptRndWFactorBNRef = 4 # Adaptive Rounding Weight for B slices in non reference pictures /4096
########################################################################################
#Lossless Coding (FREXT)
########################################################################################
QPPrimeYZeroTransformBypassFlag = 0 # Enable lossless coding when qpprime_y is zero (0 Disabled, 1 Enabled)
From alexis.tourapis dolby.com Fri Sep 21 07:04:49 2007
From: alexis.tourapis dolby.com (Tourapis, Alexis)
Date: Fri Sep 21 09:10:09 2007
Subject: [Mp4-tech] B frame bit-rate in H.264 stream
References: <9d688aea0709191847l3fec189br4dbe171c48ea53fe@mail.gmail.com><21D067220A163E4BABC5C7A568A93B159CF7ABB956@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com><21D067220A163E4BABC5C7A568A93B159CF7ABBA00@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com><2BAAC5E4AF2518459F0AB5D927942047A471BD@bur-exch-01.dolby.net>
<9d688aea0709210443la03dc81i90b85b4e01a0eb5c@mail.gmail.com>
Message-ID: <2BAAC5E4AF2518459F0AB5D927942047238DA0@bur-exch-01.dolby.net>
Dear Changfeng,
A big problem with your current configuration (which seems to be based on a later version of the JM, if I am not mistaken considering also that hierarchical coding was added in version 9.0) is that you have set "NumberReferenceFrames = 1". This means that only a single reference is available and not two for B slices. That as you can guess is very bad and is even very different from MPEG-2. In order to get "Legacy" behavior, you need to set "NumberReferenceFrames = 2" and set PList0References, BList0References, and BList1References to 1. Of course keeping (assuming they are supported), parameters PyramidRefReorder and PocMemoryManagement enabled is very important considering what I mentioned earlier. I would suggest that you dump the poc's of the pictures that are available in your buffer and are use for reference at any given time to verify that this is the case. Obviously this would have a big impact on your performance and the behavior of the B coded pictures.
Alexis
-----Original Message-----
From: changfeng niu [mailto:changfeng.niu@gmail.com]
Sent: Fri 9/21/2007 4:43 AM
To: Tourapis, Alexis
Cc: Gary Sullivan; mp4-tech@lists.mpegif.org
Subject: Re: [Mp4-tech] B frame bit-rate in H.264 stream
Hi everyone:
First, i must thanks Alexis and Gary for your response.
As you say , "If I make the old-fashioned MPEG-2-style assumption, it
would look like this temporally:
I0, B1, B2, P3, B4, ..., Pn, Bn+1, Bn+2, Pn+3, ...
and would look like this in bitstream order
I0, P3, B1, B2, P6, ..., Pn+3, Bn+1, Bn+2, Pn+6, ...".And no B frame is used
as a reference. MPEG2 decoder 0f transcoder outputing parameters and
H.264 encoder of transcoder encoding paraters are as follows:("not used"
means that the encoder doesn't use this parater)
I frame
MPEG2 Decoder
H.264 Encoder
JM coder
mode
Only 16x16
macroblock
Only 16x16
macroblock
prediction
not used
By H.264 Arithmetic
h.264 Arithmetic
SymbolMode
VLc
VLC
VLC
P and B frame
MPEG2 Decoder
H.264 Encoder
JM coder
Specification
Macroblock
Inter or Intra mode
by Mpeg2 decoder
output
Mode decision
Mpeg2 and H.264 have some differnce
SymbolMode
VLc
VLC
VLC
B frame
e Bn+1 and Bn+2 use Pn and Pn+3 as references.
In attachment, The configure file for JM is attached. you can understan my
JM's configure.
Now the problem I face is that B frame bits have notable differences between
the encoder of transcoder and JM8.6 encoder .In JM 8.6, The second B frame
has more fewer bits(I don't know why?) .But for two successive B frames the
encoder of transcoder outputs almost the same size bits( I think if the
first B frame of two successive B frame is not as a reference ,it should be
so. )
Best wishes toyou! Thanks very much!
-----------------------------------------
This message (including any attachments) may contain confidential
information intended for a specific individual and purpose. If you
are not the intended recipient, delete this message. If you are
not the intended recipient, disclosing, copying, distributing, or
taking any action based on this message is strictly prohibited.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070921/5c7ab61c/attachment.html
From tomislav.muic gmail.com Sun Sep 23 18:26:38 2007
From: tomislav.muic gmail.com (Tomislav Muic)
Date: Mon Sep 24 01:40:08 2007
Subject: [Mp4-tech] JM reference software problem
Message-ID:
I am having problem with decoding my stream with JM software
I get error Unintentional loss of pictures occurs.
Stream is decoded in video player just fine
I send SPS and PPS first and then
AU delimiter
IDR pic - I slice
AU delimiter
P slice
....
AU delimiter
Pslice
end of sequence
For frame_num I reset it to zero and add 1 for every next pic,
for pic_order_cnt_lsb I send same value as frame_num
I can't find why reference software can't read stream, and it is
decoded normally in video player.
Here is short sample of avi stream and NAL stream
http://www.best.hr/share/tmuic/test.264
http://www.best.hr/share/tmuic/ftest.avi
--
Tomislav Mui?
From alexismt charter.net Mon Sep 24 03:20:42 2007
From: alexismt charter.net (Alexis Michael Tourapis)
Date: Mon Sep 24 09:04:07 2007
Subject: [Mp4-tech] JM reference software problem
In-Reply-To:
Message-ID: <20070924022042.KV3DF.74224.root@fepweb14>
Dear Tomislav,
It seems that all your P slices belong to a picture with nal_reference_idc set to 0 (i.e. they are not set as references). Can you double check your encoder?
Alexis
---- Tomislav Muic wrote:
> I am having problem with decoding my stream with JM software
>
> I get error Unintentional loss of pictures occurs.
>
> Stream is decoded in video player just fine
>
> I send SPS and PPS first and then
>
> AU delimiter
> IDR pic - I slice
>
> AU delimiter
> P slice
> ....
> AU delimiter
> Pslice
> end of sequence
>
> For frame_num I reset it to zero and add 1 for every next pic,
> for pic_order_cnt_lsb I send same value as frame_num
>
> I can't find why reference software can't read stream, and it is
> decoded normally in video player.
>
>
>
> Here is short sample of avi stream and NAL stream
> http://www.best.hr/share/tmuic/test.264
> http://www.best.hr/share/tmuic/ftest.avi
>
> --
> Tomislav Mui?
>
> _______________________________________________
> 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-Antitrust.php
From tomislav.muic gmail.com Mon Sep 24 16:13:21 2007
From: tomislav.muic gmail.com (Tomislav Muic)
Date: Mon Sep 24 09:40:08 2007
Subject: [Mp4-tech] JM reference software problem
In-Reply-To: <20070924022042.KV3DF.74224.root@fepweb14>
References:
<20070924022042.KV3DF.74224.root@fepweb14>
Message-ID:
hello,
thanks for answer, it was a part of problem, but I still have some problems
when I change that every P slice ihas nal_reference_idc=1
http://www.best.hr/share/tmuic/test.264
it decodes in JM, although it seems that SNR drops unusually in
second IDR frame
but I want to use not every P frame as reference, but only if it is
different more than certain threshold, otherwise I want to use
I-frame, and this does not pass JM
http://www.best.hr/share/tmuic/test1.264
another question, I get some color/luminance drift between different
IDR pictures, does anybody know what could be propable cause, I use
transformation and quantization as defined in paper at www.vcodex.com
http://www.best.hr/share/tmuic/test2.avi
On 9/24/07, Alexis Michael Tourapis wrote:
> Dear Tomislav,
>
> It seems that all your P slices belong to a picture with nal_reference_idc set to 0 (i.e. they are not set as references). Can you double check your encoder?
>
> Alexis
>
> ---- Tomislav Muic wrote:
> > I am having problem with decoding my stream with JM software
> >
> > I get error Unintentional loss of pictures occurs.
> >
> > Stream is decoded in video player just fine
> >
> > I send SPS and PPS first and then
> >
> > AU delimiter
> > IDR pic - I slice
> >
> > AU delimiter
> > P slice
> > ....
> > AU delimiter
> > Pslice
> > end of sequence
> >
> > For frame_num I reset it to zero and add 1 for every next pic,
> > for pic_order_cnt_lsb I send same value as frame_num
> >
> > I can't find why reference software can't read stream, and it is
> > decoded normally in video player.
> >
> >
> >
> > Here is short sample of avi stream and NAL stream
> > http://www.best.hr/share/tmuic/test.264
> > http://www.best.hr/share/tmuic/ftest.avi
> >
> > --
> > Tomislav Mui?
> >
> > _______________________________________________
> > 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-Antitrust.php
>
--
Tomislav Mui?
From alexis.tourapis dolby.com Mon Sep 24 10:47:03 2007
From: alexis.tourapis dolby.com (Tourapis, Alexis)
Date: Mon Sep 24 12:52:12 2007
Subject: [Mp4-tech] JM reference software problem
In-Reply-To:
References: <20070924022042.KV3DF.74224.root@fepweb14>
Message-ID: <2BAAC5E4AF2518459F0AB5D927942047A473D7@bur-exch-01.dolby.net>
Dear Tomislav,
With regards to the IDR PSNR that could just be due to a known limitation in the software. The PSNR computation in the JM needs to be moved at a different location (i.e. when a picture is removed from the DPB) to make sure that pictures are compared in appropriate order but we have not found the time to do so. I would therefore always suggest to consider using an external tool to verify performance.
With regards to not using all P as references, note that in that case frame_num increments do depend on whether a coded frame is a reference or not. That is frame_num is expected to increase after you have encoded a reference picture, but it should not if you have encoded a non reference picture. If for example you have Pictures I0p1P2p3p4P5P6, with lowercase "p" being non reference pictures, Your frame_num should look like this : 0, 1, 1, 2, 2, 2, 3. As you can see in this scenario, frame_num increased on the first non-reference after a reference picture, while also it increased also for P6 (a reference) which follows another reference picture.
I cannot comment on the color issues you are having. Maybe your intra prediction is not initialized properly or you might be having some rounding issues. I would suggest also checking with the JM since that provides already a working implementation of the process.
Best regards,
Alexis
-----Original Message-----
From: mp4-tech-bounces@lists.mpegif.org [mailto:mp4-tech-bounces@lists.mpegif.org] On Behalf Of Tomislav Muic
Sent: Monday, September 24, 2023 6:13 AM
To: Alexis Michael Tourapis
Cc: mp4-tech@lists.mpegif.org
Subject: Re: [Mp4-tech] JM reference software problem
hello,
thanks for answer, it was a part of problem, but I still have some problems
when I change that every P slice ihas nal_reference_idc=1
http://www.best.hr/share/tmuic/test.264
it decodes in JM, although it seems that SNR drops unusually in second IDR frame
but I want to use not every P frame as reference, but only if it is different more than certain threshold, otherwise I want to use I-frame, and this does not pass JM
http://www.best.hr/share/tmuic/test1.264
another question, I get some color/luminance drift between different IDR pictures, does anybody know what could be propable cause, I use transformation and quantization as defined in paper at www.vcodex.com http://www.best.hr/share/tmuic/test2.avi
On 9/24/07, Alexis Michael Tourapis wrote:
> Dear Tomislav,
>
> It seems that all your P slices belong to a picture with nal_reference_idc set to 0 (i.e. they are not set as references). Can you double check your encoder?
>
> Alexis
>
> ---- Tomislav Muic wrote:
> > I am having problem with decoding my stream with JM software
> >
> > I get error Unintentional loss of pictures occurs.
> >
> > Stream is decoded in video player just fine
> >
> > I send SPS and PPS first and then
> >
> > AU delimiter
> > IDR pic - I slice
> >
> > AU delimiter
> > P slice
> > ....
> > AU delimiter
> > Pslice
> > end of sequence
> >
> > For frame_num I reset it to zero and add 1 for every next pic, for
> > pic_order_cnt_lsb I send same value as frame_num
> >
> > I can't find why reference software can't read stream, and it is
> > decoded normally in video player.
> >
> >
> >
> > Here is short sample of avi stream and NAL stream
> > http://www.best.hr/share/tmuic/test.264
> > http://www.best.hr/share/tmuic/ftest.avi
> >
> > --
> > Tomislav Mui?
> >
> > _______________________________________________
> > 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-Antitrust.
> > php
>
--
Tomislav Mui?
_______________________________________________
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-Antitrust.php
-----------------------------------------
This message (including any attachments) may contain confidential
information intended for a specific individual and purpose. If you
are not the intended recipient, delete this message. If you are
not the intended recipient, disclosing, copying, distributing, or
taking any action based on this message is strictly prohibited.
From zhengyuan.quan gmail.com Tue Sep 25 21:25:14 2007
From: zhengyuan.quan gmail.com (Andy Quan)
Date: Tue Sep 25 10:46:07 2007
Subject: [Mp4-tech] HE-AAC downsampled synthesis filterbank
Message-ID:
Hi folks,
I read the ISO spec 14496-3 Amd 1 on downsampled complex synthesis QMF
filter. On page 67, it is said the filterbank coefficients are defined
as (1/64)*exp(i*pi*(k+.5)*(2*n-127)/64).
However, when I turn to the ISO reference, in ct_polyphase.c, the code
defines the coefficients like:cos( PI / 64.0 * (k+0.5) * (2*l-127.5)
).
My question is why the spec uses 127 while its reference code
implementation uses 127.5. I don't understand this 0.5 trick. Can any
one explain this for me? Thanks in advance.
--
Regards,
Andy Quan
From Andreas.Schneider codingtechnologies.com Tue Sep 25 18:41:10 2007
From: Andreas.Schneider codingtechnologies.com (Andreas Schneider)
Date: Tue Sep 25 11:46:06 2007
Subject: [Mp4-tech] HE-AAC downsampled synthesis filterbank
In-Reply-To:
Message-ID:
Hi Andy,
this is no trick. It was a typo in the specification that has been
corrected by ISO/IEC 14496-3:2005/Cor.4:200X. As the 200X suggests, this
corrigendum is not yet published.
Kind regards,
Andreas
mp4-tech-bounces@lists.mpegif.org wrote on 25.09.2023 14:25:14:
> Hi folks,
>
> I read the ISO spec 14496-3 Amd 1 on downsampled complex synthesis QMF
> filter. On page 67, it is said the filterbank coefficients are defined
> as (1/64)*exp(i*pi*(k+.5)*(2*n-127)/64).
> However, when I turn to the ISO reference, in ct_polyphase.c, the code
> defines the coefficients like:cos( PI / 64.0 * (k+0.5) * (2*l-127.5)
> ).
>
> My question is why the spec uses 127 while its reference code
> implementation uses 127.5. I don't understand this 0.5 trick. Can any
> one explain this for me? Thanks in advance.
>
>
> --
> Regards,
> Andy Quan
> _______________________________________________
> 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-Antitrust.php
--
Andreas Schneider
Senior Research Engineer
mailto:snd@CodingTechnologies.com
+49 911 92891 -26 (phone)
+49 911 92891 -99 (fax)
Coding Technologies GmbH
Deutschherrnstr. 15-19
D-90429 Nuernberg, Germany
http://www.codingtechnologies.com
HRB 17557, Amtsgericht N?rnberg, GF: Dipl.Ing. Martin Dietz (Managing
Director)
From zhengyuan.quan gmail.com Wed Sep 26 10:16:35 2007
From: zhengyuan.quan gmail.com (Andy Quan)
Date: Wed Sep 26 09:22:09 2007
Subject: [Mp4-tech] HE-AAC downsampled synthesis filterbank
In-Reply-To:
References:
Message-ID:
Thank you! Is this corrigendum currently under drafting? It is nice if
I can read the details. But do you mean that the documentation you
mentioned is not available from ISO, no matter being free or not?
On 9/25/07, Andreas Schneider wrote:
> Hi Andy,
>
> this is no trick. It was a typo in the specification that has been
> corrected by ISO/IEC 14496-3:2005/Cor.4:200X. As the 200X suggests, this
> corrigendum is not yet published.
>
> Kind regards,
>
> Andreas
>
>
> mp4-tech-bounces@lists.mpegif.org wrote on 25.09.2023 14:25:14:
>
> > Hi folks,
> >
> > I read the ISO spec 14496-3 Amd 1 on downsampled complex synthesis QMF
> > filter. On page 67, it is said the filterbank coefficients are defined
> > as (1/64)*exp(i*pi*(k+.5)*(2*n-127)/64).
> > However, when I turn to the ISO reference, in ct_polyphase.c, the code
> > defines the coefficients like:cos( PI / 64.0 * (k+0.5) * (2*l-127.5)
> > ).
> >
> > My question is why the spec uses 127 while its reference code
> > implementation uses 127.5. I don't understand this 0.5 trick. Can any
> > one explain this for me? Thanks in advance.
> >
> >
> > --
> > Regards,
> > Andy Quan
> > _______________________________________________
> > 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-Antitrust.php
>
> --
> Andreas Schneider
> Senior Research Engineer
> mailto:snd@CodingTechnologies.com
>
> +49 911 92891 -26 (phone)
> +49 911 92891 -99 (fax)
>
> Coding Technologies GmbH
> Deutschherrnstr. 15-19
> D-90429 Nuernberg, Germany
> http://www.codingtechnologies.com
> HRB 17557, Amtsgericht N��rnberg, GF: Dipl.Ing. Martin Dietz (Managing
> Director)
>
>
--
Regards,
Quan Zhengyuan ��ȫ��Ԫ��
From zhengyuan.quan gmail.com Wed Sep 26 16:47:36 2007
From: zhengyuan.quan gmail.com (Andy Quan)
Date: Wed Sep 26 09:22:16 2007
Subject: [Mp4-tech] HE-AAC downsampled synthesis filterbank
In-Reply-To:
References:
Message-ID:
How about this one? ISO/IEC 14496-3:2001/AMD 1:2003/Cor 1.
The status of this file on ISO.org is WITHDRAWN. Does this mean it's
cancelled before being published?
On 9/25/07, Andreas Schneider wrote:
> Hi Andy,
>
> this is no trick. It was a typo in the specification that has been
> corrected by ISO/IEC 14496-3:2005/Cor.4:200X. As the 200X suggests, this
> corrigendum is not yet published.
>
> Kind regards,
>
> Andreas
>
>
> mp4-tech-bounces@lists.mpegif.org wrote on 25.09.2023 14:25:14:
>
> > Hi folks,
> >
> > I read the ISO spec 14496-3 Amd 1 on downsampled complex synthesis QMF
> > filter. On page 67, it is said the filterbank coefficients are defined
> > as (1/64)*exp(i*pi*(k+.5)*(2*n-127)/64).
> > However, when I turn to the ISO reference, in ct_polyphase.c, the code
> > defines the coefficients like:cos( PI / 64.0 * (k+0.5) * (2*l-127.5)
> > ).
> >
> > My question is why the spec uses 127 while its reference code
> > implementation uses 127.5. I don't understand this 0.5 trick. Can any
> > one explain this for me? Thanks in advance.
> >
> >
> > --
> > Regards,
> > Andy Quan
> > _______________________________________________
> > 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-Antitrust.php
>
> --
> Andreas Schneider
> Senior Research Engineer
> mailto:snd@CodingTechnologies.com
>
> +49 911 92891 -26 (phone)
> +49 911 92891 -99 (fax)
>
> Coding Technologies GmbH
> Deutschherrnstr. 15-19
> D-90429 Nuernberg, Germany
> http://www.codingtechnologies.com
> HRB 17557, Amtsgericht N��rnberg, GF: Dipl.Ing. Martin Dietz (Managing
> Director)
>
>
--
Regards,
Quan Zhengyuan ��ȫ��Ԫ��
From krzysztof.szczerba gmail.com Wed Sep 26 15:05:35 2007
From: krzysztof.szczerba gmail.com (Krzysztof Szczerba)
Date: Wed Sep 26 09:22:21 2007
Subject: [Mp4-tech] How to determine the range for decoding truncated
exponential-Golomb code?
Message-ID:
Dear all
I have a little question, how to determine the range for decoding truncated
exponential-Golomb code? It is referred as 'x' on page 148 in the DRAFT
ITU-T Rec. H264 (2002E).
Thanks in advance
Kind Regards
Christopher
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070926/e76d719c/attachment.html
From pdro07 gmail.com Wed Sep 26 18:46:30 2007
From: pdro07 gmail.com (pedro chaparro)
Date: Wed Sep 26 12:40:12 2007
Subject: [Mp4-tech] JSVM question
Message-ID:
hi im working with this software but there is something that is not clear, i
use the BitStreamExtractor to watch how many layers i have in a video
previously codified, i see i have 3 layers with DQT combinations 0,0,0
0,1,0 0,2,0 , however when i make the trace of that video i find and
additional DQT combination 0,3,0.....i dont understand this!! what is the
reason?
thanks
--
Pedro Alonso Chaparro Valero
PhD student
Technique University of Catalonia
Barcelona - Spain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070926/63feef05/attachment.html
From pchirag gmail.com Thu Sep 27 12:05:13 2007
From: pchirag gmail.com (Chirag Pujara)
Date: Thu Sep 27 09:16:12 2007
Subject: [Mp4-tech] require jvt doc G-012
Message-ID: <6cb7f2550709262235g1ee9aa4et5387e05c62e52377@mail.gmail.com>
Hello
Can any one give me the link for the jvt rate-control document G-012.
--
Thanks and Regards
Chirag Pujara
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070927/8d31f3ac/attachment.html
From Gomathi_Ramamoorthy mindtree.com Thu Sep 27 15:06:09 2007
From: Gomathi_Ramamoorthy mindtree.com (Gomathi Ramamoorthy)
Date: Thu Sep 27 09:16:19 2007
Subject: [Mp4-tech] Number of slices per picture in h264
Message-ID: <2C15D00D262B7245B1D8D1799F04D88F06397F4B@mtw01ex01.mindtree.com>
Hi Everyone,
In the h.264 JM reference code ,the "MAX_NUM_SLICES" is given as 50 in
defines.h ,how to decide upon it and where can I get the correct figure
For the baseline profile.i.e I need to know the maximum number of slices per
picture for baseline profile (D1 resolution).
Can anyone help me in this regard....
Thanks in advance
Thanks & Regards,
Gomathi Ramamoorthy| Senior Engineer | Mindtree Consulting Ltd | Global
Village , RVCE post , Mysore Road, Bangalore - 560059,India | Voice +91 80
26264000 Extn 66521 | Fax +91 80 26264100 | Mob +91 9901074757 | Email:
gomathi_ramamoorthy@mindtree.com |
www.mindtree.com |
DISCLAIMER:
This message (including attachment if any) is confidential and may be privileged. If you have received this message by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited.
E-mail may contain viruses. Before opening attachments please check them for viruses and defects. While MindTree Consulting Limited (MindTree) has put in place checks to minimize the risks, MindTree will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside.
Please note that e-mails are susceptible to change and MindTree shall not be liable for any improper, untimely or incomplete transmission.
MindTree reserves the right to monitor and review the content of all messages sent to or from MindTree e-mail address. Messages sent to or from this e-mail address may be stored on the MindTree e-mail system or else where.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070927/2f78f4b7/attachment.html
From Andreas.Schneider codingtechnologies.com Thu Sep 27 19:47:13 2007
From: Andreas.Schneider codingtechnologies.com (Andreas Schneider)
Date: Thu Sep 27 12:52:12 2007
Subject: [Mp4-tech] HE-AAC downsampled synthesis filterbank
In-Reply-To:
Message-ID:
As far as MPEG (and the national bodies that are represnted there) is
concerned, this corrigendum is finished. The only step that is missing is
publication by ISO. Once this has happened it will be available at no cost
for download from the ISO-store. But I have no way to tell when this will
happen.
BR,
Andreas
mp4-tech-bounces@lists.mpegif.org wrote on 26.09.2023 03:16:35:
> Thank you! Is this corrigendum currently under drafting? It is nice if
> I can read the details. But do you mean that the documentation you
> mentioned is not available from ISO, no matter being free or not?
>
> On 9/25/07, Andreas Schneider com> wrote:
> > Hi Andy,
> >
> > this is no trick. It was a typo in the specification that has been
> > corrected by ISO/IEC 14496-3:2005/Cor.4:200X. As the 200X suggests,
this
> > corrigendum is not yet published.
> >
> > Kind regards,
> >
> > Andreas
> >
> >
> > mp4-tech-bounces@lists.mpegif.org wrote on 25.09.2023 14:25:14:
> >
> > > Hi folks,
> > >
> > > I read the ISO spec 14496-3 Amd 1 on downsampled complex synthesis
QMF
> > > filter. On page 67, it is said the filterbank coefficients are
defined
> > > as (1/64)*exp(i*pi*(k+.5)*(2*n-127)/64).
> > > However, when I turn to the ISO reference, in ct_polyphase.c, the
code
> > > defines the coefficients like:cos( PI / 64.0 * (k+0.5) * (2*l-127.5)
> > > ).
> > >
> > > My question is why the spec uses 127 while its reference code
> > > implementation uses 127.5. I don't understand this 0.5 trick. Can
any
> > > one explain this for me? Thanks in advance.
> > >
> > >
> > > --
> > > Regards,
> > > Andy Quan
> > > _______________________________________________
> > > 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-Antitrust.php
> >
> > --
> > Andreas Schneider
> > Senior Research Engineer
> > mailto:snd@CodingTechnologies.com
> >
> > +49 911 92891 -26 (phone)
> > +49 911 92891 -99 (fax)
> >
> > Coding Technologies GmbH
> > Deutschherrnstr. 15-19
> > D-90429 Nuernberg, Germany
> > http://www.codingtechnologies.com
> > HRB 17557, Amtsgericht N?rnberg, GF: Dipl.Ing. Martin Dietz (Managing
> > Director)
> >
> >
>
>
> --
> Regards,
> Quan Zhengyuan ?????
>
> _______________________________________________
> 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-Antitrust.php
--
Andreas Schneider
Senior Research Engineer
mailto:snd@CodingTechnologies.com
+49 911 92891 -26 (phone)
+49 911 92891 -99 (fax)
Coding Technologies GmbH
Deutschherrnstr. 15-19
D-90429 Nuernberg, Germany
http://www.codingtechnologies.com
HRB 17557, Amtsgericht N?rnberg, GF: Dipl.Ing. Martin Dietz (Managing
Director)
From l1436636 yahoo.com Thu Sep 27 13:07:55 2007
From: l1436636 yahoo.com (hong liu)
Date: Thu Sep 27 15:46:07 2007
Subject: [Mp4-tech] deduce
Message-ID: <705222.93329.qm@web51401.mail.re2.yahoo.com>
Up to now I have been doing a project on H.264 video streaming. I need to know the frame number of the lost video frames corresponding to the original video sequence during its transmission. In the H.264 slice header syntax, there are serveral paramters involving the frame number information, such as frame_num, pic_order_cnt_lsb, delta_pic_order_cnt.
Can anyone explain the relationship among these parameters and how to deduce the absolute frame number of the individual video frame from them?
Thank you for helping me in this regard in advance.
____________________________________________________________________________________
Luggage? GPS? Comic books?
Check out fitting gifts for grads at Yahoo! Search
http://search.yahoo.com/search?fr=oni_on_mail&p=graduation+gifts&cs=bz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070927/8a76438d/attachment.html
From ksuehring web.de Fri Sep 28 00:27:23 2007
From: ksuehring web.de (Karsten Suehring)
Date: Thu Sep 27 17:52:10 2007
Subject: [Mp4-tech] Number of slices per picture in h264
In-Reply-To: <2C15D00D262B7245B1D8D1799F04D88F06397F4B@mtw01ex01.mindtree.com>
References: <2C15D00D262B7245B1D8D1799F04D88F06397F4B@mtw01ex01.mindtree.com>
Message-ID: <46FC203B.4060504@web.de>
Hi,
in Baseline profile there is no restriction on the maximum number of
slices, i.e. every macroblock of a picture can be coded in an own slice.
MAX_NUM_SLICES is only a shortcoming in the JM software which was
developed with static memory allocations. For most practical cases 50 is
sufficient, but you can increase it when necessary.
We should have dynamic memory allocations, but so far nobody was annoyed
enough to start working on this major rewrite.
Best regards,
Karsten
Gomathi Ramamoorthy wrote:
> Hi Everyone,
>
>
>
> In the h.264 JM reference code ,the ?MAX_NUM_SLICES? is given as 50 in
> defines.h ,how to decide upon it and where can I get the correct figure
>
> For the baseline profile.i.e I need to know the maximum number of slices
> per picture for baseline profile (D1 resolution).
>
>
>
> Can anyone help me in this regard?.
>
>
>
> Thanks in advance
>
>
>
> **Thanks & Regards****,**
>
> //Gomathi Ramamoorthy| Senior Engineer | Mindtree Consulting Ltd |
> Global Village , RVCE post , Mysore Road, Bangalore - 560059,India |
> Voice +91 80 26264000 Extn 66521 | Fax +91 80 26264100 | Mob +91
> 9901074757 | Email: ////gomathi_ramamoorthy@mindtree.com//
> // | ////www.mindtree.com//
> //| //
>
>
>
> *DISCLAIMER:*
>
> This message (including attachment if any) is confidential and may be
> privileged. If you have received this message by mistake please notify
> the sender by return e-mail and delete this message from your system.
> Any unauthorized use or dissemination of this message in whole or in
> part is strictly prohibited.
>
> E-mail may contain viruses. Before opening attachments please check them
> for viruses and defects. While MindTree Consulting Limited (MindTree)
> has put in place checks to minimize the risks, MindTree will not be
> responsible for any viruses or defects or any forwarded attachments
> emanating either from within MindTree or outside.
>
> Please note that e-mails are susceptible to change and MindTree shall
> not be liable for any improper, untimely or incomplete transmission.
>
> MindTree reserves the right to monitor and review the content of all
> messages sent to or from MindTree e-mail address. Messages sent to or
> from this e-mail address may be stored on the MindTree e-mail system or
> else where.
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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-Antitrust.php
From Gomathi_Ramamoorthy mindtree.com Fri Sep 28 10:08:32 2007
From: Gomathi_Ramamoorthy mindtree.com (Gomathi Ramamoorthy)
Date: Fri Sep 28 10:46:08 2007
Subject: [Mp4-tech] Number of slices per picture in h264
In-Reply-To: <46FC203B.4060504@web.de>
References: <2C15D00D262B7245B1D8D1799F04D88F06397F4B@mtw01ex01.mindtree.com>
<46FC203B.4060504@web.de>
Message-ID: <2C15D00D262B7245B1D8D1799F04D88F06397F51@mtw01ex01.mindtree.com>
Hi Karsten and Nitin,
Thank you so much for the reply.
I have 2 more doubts,
1.where the detail of number of slices for the current picture resides in the
encoded picture bit stream?
Because in the JM softer initially for the new picture they are making the
variable "img->current_slice_nr" as zero and whenever the next slice is read
from NAL the variable is incremented.So can't we find any information about
the number of slices from the encoded picture stream.
2.why the " MAX_LIST_SIZE" is 33 ? If u have any input please let me know.
Thanks in advance
Regards
Gomathi.
-----Original Message-----
From: ksuehring@web.de [mailto:ksuehring@web.de]
Sent: Friday, September 28, 2023 2:57 AM
To: Gomathi Ramamoorthy
Cc: mp4-tech@lists.mpegif.org; Tourapis, Alexis; Gary Sullivan
Subject: Re: [Mp4-tech] Number of slices per picture in h264
Hi,
in Baseline profile there is no restriction on the maximum number of
slices, i.e. every macroblock of a picture can be coded in an own slice.
MAX_NUM_SLICES is only a shortcoming in the JM software which was
developed with static memory allocations. For most practical cases 50 is
sufficient, but you can increase it when necessary.
We should have dynamic memory allocations, but so far nobody was annoyed
enough to start working on this major rewrite.
Best regards,
Karsten
Gomathi Ramamoorthy wrote:
> Hi Everyone,
>
>
>
> In the h.264 JM reference code ,the "MAX_NUM_SLICES" is given as 50 in
> defines.h ,how to decide upon it and where can I get the correct figure
>
> For the baseline profile.i.e I need to know the maximum number of slices
> per picture for baseline profile (D1 resolution).
>
>
>
> Can anyone help me in this regard....
>
>
>
> Thanks in advance
>
>
>
> **Thanks & Regards****,**
>
> //Gomathi Ramamoorthy| Senior Engineer | Mindtree Consulting Ltd |
> Global Village , RVCE post , Mysore Road, Bangalore - 560059,India |
> Voice +91 80 26264000 Extn 66521 | Fax +91 80 26264100 | Mob +91
> 9901074757 | Email: ////gomathi_ramamoorthy@mindtree.com//
> // | ////www.mindtree.com//
> //| //
>
>
>
> *DISCLAIMER:*
>
> This message (including attachment if any) is confidential and may be
> privileged. If you have received this message by mistake please notify
> the sender by return e-mail and delete this message from your system.
> Any unauthorized use or dissemination of this message in whole or in
> part is strictly prohibited.
>
> E-mail may contain viruses. Before opening attachments please check them
> for viruses and defects. While MindTree Consulting Limited (MindTree)
> has put in place checks to minimize the risks, MindTree will not be
> responsible for any viruses or defects or any forwarded attachments
> emanating either from within MindTree or outside.
>
> Please note that e-mails are susceptible to change and MindTree shall
> not be liable for any improper, untimely or incomplete transmission.
>
> MindTree reserves the right to monitor and review the content of all
> messages sent to or from MindTree e-mail address. Messages sent to or
> from this e-mail address may be stored on the MindTree e-mail system or
> else where.
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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-Antitrust.php
DISCLAIMER:
This message (including attachment if any) is confidential and may be privileged. If you have received this message by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited.
E-mail may contain viruses. Before opening attachments please check them for viruses and defects. While MindTree Consulting Limited (MindTree) has put in place checks to minimize the risks, MindTree will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside.
Please note that e-mails are susceptible to change and MindTree shall not be liable for any improper, untimely or incomplete transmission.
MindTree reserves the right to monitor and review the content of all messages sent to or from MindTree e-mail address. Messages sent to or from this e-mail address may be stored on the MindTree e-mail system or else where.
From mario7102 hotmail.it Fri Sep 28 17:29:06 2007
From: mario7102 hotmail.it (Mario Tilli)
Date: Fri Sep 28 10:46:13 2007
Subject: [Mp4-tech][H.264][JM] Understanding JM concealment
Message-ID:
Hi everyone
I'm getting some problems with JM 11.0 decoder...
In decoder.cfg I've selected Motion Copy as concealment mode..but after decoding I don't see any concealment at all.
I've found in erc_do_p.c this function
void conceal_non_ref_pics(int diff)
and this test, in particular, that enable any concealment:
if((pocs_in_dpb[i+1]-pocs_in_dpb[i])> img->poc_gap)
I don't understand how can I use these concealments, or when one of them starts...
If anyone can help me.. I'll appreciate.
Mario
_________________________________________________________________
Scarica GRATIS la versione personalizzata MSN di Internet Explorer 7!
http://optimizedie7.msn.com/default.aspx?mkt=it-it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070928/314c1e96/attachment.html
From zhengyuan.quan gmail.com Sat Sep 29 18:07:23 2007
From: zhengyuan.quan gmail.com (Andy Quan)
Date: Sun Sep 30 14:10:07 2007
Subject: [Mp4-tech] [AAC]AACPlus decoding performance on real hardware
Message-ID:
I find that a lot of commercial AACPlus decoder, either v1 or v2,
disclaim a shining (also amazing:P) Armulator performance data
(30-35MHz) on popular architecture like arm9. Since armulator
suppresses influence from memory waiting cycle, I guess there might be
a large gap between Armulator data and real hardware. Anybody knows
what a typical performance of SBR or PS decoder is on real arm9
processor around 200-300MHz?
--
Regards,
Andy Quan