Displaying 10 results from an estimated 10 matches for "uv_height".
2005 Mar 14
1
question from beginner (YCbCr to RGB)
...;
frame[cc*4+3]=255;
//R = Y + 1.371(CR - 128)
//G = Y - 0.698(CR - 128) - 0.336(CB - 128)
//B = Y + 1.732(CB - 128)
//A = 255
}
But it seems to me that this code is incorrect, because don't use y_stride,
uv_height, uv_width, uv_stride fields.
File libtheora-1.0alpha4.pdf doesn't contain enough useful information
concerning these fields: y_stride, uv_height, uv_width, uv_stride.
Please, write an example-code for needeed YCbCr to RGB convertion or
give me link where wrote about that.
Thanks!
ls, russian...
2006 Aug 20
1
Simple RGB->YUV Stuff...
...functions I have to create a
yuv_buffer struct and set the widths, heights, and strides correctly.
What I've been trying to use is:
yuv_buffer yuv;
yuv.y_width = Width;
yuv.y_height = Height;
yuv.y_stride = Width;
yuv.uv_width = Width;
yuv.uv_height = Height;
yuv.uv_stride = Width;
yuv.y = YDATA;
yuv.u = UDATA;
yuv.v = VDATA;
There isn't a lot of documentation on how Theora "wants" the pixel data
in theora.h, so I really feel like this should be right (since I have a
1:1:1...
2004 Apr 01
1
YUV Format
...uld someone tell me which of these it is ?
Best i can tell it's YUV12 ?
So can someone confirm the following... each component is 8 bits.
I have an array of y data.
and it is an array [0..y_height] of arrays [0..y_width]
ie... an array of horizontal lines ?
And the uv data is an array [0..uv_height] of arrays [0..uv_width*2]
where data goes
UVUVUVUVUVUV........ (width uv_width*2 or uv_width lots of UV)
UVUV.....
.
.
.
(uv_height lines)
Is this correct ? Or is the actual byte width of the UV lines actually uv_width ? ie one UV component is shared over the y components.
So if this is the yuv...
2004 Jun 29
6
Encoding theora...
Just trying to debug my theora encoder... just wondering if someone could
give me some insight on a few thigns...
In the yuv_buffer i'm sending in... i am just setting
y_stride = y_width = videoWidth
uv_stride = videoWidth/2
y_height = videoHeight
uv_height = videoHeight/2
Making the y buffer (width*height) and each of u and v (width*height/4)
Am i correct in doing this ? I knwo stride needn't equal width... but from
the videos width, can i just make them equal ? Any restrictions ?
Also the other encoding parameters... i am just using the defau...
2008 Feb 16
3
Gray scale video output from theora
hi all
I guess that *Theora* will convert the input color space (RGB or CMYK or
any) into YUV before it process and encode. (that means theora can operate
on several color space, but it get convert into YUV before process)
Is that true...?
I want to get a gray scale, encoded video output from the *Theora* encoder
while the input video is getting from a web cam (color input and gray scale
2005 Feb 09
1
Trying to do windows encoding dll
...}
__declspec (dllexport) encode(signed char *yuvframe, ogg_page *op)
{
while (ogg_stream_pageout(&enc_stream, op) == 0)
{
yuv_buffer yuv_enc;
yuv_enc.y_width=enc_width;
yuv_enc.y_height=enc_height;
yuv_enc.y_stride=enc_width;
yuv_enc.uv_width=enc_width/2;
yuv_enc.uv_height=enc_height/2;
yuv_enc.uv_stride=enc_width/2;
yuv_enc.y=yuvframe;
yuv_enc.u=yuvframe+enc_width*enc_height;
yuv_enc.v=yuvframe+enc_width*enc_height*5/4;
theora_encode_YUVin(&enc_state,&yuv_enc);
ogg_packet opacket;
theora_encode_packetout(&enc_state,0,&o...
2004 Dec 20
2
frame_height, height, y_height etc...
I'd previously been working on the assumption that the frame_height was the
height of the inner picture region... and height was the height of the outer
frame.
Then upon readnig the spec... where it calls the outer part the frame and
the inner part the picture region... i assumed i'd made a mistake and that
frame_width is actually >= width in the theorainfo structure... ie
2004 Dec 08
3
yuv2rgb
hi all,
i'm trying to code a tool to get some images from a ogg/theora file ....
so basically i need to get a frame and convert to rgb ... and here is my
question (sorry, i'm newbe here) ...
how to convert a yuv_buffer to a rgb matrix ?
i tryied diferent ways but my mistakes are bassically cause i don't
understant how yuv_buffer structure works ...
anybody can help? thanks a lot.
2005 Oct 05
1
Simple encodig sample...
...rame_counter = 250;
signed char *yuvframe;
int fetch_video_page( ogg_page *videopage, ogg_stream_state *to,
theora_state *td )
{
yuv_buffer yuv;
ogg_packet op;
yuv.y_width = video_x;
yuv.y_height = video_y;
yuv.y_stride = video_x;
yuv.uv_width = video_x / 2;
yuv.uv_height = video_y / 2;
yuv.uv_stride = video_x / 2;
yuv.y = yuvframe;
yuv.u = yuvframe + video_x * video_y;
yuv.v = yuvframe + video_x * video_y * 5 / 4;
/* is there a video page flushed? If not, work until there is. */
while( 1 )
{
frame_counter--;
fprintf( stder...
2006 Oct 06
0
V4L + Theora small app...
...eoY * 3 / 2 );
if( ucYUVframe == NULL )
{
fprintf( stderr, "### malloc() error \n" );
return -1;
}
tYUVbuffer.y_width = iVideoX;
tYUVbuffer.y_height = iVideoY;
tYUVbuffer.y_stride = iVideoX;
tYUVbuffer.uv_width = iVideoX / 2;
tYUVbuffer.uv_height = iVideoY / 2;
tYUVbuffer.uv_stride = iVideoX / 2;
tYUVbuffer.y = ucYUVframe;
tYUVbuffer.u = ucYUVframe + iVideoX * iVideoY;
tYUVbuffer.v = ucYUVframe + iVideoX * iVideoY * 5 / 4;
return 0;
}
int OGG_OpenClip( const char *szFilename )
{
int iRet = 0;
printf( "++...