From Shevach.Riabtsev at zoran.com Sun Mar 1 04:12:35 2009 From: Shevach.Riabtsev at zoran.com (Shevach Riabtsev) Date: Sun, 1 Mar 2009 11:12:35 +0200 Subject: [Mp4-tech] [Video][H.264] What's the maximal number of timesmemory_management_control_operation can present in def_ref_pic_marking() In-Reply-To: <406D6FEFCBB98643A34170C59E1ABEF31F7ADD59AB@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> References: <91C4B16D6D58C541BF2F841D27F82536F88E3B@zmlex.zml.zoran.com> <406D6FEFCBB98643A34170C59E1ABEF31F7ADD59AB@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> Message-ID: <91C4B16D6D58C541BF2F841D27F82536F88E3C@zmlex.zml.zoran.com> Gary, Thanks for your answer. From your answer I conclude that there is a restriction on the number of MMCO commands. What's the maximal number of MMCO commands in a single slice header? I see two possibilities: 1) ~32. Indeed, in worst case DPB can contain 32 field reference pictures (it does not matter short-term or long-term). Let's assume that we need mark all these pictures as "unused for reference". The most optimal way to do this operation is to send a single MMCO command equal to 5. Another more awkward way to do it is to send 32 MMCO commands (where each MMCO command marks a concrete picture as "unused reference"). Because a decoder can't trust on the intelligence of an encoder the clever decoder should expect 32 MMCO commands in the worst case. 2) ~64 Let's consider the situation when DPB contains 32 short-term reference pictures and an encoder decides to mark all of them as "unused for reference" in the most non-optimal way. Firstly the encoder marks each picture as long-term (MMCO=3) and then mark the same picture as "unused for reference" (MMCO=2). In such case we have 64 MMCO commands. Gary, could you clarify what's the maximal number of MMCO commands to expect. Regards Shevach Riabtsev Zoran, Israel ________________________________ From: Gary Sullivan [mailto:garysull at windows.microsoft.com] Sent: Thursday, February 26, 2009 7:53 PM To: Shevach Riabtsev; mp4-tech at lists.mpegif.org Subject: RE: [Mp4-tech] [Video][H.264] What's the maximal number of timesmemory_management_control_operation can present in def_ref_pic_marking() Shevach et al, There is an indirect limit on the number of MMCO commands due to the restriction that multiple commands cannot be sent that have the same effect on DPB status and the restrictions on the state of the pictures in the DPB prior to some MMCO commands (a picture must be in a certain marking state in order to be marked in certain ways, and once the marking command takes effect, it won't be in the same state anymore). Best Regards, Gary Sullivan ________________________________ From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Shevach Riabtsev Sent: Thursday, February 26, 2009 8:03 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] [Video][H.264] What's the maximal number of times memory_management_control_operation can present in def_ref_pic_marking() Dear experts On the other hand H.264 standard restricts the maximal number of reordering_of_pic_nums_idc commands in ref_pic_list_reordering() : "The number of times that reordering_of_pic_nums_idc is not equal to 3 (stop command) following ref_pic_list_reordering_flag_l0 shall not exceed num_ref_idx_l0_active_minus1 + 1" Indeed, this restriction sounds reasonable since an encoder can achieve with #( num_ref_idx_l0_active_minus1 + 1) reordering commands any permutation in reference list. On the other hand I don't observe in the standard any limitation (at least explicitly) on the number of memory_management_control_operation commands in def_ref_pic_marking(). Although I suppose the maximal number of memory_management_control_operation commands should be around num_ref_frames * 2. Regards Shevach Riabtsev Zoran, Israel -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090301/ded4381d/attachment-0001.html From smr_soroush at yahoo.com Sun Mar 1 07:48:45 2009 From: smr_soroush at yahoo.com (S.M.Reza Soroush) Date: Sun, 1 Mar 2009 04:48:45 -0800 (PST) Subject: [Mp4-tech] Lossless video coding Message-ID: <97633.69090.qm@web35704.mail.mud.yahoo.com> Dear Experts, ? ? 1)Is it possible to use JM for lossless video compression? ? 2)I have a 16 bit grayscale sequence and I want to use JM to compress it. Is it possible? ? I appreciate all your help. ? Soroush. -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090301/866138b2/attachment.html From herbert.thoma at iis.fraunhofer.de Sun Mar 1 08:47:50 2009 From: herbert.thoma at iis.fraunhofer.de (Herbert Thoma) Date: Sun, 01 Mar 2009 14:47:50 +0100 Subject: [Mp4-tech] [H.264] Frame rate conversion in H.264/AVC and SVC In-Reply-To: <9ebb503c0902281428mf4af0bck5cec4a74febf87e1@mail.gmail.com> References: <137754.98625.qm@web94904.mail.in2.yahoo.com> <49A93C2C.3020805@iis.fraunhofer.de> <9ebb503c0902281428mf4af0bck5cec4a74febf87e1@mail.gmail.com> Message-ID: <49AA9206.6090203@iis.fraunhofer.de> Fernando Toro schrieb: > Hi Herbert et all; > > > If you need only temporal scalability this can be solved with plain > AVC, no SVC needed. > > Any standard AVC decoder can decode an AVC bitstream that employs > hierarchical > temporal prediction. > > > > At this point a related question arises: can a standard AVC encoder to > encode a temporal scalable bitstream? The JM reference software (http://iphome.hhi.de/suehring/tml/) can do hierarchical temporal prediction. Herbert. > Thanks in advance > > Fernando -- Herbert Thoma Dipl.-Ing., MBA Head of Video Group Multimedia Realtime Systems Department Fraunhofer IIS Am Wolfsmantel 33, 91058 Erlangen, Germany Phone: +49-9131-776-6130 Fax: +49-9131-776-6099 email: tma at iis.fhg.de www: http://www.iis.fhg.de/ From Shevach.Riabtsev at zoran.com Sun Mar 1 10:49:57 2009 From: Shevach.Riabtsev at zoran.com (Shevach Riabtsev) Date: Sun, 1 Mar 2009 17:49:57 +0200 Subject: [Mp4-tech] [Video][H.264][sei] On exact_match_flag of recovery point SEI message Message-ID: <91C4B16D6D58C541BF2F841D27F82536F88E42@zmlex.zml.zoran.com> Dear experts The standard specifies the syntax element exact_match_flag as follows: exact_match_flag indicates whether decoded pictures at and subsequent to the specified recovery point in output order derived by starting the decoding process at the access unit associated with the recovery point SEI message shall be an exact match to the pictures that would be produced by starting the decoding process at the location of a previous IDR access unit in the NAL unit stream. The value 0 indicates that the match need not be exact and the value 1 indicates that the match shall be exact. When decoding starts from the location of the recovery point SEI message, all references to not available reference pictures shall be inferred as references to pictures containing only macroblocks .................... I see the problem for a decoder in non-ambiguous determination of "all references to not available reference pictures". For illustration let's consider the following example (for simplicity let also assume that the stream is progressive and num_ref_frames=1): ..... P(26), B(22), B(24), I(32), B(28), B(30), P(38), ...... - decoding order Where the numbers in parentheses denote POCs. I(32) frame is a recovery point with the corresponding recovery SEI message: recovery_frame_cnt equals to frame_num of I(32) exact_match_flag=0 broken_list_flag=0 Let's assume that B(28) uses P(26) as forward reference (L0) and I(32) as backward reference (L1). If a decoder starts processing at the frame I(32), it decodes I(32) frame and switches to B(28). The decoder can conclude that B(28) has available reference in both directions. Indeed, I(32) can be a legal reference in L1 and in L0. How a decoder can figure out that B(28) has no L0 reference? The standard permits the same picture to be in the two lists. Let's speculate on the case when B(28) originally uses only I(32) for L0 and L1 references. Regards Shevach Riabtsev Zoran, Israel -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090301/6161e8dc/attachment.html From singer at apple.com Sun Mar 1 13:06:09 2009 From: singer at apple.com (David Singer) Date: Sun, 1 Mar 2009 10:06:09 -0800 Subject: [Mp4-tech] [audio; system] "Interesting" MPEG files In-Reply-To: References: Message-ID: At 18:07 +0000 28/02/09, Mark RISON wrote: >Can anyone point me at any examples of the following types of file? > >- MP4 files with just one track, which has a streamType of 0x05, but >whose chunks are not contiguous (i.e. no gaps between chunks) or >not monotonic (i.e. chunk offsets always increasing) easily made by taking a two-or-more-track file, and changing the box type of the second track from 'trak' to 'free'. > >- MP4 files with co64 and/or stz2 boxes stz2: supported by the ref s/w, files 2 and 4 from ENST in the conformance set co64: supported by the ref s/w, file a11 in the conformance set > >- MP4 files with 64-bit-length boxes file a11 in the conformance set > >- MP4 files with "to EOF"-length boxes file a7 in the conformance set > >- ADTS files with a channel configuration of 0 (i.e. to find out >channel configuration need to find first ADTS frame whose first >element is a PCE) > >Mark, rare file enthusiast > >-- >CPC/IP - A TCP/IP stack for Amstrad CPCs >-- http://www.cepece.info/cpcip/ >"Z88 vs CPC? Christ. How did we miss that platform war?" >-- http://www.ntk.net/index.cgi?b=02000-01-28&l=111#l > > >_________________________________________________________________ >Windows Live Messenger just got better .Video display pics, contact >updates & more. >http://www.download.live.com/messenger >_______________________________________________ >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 -- David Singer Multimedia Standards, Apple Inc. From garysull at windows.microsoft.com Sun Mar 1 13:50:22 2009 From: garysull at windows.microsoft.com (Gary Sullivan) Date: Sun, 1 Mar 2009 10:50:22 -0800 Subject: [Mp4-tech] [Video][H.264][sei] On exact_match_flag of recovery point SEI message In-Reply-To: <91C4B16D6D58C541BF2F841D27F82536F88E42@zmlex.zml.zoran.com> References: <91C4B16D6D58C541BF2F841D27F82536F88E42@zmlex.zml.zoran.com> Message-ID: <406D6FEFCBB98643A34170C59E1ABEF31FC19BC53F@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> Shevach et al, The encoder that inserts a recovery point SEI message needs to be designed with awareness of what the decoder will do when it performs a random access into the bitstream at that location. In this case the decoder will consider the I(32) picture as being (the first and only picture) in both lists for the decoding process that begins at that point. The encoder needs to take that into account and ensure that the decoder will obtain reasonable-looking pictures for all pictures that follow after the I(32) picture in output order. That will be the case regardless of the value of the exact_match_flag. That flag is just to indicate whether the match will be exact or just "reasonable" in perceptual quality in some sense. Nit pick: I think in your example, the recovery_frame_cnt should be 0. It is a frame count, not a frame number. Also, I think the name of the flag is broken_link_flag, not broken_list_flag. Best Regards, Gary Sullivan ________________________________ From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Shevach Riabtsev Sent: Sunday, March 01, 2009 7:50 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] [Video][H.264][sei] On exact_match_flag of recovery point SEI message Dear experts The standard specifies the syntax element exact_match_flag as follows: exact_match_flag indicates whether decoded pictures at and subsequent to the specified recovery point in output order derived by starting the decoding process at the access unit associated with the recovery point SEI message shall be an exact match to the pictures that would be produced by starting the decoding process at the location of a previous IDR access unit in the NAL unit stream. The value 0 indicates that the match need not be exact and the value 1 indicates that the match shall be exact. When decoding starts from the location of the recovery point SEI message, all references to not available reference pictures shall be inferred as references to pictures containing only macroblocks ??????.. I see the problem for a decoder in non-ambiguous determination of ?all references to not available reference pictures?. For illustration let?s consider the following example (for simplicity let also assume that the stream is progressive and num_ref_frames=1): ?.. P(26), B(22), B(24), I(32), B(28), B(30), P(38), ?? - decoding order Where the numbers in parentheses denote POCs. I(32) frame is a recovery point with the corresponding recovery SEI message: recovery_frame_cnt equals to frame_num of I(32) exact_match_flag=0 broken_list_flag=0 Let?s assume that B(28) uses P(26) as forward reference (L0) and I(32) as backward reference (L1). If a decoder starts processing at the frame I(32), it decodes I(32) frame and switches to B(28). The decoder can conclude that B(28) has available reference in both directions. Indeed, I(32) can be a legal reference in L1 and in L0. How a decoder can figure out that B(28) has no L0 reference? The standard permits the same picture to be in the two lists. Let?s speculate on the case when B(28) originally uses only I(32) for L0 and L1 references. Regards Shevach Riabtsev Zoran, Israel -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090301/30b80d1f/attachment.html From garysull at windows.microsoft.com Sun Mar 1 14:17:18 2009 From: garysull at windows.microsoft.com (Gary Sullivan) Date: Sun, 1 Mar 2009 11:17:18 -0800 Subject: [Mp4-tech] [Video][H.264][sei] On exact_match_flag of recovery point SEI message In-Reply-To: <406D6FEFCBB98643A34170C59E1ABEF31FC19BC53F@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> References: <91C4B16D6D58C541BF2F841D27F82536F88E42@zmlex.zml.zoran.com> <406D6FEFCBB98643A34170C59E1ABEF31FC19BC53F@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> Message-ID: <406D6FEFCBB98643A34170C59E1ABEF31FC19BC543@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> A further remark: If the encoder wants the decoder to be aware that some pictures it is using as references are missing, it can use reference picture list modification syntax to explicitly place specific pictures into the list(s) in the correct order. Doing so will cause the decoder to notice any pictures placed into the lists that have frame_num values that the decoder does not have in its DPB, which will cause the decoder to become aware of which pictures that are being referenced are not available. Best Regards, Gary Sullivan ________________________________ From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Gary Sullivan Sent: Sunday, March 01, 2009 10:50 AM To: Shevach Riabtsev; mp4-tech at lists.mpegif.org Subject: Re: [Mp4-tech] [Video][H.264][sei] On exact_match_flag of recovery point SEI message Shevach et al, The encoder that inserts a recovery point SEI message needs to be designed with awareness of what the decoder will do when it performs a random access into the bitstream at that location. In this case the decoder will consider the I(32) picture as being (the first and only picture) in both lists for the decoding process that begins at that point. The encoder needs to take that into account and ensure that the decoder will obtain reasonable-looking pictures for all pictures that follow after the I(32) picture in output order. That will be the case regardless of the value of the exact_match_flag. That flag is just to indicate whether the match will be exact or just "reasonable" in perceptual quality in some sense. Nit pick: I think in your example, the recovery_frame_cnt should be 0. It is a frame count, not a frame number. Also, I think the name of the flag is broken_link_flag, not broken_list_flag. Best Regards, Gary Sullivan ________________________________ From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Shevach Riabtsev Sent: Sunday, March 01, 2009 7:50 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] [Video][H.264][sei] On exact_match_flag of recovery point SEI message Dear experts The standard specifies the syntax element exact_match_flag as follows: exact_match_flag indicates whether decoded pictures at and subsequent to the specified recovery point in output order derived by starting the decoding process at the access unit associated with the recovery point SEI message shall be an exact match to the pictures that would be produced by starting the decoding process at the location of a previous IDR access unit in the NAL unit stream. The value 0 indicates that the match need not be exact and the value 1 indicates that the match shall be exact. When decoding starts from the location of the recovery point SEI message, all references to not available reference pictures shall be inferred as references to pictures containing only macroblocks ??????.. I see the problem for a decoder in non-ambiguous determination of ?all references to not available reference pictures?. For illustration let?s consider the following example (for simplicity let also assume that the stream is progressive and num_ref_frames=1): ?.. P(26), B(22), B(24), I(32), B(28), B(30), P(38), ?? - decoding order Where the numbers in parentheses denote POCs. I(32) frame is a recovery point with the corresponding recovery SEI message: recovery_frame_cnt equals to frame_num of I(32) exact_match_flag=0 broken_list_flag=0 Let?s assume that B(28) uses P(26) as forward reference (L0) and I(32) as backward reference (L1). If a decoder starts processing at the frame I(32), it decodes I(32) frame and switches to B(28). The decoder can conclude that B(28) has available reference in both directions. Indeed, I(32) can be a legal reference in L1 and in L0. How a decoder can figure out that B(28) has no L0 reference? The standard permits the same picture to be in the two lists. Let?s speculate on the case when B(28) originally uses only I(32) for L0 and L1 references. Regards Shevach Riabtsev Zoran, Israel -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090301/b9bf633b/attachment-0001.html From dthoang at yahoo.com Sun Mar 1 23:36:59 2009 From: dthoang at yahoo.com (Dzung Hoang) Date: Sun, 1 Mar 2009 22:36:59 -0600 Subject: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) References: <20090222180905.363.qmail@f6mail-144-152.rediffmail.com> <49a89707.1d078e0a.66a1.ffffe2fe@mx.google.com> Message-ID: In 7.4.1.2.1, the following sentence pretty much restricts a video sequence to having one SPS. An activated sequence parameter set RBSP shall remain active for the entire coded video sequence. Of course, this does not preclude a bitstream from having 32 SPS's. But it does say that at any time, the decoder only needs to use one set. For the practical purpose of enabling random access, I doubt that there are any real-world application where any active or soon to be active SPS is not transmitted shortly before it is activated. The same argument regarding random access can be made for PPS. Regards, - Dzung Hoang ----- Original Message ----- From: Adam Malamy To: mp4-tech at lists.mpegif.org Sent: Friday, February 27, 2009 7:44 PM Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) Hello experts, No one seems to have picked up on this email thread, but I agree that the 32 possible sps_id's and 256 possible pps_id's create a storage problem for hardware decoder implementations. Our hardware decoder does not store values for 256 pps's, although the issue can be worked around in the support software. This is one of several areas where ease of implementation in hardware was apparently not considered in writing the h.264 spec. My guess is that the 32 and 256 id's for sps and pps were thrown in as 'more than anyone could ever want' and since the arrays are small and won't use much system memory in a software implementation, no effort was made to establish a practical maximum. What is the greatest number of sps and pps id's anyone has seen in a real stream? -Adam Malamy Director of Engineering, Verification Cavium Networks 650-623-3611 From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of arjun majumdar Sent: Sunday, February 22, 2009 10:09 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] Regarding Sequence Parameter Set and Picture Parameter Set (H.264 AVC) Hi Garry Sir, I am highly grateful and thankful to you for your unending support in helping us understanding the standard and in turn implementing the standard in hardware. I want some further conformance on our understanding from you regarding Sequence & Picture Parameter Set This is with reference to H.264 Baseline Decoder that we are implementing in hardware. In the standard it is mentioned that initially no Sequence Parameter Sets (SPS) are active. The same also applies to Picture Parameter Set (PPS). Whenever a PPS ID is referred to by a frame, then that particular PPS becomes active and correspondingly the SPS ID referred to by the PPS becomes active too. The the parameters of that particular PPS & SPS is used for decoding of the frame. With reference to my above understanding, my query is that how many such SPS and PPS will be sent in the bitstream before a frame is sent? This becomes an important storage issue for SPS and PPS in hardware implementation. Also I am assuming that the frames sent in decoding order can refer to different PPSs' but should refer to only one SPS? Is my above understanding correct? If not, kindly clarify me on the same and also on the number of SPS and PPS that will be sent before a frame is sent. Thanking you in advance. With Regards, Arjun Majumdar ------------------------------------------------------------------------------ _______________________________________________ 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090301/fdf7b40b/attachment.html From garysull at windows.microsoft.com Mon Mar 2 00:20:12 2009 From: garysull at windows.microsoft.com (Gary Sullivan) Date: Sun, 1 Mar 2009 21:20:12 -0800 Subject: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) In-Reply-To: References: <20090222180905.363.qmail@f6mail-144-152.rediffmail.com> <49a89707.1d078e0a.66a1.ffffe2fe@mx.google.com> Message-ID: <406D6FEFCBB98643A34170C59E1ABEF31FC19BC5D5@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> How much memory is this when compared to the rest of the memory a decoder needs - e.g., for storing decoded pictures? Best Regards, Gary Sullivan ________________________________ From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Dzung Hoang Sent: Sunday, March 01, 2009 8:37 PM To: Adam.Malamy at caviumnetworks.com; mp4-tech at lists.mpegif.org Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) In 7.4.1.2.1, the following sentence pretty much restricts a video sequence to having one SPS. An activated sequence parameter set RBSP shall remain active for the entire coded video sequence. Of course, this does not preclude a bitstream from having 32 SPS's. But it does say that at any time, the decoder only needs to use one set. For the practical purpose of enabling random access, I doubt that there are any real-world application where any active or soon to be active SPS is not transmitted shortly before it is activated. The same argument regarding random access can be made for PPS. Regards, - Dzung Hoang ----- Original Message ----- From: Adam Malamy To: mp4-tech at lists.mpegif.org Sent: Friday, February 27, 2009 7:44 PM Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) Hello experts, No one seems to have picked up on this email thread, but I agree that the 32 possible sps_id?s and 256 possible pps_id?s create a storage problem for hardware decoder implementations. Our hardware decoder does not store values for 256 pps?s, although the issue can be worked around in the support software. This is one of several areas where ease of implementation in hardware was apparently not considered in writing the h.264 spec. My guess is that the 32 and 256 id?s for sps and pps were thrown in as ?more than anyone could ever want? and since the arrays are small and won?t use much system memory in a software implementation, no effort was made to establish a practical maximum. What is the greatest number of sps and pps id?s anyone has seen in a real stream? -Adam Malamy Director of Engineering, Verification Cavium Networks 650-623-3611 From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of arjun majumdar Sent: Sunday, February 22, 2009 10:09 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] Regarding Sequence Parameter Set and Picture Parameter Set (H.264 AVC) Hi Garry Sir, I am highly grateful and thankful to you for your unending support in helping us understanding the standard and in turn implementing the standard in hardware. I want some further conformance on our understanding from you regarding Sequence & Picture Parameter Set This is with reference to H.264 Baseline Decoder that we are implementing in hardware. In the standard it is mentioned that initially no Sequence Parameter Sets (SPS) are active. The same also applies to Picture Parameter Set (PPS). Whenever a PPS ID is referred to by a frame, then that particular PPS becomes active and correspondingly the SPS ID referred to by the PPS becomes active too. The the parameters of that particular PPS & SPS is used for decoding of the frame. With reference to my above understanding, my query is that how many such SPS and PPS will be sent in the bitstream before a frame is sent? This becomes an important storage issue for SPS and PPS in hardware implementation. Also I am assuming that the frames sent in decoding order can refer to different PPSs' but should refer to only one SPS? Is my above understanding correct? If not, kindly clarify me on the same and also on the number of SPS and PPS that will be sent before a frame is sent. Thanking you in advance. With Regards, Arjun Majumdar [http://imadworks.rediff.com/cgi-bin/AdWorks/adimage.cgi/2705210_2676711/creative_2680353.gif] ________________________________ _______________________________________________ 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090301/8e4aa70f/attachment-0001.html From Shevach.Riabtsev at zoran.com Mon Mar 2 02:59:45 2009 From: Shevach.Riabtsev at zoran.com (Shevach Riabtsev) Date: Mon, 2 Mar 2009 09:59:45 +0200 Subject: [Mp4-tech] Lossless video coding Message-ID: <91C4B16D6D58C541BF2F841D27F82536F88E44@zmlex.zml.zoran.com> Dear Soroush If you need a lossless coding you can use I_PCM mode. For lossless compression you need perform the following in JM: 1) Set QPPrimeYZeroTransformBypassFlag=1 2) Disable deblocking 3) Enforce QP of all MBs to be zero. 4) Set profile_idc==FREXT_Hi444 (since only High 4:4:4 profile supports lossless compression). Finally you get a near lossless compression. Regards Shevach Riabtsev -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090302/963ecf41/attachment.html From rishitesh at tataelxsi.co.in Mon Mar 2 03:32:06 2009 From: rishitesh at tataelxsi.co.in (Rishitesh Thakur) Date: Mon, 2 Mar 2009 14:02:06 +0530 Subject: [Mp4-tech] Regarding Sequence Parameter Set andPictureParameter Set (H.264 AVC) References: <20090222180905.363.qmail@f6mail-144-152.rediffmail.com><49a89707.1d078e0a.66a1.ffffe2fe@mx.google.com> Message-ID: <00be01c99b11$65cb2050$24053c0a@telxsi.com> Dear experts, The mentioned clause 7.4.1.2.1 explains there should be single activated SPS for a sequence. What is the meaning of coded video sequence here? Does it mean i) all frames b/w two IDR pics constitute a sequence or ii) Is it number of frames given by parameter log2_max_frame_num_minus4 in SPS ? Best Regards, Rishitesh Thakur ----- Original Message ----- From: Dzung Hoang To: Adam.Malamy at caviumnetworks.com ; mp4-tech at lists.mpegif.org Sent: Monday, March 02, 2009 10:06 AM Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set andPictureParameter Set (H.264 AVC) In 7.4.1.2.1, the following sentence pretty much restricts a video sequence to having one SPS. An activated sequence parameter set RBSP shall remain active for the entire coded video sequence. Of course, this does not preclude a bitstream from having 32 SPS's. But it does say that at any time, the decoder only needs to use one set. For the practical purpose of enabling random access, I doubt that there are any real-world application where any active or soon to be active SPS is not transmitted shortly before it is activated. The same argument regarding random access can be made for PPS. Regards, - Dzung Hoang ----- Original Message ----- From: Adam Malamy To: mp4-tech at lists.mpegif.org Sent: Friday, February 27, 2009 7:44 PM Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) Hello experts, No one seems to have picked up on this email thread, but I agree that the 32 possible sps_id's and 256 possible pps_id's create a storage problem for hardware decoder implementations. Our hardware decoder does not store values for 256 pps's, although the issue can be worked around in the support software. This is one of several areas where ease of implementation in hardware was apparently not considered in writing the h.264 spec. My guess is that the 32 and 256 id's for sps and pps were thrown in as 'more than anyone could ever want' and since the arrays are small and won't use much system memory in a software implementation, no effort was made to establish a practical maximum. What is the greatest number of sps and pps id's anyone has seen in a real stream? -Adam Malamy Director of Engineering, Verification Cavium Networks 650-623-3611 From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of arjun majumdar Sent: Sunday, February 22, 2009 10:09 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] Regarding Sequence Parameter Set and Picture Parameter Set (H.264 AVC) Hi Garry Sir, I am highly grateful and thankful to you for your unending support in helping us understanding the standard and in turn implementing the standard in hardware. I want some further conformance on our understanding from you regarding Sequence & Picture Parameter Set This is with reference to H.264 Baseline Decoder that we are implementing in hardware. In the standard it is mentioned that initially no Sequence Parameter Sets (SPS) are active. The same also applies to Picture Parameter Set (PPS). Whenever a PPS ID is referred to by a frame, then that particular PPS becomes active and correspondingly the SPS ID referred to by the PPS becomes active too. The the parameters of that particular PPS & SPS is used for decoding of the frame. With reference to my above understanding, my query is that how many such SPS and PPS will be sent in the bitstream before a frame is sent? This becomes an important storage issue for SPS and PPS in hardware implementation. Also I am assuming that the frames sent in decoding order can refer to different PPSs' but should refer to only one SPS? Is my above understanding correct? If not, kindly clarify me on the same and also on the number of SPS and PPS that will be sent before a frame is sent. Thanking you in advance. With Regards, Arjun Majumdar ---------------------------------------------------------------------------- _______________________________________________ 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 ------------------------------------------------------------------------------ _______________________________________________ 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 The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments contained in it. -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090302/baac4374/attachment-0001.html From mp4-tech-owner at lists.mpegif.org Mon Mar 2 04:03:08 2009 From: mp4-tech-owner at lists.mpegif.org (mpegif list admins) Date: Mon, 2 Mar 2009 10:03:08 +0100 Subject: [Mp4-tech] FW: Regarding Sequence Parameter SetandPictureParameter Set (H.264 AVC) Message-ID: <007901c99b15$b60ec6d0$222c5470$@mpegif.org> Forwarding a bounced email from an address that is not subscribed to the list. Adam - Thanks for the post. Can you please send subsequent mails from a subscribed address, or subscribe with your sending address? Thanks. From: Malamy, Adam [mailto:Adam.Malamy at caviumnetworks.com] Sent: Monday, 02 March, 2009 09:10 To: Gary Sullivan; Dzung Hoang; mp4-tech at lists.mpegif.org Subject: RE: [Mp4-tech] Regarding Sequence Parameter SetandPictureParameter Set (H.264 AVC) Hi Gary and Dzung, Thanks for responding. Gary, the answer is, not much memory for the SPS and PPS when compared to the DPB. But the difference is we store the DPB in external DRAM memory while the SPS and PPS parameters are in an on-chip SRAM. Maybe next time if we will need to store them off-chip as well. Dzung, unless I am mistaken, that excerpt you quoted from the spec only covers you up until the next IDR, which could come at any time. -Adam From: Gary Sullivan [mailto:garysull at windows.microsoft.com] Sent: Sunday, March 01, 2009 9:20 PM To: Dzung Hoang; Malamy, Adam; mp4-tech at lists.mpegif.org Subject: RE: [Mp4-tech] Regarding Sequence Parameter Set andPictureParameter Set (H.264 AVC) How much memory is this when compared to the rest of the memory a decoder needs - e.g., for storing decoded pictures? Best Regards, Gary Sullivan _____ From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Dzung Hoang Sent: Sunday, March 01, 2009 8:37 PM To: Adam.Malamy at caviumnetworks.com; mp4-tech at lists.mpegif.org Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) In 7.4.1.2.1, the following sentence pretty much restricts a video sequence to having one SPS. An activated sequence parameter set RBSP shall remain active for the entire coded video sequence. Of course, this does not preclude a bitstream from having 32 SPS's. But it does say that at any time, the decoder only needs to use one set. For the practical purpose of enabling random access, I doubt that there are any real-world application where any active or soon to be active SPS is not transmitted shortly before it is activated. The same argument regarding random access can be made for PPS. Regards, - Dzung Hoang ----- Original Message ----- From: Adam Malamy To: mp4-tech at lists.mpegif.org Sent: Friday, February 27, 2009 7:44 PM Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) Hello experts, No one seems to have picked up on this email thread, but I agree that the 32 possible sps_id's and 256 possible pps_id's create a storage problem for hardware decoder implementations. Our hardware decoder does not store values for 256 pps's, although the issue can be worked around in the support software. This is one of several areas where ease of implementation in hardware was apparently not considered in writing the h.264 spec. My guess is that the 32 and 256 id's for sps and pps were thrown in as 'more than anyone could ever want' and since the arrays are small and won't use much system memory in a software implementation, no effort was made to establish a practical maximum. What is the greatest number of sps and pps id's anyone has seen in a real stream? -Adam Malamy Director of Engineering, Verification Cavium Networks 650-623-3611 From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of arjun majumdar Sent: Sunday, February 22, 2009 10:09 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] Regarding Sequence Parameter Set and Picture Parameter Set (H.264 AVC) Hi Garry Sir, I am highly grateful and thankful to you for your unending support in helping us understanding the standard and in turn implementing the standard in hardware. I want some further conformance on our understanding from you regarding Sequence & Picture Parameter Set This is with reference to H.264 Baseline Decoder that we are implementing in hardware. In the standard it is mentioned that initially no Sequence Parameter Sets (SPS) are active. The same also applies to Picture Parameter Set (PPS). Whenever a PPS ID is referred to by a frame, then that particular PPS becomes active and correspondingly the SPS ID referred to by the PPS becomes active too. The the parameters of that particular PPS & SPS is used for decoding of the frame. With reference to my above understanding, my query is that how many such SPS and PPS will be sent in the bitstream before a frame is sent? This becomes an important storage issue for SPS and PPS in hardware implementation. Also I am assuming that the frames sent in decoding order can refer to different PPSs' but should refer to only one SPS? Is my above understanding correct? If not, kindly clarify me on the same and also on the number of SPS and PPS that will be sent before a frame is sent. Thanking you in advance. With Regards, Arjun Majumdar Image removed by sender. Moneywiz _____ _______________________________________________ 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090302/191a2727/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 823 bytes Desc: not available Url : /pipermail/mp4-tech/attachments/20090302/191a2727/attachment.jpe From dthoang at yahoo.com Mon Mar 2 11:44:07 2009 From: dthoang at yahoo.com (Dzung Hoang) Date: Mon, 2 Mar 2009 10:44:07 -0600 Subject: [Mp4-tech] Regarding Sequence Parameter Set andPictureParameter Set (H.264 AVC) References: <20090222180905.363.qmail@f6mail-144-152.rediffmail.com><49a89707.1d078e0a.66a1.ffffe2fe@mx.google.com> <406D6FEFCBB98643A34170C59E1ABEF31FC19BC5D5@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> <537D689EEF41754A81D3E22923ADFCE6094157@exch4.caveonetworks.com> Message-ID: <9B307FBC85614357ADB12F68A0BF50C5@DZUNGLAPTOP> Just because the standard says there can be up to 32 SPS does not mean there shall be 32. A hardware design, especially an application-specific integrated circuit, should be governed not by the most general use, but by the targetted application it is designed for. A branded application, such as Blu-ray and AVCHD, has its own set of additional contraints which ease the requirements for hardware designs for economic reasons. Afterall, the consumer electronic industry is infamous for squeezing every last dime of cost out of its products. On a more pragmatic note, can you give a good reason why a new video sequence, which begins with an IDR, would be preceeded by more than one SPS, only one of which can be activated during the duration of that video sequence? The reasoning should support random access, which is a key requirement for many real-world applications. Saving bits by transmitting 32 SPS's at the beginning of the stream for the future use of more than 32 video sequences does not qualify as a good reason. Regards, - Dzung Hoang ----- Original Message ----- From: Malamy, Adam To: Gary Sullivan ; Dzung Hoang ; mp4-tech at lists.mpegif.org Sent: Monday, March 02, 2009 2:10 AM Subject: RE: [Mp4-tech] Regarding Sequence Parameter Set andPictureParameter Set (H.264 AVC) Hi Gary and Dzung, Thanks for responding. Gary, the answer is, not much memory for the SPS and PPS when compared to the DPB. But the difference is we store the DPB in external DRAM memory while the SPS and PPS parameters are in an on-chip SRAM. Maybe next time if we will need to store them off-chip as well. Dzung, unless I am mistaken, that excerpt you quoted from the spec only covers you up until the next IDR, which could come at any time. -Adam From: Gary Sullivan [mailto:garysull at windows.microsoft.com] Sent: Sunday, March 01, 2009 9:20 PM To: Dzung Hoang; Malamy, Adam; mp4-tech at lists.mpegif.org Subject: RE: [Mp4-tech] Regarding Sequence Parameter Set andPictureParameter Set (H.264 AVC) How much memory is this when compared to the rest of the memory a decoder needs - e.g., for storing decoded pictures? Best Regards, Gary Sullivan ---------------------------------------------------------------------------- From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Dzung Hoang Sent: Sunday, March 01, 2009 8:37 PM To: Adam.Malamy at caviumnetworks.com; mp4-tech at lists.mpegif.org Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) In 7.4.1.2.1, the following sentence pretty much restricts a video sequence to having one SPS. An activated sequence parameter set RBSP shall remain active for the entire coded video sequence. Of course, this does not preclude a bitstream from having 32 SPS's. But it does say that at any time, the decoder only needs to use one set. For the practical purpose of enabling random access, I doubt that there are any real-world application where any active or soon to be active SPS is not transmitted shortly before it is activated. The same argument regarding random access can be made for PPS. Regards, - Dzung Hoang ----- Original Message ----- From: Adam Malamy To: mp4-tech at lists.mpegif.org Sent: Friday, February 27, 2009 7:44 PM Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) Hello experts, No one seems to have picked up on this email thread, but I agree that the 32 possible sps_id's and 256 possible pps_id's create a storage problem for hardware decoder implementations. Our hardware decoder does not store values for 256 pps's, although the issue can be worked around in the support software. This is one of several areas where ease of implementation in hardware was apparently not considered in writing the h.264 spec. My guess is that the 32 and 256 id's for sps and pps were thrown in as 'more than anyone could ever want' and since the arrays are small and won't use much system memory in a software implementation, no effort was made to establish a practical maximum. What is the greatest number of sps and pps id's anyone has seen in a real stream? -Adam Malamy Director of Engineering, Verification Cavium Networks 650-623-3611 From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of arjun majumdar Sent: Sunday, February 22, 2009 10:09 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] Regarding Sequence Parameter Set and Picture Parameter Set (H.264 AVC) Hi Garry Sir, I am highly grateful and thankful to you for your unending support in helping us understanding the standard and in turn implementing the standard in hardware. I want some further conformance on our understanding from you regarding Sequence & Picture Parameter Set This is with reference to H.264 Baseline Decoder that we are implementing in hardware. In the standard it is mentioned that initially no Sequence Parameter Sets (SPS) are active. The same also applies to Picture Parameter Set (PPS). Whenever a PPS ID is referred to by a frame, then that particular PPS becomes active and correspondingly the SPS ID referred to by the PPS becomes active too. The the parameters of that particular PPS & SPS is used for decoding of the frame. With reference to my above understanding, my query is that how many such SPS and PPS will be sent in the bitstream before a frame is sent? This becomes an important storage issue for SPS and PPS in hardware implementation. Also I am assuming that the frames sent in decoding order can refer to different PPSs' but should refer to only one SPS? Is my above understanding correct? If not, kindly clarify me on the same and also on the number of SPS and PPS that will be sent before a frame is sent. Thanking you in advance. With Regards, Arjun Majumdar -------------------------------------------------------------------------- _______________________________________________ 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090302/fc489cbb/attachment-0001.html From jc-work at uphall.net Mon Mar 2 12:12:03 2009 From: jc-work at uphall.net (John Cox) Date: Mon, 02 Mar 2009 17:12:03 +0000 Subject: [Mp4-tech] Regarding Sequence Parameter Set andPictureParameter Set (H.264 AVC) In-Reply-To: <9B307FBC85614357ADB12F68A0BF50C5@DZUNGLAPTOP> References: <20090222180905.363.qmail@f6mail-144-152.rediffmail.com><49a89707.1d078e0a.66a1.ffffe2fe@mx.google.com> <406D6FEFCBB98643A34170C59E1ABEF31FC19BC5D5@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> <537D689EEF41754A81D3E22923ADFCE6094157@exch4.caveonetworks.com> <9B307FBC85614357ADB12F68A0BF50C5@DZUNGLAPTOP> Message-ID: <6d4oq4l7hj12b11dd6jl9f6perlko7uuqn@4ax.com> Hi all My take on this is that the large number of SPS/PPSs allowed was to accommodate the case where the available SPS & PPSs were agreed beforehand by the application and the numbers just selected from this predefined list which was never transmitted. It does have the unfortunate side effect that the decoder may be required to store a large number of SPS/PPSs. In the decoder I wrote only the active SPS/PPS was held in on chip RAM - all others were held in external RAM and paged in when activated (no great overhead). Regards John Cox >Just because the standard says there can be up to 32 SPS does not mean there shall be 32. A hardware design, especially an application-specific integrated circuit, should be governed not by the most general use, but by the targetted application it is designed for. A branded application, such as Blu-ray and AVCHD, has its own set of additional contraints which ease the requirements for hardware designs for economic reasons. Afterall, the consumer electronic industry is infamous for squeezing every last dime of cost out of its products. > >On a more pragmatic note, can you give a good reason why a new video sequence, which begins with an IDR, would be preceeded by more than one SPS, only one of which can be activated during the duration of that video sequence? The reasoning should support random access, which is a key requirement for many real-world applications. Saving bits by transmitting 32 SPS's at the beginning of the stream for the future use of more than 32 video sequences does not qualify as a good reason. > >Regards, >- Dzung Hoang > > ----- Original Message ----- > From: Malamy, Adam > To: Gary Sullivan ; Dzung Hoang ; mp4-tech at lists.mpegif.org > Sent: Monday, March 02, 2009 2:10 AM > Subject: RE: [Mp4-tech] Regarding Sequence Parameter Set andPictureParameter Set (H.264 AVC) > > > Hi Gary and Dzung, > > > > Thanks for responding. Gary, the answer is, not much memory for the SPS and PPS when compared to the DPB. But the difference is we store the DPB in external DRAM memory while the SPS and PPS parameters are in an on-chip SRAM. Maybe next time if we will need to store them off-chip as well. > > > > Dzung, unless I am mistaken, that excerpt you quoted from the spec only covers you up until the next IDR, which could come at any time. > > > > -Adam > > > > From: Gary Sullivan [mailto:garysull at windows.microsoft.com] > Sent: Sunday, March 01, 2009 9:20 PM > To: Dzung Hoang; Malamy, Adam; mp4-tech at lists.mpegif.org > Subject: RE: [Mp4-tech] Regarding Sequence Parameter Set andPictureParameter Set (H.264 AVC) > > > > > > How much memory is this when compared to the rest of the memory a decoder needs - e.g., for storing decoded pictures? > > > > Best Regards, > > > > Gary Sullivan > > > > >---------------------------------------------------------------------------- > > From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Dzung Hoang > Sent: Sunday, March 01, 2009 8:37 PM > To: Adam.Malamy at caviumnetworks.com; mp4-tech at lists.mpegif.org > Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) > > In 7.4.1.2.1, the following sentence pretty much restricts a video sequence to having one SPS. > > > > An activated sequence parameter set RBSP shall remain active for the entire coded video sequence. > > > > Of course, this does not preclude a bitstream from having 32 SPS's. But it does say that at any time, the decoder only needs to use one set. For the practical purpose of enabling random access, I doubt that there are any real-world application where any active or soon to be active SPS is not transmitted shortly before it is activated. The same argument regarding random access can be made for PPS. > > > > Regards, > > - Dzung Hoang > > > > ----- Original Message ----- > > From: Adam Malamy > > To: mp4-tech at lists.mpegif.org > > Sent: Friday, February 27, 2009 7:44 PM > > Subject: Re: [Mp4-tech] Regarding Sequence Parameter Set and PictureParameter Set (H.264 AVC) > > > > Hello experts, > > > > No one seems to have picked up on this email thread, but I agree that the 32 possible sps_id's and 256 possible pps_id's create a storage problem for hardware decoder implementations. Our hardware decoder does not store values for 256 pps's, although the issue can be worked around in the support software. > > > > This is one of several areas where ease of implementation in hardware was apparently not considered in writing the h.264 spec. My guess is that the 32 and 256 id's for sps and pps were thrown in as 'more than anyone could ever want' and since the arrays are small and won't use much system memory in a software implementation, no effort was made to establish a practical maximum. > > > > What is the greatest number of sps and pps id's anyone has seen in a real stream? > > > > -Adam Malamy > > Director of Engineering, Verification > > Cavium Networks > > 650-623-3611 > > > > > > > > From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of arjun majumdar > Sent: Sunday, February 22, 2009 10:09 AM > To: mp4-tech at lists.mpegif.org > Subject: [Mp4-tech] Regarding Sequence Parameter Set and Picture Parameter Set (H.264 AVC) > > > > Hi Garry Sir, > > I am highly grateful and thankful to you for your unending support in helping us understanding the standard and in turn implementing the standard in hardware. > > I want some further conformance on our understanding from you regarding Sequence & Picture Parameter Set > > This is with reference to H.264 Baseline Decoder that we are implementing in hardware. > > In the standard it is mentioned that initially no Sequence Parameter Sets (SPS) are active. The same also applies to Picture Parameter Set (PPS). Whenever a PPS ID is referred to by a frame, then that particular PPS becomes active and correspondingly the SPS ID referred to by the PPS becomes active too. The the parameters of that particular PPS & SPS is used for decoding of the frame. > > With reference to my above understanding, my query is that how many such SPS and PPS will be sent in the bitstream before a frame is sent? > This becomes an important storage issue for SPS and PPS in hardware implementation. Also I am assuming that the frames sent in decoding order can refer to different PPSs' but should refer to only one SPS? > > Is my above understanding correct? If not, kindly clarify me on the same and also on the number of SPS and PPS that will be sent before a frame is sent. > > Thanking you in advance. > > With Regards, > Arjun Majumdar > > > > > > > >-------------------------------------------------------------------------- > > _______________________________________________ > 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 tommytrue at gmail.com Mon Mar 2 13:21:34 2009 From: tommytrue at gmail.com (Tom Winter) Date: Mon, 2 Mar 2009 10:21:34 -0800 Subject: [Mp4-tech] Interlaced Downsampling tool Message-ID: Hi, I am looking for a down sampling tool which can handle interlaced video , I do have one from SVC codec but it supports only progressive. Any suggestions/help are appreciated. Thanks -- Tom Winter , Graduate Student , UNC Charlotte -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090302/2bc82fdb/attachment.html From dthoang at yahoo.com Mon Mar 2 17:23:19 2009 From: dthoang at yahoo.com (Dzung Hoang) Date: Mon, 2 Mar 2009 16:23:19 -0600 Subject: [Mp4-tech] Interlaced Downsampling tool References: Message-ID: Here's a trick that might work with your existing tool. First downsample in the horizontal direction. For vertical downsampling, specify source and destination widths to be twice the original values. Specify height to be half of the original. In effect you are placing the fields side-by-side and downsampling them at the same time. Regards, - Dzung Hoang ----- Original Message ----- From: Tom Winter To: mp4-tech at lists.mpegif.org Sent: Monday, March 02, 2009 12:21 PM Subject: [Mp4-tech] Interlaced Downsampling tool Hi, I am looking for a down sampling tool which can handle interlaced video , I do have one from SVC codec but it supports only progressive. Any suggestions/help are appreciated. Thanks -- Tom Winter , Graduate Student , UNC Charlotte ------------------------------------------------------------------------------ _______________________________________________ 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090302/de353fbf/attachment.html From mrison at hotmail.com Mon Mar 2 19:41:12 2009 From: mrison at hotmail.com (Mark RISON) Date: Tue, 3 Mar 2009 00:41:12 +0000 Subject: [Mp4-tech] [audio; system] "Interesting" MPEG files In-Reply-To: References: Message-ID: >> Can anyone point me at any examples of the following types of file? >> - MP4 files with just one track, which has a streamType of 0x05, but >> whose chunks are not contiguous (i.e. no gaps between chunks) or >> not monotonic (i.e. chunk offsets always increasing) > easily made by taking a two-or-more-track file, and changing the box > type of the second track from 'trak' to 'free'. Ah, no, I was specifically looking for a file which really only had one track. >> - MP4 files with co64 and/or stz2 boxes > stz2: supported by the ref s/w, files 2 and 4 from ENST in the conformance set > co64: supported by the ref s/w, file a11 in the conformance set >> - MP4 files with 64-bit-length boxes > file a11 in the conformance set >> - MP4 files with "to EOF"-length boxes > file a7 in the conformance set Thanks for the tip-off. I've now had a look at http://standards.iso.org/ittf/PubliclyAvailableStandards/c046294_ISO_IEC_14496-4_2004_Amd_24_2008_Conformance_Testing.zip and it does indeed seem to provide examples of the various things I was after. However, it leads me to a few questions: - in 01_simple.mp4, whose objectTypeIndication is 0x67 == MPEG-2 AAC LC, I just can't work out how the decSpecificInfo works. It appears to be the 32 bits 05021390, but this is not a valid ADIF header (for one, an ADIF header is much longer, even if you disregard the "ADIF" signature). - in timed-metadata.mp4, whose objectTypeIndication is 0x40 == MPEG-4 AAC, there doesn't seem to be a decSpecificInfo at all. - in 10_fragments.mp4 there seem to be stts/sc/sz/co boxes with a count of 0. - in 02_dref_edts_img.mp4 there seems to be an stz2 with an entry giving a sample size of 0. Are any/all of these legitimate? >> - ADTS files with a channel configuration of 0 (i.e. to find out >> channel configuration need to find first ADTS frame whose first >> element is a PCE) Mark -- CPC/IP - A TCP/IP stack for Amstrad CPCs -- http://www.cepece.info/cpcip/ "Z88 vs CPC? Christ. How did we miss that platform war?" -- http://www.ntk.net/index.cgi?b=02000-01-28&l=111#l _________________________________________________________________ View your Twitter and Flickr updates from one place ? Learn more! http://clk.atdmt.com/UKM/go/137984870/direct/01/ From singer at apple.com Mon Mar 2 19:49:48 2009 From: singer at apple.com (David Singer) Date: Mon, 2 Mar 2009 16:49:48 -0800 Subject: [Mp4-tech] [audio; system] "Interesting" MPEG files In-Reply-To: References: Message-ID: At 0:41 +0000 3/03/09, Mark RISON wrote: > >> Can anyone point me at any examples of the following types of file? >>> - MP4 files with just one track, which has a streamType of 0x05, but >>> whose chunks are not contiguous (i.e. no gaps between chunks) or >>> not monotonic (i.e. chunk offsets always increasing) >> easily made by taking a two-or-more-track file, and changing the box >> type of the second track from 'trak' to 'free'. > >Ah, no, I was specifically looking for a file which really only had >one track. which is what you get if you change a trak to free (in a hex editor). any movie-reading code will see only one track. for the below, we'll take a look. > >>> - MP4 files with co64 and/or stz2 boxes >> stz2: supported by the ref s/w, files 2 and 4 from ENST in the >>conformance set >> co64: supported by the ref s/w, file a11 in the conformance set >>> - MP4 files with 64-bit-length boxes >> file a11 in the conformance set >>> - MP4 files with "to EOF"-length boxes >> file a7 in the conformance set > >Thanks for the tip-off. I've now had a look at >http://standards.iso.org/ittf/PubliclyAvailableStandards/c046294_ISO_IEC_14496-4_2004_Amd_24_2008_Conformance_Testing.zip >and it does indeed seem to provide examples of the various things I >was after. > >However, it leads me to a few questions: > >- in 01_simple.mp4, whose objectTypeIndication is 0x67 == MPEG-2 AAC >LC, I just can't work out how the decSpecificInfo works. It appears >to be the 32 bits 05021390, but this is not a valid ADIF header (for >one, an ADIF header is much longer, even if you disregard the "ADIF" >signature). > >- in timed-metadata.mp4, whose objectTypeIndication is 0x40 == MPEG-4 >AAC, there doesn't seem to be a decSpecificInfo at all. > >- in 10_fragments.mp4 there seem to be stts/sc/sz/co boxes with a >count of 0. > >- in 02_dref_edts_img.mp4 there seems to be an stz2 with an entry >giving a sample size of 0. > >Are any/all of these legitimate? > >>> - ADTS files with a channel configuration of 0 (i.e. to find out >>> channel configuration need to find first ADTS frame whose first >>> element is a PCE) > >Mark > >-- >CPC/IP - A TCP/IP stack for Amstrad CPCs >-- http://www.cepece.info/cpcip/ >"Z88 vs CPC? Christ. How did we miss that platform war?" >-- http://www.ntk.net/index.cgi?b=02000-01-28&l=111#l > > >_________________________________________________________________ >View your Twitter and Flickr updates from one place - Learn more! >http://clk.atdmt.com/UKM/go/137984870/direct/01/ -- David Singer Multimedia Standards, Apple Inc. From jwjuleswinn at gmail.com Tue Mar 3 17:14:34 2009 From: jwjuleswinn at gmail.com (Jules Winnfield) Date: Tue, 3 Mar 2009 14:14:34 -0800 Subject: [Mp4-tech] H.264-AVC encoder software Message-ID: <1a36fbc50903031414u17ce1141ue424a05b9921308d@mail.gmail.com> Hi, We are looking to buy H.264-AVC encoder software for our embedded product. Essentially what we are hoping to buy is a well-written, high performance AVC-High profile encoder which can handle upto 1080P inputs. We would take this code (presumably, written in C) to adapt it to our architecture/product. Any pointers to vendors with good solutions? Thanks for this information. Jules -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090303/ae46193d/attachment.html From liaokek at yahoo.com.cn Wed Mar 4 03:12:54 2009 From: liaokek at yahoo.com.cn (ke liao) Date: Wed, 4 Mar 2009 16:12:54 +0800 (CST) Subject: [Mp4-tech] Lossless video coding Message-ID: <394958.74426.qm@web15801.mail.cnb.yahoo.com> Dear Shevach Riabtsev, ?????? I want to know whether the High 4:4:4 profile support the lossless compressing, not the nearly lossless compressing. I know the motion-JPEG2k can do it. Does any profile of H.264 support this? ? ????? Thanks. ? Ke Liao, ___________________________________________________________ ????????????????? http://card.mail.cn.yahoo.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090304/fb3efbd2/attachment.html From Shevach.Riabtsev at zoran.com Thu Mar 5 02:54:28 2009 From: Shevach.Riabtsev at zoran.com (Shevach Riabtsev) Date: Thu, 5 Mar 2009 09:54:28 +0200 Subject: [Mp4-tech] Lossless video coding In-Reply-To: <91C4B16D6D58C541BF2F841D27F82536F88E44@zmlex.zml.zoran.com> References: <91C4B16D6D58C541BF2F841D27F82536F88E44@zmlex.zml.zoran.com> Message-ID: <91C4B16D6D58C541BF2F841D27F82536F88E51@zmlex.zml.zoran.com> Dear Ke Liao High 4:4:4 profile indeed supports lossless (not nearly) compression. To apply lossless compression you should disable deblocking filtering, set qpprime_y_zero_transform_bypass_flag=1 and enforce QP=0 for each MB. Unfortunately lossless compression is permitted only for High 4:4:4 profile since the syntax element qpprime_y_zero_transform_bypass_flag shall equal to zero (see Annex A). I brought up the similar issue on the forum several months ago - how to achieve lossless compression or coding. I wonder why H.264 standard designers didn't insert lossless compression tools in more popular profiles (e.g. Main profile). I hope Gary would provide an elaborate answer. The only lossless tool available for non High4:4:4 profiles is I_PCM mode. It is worth mentioning that with I_PCM you can't achieve compression. Moreover the standard says: "When profile_idc is not equal to 100, 110, 122, or 144, pcm_sample_luma[ i ] shall not be equal to 0." So, if input raw data contain zero samples then I_PCM mode can't be used. Hence I_PCM provides near-lossless coding. Regards Shevach Riabtsev Zoran, Israel Dear Shevach Riabtsev, I want to know whether the High 4:4:4 profile support the lossless compressing, not the nearly lossless compressing. I know the motion-JPEG2k can do it. Does any profile of H.264 support this? Thanks. Ke Liao, -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090305/c86450df/attachment.html From ralph.sperschneider at iis.fraunhofer.de Thu Mar 5 05:56:07 2009 From: ralph.sperschneider at iis.fraunhofer.de (Ralph Sperschneider) Date: Thu, 05 Mar 2009 11:56:07 +0100 Subject: [Mp4-tech] [audio; system] What if PCE disagrees with MP4/ADTS header? In-Reply-To: References: Message-ID: <49AFAFC7.5080406@iis.fraunhofer.de> Mark RISON wrote: > In the case of MP4, what happens if the audioObjectType or > samplingFrequencyIndex in the DecoderSpecificInfo for MPEG-4 AAC files > differ from the object_type or sampling_frequency_index in the PCE at > the end of the GASpecificConfig, where the channelConfiguration is 0? > Which one wins? > > Ditto ADTS. > > Mark > > Marc, this looks to me like an invalid configuration. Ralph -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From mrison at hotmail.com Thu Mar 5 10:09:47 2009 From: mrison at hotmail.com (Mark RISON) Date: Thu, 5 Mar 2009 15:09:47 +0000 Subject: [Mp4-tech] [audio; system] What if PCE disagrees with MP4/ADTS header? In-Reply-To: <49AFAFC7.5080406@iis.fraunhofer.de> References: <49AFAFC7.5080406@iis.fraunhofer.de> Message-ID: >> In the case of MP4, what happens if the audioObjectType or >> samplingFrequencyIndex in the DecoderSpecificInfo for MPEG-4 AAC files >> differ from the object_type or sampling_frequency_index in the PCE at >> the end of the GASpecificConfig, where the channelConfiguration is 0? >> Which one wins? >> Ditto ADTS. > this looks to me like an invalid configuration. OK, well what about the following files in 14496-4-A24: a9-aac-samplegroups-edit.mp4 a7-tone-oddities.mp4 a4-tone-fragmented.mp4 a6_tone_multifile.mp4 a3b-tone-deprot.mp4 LargerThan4GB.mp4 ? They all seem to have an audioObjectType of LC in the DSI, but an object_type of SSR in the PCE. [I also note that they seem to have "dribble" after the PCE.] Mark -- CPC/IP - A TCP/IP stack for Amstrad CPCs -- http://www.cepece.info/cpcip/ "Z88 vs CPC? Christ. How did we miss that platform war?" -- http://www.ntk.net/index.cgi?b=02000-01-28&l=111#l _________________________________________________________________ 25GB of FREE Online Storage ? Find out more http://clk.atdmt.com/UKM/go/134665320/direct/01/ From sbaillouaac at gmail.com Thu Mar 5 09:13:07 2009 From: sbaillouaac at gmail.com (=?ISO-8859-1?Q?S=E9bastien_Baillou?=) Date: Thu, 05 Mar 2009 15:13:07 +0100 Subject: [Mp4-tech] [AAC]Conformance files with a framelength of 960 samples. Message-ID: <49AFDDF3.8070407@gmail.com> Hi everyone, I am new to the world of mailing lists and AAC, so I hope I am not making any mistakes in posting here. I am currently writing a reference implementation of an HE-AAC v2 decoder, but everytime, I am facing the same problem : where to find conformance files to test the new additions to my decoder. I usually managed to create files that I could use with FAAC/Nero encoder or just use the files provided by ISO (ftp://mpaudconf:adif2mp4 at ftp.iis.fhg.de/mpeg4audio-conformance/). Unfortunately, it looks like there is no way for me to find *simple* files with a framelength of 960 samples. Indeed, I do have some files with a 960 framelength (al960_sbr_e_44_1.mp4 and its friends...) but they contain SBR data, which my decoder doesn't support yet. I would be very grateful if anyone could point me to some files with these characteristics, or tell me how I could create them. Thanks in advance. Yours, S?bastien. PS : One more thing, I am also looking for files using PNS on channel_pair_element, where "the same scalefactor band is coded by PNS in both channels" (cf. ISO standard). From ralph.sperschneider at iis.fraunhofer.de Thu Mar 5 11:52:32 2009 From: ralph.sperschneider at iis.fraunhofer.de (Ralph Sperschneider) Date: Thu, 05 Mar 2009 17:52:32 +0100 Subject: [Mp4-tech] [audio; system] What if PCE disagrees with MP4/ADTS header? In-Reply-To: References: <49AFAFC7.5080406@iis.fraunhofer.de> Message-ID: <49B00350.2060803@iis.fraunhofer.de> Mark RISON wrote: >>> In the case of MP4, what happens if the audioObjectType or >>> samplingFrequencyIndex in the DecoderSpecificInfo for MPEG-4 AAC files >>> differ from the object_type or sampling_frequency_index in the PCE at >>> the end of the GASpecificConfig, where the channelConfiguration is 0? >>> Which one wins? >>> Ditto ADTS. >>> >> this looks to me like an invalid configuration. >> > > OK, well what about the following files in 14496-4-A24: > a9-aac-samplegroups-edit.mp4 > a7-tone-oddities.mp4 > a4-tone-fragmented.mp4 > a6_tone_multifile.mp4 > a3b-tone-deprot.mp4 > LargerThan4GB.mp4 > ? > > They all seem to have an audioObjectType of LC in the DSI, but an > object_type of SSR in the PCE. > > [I also note that they seem to have "dribble" after the PCE.] > > Mark > > I am not familiar with these files, but if your observation is true than this looks as it would need to be corrected. I assume you have noticed that the encoding is different in the PCE: 0 - AAC Main 1 - AAC LC 2 - AAC SSR 3 - AAC LTP whereas it is in the ASC: 1 - AAC Main 2 - AAC LC 3 - AAC SSR 4 - AAC LTP So if "2" is used in both cases (as your observation indicates), the encoder implementation being used to generate these sequences might have had a little shortcoming. Best, Ralph -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From dthoang at yahoo.com Thu Mar 5 13:13:54 2009 From: dthoang at yahoo.com (Dzung Hoang) Date: Thu, 5 Mar 2009 10:13:54 -0800 Subject: [Mp4-tech] Lossless video coding References: <91C4B16D6D58C541BF2F841D27F82536F88E44@zmlex.zml.zoran.com> <91C4B16D6D58C541BF2F841D27F82536F88E51@zmlex.zml.zoran.com> Message-ID: <7F40CD8E6EBA4192AFC1EB4EB1300A9A@DZUNGLAPTOP> A mass-market CE device that needs highly-compressed low-bit-rate video should not be burdened with providing lossless compression. IMHO, this is the main and most important reason for the profile restriction. If your market needs lossless compression, use High 4:4:4 profile. One can ask similar questions about other coding tools and profile restrictions. For example, why are CABAC and B-slices not supported in Baseline profile? Why is ASO not supported in Main profile? And so on... Regards, - Dzung Hoang ----- Original Message ----- From: Shevach Riabtsev To: mp4-tech at lists.mpegif.org Sent: Wednesday, March 04, 2009 11:54 PM Subject: Re: [Mp4-tech] Lossless video coding Dear Ke Liao High 4:4:4 profile indeed supports lossless (not nearly) compression. To apply lossless compression you should disable deblocking filtering, set qpprime_y_zero_transform_bypass_flag=1 and enforce QP=0 for each MB. Unfortunately lossless compression is permitted only for High 4:4:4 profile since the syntax element qpprime_y_zero_transform_bypass_flag shall equal to zero (see Annex A). I brought up the similar issue on the forum several months ago - how to achieve lossless compression or coding. I wonder why H.264 standard designers didn't insert lossless compression tools in more popular profiles (e.g. Main profile). I hope Gary would provide an elaborate answer. The only lossless tool available for non High4:4:4 profiles is I_PCM mode. It is worth mentioning that with I_PCM you can't achieve compression. Moreover the standard says:"When profile_idc is not equal to 100, 110, 122, or 144, pcm_sample_luma[ i ] shall not be equal to 0." So, if input raw data contain zero samples then I_PCM mode can't be used. Hence I_PCM provides near-lossless coding. Regards Shevach RiabtsevZoran, Israel Dear Shevach Riabtsev, I want to know whether the High 4:4:4 profile support the lossless compressing, not the nearly lossless compressing. I know the motion-JPEG2k can do it. Does any profile of H.264 support this? Thanks. Ke Liao, ------------------------------------------------------------------------------ _______________________________________________ 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090305/1f3af61f/attachment.html From mrison at hotmail.com Thu Mar 5 17:42:00 2009 From: mrison at hotmail.com (Mark RISON) Date: Thu, 5 Mar 2009 22:42:00 +0000 Subject: [Mp4-tech] [audio; system] What if PCE disagrees with MP4/ADTS header? In-Reply-To: <49B00350.2060803@iis.fraunhofer.de> References: <49AFAFC7.5080406@iis.fraunhofer.de> <49B00350.2060803@iis.fraunhofer.de> Message-ID: >> OK, well what about the following files in 14496-4-A24: >> a9-aac-samplegroups-edit.mp4 [...] ? >> They all seem to have an audioObjectType of LC in the DSI, but an >> object_type of SSR in the PCE. > I am not familiar with these files, but if your observation is true than > this looks as it would need to be corrected. > I assume you have noticed that the encoding is different in the PCE: > [...] 2 - AAC SSR [...] > whereas it is in the ASC: > [...] 2 - AAC LC [...] > So if "2" is used in both cases (as your observation indicates), the > encoder implementation being used to generate these sequences might have > had a little shortcoming. Ah, of course! Why didn't I think of that? Does the MPEG WG maintain anything like a list of known spec issues (including with the 14496-4/5 reference files)? Is there any kind of process/schedule for getting issues with the reference files addressed (with updates where appropriate)? Mark -- CPC/IP - A TCP/IP stack for Amstrad CPCs -- http://www.cepece.info/cpcip/ "Z88 vs CPC? Christ. How did we miss that platform war?" -- http://www.ntk.net/index.cgi?b=02000-01-28&l=111#l _________________________________________________________________ View your Twitter and Flickr updates from one place ? Learn more! http://clk.atdmt.com/UKM/go/137984870/direct/01/ From ralph.sperschneider at iis.fraunhofer.de Fri Mar 6 03:57:20 2009 From: ralph.sperschneider at iis.fraunhofer.de (Ralph Sperschneider) Date: Fri, 06 Mar 2009 09:57:20 +0100 Subject: [Mp4-tech] [audio; system] What if PCE disagrees with MP4/ADTS header? In-Reply-To: References: <49AFAFC7.5080406@iis.fraunhofer.de> <49B00350.2060803@iis.fraunhofer.de> Message-ID: <49B0E570.5080201@iis.fraunhofer.de> Mark RISON wrote: >>> OK, well what about the following files in 14496-4-A24: >>> a9-aac-samplegroups-edit.mp4 [...] ? >>> They all seem to have an audioObjectType of LC in the DSI, but an >>> object_type of SSR in the PCE. >>> >> I am not familiar with these files, but if your observation is true than >> this looks as it would need to be corrected. >> I assume you have noticed that the encoding is different in the PCE: >> [...] 2 - AAC SSR [...] >> whereas it is in the ASC: >> [...] 2 - AAC LC [...] >> So if "2" is used in both cases (as your observation indicates), the >> encoder implementation being used to generate these sequences might have >> had a little shortcoming. >> > > Ah, of course! Why didn't I think of that? > > Does the MPEG WG maintain anything like a list of known spec issues > (including with the 14496-4/5 reference files)? Is there any kind of > process/schedule for getting issues with the reference files > addressed (with updates where appropriate)? > The usual way to fix those issues is to issue a corrigendum. Since this is an issue regarding an Amd on the file format (ISO/IEC 14496-4:2004/Amd.24:2008), I guess good contacts would be Dave or the editor of this Amd (Michael Ransburg). Dave - am I write? Best regards, Ralph -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From froghila at gmail.com Fri Mar 6 02:06:25 2009 From: froghila at gmail.com (Fabi) Date: Thu, 5 Mar 2009 23:06:25 -0800 Subject: [Mp4-tech] A/V synchronization over network Message-ID: <2bf3a94b0903052306oaeb54qb2aec984e52ce702@mail.gmail.com> Dear all, I'm working on a prototype device that in essence allows streaming audio over IP. The receiving side, the PC, is required to synchronize these audio packets with video packets coming from an IP camera which we don't own. The big question is how can I synchronize the audio coming from our device against the video packets coming from this camera. I know IP cameras supports NTP time synchronization as well as setting a PC clock. If I understand this correctly, the camera will periodically query the NTP server for clock, where in the case of the PC the time is periodically pushed onto the camera. Since lip-sync is noticeable starting at just over 20ms, I'm afraid that regardless of whether we will use NTP or the PC clock to synchronize both the mic and the camera, we will still see lip-sync. The chosen encoding solution is AAC over an MP4 container. I'm curious to what other people's approch to this problem space is. Thanks, Alex -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090305/3565d5c3/attachment-0001.html From lukinus at gmail.com Fri Mar 6 10:59:52 2009 From: lukinus at gmail.com (Luca) Date: Fri, 6 Mar 2009 16:59:52 +0100 Subject: [Mp4-tech] Streaming H.264 sequences encoded with the JM Message-ID: <2ee588b80903060759k62937f97kc5cf30ea8c5bbec2@mail.gmail.com> Dear Experts, I am trying to stream (using VLC) H.264 encoded sequences (using the JM). The sequences were encoded with the size of the NALUs limited to 750 Bytes in AnnexB format, since it looks like that VLC is not able to play sequences in RTP format. However, i realized that the size of the RTP packets produced by VLC is fixed and equal to 1344 Bytes. I would like to ask you if you are aware of a possibilty of making the RTP payload size not fixed but rather equal to the NALU size using VLC (or, if necessary VLS or Darwin). Thank you in advance for your help! Best Regards, Luca From singer at apple.com Fri Mar 6 12:37:51 2009 From: singer at apple.com (David Singer) Date: Fri, 6 Mar 2009 09:37:51 -0800 Subject: [Mp4-tech] [audio; system] What if PCE disagrees with MP4/ADTS header? In-Reply-To: <49B0E570.5080201@iis.fraunhofer.de> References: <49AFAFC7.5080406@iis.fraunhofer.de> <49B00350.2060803@iis.fraunhofer.de> <49B0E570.5080201@iis.fraunhofer.de> Message-ID: At 9:57 +0100 6/03/09, Ralph Sperschneider wrote: >Mark RISON wrote: >>>>OK, well what about the following files in 14496-4-A24: >>>>a9-aac-samplegroups-edit.mp4 [...] ? >>>>They all seem to have an audioObjectType of LC in the DSI, but an >>>>object_type of SSR in the PCE. >>>> >>>I am not familiar with these files, but if your observation is >>>true than this looks as it would need to be corrected. >>>I assume you have noticed that the encoding is different in the PCE: >>>[...] 2 - AAC SSR [...] >>>whereas it is in the ASC: >>>[...] 2 - AAC LC [...] >>>So if "2" is used in both cases (as your observation indicates), >>>the encoder implementation being used to generate these sequences >>>might have had a little shortcoming. >>> >> >>Ah, of course! Why didn't I think of that? >> >>Does the MPEG WG maintain anything like a list of known spec issues >>(including with the 14496-4/5 reference files)? Is there any kind of >>process/schedule for getting issues with the reference files >>addressed (with updates where appropriate)? >> > >The usual way to fix those issues is to issue a corrigendum. Since >this is an issue regarding an Amd on the file format (ISO/IEC >14496-4:2004/Amd.24:2008), I guess good contacts would be Dave or >the editor of this Amd (Michael Ransburg). > >Dave - am I write? you are right. these files were made with the file format sample code, which has a 'hard-coded' audio config in it, made many years ago, and apparently contains this error. > >Best regards, >Ralph > >-- >Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 >Fraunhofer IIS | Fax: +49 9131 776 6099 >Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de >D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ -- David Singer Multimedia Standards, Apple Inc. From zytttw at mail.ustc.edu.cn Sun Mar 8 23:54:10 2009 From: zytttw at mail.ustc.edu.cn (tao wei) Date: Mon, 09 Mar 2009 11:54:10 +0800 Subject: [Mp4-tech] how long the codelength of CAVLC in 12bits(4:4:4) Message-ID: <436570850.09391@ustc.edu.cn> Dear Experts, I am Tao Wei,i want to ask a question about CAVLC in the profile of Fidelity Range Extension(FRExt) especially the bit width is 12bits (4:4:4).Then, the codelength of the output of CAVLC maybe large than 32 bits (prefix large than 15).So, i want to know how long the codelength may be in this condition. I want to use hardware to implement it, so i need know the bitwidth of the codelength thanks very much!!! ------------------------------ ????(Tao Wei) Email:zytttw at mail.ustc.edu.cn Tel:136-05601390 From alex.converse at gmail.com Mon Mar 9 16:20:53 2009 From: alex.converse at gmail.com (Alex Converse) Date: Mon, 9 Mar 2009 16:20:53 -0400 Subject: [Mp4-tech] [Audio] Determining the speaker configuration for 5.1 files with 5 front channels Message-ID: How do I determine a channel to speaker mapping for files with channel_config=0 with unusual channel groupings? For instance: al15_48 has Front Channels: SCE[0] CPE[0] CPE[1] and LFE: LFE[0]. My guess would be: front center, front left/right, front left/right of center, lfe. Decoding the file to wav gives me 5 front channels and 1 lfe: ref_f00.wav ref_f01.wav ref_f02.wav ref_f03.wav ref_f04.wav ref_l00.wav However when converting this file to ADTS with the refsoft adif2mp4 It gives me a file with channel_configuration=6. ISO 14496-3:2005 Table 1.17 tells me that for channel_configuration 6, the second CPE maps to rear speakers. However decoding this ADTS file still gives me 5 front channels and 1 lfe: ref_f00.wav ref_f01.wav ref_f02.wav ref_f03.wav ref_f04.wav ref_l00.wav All refsoft used mentioned is 14496-5:2001/Amd.20:2009 with isolibjan08b.tar.gz Any insight would be appreciated. Thanks, Alex Converse From alex.converse at gmail.com Mon Mar 9 16:44:24 2009 From: alex.converse at gmail.com (Alex Converse) Date: Mon, 9 Mar 2009 16:44:24 -0400 Subject: [Mp4-tech] [audio][refsoft] adif2mp4 behavior change in Amd20, mangles conformance streams Message-ID: Dear Experts, I've noticed a disturbing change in behavior of the adif2mp4 reference program in Amd.20. Prior to Amd.20 when remuxing an mp4 file to ADTS with channel_configuration = 0, the output ADTS had channel configuration 0 and the PCE was copied from the GASpecifiConfig() to the front of the first RDB. Amd.20 changed this behavior and now adif2mp4 tries to reinterpret the PCE into a numeric channel_configuration. This is fine for simple mono and stereo streams but for more complex files there is a lot of trouble. For instance the al17_*.mp4 conformance files have two SCEs that switch order back and forth. Converting these files to ADTS then decoding the ADTS versions to wav (all with the reference software) gives lots of errors and a severely truncated output file. $ adif2mp4 -vbr mpeg4audio-conformance/compressedMp4/al17_44.mp4 al17_44.adts creating output bitstream with variable bitrate End of bitstream INPUT: used bitrate was: 128000 bit/s (avgFrameLen 2972.15 bit) change with '-bi' accurate : 127999 bit/s (avgFrameLen 2972.13 bit) OUTPUT: used bitrate was: --variable-- change with '-b' accurate : 128000 bit/s (avgFrameLen 2972.15 bit) proposing : 128384 bit/s (avgFrameLen 2981.07 bit) used max bitrate: 128000 bit/s (FrameLen 2972.15 bit) proposing : 144359 bit/s (FrameLen 3352.01 bit) problems: no problems found $ ../14496-5/x86/mpeg4audio/bin/mp4mcDec/Linux_isomp4_sbr_ps_AFsp_gcc_O0d/mp4audec_mc -Dh al17_44.adts ref.wav Non meaningfull window sequence transistion Channel configuration inconsistency Channel 0 present 1 0 cpe 0 0 ch_is_left 0 0 paired_ch 0 0 Channel 1 present 1 1 cpe 0 0 ch_is_left 0 0 paired_ch 0 0 Channel 2 present 0 1 cpe 0 0 ch_is_left 0 0 paired_ch 0 0 Channel 3 present 0 0 cpe 0 0 ch_is_left 0 0 paired_ch 0 0 [repeat Channel 3's info for channels 4-50] Regards, Alex Converse P.S. Two words are misspelled in "Non meaningfull window sequence transistion" From mrison at hotmail.com Mon Mar 9 20:34:15 2009 From: mrison at hotmail.com (Mark RISON) Date: Tue, 10 Mar 2009 00:34:15 +0000 Subject: [Mp4-tech] [system] [audio] syncExtensionType stuff Message-ID: It is my understanding that for MPEG-4 AAC DecoderSpecificInfos (objectTypeIndication == 0x40) after the GASpecificConfig() comes an optional extension: if (extensionAudioObjectType != 5 && bits_to_decode()>= 16) { syncExtensionType; if (syncExtensionType == 0x2b7) { extensionAudioObjectType; if (extensionAudioObjectType == 5) { sbrPresentFlag; if (sbrPresentFlag == 1) { extensionSamplingFrequencyIndex; if (extensionSamplingFrequencyIndex == 15) { extensionSamplingFrequency; } if (bits_to_decode()>= 12) { syncExtensionType; if (syncExtensionType == 0x548) { psPresentFlag; } } } } } } This leads me to the following questions: - Why does the first if() not also check that extensionAudioObjectType isn't 29 (PS), only 5 (SBR)? Is it legal to have an extensionAudioObjectType of 29 before the GASpecificConfig() followed by another extension after it? If so, then what if the extensionSamplingFrequencyIndexes differ? What if psPresentFlag is set to 0 after the GASpecificConfig()? - What happens if the (first) syncExtensionType isn't 0x2b7, or the extensionAudioObjectType isn't 5, or the second syncExtensionType, where present, isn't 0x548? Does this need to be interpreted as "an extension you don't know about -- ignore it"? Mark -- CPC/IP - A TCP/IP stack for Amstrad CPCs -- http://www.cepece.info/cpcip/ "Z88 vs CPC? Christ. How did we miss that platform war?" -- http://www.ntk.net/index.cgi?b=02000-01-28&l=111#l _________________________________________________________________ View your Twitter and Flickr updates from one place ? Learn more! http://clk.atdmt.com/UKM/go/137984870/direct/01/ From hsanson at gmail.com Tue Mar 10 11:19:11 2009 From: hsanson at gmail.com (Horacio Sanson) Date: Wed, 11 Mar 2009 00:19:11 +0900 Subject: [Mp4-tech] Streaming H.264 sequences encoded with the JM In-Reply-To: <2ee588b80903060759k62937f97kc5cf30ea8c5bbec2@mail.gmail.com> References: <2ee588b80903060759k62937f97kc5cf30ea8c5bbec2@mail.gmail.com> Message-ID: <6156dd8b0903100819y799368f9jf76728821394e434@mail.gmail.com> Dear Luca, RTP packets will we created according to the network path Maximum Transfer Unit size (MTU) that for ethernet networks is usually around 1500 bytes. This is why VLC creates RTP packets of approximately 1344 bytes. If you NAL units are limited to 750 bytes this means that VLC is fitting several such NAL units in each RTP packet. This of course is done for efficiency and sending one NAL unit per RTP packet is not recommended. But if you really want to create RTP packets of lower size can create an MP4 file and hint it using the MP4Box tool that comes with gpac-tools. Using MP4Box you can set the MTU size of the hint track. Don't know about VLC but you can use Darwin to stream such hinted MP4 file. regards, Horacio On Sat, Mar 7, 2009 at 12:59 AM, Luca wrote: > Dear Experts, > > I am trying to stream (using VLC) H.264 encoded sequences (using the > JM). The sequences were encoded with the size of the NALUs limited to > 750 Bytes in AnnexB format, since it looks like that VLC is not able > to play sequences in RTP format. > > However, i realized that the size of the RTP packets produced by VLC > is fixed and equal to 1344 Bytes. > > I would like to ask you if you are aware of a possibilty of making the > RTP payload size not fixed but rather equal to the NALU size using VLC > (or, if necessary VLS or Darwin). > > Thank you in advance for your help! > > Best Regards, > > Luca > _______________________________________________ > 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 lukinus at gmail.com Tue Mar 10 13:38:28 2009 From: lukinus at gmail.com (Luca) Date: Tue, 10 Mar 2009 18:38:28 +0100 Subject: [Mp4-tech] Mp4-tech Digest, Vol 68, Issue 14 In-Reply-To: References: Message-ID: <2ee588b80903101038m3d927722mbd24ed431c8d0f36@mail.gmail.com> > Dear Luca, > > RTP packets will we created according to the network path Maximum > Transfer Unit size (MTU) that for ethernet networks is usually around > 1500 bytes. This is why VLC creates RTP packets of approximately 1344 > bytes. If you NAL units are limited to 750 bytes this means that VLC > is fitting several such NAL units in each RTP packet. This of course > is done for efficiency and sending one NAL unit per RTP packet is not > recommended. > > But if you really want to create RTP packets of lower size can create > an MP4 file and hint it using the MP4Box tool that comes with > gpac-tools. Using MP4Box you can set the MTU size of the hint track. > > Don't know about VLC but you can use Darwin to stream such hinted MP4 file. > > regards, > Horacio Dear Horacio, thank you very much for your answer. I agree with your reasoning. Still, my NALU size was limited to 750 Bytes, and, also neglecting the overhead, 750*2 > 1344. Is VLC truncating NALUs? Or let me place the question in another form: when streaming, does VLC recognize the different NALUs? I repeat, I am using the AnnexB format. Best Regards, Luca. From mrison at hotmail.com Tue Mar 10 16:20:22 2009 From: mrison at hotmail.com (Mark RISON) Date: Tue, 10 Mar 2009 20:20:22 +0000 Subject: [Mp4-tech] [system] [mp4ff] Malformed meta/xml boxes in reference files Message-ID: Sorry to keep banging on about these kinds of details, but I seem to have come across some more oddities in the reference files: In mpeg4audio-conformance/compressedMp4/ the l3_10207.mp4 and l3_10501.mp4 files seem to have non-full meta boxes, contrary to 14496-12:2009 s8.11.1.2. In 14496-4 Amd 24 the 05_bifs_video_protected.mp4 and 12_metas.mp4 files seem to have meta fullboxes, but the latter's xml boxes seem not to have no NUL terminators. 14496-12 s8.11.2 doesn't explicitly state that xml boxes' string should be NUL-terminated, but this is the case for most other strings (and is the case in the l3_*.mp4 files referenced above). Can I take it the correct format is: - meta box is indeed fullbox - xml boxes' strings are indeed NUL-terminated ? Mark -- CPC/IP - A TCP/IP stack for Amstrad CPCs -- http://www.cepece.info/cpcip/ "Z88 vs CPC? Christ. How did we miss that platform war?" -- http://www.ntk.net/index.cgi?b=02000-01-28&l=111#l _________________________________________________________________ All your Twitter and other social updates in one place http://clk.atdmt.com/UKM/go/137984870/direct/01/ From sonal.gupta at ittiam.com Wed Mar 11 08:53:15 2009 From: sonal.gupta at ittiam.com (Sonal Gupta) Date: Wed, 11 Mar 2009 18:23:15 +0530 Subject: [Mp4-tech] [Audio] Regarding HE-AAC Profile Level definition Message-ID: <89605B15B483E94A93F16647C89C44EA0235ABE3@is01ex02.ittiam.com> Hi all, I went through the level definition in the doc: ISO/IEC 14496-3:200*5*/Amd.2:2006, "*Levels for the High Efficiency AAC v2 Profile*". To me the only difference in Level 4 and Level 5 HE-AAC decoder is that Level 4 will decode SBR file of 48 kHz at 48 kHz output whereas a Level 5 will decode SBR file of 48 kHz at 96 kHz output. Is there any other difference between the two levels ? Does that mean that HE-AAC decoder can either be Level-4 / Level 5 compliant, but not Level 4 and Level 5 compliant ? Regards, Sonal --------------------------- Sonal Gupta Ittiam Systems Pvt Ltd. Bangalore, India Phone +918066601221 ---------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090311/6dcd9fe0/attachment.html From sandipray05 at yahoo.com Wed Mar 11 17:06:27 2009 From: sandipray05 at yahoo.com (Sandip Ray) Date: Thu, 12 Mar 2009 02:36:27 +0530 (IST) Subject: [Mp4-tech] [Audio] AAC or MP3 to be implemented for HD(High Definition) solution Message-ID: <497143.23783.qm@web94916.mail.in2.yahoo.com> Dear Experts, ? Could anyone tell what is the recommended?audio codec for a typical HD(High Definition) solution ? ? I seached the web and?concluded that?AAC-LC 5.1 surround and MP3 5.1 surround?to be good candidates. I am still confused whether to go for AAC?or MP3. Could anyone help me this out ? ? Again I found there are two variants of AAC, namely MPEG-2(ISO/IEC 13818)?AAC and MPEG-4(ISO/IEC 14496) AAC. What are the differences ? Is it possible to have a single implementation compliant to both the standards ? Please advise me in this regard. ? Thanks and Regards, Sandip? Check out the all-new face of Yahoo! India. Go to http://in.yahoo.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090312/a7b438bc/attachment.html From msreddy999 at rediffmail.com Wed Mar 11 16:01:29 2009 From: msreddy999 at rediffmail.com (Sashidhar Reddy) Date: 11 Mar 2009 20:01:29 -0000 Subject: [Mp4-tech] Finding Iframe Message-ID: <20090311200129.6866.qmail@f6mail-145-152.rediffmail.com> Hi, I want to recover iframes from deleted mpeg files. Since files can be fragmented, it might be too difficult to recover complete files. So, I am looking to just recover iframes that can give glimpse of the actual video file. I might not be able to recover all iframes but as many as i can. Since I will be looking at raw data from a disk, I will not know if it belongs to a mpeg file or not. I will need to search the disk for a bit patter to detect the beginning of an iframe. I am thinking I should search for picture layer start (0x0010), ignore next 10 bits (temporal seq) and then see if the next 3 bits are 001. This will tell me if it is beginning of an iframe. Assuming this can work, is there any way to calculate the length of the frame? Can I figure out how to decode this iframe to display data? I am new to video. So i sound stupid please excuse me. Appreciate your help. Thanks a lot. msr -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090311/7d0843a3/attachment.html From denim83 at yahoo.com Wed Mar 11 23:55:06 2009 From: denim83 at yahoo.com (Abhishek Ballaney) Date: Wed, 11 Mar 2009 20:55:06 -0700 (PDT) Subject: [Mp4-tech] [Audio] AAC or MP3 to be implemented for HD(High Definition) solution Message-ID: <747374.15021.qm@web34804.mail.mud.yahoo.com> Dear Sandip, There are a number of audio formats supporting HD, viz. Dolby Digital 5.1, DTS HD, AAC, etc.? Which codec to use depends on your application & requirements.? MPEG4 AAC is backward compatible to MPEG2 AAC.? The primary difference between them is PNS & TNS modules. Regards, abhishek --- On Thu, 12/3/09, Sandip Ray wrote: From: Sandip Ray Subject: [Mp4-tech] [Audio] AAC or MP3 to be implemented for HD(High Definition) solution To: mp4-tech at lists.mpegif.org Received: Thursday, 12 March, 2009, 2:36 AM Dear Experts, ? Could anyone tell what is the recommended?audio codec for a typical HD(High Definition) solution ? ? I seached the web and?concluded that?AAC-LC 5.1 surround and MP3 5.1 surround?to be good candidates. I am still confused whether to go for AAC?or MP3. Could anyone help me this out ? ? Again I found there are two variants of AAC, namely MPEG-2(ISO/IEC 13818)?AAC and MPEG-4(ISO/IEC 14496) AAC. What are the differences ? Is it possible to have a single implementation compliant to both the standards ? Please advise me in this regard. ? Thanks and Regards, Sandip? Add more friends to your messenger and enjoy! Invite them now. -----Inline Attachment Follows----- _______________________________________________ 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 Stay connected to the people that matter most with a smarter inbox. Take a look http://au.docs.yahoo.com/mail/smarterinbox -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090311/80d26810/attachment.html From Shevach.Riabtsev at zoran.com Thu Mar 12 04:57:03 2009 From: Shevach.Riabtsev at zoran.com (Shevach Riabtsev) Date: Thu, 12 Mar 2009 10:57:03 +0200 Subject: [Mp4-tech] how long the codelength of CAVLC in 12bits(4:4:4) Message-ID: <91C4B16D6D58C541BF2F841D27F82536F88E65@zmlex.zml.zoran.com> Dear Tao Wei The H.264 standard says (see for example the section 8.5.10): "The bitstream shall not contain data that results in any element cij of c with i, j = 0..3 that exceeds the range of integer values from -2^(7 + bitDepth) to 2^(7 + bitDepth)-1, inclusive." Hence a quantized coefficient (or 'level') generated by a compliant High 4:4:4 encoder (12 bits per sample) is in the range [-2^19...2^19-1]. Notice that level You need 20 bits to store a quantization coefficient after CAVLC decoding. The value of 'level' is obtained either by (levelCode+2)>>1 Or (-levelCode+2)>>1 according to oddness of levelCode. If 'level' is restricted to be in the range [-2^19 .... 2^19-1], i.e. 20 bits width then levelCode can't exceed 22 bits width. Regards Shevach Riabtsev Zoran, Israel Dear Experts, I am Tao Wei,i want to ask a question about CAVLC in the profile of Fidelity Range Extension(FRExt) especially the bit width is 12bits (4:4:4).Then, the codelength of the output of CAVLC maybe large than 32 bits (prefix large than 15).So, i want to know how long the codelength may be in this condition. I want to use hardware to implement it, so i need know the bitwidth of the codelength thanks very much!!! -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090312/998ca097/attachment.html From ralph.sperschneider at iis.fraunhofer.de Thu Mar 12 14:22:04 2009 From: ralph.sperschneider at iis.fraunhofer.de (Ralph Sperschneider) Date: Thu, 12 Mar 2009 19:22:04 +0100 Subject: [Mp4-tech] [AAC]Conformance files with a framelength of 960 samples. In-Reply-To: <49AFDDF3.8070407@gmail.com> References: <49AFDDF3.8070407@gmail.com> Message-ID: <49B952CC.6070305@iis.fraunhofer.de> S?bastien Baillou wrote: > Hi everyone, > > I am new to the world of mailing lists and AAC, so I hope I am not > making any mistakes in posting here. > > I am currently writing a reference implementation of an HE-AAC v2 > decoder, but everytime, I am facing the same problem : where to find > conformance files to test the new additions to my decoder. > > I usually managed to create files that I could use with FAAC/Nero > encoder or just use the files provided by ISO > (ftp://mpaudconf:adif2mp4 at ftp.iis.fhg.de/mpeg4audio-conformance/). > Unfortunately, it looks like there is no way for me to find *simple* > files with a framelength of 960 samples. > Indeed, I do have some files with a 960 framelength > (al960_sbr_e_44_1.mp4 and its friends...) but they contain SBR data, > which my decoder doesn't support yet. > > Have you tried those being stored in ftp://mpaudconf:adif2mp4 at ftp.iis.fraunhofer.de/mpeg4audio-conformance/compressedMp4/new_aac-lc/ yet? Best, Ralph > I would be very grateful if anyone could point me to some files with > these characteristics, or tell me how I could create them. > > Thanks in advance. > > Yours, > S?bastien. > > PS : One more thing, I am also looking for files using PNS on > channel_pair_element, where "the same scalefactor band is coded by PNS > in both channels" (cf. ISO standard). > _______________________________________________ > 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 > -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From ralph.sperschneider at iis.fraunhofer.de Thu Mar 12 14:33:13 2009 From: ralph.sperschneider at iis.fraunhofer.de (Ralph Sperschneider) Date: Thu, 12 Mar 2009 19:33:13 +0100 Subject: [Mp4-tech] [Audio] Regarding HE-AAC Profile Level definition In-Reply-To: <89605B15B483E94A93F16647C89C44EA0235ABE3@is01ex02.ittiam.com> References: <89605B15B483E94A93F16647C89C44EA0235ABE3@is01ex02.ittiam.com> Message-ID: <49B95569.6060902@iis.fraunhofer.de> Sonal Gupta wrote: > > Hi all, > > > > I went through the level definition in the doc: ISO/IEC > 14496-3:200*5*/Amd.2:2006, > > "*Levels for the High Efficiency AAC v2 Profile*". > > > > To me the only difference in Level 4 and Level 5 HE-AAC decoder is that > > Level 4 will decode SBR file of 48 kHz at 48 kHz output whereas a > > Level 5 will decode SBR file of 48 kHz at 96 kHz output. > > > > Is there any other difference between the two levels ? > > > > Does that mean that HE-AAC decoder can either be Level-4 / Level 5 > compliant, > > but not Level 4 *and* Level 5 compliant ? > > > > Regards, > > Sonal > > > Dear Sonal, your observation is correct, but is think I should shed some more light into the background: a) For sampling rates up to 48 kHz everything is similar between the two profiles b) For sampling rates above 48 kHz, a level 4 decoder may use the downsampled SBR tool, whereas a level 5 decoder has to use the 'normal' SBR tool. Thus, the level 4 decoder may sacrifice some quality (based on its limited computational power) but is still able to decode the stream. To that end the issue is similar to the HQ vs LP implementation - here as well the decoder is compliant to either version, but not to both of them at the same time. Hope this helps. Andreas, please respond if I missed something. Best, Ralph -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From ralph.sperschneider at iis.fraunhofer.de Thu Mar 12 14:35:37 2009 From: ralph.sperschneider at iis.fraunhofer.de (Ralph Sperschneider) Date: Thu, 12 Mar 2009 19:35:37 +0100 Subject: [Mp4-tech] [Audio] AAC Encoder -- TNS Reflection Coefficients Quantization In-Reply-To: References: Message-ID: <49B955F9.7040100@iis.fraunhofer.de> Devilal wrote: > Dear Experts, > I am working on AAC Encoder. > I started with ISO code and trying to make it a FIXED POINT (i.e. to > remove all double, float etc). > One quick question is how to convert "non-uniform quantization module > of reflection coefficients in TNS" from floating to fixed. It uses > arcsine and sine functions for non-uniform quantization. > > I tried lookup table for 256 values in the range (-1, 1) and found > arcsine for that. So, I look into this table when I need to calculate > arcsine of any value. I do linear interpolation to get exact value. > But I am losing precision and not getting the required result. > > Please comment and suggest me some way to implement it(sine and > arcsine functions) in fixed point. > I am sure, this is not an unseen problem and I will get a experts view > soon. > > Thanking you, > > Regards, > Devilal Sharma > Dear Devilal, based on the feedback of our fixed point implementation experts, the answer is not trivial. Its even not that this issue affects only the TNS module, but in order to do this right several modules and its interaction are affected. Thus please understand that we cannot provide you more details - it would take several dozens of hours to write a paper about how to do it right. However, we offer core design kit (CDK) software (http://www.iis.fraunhofer.de/EN/bf/amm/projects/core/index.jsp) where those issues were resolved, i.e. the precision is kept at the required high level. Please contact my colleague Marc Gayer (marc.gayer at iis.fraunhofer.de) if you need more details on this software. Best regards, Ralph -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From sonal.gupta at ittiam.com Fri Mar 13 00:29:43 2009 From: sonal.gupta at ittiam.com (Sonal Gupta) Date: Fri, 13 Mar 2009 09:59:43 +0530 Subject: [Mp4-tech] [Audio] Regarding HE-AAC Profile Level definition In-Reply-To: <49B95569.6060902@iis.fraunhofer.de> References: <89605B15B483E94A93F16647C89C44EA0235ABE3@is01ex02.ittiam.com> <49B95569.6060902@iis.fraunhofer.de> Message-ID: <89605B15B483E94A93F16647C89C44EA0235ABFB@is01ex02.ittiam.com> Hi Ralph, Thanks for your inputs. That was quite informative. I have one more doubt: In case of Level 5 decoder, Is it required to support a downsampled SBR tool at all ?(Unless ofcourse, it's a user requirement). But to be a compliant HE-AAC Level 5 Multichannel decoder, is it required to support a downsampled SBR tool at all. Regards, Sonal -----Original Message----- From: Ralph Sperschneider [mailto:ralph.sperschneider at iis.fraunhofer.de] Sent: Friday, March 13, 2009 12:03 AM To: Sonal Gupta Cc: mp4-tech at lists.mpegif.org; Schneider, Andreas Subject: Re: [Audio] Regarding HE-AAC Profile Level definition Sonal Gupta wrote: > > Hi all, > > > > I went through the level definition in the doc: ISO/IEC > 14496-3:200*5*/Amd.2:2006, > > "*Levels for the High Efficiency AAC v2 Profile*". > > > > To me the only difference in Level 4 and Level 5 HE-AAC decoder is that > > Level 4 will decode SBR file of 48 kHz at 48 kHz output whereas a > > Level 5 will decode SBR file of 48 kHz at 96 kHz output. > > > > Is there any other difference between the two levels ? > > > > Does that mean that HE-AAC decoder can either be Level-4 / Level 5 > compliant, > > but not Level 4 *and* Level 5 compliant ? > > > > Regards, > > Sonal > > > Dear Sonal, your observation is correct, but is think I should shed some more light into the background: a) For sampling rates up to 48 kHz everything is similar between the two profiles b) For sampling rates above 48 kHz, a level 4 decoder may use the downsampled SBR tool, whereas a level 5 decoder has to use the 'normal' SBR tool. Thus, the level 4 decoder may sacrifice some quality (based on its limited computational power) but is still able to decode the stream. To that end the issue is similar to the HQ vs LP implementation - here as well the decoder is compliant to either version, but not to both of them at the same time. Hope this helps. Andreas, please respond if I missed something. Best, Ralph -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From ralph.sperschneider at iis.fraunhofer.de Fri Mar 13 09:07:06 2009 From: ralph.sperschneider at iis.fraunhofer.de (Ralph Sperschneider) Date: Fri, 13 Mar 2009 14:07:06 +0100 Subject: [Mp4-tech] [Audio] Regarding HE-AAC Profile Level definition In-Reply-To: <89605B15B483E94A93F16647C89C44EA0235ABFB@is01ex02.ittiam.com> References: <89605B15B483E94A93F16647C89C44EA0235ABE3@is01ex02.ittiam.com> <49B95569.6060902@iis.fraunhofer.de> <89605B15B483E94A93F16647C89C44EA0235ABFB@is01ex02.ittiam.com> Message-ID: <49BA5A7A.4090100@iis.fraunhofer.de> Sonal Gupta wrote: > Hi Ralph, > Thanks for your inputs. That was quite informative. > > I have one more doubt: > In case of Level 5 decoder, Is it required to support a downsampled SBR > tool at all ?(Unless ofcourse, it's a user requirement). > But to be a compliant HE-AAC Level 5 Multichannel decoder, is it > required to support a downsampled SBR tool at all. > > Regards, > Sonal > Dear Sonal I think that the downsampled SBR tool is mandatory even for a level 5 decoder - simply because downsampled SBR might be required based on the bitsteam settings (AAC and SBR sampling rate might be set to the same value). Again, Andreas, correct me if I am wrong. Regards, Ralph > -----Original Message----- > From: Ralph Sperschneider [mailto:ralph.sperschneider at iis.fraunhofer.de] > > Sent: Friday, March 13, 2009 12:03 AM > To: Sonal Gupta > Cc: mp4-tech at lists.mpegif.org; Schneider, Andreas > Subject: Re: [Audio] Regarding HE-AAC Profile Level definition > > Sonal Gupta wrote: > >> Hi all, >> >> >> >> I went through the level definition in the doc: ISO/IEC >> 14496-3:200*5*/Amd.2:2006, >> >> "*Levels for the High Efficiency AAC v2 Profile*". >> >> >> >> To me the only difference in Level 4 and Level 5 HE-AAC decoder is >> > that > >> Level 4 will decode SBR file of 48 kHz at 48 kHz output whereas a >> >> Level 5 will decode SBR file of 48 kHz at 96 kHz output. >> >> >> >> Is there any other difference between the two levels ? >> >> >> >> Does that mean that HE-AAC decoder can either be Level-4 / Level 5 >> compliant, >> >> but not Level 4 *and* Level 5 compliant ? >> >> >> >> Regards, >> >> Sonal >> >> >> >> > > Dear Sonal, > > your observation is correct, but is think I should shed some more light > into the background: > > a) For sampling rates up to 48 kHz everything is similar between the two > > profiles > > b) For sampling rates above 48 kHz, a level 4 decoder may use the > downsampled SBR tool, whereas a level 5 decoder has to use the 'normal' > SBR tool. Thus, the level 4 decoder may sacrifice some quality (based on > > its limited computational power) but is still able to decode the stream. > > To that end the issue is similar to the HQ vs LP implementation - here > as well the decoder is compliant to either version, but not to both of > them at the same time. > > Hope this helps. > > Andreas, please respond if I missed something. > > Best, > Ralph > > -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From sbaillouaac at gmail.com Fri Mar 13 04:47:12 2009 From: sbaillouaac at gmail.com (=?ISO-8859-1?Q?S=E9bastien_Baillou?=) Date: Fri, 13 Mar 2009 09:47:12 +0100 Subject: [Mp4-tech] [AAC]Conformance files with a framelength of 960 samples. In-Reply-To: <49B952CC.6070305@iis.fraunhofer.de> References: <49AFDDF3.8070407@gmail.com> <49B952CC.6070305@iis.fraunhofer.de> Message-ID: <49BA1D90.2010708@gmail.com> Oh, thanks Ralph. Actually, since it is ot explicitly written in the filenames, I had no idea those were 960 samples streams. I'll try them today or in the coming week. Thanks. Kind regards, S?bastien. Ralph Sperschneider a ?crit : > S?bastien Baillou wrote: >> Hi everyone, >> >> I am new to the world of mailing lists and AAC, so I hope I am not >> making any mistakes in posting here. >> >> I am currently writing a reference implementation of an HE-AAC v2 >> decoder, but everytime, I am facing the same problem : where to find >> conformance files to test the new additions to my decoder. >> >> I usually managed to create files that I could use with FAAC/Nero >> encoder or just use the files provided by ISO >> (ftp://mpaudconf:adif2mp4 at ftp.iis.fhg.de/mpeg4audio-conformance/). >> Unfortunately, it looks like there is no way for me to find *simple* >> files with a framelength of 960 samples. >> Indeed, I do have some files with a 960 framelength >> (al960_sbr_e_44_1.mp4 and its friends...) but they contain SBR data, >> which my decoder doesn't support yet. >> >> > > Have you tried those being stored in > > ftp://mpaudconf:adif2mp4 at ftp.iis.fraunhofer.de/mpeg4audio-conformance/compressedMp4/new_aac-lc/ > > > yet? > > Best, > Ralph > > > > >> I would be very grateful if anyone could point me to some files with >> these characteristics, or tell me how I could create them. >> >> Thanks in advance. >> >> Yours, >> S?bastien. >> >> PS : One more thing, I am also looking for files using PNS on >> channel_pair_element, where "the same scalefactor band is coded by PNS >> in both channels" (cf. ISO standard). >> _______________________________________________ >> 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 vallabha_hampiholi at mindtree.com Mon Mar 16 00:27:06 2009 From: vallabha_hampiholi at mindtree.com (Vallabha Vasant Hampiholi) Date: Mon, 16 Mar 2009 09:57:06 +0530 Subject: [Mp4-tech] [Mp4-Tech][Video][H.264] Stream Analyzer Message-ID: <174230991E95D743B0C91DF471EF44E8434F3C8DFF@MTW02MSG02.mindtree.com> Dear Experts, Is there any H.264 stream analyzer software which can extract / display IDCT coefficients at a MB and Sub-MB level? -Rgds Vallabha ________________________________ http://www.mindtree.com/email/disclaimer.html -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090316/1ff75c1b/attachment.html From umeshpandey007 at gmail.com Mon Mar 16 01:23:41 2009 From: umeshpandey007 at gmail.com (Umesh Pandey) Date: Mon, 16 Mar 2009 10:53:41 +0530 Subject: [Mp4-tech] [Mp4-Tech][Video][H.264] Stream Analyzer In-Reply-To: <174230991E95D743B0C91DF471EF44E8434F3C8DFF@MTW02MSG02.mindtree.com> References: <174230991E95D743B0C91DF471EF44E8434F3C8DFF@MTW02MSG02.mindtree.com> Message-ID: <49BDE25D.2010401@gmail.com> Vallabha Vasant Hampiholi wrote: > > Dear Experts, > > > > Is there any H.264 stream analyzer software which > can extract / display IDCT coefficients at a MB and Sub-MB level? > > > > -Rgds > > Vallabha > > > ------------------------------------------------------------------------ > http://www.mindtree.com/email/disclaimer.html > ------------------------------------------------------------------------ > > _______________________________________________ > 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 There are a number of commercial softwares available for bitstream analysing like (Tektronix) MTS4EA Elementary Stream Analyzer, Mindego Bitstream Analyser, H264Visa,etc... Thanks, Umesh Pandey From Shevach.Riabtsev at zoran.com Tue Mar 17 07:23:59 2009 From: Shevach.Riabtsev at zoran.com (Shevach Riabtsev) Date: Tue, 17 Mar 2009 13:23:59 +0200 Subject: [Mp4-tech] [MP4-tech][H264] On num_ref_idx_l0_active_minus1 Message-ID: <91C4B16D6D58C541BF2F841D27F82536F88E7C@zmlex.zml.zoran.com> Dear experts The H.264 standard restricts the value of num_ref_idx_l0_active_minus1 as follows: "If field_pic_flag is equal to 0, num_ref_idx_l0_active_minus1 shall be in the range of 0 to 15, inclusive. ....... Otherwise (field_pic_flag is equal to 1), num_ref_idx_l0_active_minus1 shall be in the range of 0 to 31, inclusive. I wonder why the value of num_ref_frames is not included in the above constraints. For illustration let's consider the following situation: On the one hand a stream has frame_mbs_only_flag=1 and num_ref_frames=3 and on the other hand num_ref_idx_l0_active_minus1 specified for a picture within the stream has the value 5. To which reference picture ref_idx_l0=5 refer to if the number of pictures in DPB is 3? Regards Shevach Riabtsev Zoran, Israel -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090317/1bd81ebb/attachment.html From jc-work at uphall.net Tue Mar 17 07:54:51 2009 From: jc-work at uphall.net (John Cox) Date: Tue, 17 Mar 2009 11:54:51 +0000 Subject: [Mp4-tech] [MP4-tech][H264] On num_ref_idx_l0_active_minus1 In-Reply-To: <91C4B16D6D58C541BF2F841D27F82536F88E7C@zmlex.zml.zoran.com> References: <91C4B16D6D58C541BF2F841D27F82536F88E7C@zmlex.zml.zoran.com> Message-ID: Hi >I wonder why the value of num_ref_frames is not included in the above >constraints. The reason is that the same reference frame can be included in the index list more than once via ref_pic_list_reordering. The reason you might want to do this is that you can assign a different prediction weighting to each index and so can have multiple weightings for a single picture. Does that help? John Cox From ajitsdeshpande at gmail.com Tue Mar 17 01:30:58 2009 From: ajitsdeshpande at gmail.com (Ajit Deshpande) Date: Tue, 17 Mar 2009 11:00:58 +0530 Subject: [Mp4-tech] Query on Block DCT Message-ID: Hello, I am doing some basic Matlab simulations on DCT used in Video Compression. I have following questions arised out of that: 1.) In a 16x16 MB , if one does a 8x8 size block DCT (4-times) for that MB in first case and a one shot 16x16 size block DCT in second case, Will the reconstructed block at the decoder will have same/similar values in both cases? 2.) Which case would there be any benefit in terms of lesser residue, lesser bits needed for coding etc? 3.) Will this analysis of block DCT also hold true for other transform like the integer transform used in H.264 codec? Regards -Ajit Joan Rivers - "I knew I was an unwanted baby when I saw that my bath toys were a toaster and a radio." -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090317/ba36f746/attachment.html From Shevach.Riabtsev at zoran.com Tue Mar 17 11:53:45 2009 From: Shevach.Riabtsev at zoran.com (Shevach Riabtsev) Date: Tue, 17 Mar 2009 17:53:45 +0200 Subject: [Mp4-tech] Query on Block DCT Message-ID: <91C4B16D6D58C541BF2F841D27F82536F88E82@zmlex.zml.zoran.com> Ajit Although your query is (in my opinion) beyond the scope of the forum I'll try to answer. 1) You can use 8x8 DCT separately applied on four 8x8 blocks to build the DCT output of 16x16 block. Actually most of fast DCT algorithms: Decimation-in-Time (DIT) and Decimation-in-Frequency (DIF) are based on this idea. I recommend you to read an excellent book on DCT: "Discrete Cosine Transform" by K.R. RAO and P. Yip. In my opinion the reverse is impossible. I don't know how basing on 16x16 DCT one can obtain four 8x8 DCTs. Indeed, the first coefficient of N-point DCT is the mean of N points. If you know the mean of 16x16 block how can you reliably figure out the means of each 8x8 block? Regards Shevach Riabtsev Zoran, Israel Hello, I am doing some basic Matlab simulations on DCT used in Video Compression. I have following questions arised out of that: 1.) In a 16x16 MB , if one does a 8x8 size block DCT (4-times) for that MB in first case and a one shot 16x16 size block DCT in second case, Will the reconstructed block at the decoder will have same/similar values in both cases? 2.) Which case would there be any benefit in terms of lesser residue, lesser bits needed for coding etc? 3.) Will this analysis of block DCT also hold true for other transform like the integer transform used in H.264 codec? Regards -Ajit -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090317/9014c3e7/attachment-0001.html From garysull at windows.microsoft.com Tue Mar 17 12:57:08 2009 From: garysull at windows.microsoft.com (Gary Sullivan) Date: Tue, 17 Mar 2009 09:57:08 -0700 Subject: [Mp4-tech] [MP4-tech][H264] On num_ref_idx_l0_active_minus1 In-Reply-To: <91C4B16D6D58C541BF2F841D27F82536F88E7C@zmlex.zml.zoran.com> References: <91C4B16D6D58C541BF2F841D27F82536F88E7C@zmlex.zml.zoran.com> Message-ID: <406D6FEFCBB98643A34170C59E1ABEF31FC21C42BA@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> Shevach, John, et al, John is correct that particular pictures can be in present in a reference picture list at more than one position in the list, and that this is why num_ref_idx_l0_active_minus1 + 1 is allowed to be greater than num_ref_frames. However, I have some further remarks on the subject below: It may also be worth pointing out that there is also a guarantee that the entire active reference picture list contains proper reference pictures. That is guaranteed by the following statement (subclause 7.4.3.1): When RefPicList0[ num_ref_idx_l0_active_minus1 ] in the initial reference picture list produced as specified in subclause 8.2.4.2 is equal to "no reference picture", ref_pic_list_modification_flag_l0 shall be equal to 1 and modification_of_pic_nums_idc shall not be equal to 3 until RefPicList0[ num_ref_idx_l0_active_minus1 ] in the modified list produced as specified in subclause 8.2.4.3 is not equal to "no reference picture". However, I'm not sure that all of that is a complete answer to Shevach's question. As an aside, one thing worth noticing is that the latest corrigendum activity has modified some of the relevant aspects of the text. See JVT-AD007 or JVT-AC205, for example. In particular, notice that: 1) num_ref_frames is now called max_num_ref_frames -- to clarify its actual intended meaning. 2) The syntax element in the picture parameter set that was formerly called num_ref_idx_l0_active_minus1 is now called num_ref_idx_l0_default_active_minus1, while the slice header syntax element num_ref_idx_l0_active_minus1 still uses the same name it had before -- to clarify the relationship between those two syntax elements. 3) ref_pic_list_reordering() is now called ref_pic_list_modification() -- to clarify what it actually refers to (the modification of the list that results from that syntax can be more substantial than just reordering). 4) MaxDpbSize is now called MaxDpbFrames -- to improve the clarity of what it is expressing. Shevach asked why max_num_ref_frames was not constrained to a maximum of 16 as was done for num_ref_idx_l0_active_minus1 + 1. Actually, if you look at the semantics of max_num_ref_frames, you will see that it actually is constrained to a maximum of 16, and in fact it is actually constrained even more strictly than that. The standard says (subclause 7.4.1.2.5): The value of max_num_ref_frames shall be in the range of 0 to MaxDpbFrames (as specified in subclause A.3.1 or A.3.2), inclusive. If you look at the value of MaxDpbFrames, you will see that it is typically smaller than the value of 16 that Shevach seemed to be looking for. The frame size in units of macroblocks determines whether the effective constraint is 16 or is smaller. For typical usage, the constraint on the range of values for max_num_ref_frames is actually substantially smaller than the constraint on the range of values for num_ref_idx_l0_active_minus1. For example, for High Profile Level 4 with a 1920x1080 frame size, MaxDpbFrames is equal to 4. That's a lot smaller than 16. (I left out a few minor details about frames versus fields in the last few sentences above in order to simplify what I am trying to say.) Best Regards, Gary Sullivan +> -----Original Message----- +> From: mp4-tech-bounces at lists.mpegif.org +> [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of John Cox +> Sent: Tuesday, March 17, 2009 4:55 AM +> To: mp4-tech at lists.mpegif.org +> Subject: Re: [Mp4-tech] [MP4-tech][H264] On +> num_ref_idx_l0_active_minus1 +> +> Hi +> +> >I wonder why the value of num_ref_frames is not included in +> the above +> >constraints. +> +> The reason is that the same reference frame can be included +> in the index list +> more than once via ref_pic_list_reordering. The reason you +> might want to do +> this is that you can assign a different prediction weighting +> to each index and +> so can have multiple weightings for a single picture. +> +> Does that help? +> ________________________________ From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Shevach Riabtsev Sent: Tuesday, March 17, 2009 4:24 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] [MP4-tech][H264] On num_ref_idx_l0_active_minus1 Dear experts The H.264 standard restricts the value of num_ref_idx_l0_active_minus1 as follows: ?If field_pic_flag is equal to 0, num_ref_idx_l0_active_minus1 shall be in the range of 0 to 15, inclusive. ??. Otherwise (field_pic_flag is equal to 1), num_ref_idx_l0_active_minus1 shall be in the range of 0 to 31, inclusive. I wonder why the value of num_ref_frames is not included in the above constraints. For illustration let?s consider the following situation: On the one hand a stream has frame_mbs_only_flag=1 and num_ref_frames=3 and on the other hand num_ref_idx_l0_active_minus1 specified for a picture within the stream has the value 5. To which reference picture ref_idx_l0=5 refer to if the number of pictures in DPB is 3? Regards Shevach Riabtsev Zoran, Israel -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090317/af697162/attachment.html From Justin.Cao at freescale.com Wed Mar 18 05:19:00 2009 From: Justin.Cao at freescale.com (Cao Yuliu-B03763) Date: Wed, 18 Mar 2009 17:19:00 +0800 Subject: [Mp4-tech] Tools to convert ADTS to RAW Message-ID: <506AE19C15D07B458296116A5DB49EF8244A35@zch01exm20.fsl.freescale.net> Hi Expert, Is there any tool to convert ADTS files to .wav files (in IEC format) ? for HEAAC, what IEC header should we use? thanks! Best regards, Justin Cao ( Yuliu ) -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090318/dfbbd477/attachment.html From Shevach.Riabtsev at zoran.com Wed Mar 18 10:23:29 2009 From: Shevach.Riabtsev at zoran.com (Shevach Riabtsev) Date: Wed, 18 Mar 2009 16:23:29 +0200 Subject: [Mp4-tech] [H.264] Query on marking process Message-ID: <91C4B16D6D58C541BF2F841D27F82536F88E85@zmlex.zml.zoran.com> Dear experts In the section 8.2.5.4.1 ("Marking process of a short-term reference picture as "unused for reference") as well as in the section 8.2.5.4.2 is said: "Otherwise (field_pic_flag is equal to 1), the short-term reference field specified by picNumX is marked as "unused for reference". When that reference field is part of a reference frame or a complementary reference field pair, the frame or complementary field pair is also marked as "unused for reference", but the marking of the other field is not changed." The last sentence (" but the marking of the other field is not changed") is not clear. Indeed, if two fields of a complementary field pair are marked as "unused for reference" then the marking of both fields is changed. On the other hand the last clause: "the marking of the other field is not changed" contradicts the first part of the sentence. I suppose when the current picture is frame (field_pic_flag=0) and one of fields in a reference complementary field pair is marked as "unused for reference" then the other field should be considered as "unused for reference" regardless its status. When the current picture is field it is possible that one field in a complementary field pair is "used for reference" while the other is "unused for reference" and vice versa. Am I right in my explanation of this ambiguous sentence. Regards Shevach Riabtsev Zoran, Israel -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090318/8a0a20ae/attachment-0001.html From garysull at windows.microsoft.com Wed Mar 18 13:37:39 2009 From: garysull at windows.microsoft.com (Gary Sullivan) Date: Wed, 18 Mar 2009 10:37:39 -0700 Subject: [Mp4-tech] [H.264] Query on marking process In-Reply-To: <91C4B16D6D58C541BF2F841D27F82536F88E85@zmlex.zml.zoran.com> References: <91C4B16D6D58C541BF2F841D27F82536F88E85@zmlex.zml.zoran.com> Message-ID: <406D6FEFCBB98643A34170C59E1ABEF31FC21C48D8@NA-EXMSG-W601.wingroup.windeploy.ntdev.microsoft.com> Shevach, I believe you are again looking at an old edition of the standard. I suggest using JVT-AC205_r1 or JVT-AD007 in the future, and citing the specific version of the text that you are using. The text contains a concept of the marking of a frame or CRFP (complementary reference field pair) as a whole, for purposes of the use of such a frame or CRFP as a reference for inter-picture prediction in the decoding process for frames, and a distinctly different concept of the marking of individual fields within a frame or CRFP or non-paired field. At all times, the marking status of a frame or CRFP can be easily deduced from the marking status of its two fields. If they are both marked as "used for reference", then the frame or CRFP as a whole is also considered to be marked as "used for reference". Otherwise, the frame or CRFP as a whole is considered marked as "unused for reference" (for purposes of decoding a subsequent frame in the bitstream). I believe that is consistent with what you described as your interpretation. Best Regards, Gary Sullivan ________________________________ From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Shevach Riabtsev Sent: Wednesday, March 18, 2009 7:23 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] [H.264] Query on marking process Dear experts In the section 8.2.5.4.1 (?Marking process of a short-term reference picture as ?unused for reference?) as well as in the section 8.2.5.4.2 is said: ?Otherwise (field_pic_flag is equal to 1), the short-term reference field specified by picNumX is marked as ?unused for reference?. When that reference field is part of a reference frame or a complementary reference field pair, the frame or complementary field pair is also marked as "unused for reference", but the marking of the other field is not changed.? The last sentence (? but the marking of the other field is not changed?) is not clear. Indeed, if two fields of a complementary field pair are marked as ?unused for reference? then the marking of both fields is changed. On the other hand the last clause: ?the marking of the other field is not changed? contradicts the first part of the sentence. I suppose when the current picture is frame (field_pic_flag=0) and one of fields in a reference complementary field pair is marked as ?unused for reference? then the other field should be considered as ?unused for reference? regardless its status. When the current picture is field it is possible that one field in a complementary field pair is ?used for reference? while the other is ?unused for reference? and vice versa. Am I right in my explanation of this ambiguous sentence. Regards Shevach Riabtsev Zoran, Israel -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090318/5bcef9d5/attachment.html From simplyrishi at gmx.com Thu Mar 19 01:20:33 2009 From: simplyrishi at gmx.com (Rishi Thakur) Date: Thu, 19 Mar 2009 06:20:33 +0100 Subject: [Mp4-tech] VUI parameters Message-ID: <20090319052926.38140@gmx.com> -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090319/9c663b4e/attachment.html -------------- next part -------------- _______________________________________________ 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 ralph.sperschneider at iis.fraunhofer.de Thu Mar 19 06:25:59 2009 From: ralph.sperschneider at iis.fraunhofer.de (Ralph Sperschneider) Date: Thu, 19 Mar 2009 11:25:59 +0100 Subject: [Mp4-tech] Help: about the AudioMuxElement() Byte Aligned In-Reply-To: <3f0d7f890903170959s3e46c9deq2dfc81f811a21171@mail.gmail.com> References: <3f0d7f890903170959s3e46c9deq2dfc81f811a21171@mail.gmail.com> Message-ID: <49C21DB7.7070001@iis.fraunhofer.de> Angelo Bonifacio wrote: > Dear Ralph, > I am trying to convert an MPEG-2 AAC audio with ADTS structure into > an mpeg-4 audio AAC with LATM structure (ISO/IEC 14496-3). > Actually I have two problems: > > 1) I can't find clear references about the field latmBufferFullness. To my understanding the latmBufferFullness is similar to the adts_buffer_fullness - at least as long as only one program and one layer is available (which is the case if your source is ADTS), and you use audioMuxVersion 0. Of course - due to the new header having another number of bits - you need to recalculate the bitrate and accordingly the bufferfullness. > 2) If (MuxConfigPresent == 1) the LATM packet start with the > StreamMuxConfig(), But when (AudioMuxVersion == 0) the > StreamMuxConfig() is not octet-aligned. Could you explain me the > alignment procedure of StreamMuxConfig()? There is no alignment procedure - thus the payload (PayloadLengthInfo(), PayloadMux()) cannot be assumed to be byte aligned within the AudioMuxElement(). > > > Thank you very much for your help. > > Best Regards, Angelo. Best regards, Ralph PS: Please send your requests to the reflector (mp4tech) rather than to me personally. Thanks! -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From hsanson at gmail.com Fri Mar 20 02:02:07 2009 From: hsanson at gmail.com (Horacio Sanson) Date: Fri, 20 Mar 2009 15:02:07 +0900 Subject: [Mp4-tech] Is there a quality metric tool for H.264 bitstream with lost NAL units Message-ID: <6156dd8b0903192302w71f8683fq374cfb4529762c08@mail.gmail.com> Most researchers (all?) use PSNR to test the quality of H.264/Mpeg-4 streams that have lost packets (NALUs) due to network conditions. I tried to do the same but I have not found a H.264 decoder that can decode (conceal) the corrupted stream. The reference decoder simply complains and does not decode anything, even when using the error concealment option, and ffmpeg does a very good job concealing and I can even see the corrupted video but the resulting decoded video has less frames than the original making PSNR calculation very difficult. Some questions: - Is there any tool that can receive a H.264 stream (AnnexB format) with possible missing NAL units and give me a metric that would allow me to compare different network conditions/protocols?? - Would a metric based on the number of received I, P and B frames be a good quality measure? something like Quality = Wi * (num I frames) + Wp * (num P frames) + Wb * (num B frames) where Wi, Wp and Wb are weights that reflect the effects of frame loss for each frame type I, P or B? If this metric exists what would the weights be?? - How are other researches calculating PSNR if the source and received videos does not have the same number of frames??? regards, Horacio From alex.converse at gmail.com Fri Mar 20 13:52:35 2009 From: alex.converse at gmail.com (Alex Converse) Date: Fri, 20 Mar 2009 13:52:35 -0400 Subject: [Mp4-tech] [Audio] SLS cb_cbac variable Message-ID: I was curious about the meaning of cb_cbac variable. The specification has the following table: cb_cbac Frequency table 0 BPGC 1 CBAC However the reference decoder has the following line of code: if (frame_type == 1) return bpgc_freq[d2l]; /* the bpgc context*/ (frame_type is the ref dec's name for cb_cbac) Test vector sls2300_nocore_048_16.mp4 is described as using BPGC not CBAC but cb_cbac is set to '1' for that stream. This seems inconsistent. Can someone please help clarify this? Thanks, Alex Converse -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090320/d637c22c/attachment.html From alex.converse at gmail.com Fri Mar 20 16:18:41 2009 From: alex.converse at gmail.com (Alex Converse) Date: Fri, 20 Mar 2009 16:18:41 -0400 Subject: [Mp4-tech] [Audio] AAC-LC the AAC Profile and Independently Switched Coupling Message-ID: Hi everyone, The table "Maximum number of the individual AAC channel types depending on the specified number of main audio channels" Lists the following row for AAC-LC: AOT 1 2 5 2 (AAC LC) 1.0.0.0 2.0.0.0 5.1.0.1 In the format A.L.I.D. (main audio/LFE/independent coupling/dependent coupling). In all these cases the maximum number of dependent coupling channels is zero. My question is are there any conditions when an independently switched coupling element is allowed in an AAC-LC AOT? Conformance vector al15 has an independently switch coupling element so it must be allowed under ceratin circumstances. What are these circumstances? Thanks, Alex Converse -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090320/bdcaed61/attachment.html From ralph.sperschneider at iis.fraunhofer.de Mon Mar 23 11:28:11 2009 From: ralph.sperschneider at iis.fraunhofer.de (Ralph Sperschneider) Date: Mon, 23 Mar 2009 16:28:11 +0100 Subject: [Mp4-tech] [Audio] AAC-LC the AAC Profile and Independently Switched Coupling In-Reply-To: References: Message-ID: <49C7AA8B.3070803@iis.fraunhofer.de> Alex Converse wrote: > Hi everyone, > > The table "Maximum number of the individual AAC channel types > depending on the specified number of main audio channels" Lists the > following row for AAC-LC: > > AOT 1 2 5 > 2 (AAC LC) 1.0.0.0 2.0.0.0 5.1.0.1 > > In the format A.L.I.D. (main audio/LFE/independent coupling/dependent > coupling). > > In all these cases the maximum number of dependent coupling channels > is zero. My question is are there any conditions when an independently > switched coupling element is allowed in an AAC-LC AOT? Conformance > vector al15 has an independently switch coupling element so it must be > allowed under ceratin circumstances. What are these circumstances? > > Thanks, > Alex Converse Hi Alex, Andreas Schneider and myself came across this issue already some time ago, but the issue came out of sight since then. I guess we have to remove al15 from the MPEG-4 Audio conformance suite - or we need at least to disable the marks in the tables in the section "Conformance test sequence assignment to profiles and levels" and remove the profile&level entry in the file. Just for understanding the background: This file was reused from the MPEG-2 test suite, and there those limitations are just recommendations - ISO/IEC 13818-4 reads "Note that a decoder may support more than the number of channel elements specified in the table above and still be a conformant decoder. Thus, M.5.1.1.1, M.5.1.1.2, L.5.1.1.1 and S.5.1.0.0 are all conformant 5-channel decoder configurations." Best regards and thanks for bringing this issue up, Ralph -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From deepak.sdsu at gmail.com Mon Mar 23 16:17:31 2009 From: deepak.sdsu at gmail.com (deepak rawat) Date: Mon, 23 Mar 2009 13:17:31 -0700 Subject: [Mp4-tech] e AAC+ Problem in output from decoder in wav format Message-ID: <4cc0b17c0903231317g2212bf84jccf98a61a8fbc5dc@mail.gmail.com> Dear All, I have two queries: 1)I am getting double sized wave file from decoder than original one and cannt play it with media player. Do I need to modifify anything in the code. Input to encoder : 16 bit, .wav file, 48 k sam/s,stereo Input to decoder :O/p of encoder i.e. .3gp file without error pattern file. 2) how can i introduce error pattern file to decoder Thanks , Deepak Rawat -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090323/14b6b8da/attachment.html From ralph.sperschneider at iis.fraunhofer.de Fri Mar 27 05:53:30 2009 From: ralph.sperschneider at iis.fraunhofer.de (Ralph Sperschneider) Date: Fri, 27 Mar 2009 10:53:30 +0100 Subject: [Mp4-tech] [Audio] SLS cb_cbac variable In-Reply-To: References: Message-ID: <49CCA21A.5060403@iis.fraunhofer.de> Alex Converse wrote: > I was curious about the meaning of cb_cbac variable. > > The specification has the following table: > cb_cbac Frequency table > 0 BPGC > 1 CBAC > > However the reference decoder has the following line of code: > if (frame_type == 1) return bpgc_freq[d2l]; /* the bpgc context*/ > > (frame_type is the ref dec's name for cb_cbac) > > Test vector sls2300_nocore_048_16.mp4 is described as using BPGC not > CBAC but cb_cbac is set to '1' for that stream. > > This seems inconsistent. Can someone please help clarify this? > > Thanks, > Alex Converse Hi Alex, I forwarded your request to my colleague Virgilio and got the following response: "Thank you very much for your comment. You are right, the values in Table 12.13 - cb_cbac table are wrong. We will fix this as soon as possible." So it seems you fond another oddity - thanks for reporting it. Best regards, Ralph -- Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 6167 Fraunhofer IIS | Fax: +49 9131 776 6099 Am Wolfsmantel 33 | mailto:ralph.sperschneider at iis.fraunhofer.de D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/ From mrison at hotmail.com Fri Mar 27 08:29:58 2009 From: mrison at hotmail.com (Mark RISON) Date: Fri, 27 Mar 2009 12:29:58 +0000 Subject: [Mp4-tech] [reference tools] mp4audec_mc for MP4 files without iods boxes Message-ID: I'd like a reference tool to decode MP4 files' headers (I don't really care about the actual media data). I've used the fine recipe given in http://wiki.multimedia.cx/index.php?title=AAC_Reference_Software to build mp4audec_mc (a.k.a. mp4dec and mp4mcDec). I chose not to use AFSP, to keep it simple. I then run this using -D h (and a /tmp/dummy output file -- /dev/null doesn't work because it appends stuff to the filename). This looks promising, but I've hit the following problems: - It seems to get upset if the MP4 file doesn't have an iods box. - It doesn't understand AOTs other then main, LC, SSR and LTP (e.g. it doesn't even parse AOTs above 31). I've tried fixing the first issue by just commenting out the early return in src/bitinput.c, but this has produced, um, mixed results (including telling me that it's not an MP4 file but an ADTS file), presumably because something in the rest of the system is relying on some information obtained as a result of parsing the iods box. If I knew what information I could try to fudge it. Mark -- CPC/IP - A TCP/IP stack for Amstrad CPCs -- http://www.cepece.info/cpcip/ "Z88 vs CPC? Christ. How did we miss that platform war?" -- http://www.ntk.net/index.cgi?b=02000-01-28&l=111#l _________________________________________________________________ View your Twitter and Flickr updates from one place ? Learn more! http://clk.atdmt.com/UKM/go/137984870/direct/01/ From alex.converse at gmail.com Fri Mar 27 15:07:35 2009 From: alex.converse at gmail.com (Alex Converse) Date: Fri, 27 Mar 2009 15:07:35 -0400 Subject: [Mp4-tech] [Audio] AAC-LC the AAC Profile and Independently Switched Coupling In-Reply-To: <49C7AA8B.3070803@iis.fraunhofer.de> References: <49C7AA8B.3070803@iis.fraunhofer.de> Message-ID: On Mon, Mar 23, 2009 at 11:28 AM, Ralph Sperschneider wrote: > Alex Converse wrote: >> >> Hi everyone, >> >> The table "Maximum number of the individual AAC channel types depending on >> the specified number of main audio channels" Lists the following row for >> AAC-LC: >> >> ? ?AOT ? ? ? 1 ? ? ? 2 ? ? ? 5 >> 2 (AAC LC) 1.0.0.0 2.0.0.0 5.1.0.1 >> >> In the format A.L.I.D. (main audio/LFE/independent coupling/dependent >> coupling). >> >> In all these cases the maximum number of dependent coupling channels is >> zero. My question is are there any conditions when an independently switched >> coupling element is allowed in an AAC-LC AOT? Conformance vector al15 has an >> independently switch coupling element so it must be allowed under ceratin >> circumstances. What are these circumstances? >> >> Thanks, >> Alex Converse > > Hi Alex, > > Andreas Schneider and myself came across this issue already some time ago, > but the issue came out of sight since then. I guess we have to remove al15 > from the MPEG-4 Audio conformance suite - or we need at least to disable the > marks in the tables in the section "Conformance test sequence assignment to > profiles and levels" and remove the profile&level entry in the file. > > Just for understanding the background: This file was reused from the MPEG-2 > test suite, and there those limitations are just recommendations - ISO/IEC > 13818-4 reads "Note that a decoder may support more than the number of > channel elements specified in the table above and still be a conformant > decoder. Thus, M.5.1.1.1, M.5.1.1.2, L.5.1.1.1 and S.5.1.0.0 are all > conformant 5-channel decoder configurations." > [...] Thank you for the clarification. Regards, Alex Converse From mrison at hotmail.com Sun Mar 29 18:32:47 2009 From: mrison at hotmail.com (Mark RISON) Date: Sun, 29 Mar 2009 22:32:47 +0000 Subject: [Mp4-tech] [reference tools] mp4audec_mc for MP4 files without iods boxes Message-ID: > I'd like a reference tool to decode MP4 files' headers (I don't really > care about the actual media data). [...] > http://wiki.multimedia.cx/index.php?title=AAC_Reference_Software to > build mp4audec_mc (a.k.a. mp4dec and mp4mcDec). [...] > This looks promising, but I've hit the following problems: > [...] OK, I've done more fiddling with this. I've come up with the following tweaks, which I'm happy to contribute. Is anyone interested, and if so, what's the best way to do so (post patch file?)? libisomediafile: - Add missing NL at EOF - Cope also with damr in stsd, not just esds, in MP4GetMediaDecoderInformation() - #include for strcasecmp() mp4mcDec: - Cope with escaped (>30) audioObjectTypes - Decode (extension)audioObjectTypes and profiles textually - Decode (extension)samplingFrequencyIndices - Cope with presence of coreCoderDelay - Cope with absence of iods box - Don't assume track 1 is the audio track; try all tracks - Put handlerType, objectTypeIndication and streamType tests before duration tests - Print out number of each type of element in PCE - Fix signedness mismatches - Remove magic numbers for SBR and PS - Various little cosmetics There are some things I wasn't sure about: - In get_decoderSpecificConfig(), shouldn't the extensionObjtype = 5; be extensionObjtype = objtype;? - In get_decoderSpecificConfig(), where there's a test that extensionObjtype != 5 && bits_to_decode>= 16, what if extensionObjtype is 29 (see a recent post by me about this)? - As far as I can tell (I've never really been able to decrypt makefiles!) the prerequisites for mp4audec_mc in mp4mcDec/makefile don't include libisomediafile.a, so mp4audec_mc doesn't get rebuilt when libisomediafile.a changes. - For some reason MP4GetMediaDecoderInformation() fails on video tracks with an avc1 box in the stsd box, but not for odsm/sdsm tracks with an mp4s box in the stsd box, even though it's searching for MP4ESDAtomType == 'esds'. Mark -- CPC/IP - A TCP/IP stack for Amstrad CPCs -- http://www.cepece.info/cpcip/ "Z88 vs CPC? Christ. How did we miss that platform war?" -- http://www.ntk.net/index.cgi?b=02000-01-28&l=111#l _________________________________________________________________ View your Twitter and Flickr updates from one place ? Learn more! http://clk.atdmt.com/UKM/go/137984870/direct/01/ From nsoums at gmail.com Mon Mar 30 03:29:00 2009 From: nsoums at gmail.com (Soumya N) Date: Mon, 30 Mar 2009 12:59:00 +0530 Subject: [Mp4-tech] H.264 bitstream Analyzer and Validator Message-ID: <1de0da020903300029l5224131dk18fa7868cb1451cc@mail.gmail.com> Hi All, I am developing a H264 bit stream analyzer tool. I wanted to include stream validation to be done from the tool. As this is an analyzer tool, i need to cover all kinds of combinations in it. Any suggestion on the validation to be done from the tool is really appreciated. Regards, Soumya -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090330/ea9e0849/attachment.html From yehuda.y at freescale.com Tue Mar 31 03:10:50 2009 From: yehuda.y at freescale.com (Yitschak Yehuda-RM96586) Date: Tue, 31 Mar 2009 10:10:50 +0300 Subject: [Mp4-tech] H.264/SVC profiles Message-ID: <304EAACFAAE74344ACB6B54C5F04701D037988C4@zil05exm11.fsl.freescale.net> Dear experts H.264 standard currently defines 3 profiles for scalable video coding: scalable baseline profile, scalable high profile and scalable high intra profile. The least demanding profile in terms of decoding complexity is the scalable baseline profile. For this profile, the base layer (the AVC compatible layer) must comply with constrained baseline profile restrictions which are much like the baseline profile restriction. However the enhancement layers are allowed to use more advanced tools such as CABAC, B frames, weighted prediction and 8x8 transform. As a result, the simplest SVC compliant decoder must support tools which are considered advanced and are not usually used in low complexity and low delay applications. The market shows that complex features tend to get discarded from some decoders at the cost of loosing compliancy; to my understanding this is the case with flexible macro block ordering (FM0 or slice groups). In my opinion there is a place for a more restrictive SVC profile applicable to low complexity and low delay applications much like the AVC baseline profile. Adding such profile will allow decoder developers to comply with a certain profile and therefore increase the SVC interoperability. Regards Yehuda Yitschak -------------- next part -------------- An HTML attachment was scrubbed... URL: /pipermail/mp4-tech/attachments/20090331/dda81dab/attachment.html From rossellafortuna at libero.it Tue Mar 31 06:53:48 2009 From: rossellafortuna at libero.it (Rossella Fortuna) Date: Tue, 31 Mar 2009 12:53:48 +0200 Subject: [Mp4-tech] PSNR calculation with frame losses Message-ID: <49D1F63C.2020900@libero.it> Hi all I'm estimating the quality of a received video stream by PSNR computation. However, when several frame losses occur during the video transmission, it' s difficult to know which frame of the original sequence has to be compared with a certain frame of the received sequence. Do you know if there are any standardized or proposed algorithms for temporal alignement, in order to compute PSNR in a correct way? Thanx a lot Rossella From PPAHA at dolby.com Tue Mar 31 17:03:52 2009 From: PPAHA at dolby.com (Pahalawatta, Peshala) Date: Tue, 31 Mar 2009 14:03:52 -0700 Subject: [Mp4-tech] PSNR calculation with frame losses In-Reply-To: <49D1F63C.2020900@libero.it> References: <49D1F63C.2020900@libero.it> Message-ID: <2BAAC5E4AF2518459F0AB5D9279420470208CE8F@bur-exch-01.dolby.net> Dear Rossella, One such algorithm can be found in: ANSI T1.801.03-2003, "American National Standard for Telecommunications - Digital Transport of One-Way Video Signals - Parameters for Objective Performance Asessment." Best, Peshala Pahalawatta Dolby Labs -----Original Message----- From: mp4-tech-bounces at lists.mpegif.org [mailto:mp4-tech-bounces at lists.mpegif.org] On Behalf Of Rossella Fortuna Sent: Tuesday, March 31, 2009 3:54 AM To: mp4-tech at lists.mpegif.org Subject: [Mp4-tech] PSNR calculation with frame losses Hi all I'm estimating the quality of a received video stream by PSNR computation. However, when several frame losses occur during the video transmission, it' s difficult to know which frame of the original sequence has to be compared with a certain frame of the received sequence. Do you know if there are any standardized or proposed algorithms for temporal alignement, in order to compute PSNR in a correct way? Thanx a lot Rossella _______________________________________________ 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.