search for: theora_encode_packetout

Displaying 7 results from an estimated 7 matches for "theora_encode_packetout".

2005 Mar 02
1
Patch that fixes distortions during static scenes
Here is a patch that fixes distortions that appear during scenes with no motion. Tbe problem was that UpdateFrame() was not being called when a MotionScore of 0 was computed. Since UpdateFrame() was not called the buffer returned by theora_encode_packetout() would be the same buffer that was output for the last frame that had a non-zero MotionScore. This is obviously incorrect behavior. I've just moved the UpdateFrame() out of the (MotionScore > 0) conditional block. I've also included my change that prevents the encoder from spending W...
2005 Oct 05
1
Simple encodig sample...
...the frame data */ memset( yuvframe, frame_counter % 255, video_x * video_y ); memset( yuvframe + video_x * video_y, frame_counter % 128, video_x * video_y / 2 ); /* encode the frame */ theora_encode_YUVin( td, &yuv ); if( frame_counter < 0 ) theora_encode_packetout( td, 1, &op ); else theora_encode_packetout( td, 0, &op ); ogg_stream_packetin( to, &op ); if( ogg_stream_pageout( to, videopage ) > 0 ) { if( frame_counter < 0 ) return STREAM_EOD; else...
2008 Nov 30
1
ogg_stream_pageout function...
I write this small piece of code, that get pixels and encode them: ogg_page page; ogg_packet packet; m_frameSource.getYUVBits(m_buffer.y, m_buffer.u, m_buffer.v); theora_encode_YUVin(&m_encoder, &m_buffer); while(theora_encode_packetout(&m_encoder, isLastFrame, &packet)) ogg_stream_packetin(&m_oggStream, &packet); while (ogg_stream_pageout(&m_oggStream, &page)) { fwrite(page.header,page.header_len, 1, m_oggFile); fwrite(page.body,page.body_len, 1, m_oggFile); } This pie...
2005 Feb 09
1
Trying to do windows encoding dll
...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(&enc_stream,&opacket); } } __declspec (dllexport) void stopenc() { theora_clear(&enc_state); ogg_stream_clear(&enc_stream); } __declspec (dllexport) void startdec(int width, int height, int bitrate) { ogg_stream_init...
2004 Nov 16
0
metadata switches for ffmpeg2theora
...int linesize,int e_o_s){ /* map some things from info struk to local variables, * just to understand the code better */ /* pysical pages */ @@ -186,10 +184,10 @@ yuv.u = data + width * height; yuv.v = data + width * height * 5 / 4; } - theora_encode_YUVin (&info.td, &yuv); - theora_encode_packetout (&info.td, e_o_s, &info.op); - ogg_stream_packetin (&info.to, &info.op); - info.videoflag=1; + theora_encode_YUVin (&info->td, &yuv); + theora_encode_packetout (&info->td, e_o_s, &info->op); + ogg_stream_packetin (&info->to, &info->op); + info-...
2009 Jul 08
2
Theora 1.1 rate controller
Hello everyone, I'm currently developing an adaptive videoconferencing application based on Ekiga which uses TFRC as a congestion control mechanism to adapt the video encoding rate according to the quality of the network experienced. My goal was to use the open-source Theora codec for video transmission. Unfortunately, it seemed that Theora 1.0 did not properly implement any correct CBR mode.
2006 Oct 06
0
V4L + Theora small app...
...fclose( pfOGGclip ); pfOGGclip = NULL; } return 0; } int OGG_PutFrame( void ) { ogg_page tOGGpageTmp; ogg_packet tOGGpacketTmp; memcpy( ucYUVframe, pucV4Lbuffer, iVideoX * iVideoY * 3 / 2 ); theora_encode_YUVin( &tTheoraState, &tYUVbuffer ); theora_encode_packetout( &tTheoraState, ( iFrameCounter == 0 ) ? 1 : 0, &tOGGpacketTmp ); /* last frame */ ogg_stream_packetin( &tOGGstreamState, &tOGGpacketTmp ); if( ogg_stream_pageout( &tOGGstreamState, &tOGGpageTmp ) > 0 ) { fwrite( tOGGpageTmp.header, 1, tOGGpageTmp.h...