
Recherche avancée
Autres articles (79)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;
Sur d’autres sites (6955)
-
avcodec/dxvenc, hap(dec|enc) : Move TextureDSPContext to stack
24 janvier 2024, par Andreas Rheinhardt -
aarch64 : hevc : Specialize put_hevc_\type\()_h*_8_neon for horizontal looping
24 mars 2024, par Martin Storsjöaarch64 : hevc : Specialize put_hevc_\type\()_h*_8_neon for horizontal looping
For widths of 32 pixels and more, loop first horizontally,
then vertically.Previously, this function would process a 16 pixel wide slice
of the block, looping vertically. After processing the whole
height, it would backtrack and process the next 16 pixel wide
slice.When doing 8tap filtering horizontally, the function must load
7 more pixels (in practice, 8) following the actual inputs, and
this was done for each slice.By iterating first horizontally throughout each line, then
vertically, we access data in a more cache friendly order, and
we don't need to reload data unnecessarily.Keep the original order in put_hevc_\type\()_h12_8_neon ; the
only suboptimal case there is for width=24. But specializing
an optimal variant for that would require more code, which
might not be worth it.For the h16 case, this implementation would give a slowdown,
as it now loads the first 8 pixels separately from the rest, but
for larger widths, it is a gain. Therefore, keep the h16 case
as it was (but remove the outer loop), and create a new specialized
version for horizontal looping with 16 pixels at a time.Before : Cortex A53 A72 A73 Graviton 3
put_hevc_qpel_h16_8_neon : 710.5 667.7 692.5 211.0
put_hevc_qpel_h32_8_neon : 2791.5 2643.5 2732.0 883.5
put_hevc_qpel_h64_8_neon : 10954.0 10657.0 10874.2 3241.5
After :
put_hevc_qpel_h16_8_neon : 697.5 663.5 705.7 212.5
put_hevc_qpel_h32_8_neon : 2767.2 2684.5 2791.2 920.5
put_hevc_qpel_h64_8_neon : 10559.2 10471.5 10932.2 3051.7Signed-off-by : Martin Storsjö <martin@martin.st>
-
Is there a way to horizontal flip video captured from flutter front camera
5 mai 2024, par JoyJoyBasically, I'm trying to flip video horizontally after capturing it from flutter front camera. So I start recording, stop recording, flip the video and pass it to another page. I'm fairly new and would appreciate any assistance as my code isn't working


I've tried doing so using the new ffmpeg_kit flutter


Future<void> flipVideo(String inputPath, String outputPath) async{
final ffmpegCommand = "-i $inputPath -vf hflip $outputPath";
final session = FFmpegKit.executeAsync(ffmpegCommand);
await session.then((session) async {
 final returnCode = await session.getReturnCode();
 if (ReturnCode.isSuccess(returnCode)) {
 print('Video flipping successful');
 } else {
 print('Video flipping failed: ${session.getAllLogs()}');
 }
});}

void stopVideoRecording() async {
XFile videopath = await cameraController.stopVideoRecording();

try {
 final Directory appDocDir = await 
 getApplicationDocumentsDirectory();
 final String outputDirectory = appDocDir.path;
 final String timeStamp = DateTime.now().millisecondsSinceEpoch.toString();
 final String outputPath = '$outputDirectory/flipped_video_$timeStamp.mp4';

 await flipVideo(videopath.path, outputPath);

 // Once completed,
 Navigator.push(
 context,
 MaterialPageRoute(
 builder: (builder) => VideoViewPage(
 path: File(outputPath),
 fromFrontCamera: iscamerafront,
 flash: flash,
 )));
 print('Video flipping completed');
} catch (e) {
 print('Error flipping video: $e');
}
</void>


}