Displaying 13 results from an estimated 13 matches for "uv_stride".
Did you mean:
_stride
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 Mar 14
1
question from beginner (YCbCr to RGB)
...me[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 enthusiast.
2006 Aug 20
1
Simple RGB->YUV Stuff...
...v_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 ratio of RGB data to YUV data)....
2006 Aug 06
0
Newbie: How to rewind a videostream (long)
...etSize();
long* texMem = (long*) texture->lock();
for (int y=0; y<texDim.Height; ++y)
{
for (int x=0; x<texDim.Width; ++x)
{
int Y = yuvBuffer.y [y*yuvBuffer.y_stride + x];
int U = yuvBuffer.u [(y/2)*yuvBuffer.uv_stride + (x/2)];
int V = yuvBuffer.v [(y/2)*yuvBuffer.uv_stride + (x/2)];
int B = (int)(1.164*(Y - 16) + 2.018*(U -
128));
int G = (int)(1.164*(Y - 16) - 0.813*(V - 128) - 0.391*(U -
128));
int R = (int)(1.164*(Y - 16) + 1...
2003 Jul 07
2
Legalese. What is stride?
...said plugin to work was basically possible only because I'm
good at using emacs copying functions, using your code for
clipping+offset. I couldn't really understand why it worked, because
there was one relevant concept which I simply can't understand --
stride. There's y_stride and uv_stride. Everything works now, but I'd
rather understand _why_ it works, so if someone could explain what
stride is (from a little googling it seems to be a concept which exists
in most YUV codecs), I'd be very greatful.
Other stuff: I was talking to meu on #theora about the aspect values. I
wante...
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...
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
...gned 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,&opacket);
ogg_stream_packetin(&a...
2004 Apr 01
1
YUV Format
I posted this the other day... but it didn't get delivered...
-------------------------------------------------------------------
I'm getting stuck into a theora decoder for directshow... i was just wondering if someone could give me some info.
What output format does theora use ?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwmt/html/YUVFormats.asp
2004 Aug 02
1
Theroa Guess Confirmation
Hi there, is there any document giving a high-level overview of how to
use "libtheora"? As it stands, I'm scrounging through headers and
example code, and doing a whole lot of guessing. In the meantime,
could you either confirm or deny the following guesses?
1) Before compressing with Theora, I must unpack my YUY2 data into
three separate arrays (Y, U, and V respectively), and
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
2005 Oct 05
1
Simple encodig sample...
...*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( stderr, "\r%c", SPIN[frame_c...
2006 Oct 06
0
V4L + Theora small app...
...L )
{
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( "+++ OGG_OpenClip() \n" );
theora...