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