
Data Fields | |
| video_frame_format_t | format |
| The properties of the picture. | |
| uint8_t * | p_data |
| Picture data - data can always be freely modified, but p_data may NEVER be modified. | |
| void * | p_data_orig |
| pointer before memalign | |
| plane_t | p [(5)] |
| description of the planes | |
| int | i_planes |
| number of allocated planes | |
| int(* | pf_lock )(vout_thread_t *, picture_t *) |
| int(* | pf_unlock )(vout_thread_t *, picture_t *) |
| picture_sys_t * | p_sys |
| Private data - the video output plugin might want to put stuff here to keep track of the picture. | |
| void(* | pf_release )(picture_t *) |
| This way the picture_Release can be overloaded. | |
| picture_release_sys_t * | p_release_sys |
| struct picture_t * | p_next |
| Next picture in a FIFO a pictures. | |
Type and flags | |
Should NOT be modified except by the vout thread | |
| int | i_status |
| picture flags | |
| int | i_type |
| is picture a direct buffer ? | |
| bool | b_slow |
| is picture in slow memory ? | |
Picture management properties | |
These properties can be modified using the video output thread API, but should never be written directly | |
| unsigned | i_refcount |
| link reference counter | |
| mtime_t | date |
| display date | |
| bool | b_force |
Picture dynamic properties | |
Those properties can be changed by the decoder | |
| bool | b_progressive |
| is it a progressive frame ? | |
| unsigned int | i_nb_fields |
| # of displayed fields | |
| bool | b_top_field_first |
| which field is first | |
| int8_t * | p_q |
| quantification table | |
| int | i_qstride |
| quantification stride | |
| int | i_qtype |
| quantification style | |
Any picture destined to be displayed by a video output thread should be stored in this structure from it's creation to it's effective display. Picture type and flags should only be modified by the output thread. Note that an empty picture MUST have its flags set to 0.
The properties of the picture.
Referenced by __vout_AllocatePicture(), DecodeVideo(), Direct3DLockSurface(), ExtractMiniImage_YUV(), Filter(), FilterErase(), FilterPacked(), FilterVideo(), FilterYUYV(), get_custom_from_packedyuv422(), GetNewPicture(), Init(), LoadEmbeddedImage(), Mouse(), NewPicture(), picture_Export(), picture_NewFromResource(), picture_Setup(), Prepare(), RenderCursor(), RenderYadif(), SavePicture(), Send(), SnapshotRatio(), SpuRenderRegion(), subpicture_NewFromPicture(), VerticalMirror(), VideoCommand(), VlcPictureToIplImage(), vout_snapshot_Set(), and xxmc_do_update_frame().
| uint8_t* picture_t::p_data |
Picture data - data can always be freely modified, but p_data may NEVER be modified.
A direct buffer can be handled as the plugin wishes, it can even swap p_pixels buffers.
Referenced by __vout_AllocatePicture(), NewPicture(), and Render().
| void* picture_t::p_data_orig |
pointer before memalign
Referenced by __vout_AllocatePicture(), CleanThread(), End(), Filter(), osd_ButtonFree(), osd_StatesFree(), picture_Delete(), and VlcPictureToIplImage().
| plane_t picture_t::p[(5)] |
description of the planes
Referenced by __osd_MenuCreate(), __vout_AllocatePicture(), BlendI420I420(), BlendI420I420_no_alpha(), BlendI420R16(), BlendI420R24(), BlendI420YUVPacked(), BlendPalI420(), BlendPalRV(), BlendPalYUVPacked(), BlendRGBAI420(), BlendRGBAR16(), BlendRGBAR24(), BlendRGBAYUVPacked(), BlendYUVARV16(), BlendYUVARV24(), BlendYUVAYUVPacked(), Copy(), copy_rect(), CopyPicture(), CreateSchroFrameFromPic(), cyuv_I420(), cyuv_I422(), Decode(), DecodeBlock(), DecodeVideo(), Deinterlace(), Direct3DLockSurface(), Display(), DisplayStat(), DoWork(), Encode(), encode_pixel_line_2bp(), encode_pixel_line_4bp(), encode_pixel_line_8bp(), EncodeBlock(), End(), ExtractMiniImage_YUV(), ffmpeg_CopyPicture(), FileBitmap::FileBitmap(), fill_rect(), FillPicture(), Filter(), FilterEdge(), FilterErase(), FilterGradient(), FilterHough(), FilterI422(), FilterPacked(), FilterPlanar(), FilterSub(), FilterYUYV(), FreePicture(), GaussianConvolution(), Get(), get_blue_from_yuv420(), get_blue_from_yuv422(), get_custom_from_packedyuv422(), get_custom_from_yuv420(), get_custom_from_yuv422(), get_green_from_yuv420(), get_green_from_yuv422(), get_red_from_yuv420(), get_red_from_yuv422(), GetNewPicture(), GREY_YUY2(), HorizontalMirror(), I420_cyuv(), I420_R5G5B5(), I420_RGB8(), I420_UYVY(), I420_YUY2(), I420_YVYU(), I422_cyuv(), I422_UYVY(), I422_YUVA(), I422_YUY2(), I422_YV12(), I422_YVYU(), Init(), LoadImage(), Lock(), Manage(), NewPicture(), NewPictureVec(), OpaquePage(), OpenVideoDev(), osd_StateNew(), picture_CopyPixels(), picture_NewFromResource(), picture_Setup(), PlanarVerticalMirror(), PostprocPict(), Prepare(), PutPicture(), raw_line(), RegionDraw(), Render(), RenderBlend(), RenderBlur(), RenderBob(), RenderCursor(), RenderDiscard(), RenderLinear(), RenderMean(), RenderPicture(), RenderPixel(), RenderX(), RenderYadif(), Run(), RV24VerticalMirror(), RV32VerticalMirror(), scope_Run(), SendFrame(), SetOverlayTransparency(), spectrometer_Run(), spectrum_Run(), tarkin_CopyPicture(), theora_CopyPicture(), UnpackFromFile(), UpdatePictureStruct(), UpdateStats(), UYVY_I420(), UYVY_I422(), VideoCommand(), vlc_plane_start(), VlcPictureToIplImage(), vuMeter_Run(), YUV422VerticalMirror(), YuvaYuvp(), YVYU_I420(), and YVYU_I422().
number of allocated planes
Referenced by __vout_AllocatePicture(), Copy(), CopyPicture(), Deinterlace(), Direct3DLockSurface(), Display(), DoWork(), Encode(), EncodeBlock(), ffmpeg_CopyPicture(), FillPicture(), Filter(), FilterErase(), FilterI422(), FilterPlanar(), FilterYUYV(), Get(), Init(), Lock(), NewPicture(), NewPictureVec(), OpenVideoDev(), picture_CopyPixels(), picture_NewFromResource(), picture_Setup(), PostprocPict(), Render(), RenderBlend(), RenderBlur(), RenderBob(), RenderCursor(), RenderDiscard(), RenderLinear(), RenderMean(), RenderPicture(), RenderX(), RenderYadif(), SendFrame(), tarkin_CopyPicture(), theora_CopyPicture(), UnpackFromFile(), UpdatePictureStruct(), VlcPictureToIplImage(), vout_CreatePicture(), and vout_filter_AllocateDirectBuffers().
picture flags
Referenced by __vout_Create(), DestroyPicture(), End(), FreePicture(), Init(), InitVideo(), NewPictureVec(), picture_NewFromResource(), QNXInit(), RunThread(), video_new_buffer_filter(), vout_ChangePause(), vout_CountPictureAvailable(), vout_CreatePicture(), vout_DestroyPicture(), vout_DisplayPicture(), vout_DropPicture(), vout_filter_AllocateDirectBuffers(), vout_FixLeaks(), vout_Flush(), vout_RenderPicture(), vout_UnlinkPicture(), and vout_UsePictureLocked().
is picture a direct buffer ?
Referenced by __vout_Create(), CleanThread(), End(), Init(), InitThread(), InitVideo(), NewPictureVec(), QNXInit(), vout_CreatePicture(), vout_filter_AllocateDirectBuffers(), and vout_RenderPicture().
| bool picture_t::b_slow |
is picture in slow memory ?
Referenced by __vout_Create(), Init(), NewPictureVec(), vout_CreatePicture(), and vout_RenderPicture().
| unsigned picture_t::i_refcount |
link reference counter
Referenced by picture_Delete(), picture_Hold(), picture_IsReferenced(), picture_NewFromResource(), picture_pool_Delete(), picture_pool_Get(), picture_pool_NewExtended(), picture_pool_NonEmpty(), picture_Setup(), PictureReleaseCallback(), Release(), video_del_buffer(), vout_CreatePicture(), vout_FixLeaks(), vout_LinkPicture(), vout_UnlinkPicture(), and vout_UsePictureLocked().
display date
Referenced by DecBlock(), Decode(), DecodeBlock(), DecodeFrame(), DecodePacket(), DecoderDecodeVideo(), DecoderPlayVideo(), DecodeVideo(), DisplayVideo(), DoWork(), DpbNewPicture(), Encode(), EncodeBlock(), EncodeVideo(), Filter(), FilterVideo(), picture_CopyProperties(), picture_Export(), picture_fifo_Flush(), picture_Reset(), Render(), RenderYadif(), RunThread(), transcode_video_process(), vout_ChangePause(), vout_DropPicture(), vout_Flush(), and vout_NextPicture().
| bool picture_t::b_force |
is it a progressive frame ?
Referenced by CreateSchroFrameFromPic(), DecodeFrame(), DecodeVideo(), Deinterlace(), Display(), Encode(), GetNewPicture(), picture_CopyProperties(), picture_Reset(), vout_CreatePicture(), and vout_DisplayPicture().
| unsigned int picture_t::i_nb_fields |
# of displayed fields
Referenced by CreateSchroFrameFromPic(), DecodeFrame(), DecodeVideo(), GetNewPicture(), picture_CopyProperties(), picture_Reset(), and vout_CreatePicture().
which field is first
Referenced by CreateSchroFrameFromPic(), DecodeFrame(), DecodeVideo(), Display(), DisplayVideo(), Encode(), GetNewPicture(), picture_CopyProperties(), picture_Reset(), Render(), vout_CreatePicture(), and xvmc_vld_frame().
| int8_t* picture_t::p_q |
quantification table
Referenced by DecodeVideo(), picture_CleanupQuant(), picture_Delete(), picture_Setup(), and PostprocPict().
quantification stride
Referenced by DecodeVideo(), picture_CleanupQuant(), picture_Setup(), and PostprocPict().
quantification style
Referenced by DecodeVideo(), picture_CleanupQuant(), picture_Setup(), PostprocPict(), and vout_DisplayPicture().
| int(* picture_t::pf_lock)(vout_thread_t *, picture_t *) |
Referenced by __vout_Create(), Init(), NewPictureVec(), picture_Setup(), and vout_LockPicture().
| int(* picture_t::pf_unlock)(vout_thread_t *, picture_t *) |
Referenced by __vout_Create(), Init(), NewPictureVec(), picture_Setup(), and vout_UnlockPicture().
Private data - the video output plugin might want to put stuff here to keep track of the picture.
Referenced by Direct3DLockSurface(), Direct3DUnlockSurface(), DirectXLockSurface(), DirectXUnlockSurface(), Display(), DisplayVideo(), End(), FreePicture(), GetNewPicture(), Init(), Lock(), NewPicture(), NewPictureVec(), picture_Delete(), picture_NewFromResource(), Prepare(), QNXDisplay(), Render(), Unlock(), UpdatePictureStruct(), xvmc_flush(), xvmc_flushsync(), xvmc_vld_frame(), xvmc_vld_slice(), xxmc_do_update_frame(), xxmc_frame_updates(), and xxmc_xvmc_update_context().
| void(* picture_t::pf_release)(picture_t *) |
This way the picture_Release can be overloaded.
Referenced by picture_Hold(), picture_NewFromResource(), picture_pool_Delete(), picture_pool_NewExtended(), picture_Release(), and picture_Setup().
struct picture_t* picture_t::p_next [read] |
Next picture in a FIFO a pictures.
Referenced by DecoderFlushBuffering(), DecoderPlayVideo(), Del(), Filter(), picture_fifo_Flush(), PictureFifoPop(), PictureFifoPush(), PushPicture(), vout_snapshot_Clean(), vout_snapshot_Get(), and vout_snapshot_Set().
1.5.6