[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] omx/video/decoder COmxVideoDec.cpp, 1.1.2.7.2.22,
From:       joeli () helixcommunity ! org
Date:       2011-08-25 3:52:43
Message-ID: 201108250353.p7P3r55r031764 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/omx/video/decoder
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv19487

Modified Files:
      Tag: hxclient_3_6_1_atlas
	COmxVideoDec.cpp 
Log Message:
Modified by: joeli@real.com 
Date: 08/22/2011
Project: RealPlayer for Android Smartphones

For H264 current omx and opt wrapper SPS logic,
There are still some bugs in the codes. We should use h264 common parser as your \
advice. But we need expose more interfaces, and need more time to put the source code \
in order. Maybe I have time to do that changed next weeks.

And now,
This patch is fixed the current logic, for missing handle profile_idc in \
(100,110,122,244  ¡ ­), other wise it can ¡ ¯t get the correct frame size info from \
the SPS. Please help to review this CR for Lenovo wants this fix in this Thursday ¡ \
¯s build.

Files Added:
N/A

File Modified:
datatype_rn/h264/codec/aricent/h264/avcstream.cpp 
datatype/omx/video/decoder/COmxVideoDec.cpp

Image Size and Heap Use impact (Client -Only): 
None

Platforms and Profiles Affected: 
Platform: hxclient_3_6_1_atlas
Profile: helix-client-android-full

Distribution Libraries Affected: 
None 

Distribution library impact and planned action: 
None 


Index: COmxVideoDec.cpp
===================================================================
RCS file: /cvsroot/datatype/omx/video/decoder/COmxVideoDec.cpp,v
retrieving revision 1.1.2.7.2.22
retrieving revision 1.1.2.7.2.23
diff -u -d -r1.1.2.7.2.22 -r1.1.2.7.2.23
--- COmxVideoDec.cpp	4 Aug 2011 02:27:44 -0000	1.1.2.7.2.22
+++ COmxVideoDec.cpp	25 Aug 2011 03:52:40 -0000	1.1.2.7.2.23
@@ -193,6 +193,8 @@
 #ifdef HELIX_FEATURE_DECODER_FALLBACK
                     theErr = HXR_OK;
 #endif
+                    m_mofYUV.uiWidth = m_PortOutputParam.format.video.nFrameWidth;
+                    m_mofYUV.uiHeight = m_PortOutputParam.format.video.nFrameHeight; \
  goto done;
                 }
                 m_bHasAVCC = TRUE;
@@ -591,12 +593,51 @@
 
   UCHAR* pSPS = pNal+1;
   int bitpos = 0;
+  UINT32 chrom_format_idc;
+  UINT32 seq_scaling_matrix_present_flag;
 
   //profile_idc...level_idc
   bitpos += 8 + 1 + 1 + 1 + 5 + 8;
 
   //seq_parameter_set_id
   bitpos += parse_ue(pSPS, bitpos, NULL);
+  switch(*pSPS)
+  {
+     case 100:
+     case 110:
+     case 122:
+     case 244:
+     case 44:
+     case 83:
+     case 86:
+         //chrom_format_idc
+         bitpos += parse_ue(pSPS,bitpos,&chrom_format_idc);
+         if(chrom_format_idc == 3)
+         {
+             //sparate_colour_plane_flag
+             bitpos++;
+         }
+         //bit depth_luma_minus8
+         bitpos += parse_ue(pSPS, bitpos, NULL);
+         //bit depth_chroma_minus8
+         bitpos += parse_ue(pSPS, bitpos, NULL);
+         //qpprime_y_zero_transform_bypass_flag
+         bitpos++;
+         //seq_scaling_matrix_present_flag
+         seq_scaling_matrix_present_flag = BIT(pSPS,bitpos);
+         bitpos++;
+         if(seq_scaling_matrix_present_flag)
+         {
+             for(int i=0;i<((chrom_format_idc !=3)?8:12);i++)
+             {
+                 //seq_scaling_matrix_present_flag[i]
+                 bitpos++;
+             }
+         }
+         break;
+      default:
+         break;
+  }
 
   //log2_max_frame_num_nimus4
   bitpos += parse_ue(pSPS, bitpos, NULL);


_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic