Giter Club home page Giter Club logo

shiftmediaproject / x264 Goto Github PK

View Code? Open in Web Editor NEW
183.0 25.0 86.0 9.69 MB

Unofficial X264 with added custom native Visual Studio project build tools. X264: A free software library and application for encoding video streams into the H.264/MPEG-4 AVC format.

Home Page: http://www.videolan.org/developers/x264.html

License: GNU General Public License v2.0

Makefile 0.23% C 67.16% Assembly 31.07% Shell 0.07% Perl 0.70% Python 0.74% Batchfile 0.03%
x264 visualstudio visual-studio msvc

x264's Introduction

ShiftMediaProject x264

Build status Github All Releases GitHub release GitHub issues license donate

ShiftMediaProject

Shift Media Project aims to provide native Windows development libraries for x264 and associated dependencies to support simpler creation and debugging of rich media content directly within Visual Studio. https://shiftmediaproject.github.io/

x264

A free software library and application for encoding video streams into the H.264/MPEG-4 AVC format. https://www.videolan.org/developers/x264.html

Downloads

Development libraries are available from the releases page. These libraries are available for each supported Visual Studio version with a different download for each version. Each download contains both static and dynamic libraries to choose from in both 32bit and 64bit versions.

Code

This repository contains code from the corresponding upstream project with additional modifications to allow it to be compiled with Visual Studio. New custom Visual Studio projects are provided within the 'SMP' sub-directory. Refer to the 'readme' contained within the 'SMP' directory for further details.

Issues

Any issues related to the ShiftMediaProject specific changes should be sent to the issues page for the repository. Any issues related to the upstream project should be sent upstream directly (see the issues information of the upstream repository for more details).

License

ShiftMediaProject original code is released under LGPLv2.1. All code from the upstream repository remains under its original license (see the license information of the upstream repository for more details).

Copyright

As this repository includes code from upstream project(s) it includes many copyright owners. ShiftMediaProject makes NO claim of copyright on any upstream code. However, all original ShiftMediaProject authored code is copyright ShiftMediaProject. For a complete copyright list please checkout the source code to examine license headers. Unless expressly stated otherwise all code submitted to the ShiftMediaProject project (in any form) is licensed under LGPLv2.1 and copyright is donated to ShiftMediaProject. If you submit code that is not your own work it is your responsibility to place a header stating the copyright.

Contributing

Patches related to the ShiftMediaProject specific changes should be sent as pull requests to the main repository. Any changes related to the upstream project should be sent upstream directly (see the contributing information of the upstream repository for more details).

x264's People

Contributors

aizvorski avatar alexjurkiewicz avatar brad0 avatar chikuzen avatar davidchencn avatar ddkang avatar dondiego avatar dylanza avatar gabriel-gb avatar gramner avatar hubert-mazur avatar irock avatar kemuri-9 avatar kierank avatar kodawah avatar lu-zero avatar mansr avatar masternobody avatar mrvacbob avatar mstorsjo avatar pengvado avatar rbultje avatar sasshka avatar seanmcg avatar sibras avatar simonhorlick avatar vfr-maniac avatar wipple avatar yinshiyou avatar yuvi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

x264's Issues

resize filter not available on macos

Filtering:

  --vf, --video-filter <filter0>/<filter1>/... Apply video filtering to the input file

  Filter options may be specified in <filter>:<option>=<value> format.

  Available filters:
  crop:left,top,right,bottom
        removes pixels from the edges of the frame
  select_every:step,offset1[,...]
        apply a selection pattern to input frames
        step: the number of frames in the pattern
        offsets: the offset into the step to select a frame
        see: http://avisynth.nl/index.php/Select#SelectEvery

Can't use the builded vs project of x264

Dear all,
I have two questions.
1, Whether the "x264cli.exe" you updated is generated by the x264 project you commited?
2, I built the vs project with the x264 sub folder named SMP, it can create sucessfully, and also can generate
h.264 stream, but the stream very differ with the stream generated by linux with the same encoder parameters. And at the same time, the value in the x264 like h->sps->i_mb_width is always be 0, but when I assign h->sps->i_mb_width to the local variable, the local variable can show the correct value. How can I generate the right h.264 stream with the vs project of x264.

malloc() failure

libx264' malloc() fails during initialization of the codec (i.e. inside the call to avcodec_open2() ). The Visual Studio memory graph shows that the process is using roughly 1GB at that time, so there should be plenty to spare.
Is this / has this been known to happen? (My ShiftMediaProject build is about 2 months old; the codebase did not build one or two weeks ago, but I didn't try too hard.)

Current master cannot load libx264 due to yasm props missing

The libx264 Project file references yasm files that don't exist

Context

potentially a missing check in ?

Expected Behavior

The library project should load in vs2017

Actual Behavior

Does not load and requires manually edit csproj files to remove the references

Your Environment

  • Version Used: VS 2017 Community
  • Operating System and Version: Win 10 Creators
  • Compiler and Version(s):VS 2017 Community

Possible Fix

Remove references in csproj or add missing files

executable x264 not lib

Hi. I want to customize x264 source code for my research purpose and test the code with some parameters.

The current x264 project here compiles the source code into lib format but I want to test x264 source. Any suggestions to do so? I believe you must have done similar thing when you generated this project so..

Thanks a lot.

Supporting dependency of P frame on I frame only

I have a doubt on x264 encoding which you have used.

If I have IP_1P_2P_3 IPPP some kind of this GOP from the x264 encoded output. Then in general, P_3 will be dependent on I, P_1 and P_2, P_2 will be dependent on I and P_1 (a cumulative encoding).

can you give me any ideas how can I support direct encoding so that all P_1, P_2, P_3 will be only dependent on the I frame?

OpenCL usage

Hi,
I downloaded the latest project from git. It is working fine with the sample test case i have given.
But when I'm trying to enable opencl, it is throwing following errors:
x264 [error] OpenCL: unknown error
x264 [error] OpenCL: fatal error, aborting encode...
After throwing these errors, all the threads got exited.

IDE used : Visual Studio 15
System Configuration : Intel(R) Core i7-4770 CPU @3.4GHz CPU with Intel HD4600 GPU
Can you help me in solving this issue.

Can't build 10 bit

I'm trying to build a 10 bit version of x264 in VS. I set the BIT_DEPTH to 10 in x264_config.h and add #define HIGH_BIT_DEPTH 1 to config.h but I get a bunch of linker errors. If I build the exact same source using mingw with this config it works fine...

./configure --disable-cli --enable-shared --bit-depth=10

Do you have any idea what needs to be done to make 10bit work in VS?

Integration with libav and GPAC

I was playing around compiling x264 until I actually compiled it, and it seems to be working fine.

Well, not as I expected, because the usual x264 distributions actually are integrated with libav* formats (if compiled with lavf support, as it says when running x264.exe) and, GPAC for MP4 support.

I indeed gone to all websites that I found in Google, trying to find something useful telling how I could actually integrate that into x264cli, and I ended up with nothing. There is almost no useful information about how to integrate it, even using mingw, so, for Visual Studio there is even less information about how to make such kind of integration.

Can I ask you if you ever managed to compile x264 together both libav formats and GPAC (for MP4), all within Visual Studio?

Could you provide projects for Visual Studio for both, together x264?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.