Change-Id: Ib6cd5e7d8a4c3c511c6b097e9866c8c0d9a4029b
#define SIZE_ALIGN( value, base ) (((value) + ((base) - 1)) & ~((base) - 1))
#define TBM_SURFACE_ALIGNMENT_PLANE (64)
#define SIZE_ALIGN( value, base ) (((value) + ((base) - 1)) & ~((base) - 1))
#define TBM_SURFACE_ALIGNMENT_PLANE (64)
+#define TBM_SURFACE_ALIGNMENT_PLANE_NV12 (4096)
#define TBM_SURFACE_ALIGNMENT_PITCH_RGB (64)
#define TBM_SURFACE_ALIGNMENT_PITCH_YUV (16)
#define TBM_SURFACE_ALIGNMENT_PITCH_RGB (64)
#define TBM_SURFACE_ALIGNMENT_PITCH_YUV (16)
{
_offset = 0;
_pitch = SIZE_ALIGN( width ,TBM_SURFACE_ALIGNMENT_PITCH_YUV);
{
_offset = 0;
_pitch = SIZE_ALIGN( width ,TBM_SURFACE_ALIGNMENT_PITCH_YUV);
- _size = SIZE_ALIGN(_pitch*height,TBM_SURFACE_ALIGNMENT_PLANE);
+ _size = SIZE_ALIGN(_pitch*height,TBM_SURFACE_ALIGNMENT_PLANE_NV12);
_bo_idx = 0;
}
else if( plane_idx ==1 )
{
_offset = 0;
_pitch = SIZE_ALIGN( width ,TBM_SURFACE_ALIGNMENT_PITCH_YUV/2);
_bo_idx = 0;
}
else if( plane_idx ==1 )
{
_offset = 0;
_pitch = SIZE_ALIGN( width ,TBM_SURFACE_ALIGNMENT_PITCH_YUV/2);
- _size = SIZE_ALIGN(_pitch*(height/2),TBM_SURFACE_ALIGNMENT_PLANE);
+ _size = SIZE_ALIGN(_pitch*(height/2),TBM_SURFACE_ALIGNMENT_PLANE_NV12);
* index 1 = Cb:Cr plane, [15:0] Cb:Cr little endian
*/
case TBM_FORMAT_NV12:
* index 1 = Cb:Cr plane, [15:0] Cb:Cr little endian
*/
case TBM_FORMAT_NV12:
+ bpp = 12;
+ //plane_idx == 0
+ {
+ _pitch = SIZE_ALIGN( width ,TBM_SURFACE_ALIGNMENT_PITCH_YUV);
+ _size = SIZE_ALIGN(_pitch*height,TBM_SURFACE_ALIGNMENT_PLANE_NV12);
+ }
+ //plane_idx ==1
+ {
+ _pitch = SIZE_ALIGN( width ,TBM_SURFACE_ALIGNMENT_PITCH_YUV/2);
+ _size += SIZE_ALIGN(_pitch*(height/2),TBM_SURFACE_ALIGNMENT_PLANE_NV12);
+ }
+ break;
+
case TBM_FORMAT_NV21:
bpp = 12;
//plane_idx == 0
case TBM_FORMAT_NV21:
bpp = 12;
//plane_idx == 0
case TBM_FORMAT_NV16:
case TBM_FORMAT_NV61:
bpp = 16;
case TBM_FORMAT_NV16:
case TBM_FORMAT_NV61:
bpp = 16;