Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (2)
......@@ -43,9 +43,11 @@ struct image_handler_t
picture_t * (*pf_read_url) ( image_handler_t *, const char *,
video_format_t * );
block_t * (*pf_write) ( image_handler_t *, picture_t *,
const video_format_t *, const video_format_t * );
const video_format_t *,
vlc_fourcc_t, const video_format_t * );
int (*pf_write_url) ( image_handler_t *, picture_t *,
const video_format_t *, const video_format_t *,
const video_format_t *,
vlc_fourcc_t, const video_format_t *,
const char * );
picture_t * (*pf_convert) ( image_handler_t *, picture_t *,
......@@ -66,8 +68,8 @@ VLC_API void image_HandlerDelete( image_handler_t * );
#define image_Read( a, b, c, d ) a->pf_read( a, b, c, d )
#define image_ReadUrl( a, b, c ) a->pf_read_url( a, b, c )
#define image_Write( a, b, c, d ) a->pf_write( a, b, c, d )
#define image_WriteUrl( a, b, c, d, e ) a->pf_write_url( a, b, c, d, e )
#define image_Write( a, b, c, d, e ) a->pf_write( a, b, c, d, e )
#define image_WriteUrl( a, b, c, d, e, f ) a->pf_write_url( a, b, c, d, e, f )
#define image_Convert( a, b, c, d ) a->pf_convert( a, b, c, d )
VLC_API vlc_fourcc_t image_Type2Fourcc( const char *psz_name );
......
......@@ -461,7 +461,7 @@ picture_GetAncillary(const picture_t *pic, vlc_ancillary_id id);
/**
* This function will export a picture to an encoded bitstream.
*
* pp_image will contain the encoded bitstream in psz_format format.
* pp_image will contain the encoded bitstream in i_codec codec.
*
* p_fmt can be NULL otherwise it will be set with the format used for the
* picture before encoding.
......@@ -476,7 +476,7 @@ picture_GetAncillary(const picture_t *pic, vlc_ancillary_id id);
* If at most one of them is > 0 then the picture aspect ratio will be kept.
*/
VLC_API int picture_Export( vlc_object_t *p_obj, block_t **pp_image, video_format_t *p_fmt,
picture_t *p_picture, vlc_fourcc_t i_format, int i_override_width,
picture_t *p_picture, vlc_fourcc_t i_codec, int i_override_width,
int i_override_height, bool b_crop );
/**
......
......@@ -126,7 +126,7 @@ static libvlc_picture_t* libvlc_picture_from_attachment( input_attachment_t* att
vlc_atomic_rc_init( &pic->rc );
pic->attachment = vlc_input_attachment_Hold( attachment );
pic->time = VLC_TICK_INVALID;
video_format_Init( &pic->fmt, fcc );
video_format_Init( &pic->fmt, 0 );
switch ( fcc )
{
case VLC_CODEC_PNG:
......
......@@ -290,7 +290,7 @@ static void SavePicture( filter_t *p_filter, picture_t *p_pic )
char *psz_temp = NULL;
int i_ret;
video_format_Init( &fmt_out, p_sys->i_format );
video_format_Init( &fmt_out, 0 );
/* Save snapshot psz_format to a memory zone */
fmt_in = p_pic->format;
......@@ -325,7 +325,7 @@ static void SavePicture( filter_t *p_filter, picture_t *p_pic )
}
/* Save the image */
i_ret = image_WriteUrl( p_sys->p_image, p_pic, &fmt_in, &fmt_out,
i_ret = image_WriteUrl( p_sys->p_image, p_pic, &fmt_in, p_sys->i_format, &fmt_out,
psz_temp );
if( i_ret != VLC_SUCCESS )
{
......
......@@ -66,16 +66,19 @@ static picture_t *ImageRead( image_handler_t *, block_t *,
static picture_t *ImageReadUrl( image_handler_t *, const char *,
video_format_t * );
static block_t *ImageWrite( image_handler_t *, picture_t *,
const video_format_t *, const video_format_t * );
const video_format_t *,
vlc_fourcc_t, const video_format_t * );
static int ImageWriteUrl( image_handler_t *, picture_t *,
const video_format_t *, const video_format_t *, const char * );
const video_format_t *,
vlc_fourcc_t, const video_format_t *,
const char * );
static picture_t *ImageConvert( image_handler_t *, picture_t *,
const video_format_t *, video_format_t * );
static decoder_t *CreateDecoder( image_handler_t *, const es_format_t * );
static encoder_t *CreateEncoder( vlc_object_t *, const video_format_t *,
const video_format_t * );
vlc_fourcc_t, const video_format_t * );
static filter_t *CreateConverter( vlc_object_t *, const es_format_t *,
struct vlc_video_context *,
const video_format_t * );
......@@ -353,11 +356,11 @@ error:
static block_t *ImageWrite( image_handler_t *p_image, picture_t *p_pic,
const video_format_t *p_fmt_in,
const video_format_t *p_fmt_out )
vlc_fourcc_t codec, const video_format_t *p_fmt_out )
{
/* Check if we can reuse the current encoder */
if( p_image->p_enc &&
( p_image->p_enc->fmt_out.i_codec != p_fmt_out->i_chroma ||
( p_image->p_enc->fmt_out.i_codec != codec ||
p_image->p_enc->fmt_out.video.i_width != p_fmt_out->i_width ||
p_image->p_enc->fmt_out.video.i_height != p_fmt_out->i_height ) )
{
......@@ -369,7 +372,7 @@ static block_t *ImageWrite( image_handler_t *p_image, picture_t *p_pic,
if( !p_image->p_enc )
{
p_image->p_enc = CreateEncoder( p_image->p_parent,
p_fmt_in, p_fmt_out );
p_fmt_in, codec, p_fmt_out );
if( !p_image->p_enc ) return NULL;
}
......@@ -441,17 +444,18 @@ static block_t *ImageWrite( image_handler_t *p_image, picture_t *p_pic,
}
static int ImageWriteUrl( image_handler_t *p_image, picture_t *p_pic,
const video_format_t *p_fmt_in, const video_format_t *p_fmt_out,
const video_format_t *p_fmt_in,
vlc_fourcc_t codec, const video_format_t *p_fmt_out,
const char *psz_url )
{
block_t *p_block;
FILE *file;
video_format_t fmt_out = *p_fmt_out;
if( !fmt_out.i_chroma )
if( !codec )
{
/* Try to guess format from file name */
fmt_out.i_chroma = image_Ext2Fourcc( psz_url );
codec = image_Ext2Fourcc( psz_url );
}
file = vlc_fopen( psz_url, "wb" );
......@@ -461,7 +465,7 @@ static int ImageWriteUrl( image_handler_t *p_image, picture_t *p_pic,
return VLC_EGENERIC;
}
p_block = ImageWrite( p_image, p_pic, p_fmt_in, &fmt_out );
p_block = ImageWrite( p_image, p_pic, p_fmt_in, codec, &fmt_out );
int err = 0;
if( p_block )
......@@ -691,7 +695,7 @@ static decoder_t *CreateDecoder( image_handler_t *p_image, const es_format_t *fm
static encoder_t *CreateEncoder( vlc_object_t *p_this, const video_format_t *fmt_in,
const video_format_t *fmt_out )
vlc_fourcc_t codec, const video_format_t *fmt_out )
{
encoder_t *p_enc;
......@@ -723,6 +727,8 @@ static encoder_t *CreateEncoder( vlc_object_t *p_this, const video_format_t *fmt
p_enc->fmt_in.video.i_frame_rate_base = 1;
es_format_InitFromVideo( &p_enc->fmt_out, fmt_out );
p_enc->fmt_out.i_codec = codec;
p_enc->fmt_out.video.i_chroma = 0;
p_enc->fmt_out.video.i_width = p_enc->fmt_in.video.i_width;
p_enc->fmt_out.video.i_height = p_enc->fmt_in.video.i_height;
p_enc->ops = NULL;
......@@ -739,7 +745,6 @@ static encoder_t *CreateEncoder( vlc_object_t *p_this, const video_format_t *fmt
return NULL;
}
assert( p_enc->ops != NULL );
p_enc->fmt_in.video.i_chroma = p_enc->fmt_in.i_codec;
return p_enc;
}
......
......@@ -518,7 +518,7 @@ int picture_Export( vlc_object_t *p_obj,
block_t **pp_image,
video_format_t *p_fmt,
picture_t *p_picture,
vlc_fourcc_t i_format,
vlc_fourcc_t i_codec,
int i_override_width, int i_override_height,
bool b_crop )
{
......@@ -535,7 +535,6 @@ int picture_Export( vlc_object_t *p_obj,
memset( &fmt_out, 0, sizeof(fmt_out) );
fmt_out.i_sar_num =
fmt_out.i_sar_den = 1;
fmt_out.i_chroma = i_format;
/* compute original width/height */
unsigned int i_width, i_height, i_original_width, i_original_height;
......@@ -590,8 +589,6 @@ int picture_Export( vlc_object_t *p_obj,
fmt_out.i_height = ( i_override_height < 0 ) ?
i_original_height : (unsigned)i_override_height;
}
fmt_out.i_visible_width = fmt_out.i_width;
fmt_out.i_visible_height = fmt_out.i_height;
/* scale if only one direction is provided */
if( fmt_out.i_height == 0 && fmt_out.i_width > 0 )
......@@ -604,13 +601,15 @@ int picture_Export( vlc_object_t *p_obj,
fmt_out.i_width = i_width * fmt_out.i_height
* fmt_in.i_sar_num / fmt_in.i_height / fmt_in.i_sar_den;
}
fmt_out.i_visible_width = fmt_out.i_width;
fmt_out.i_visible_height = fmt_out.i_height;
image_handler_t *p_image = image_HandlerCreate( p_obj );
if( !p_image )
return VLC_ENOMEM;
vlc_tick_t date = p_picture->date;
block_t *p_block = image_Write( p_image, p_picture, &fmt_in, &fmt_out );
block_t *p_block = image_Write( p_image, p_picture, &fmt_in, i_codec, &fmt_out );
image_HandlerDelete( p_image );
......
......@@ -57,7 +57,7 @@ static int OpenIntf(vlc_object_t *root)
fmt_in.i_height = fmt_in.i_visible_height = 600;
video_format_t fmt_out;
video_format_Init(&fmt_out, VLC_CODEC_PNG);
video_format_Init(&fmt_out, 0);
fmt_out.i_width = fmt_out.i_visible_width = 800;
fmt_out.i_height = fmt_out.i_visible_height = 600;
......@@ -66,7 +66,7 @@ static int OpenIntf(vlc_object_t *root)
block_t *block;
block = image_Write(ih, picture, &fmt_in, &fmt_out);
block = image_Write(ih, picture, &fmt_in, VLC_CODEC_PNG, &fmt_out);
assert(block != NULL);
block_Release(block);
picture_Release(picture);
......@@ -76,7 +76,7 @@ static int OpenIntf(vlc_object_t *root)
picture = picture_NewFromFormat(&fmt_in);
fmt_out.i_width = fmt_out.i_visible_width = 400;
fmt_out.i_height = fmt_out.i_visible_height = 300;
block = image_Write(ih, picture, &fmt_in, &fmt_out);
block = image_Write(ih, picture, &fmt_in, VLC_CODEC_PNG, &fmt_out);
assert(block != NULL);
block_Release(block);
picture_Release(picture);
......
......@@ -74,13 +74,13 @@ static int OpenIntf(vlc_object_t *root)
assert(ret == VLC_SUCCESS);
video_format_t fmt_out;
video_format_Init(&fmt_out, VLC_CODEC_PNG);
video_format_Init(&fmt_out, 0);
fmt_out.i_width = fmt_out.i_visible_width = 800;
fmt_out.i_height = fmt_out.i_visible_height = 600;
block_t *block;
block = image_Write(ih, picture, &fmt_in, &fmt_out);
block = image_Write(ih, picture, &fmt_in, VLC_CODEC_PNG, &fmt_out);
assert(block != NULL);
block_Release(block);
image_HandlerDelete(ih);
......