uavs3 / uavs3e_ffmpeg_interface

libuavs3e.c for ffmpeg
5 stars 10 forks source link

建议直接使用 FFmpeg 的代码源 #5

Closed LuoZijun closed 1 year ago

LuoZijun commented 1 year ago

你好,非常感谢你们写的 AVS2 编解码代码。为了方便大家的使用(或尝试),我想是否可以考虑直接使用 FFmpegfork,然后针对 FFmpeg 的几个主流分支(v4.4、v5.1、v6.0)来提交 Patch 呢?


# 首先在 Github 上面直接 `fork` https://github.com/FFmpeg/FFmpeg 项目 到你的用户名或者组织下
git clone https://github.com/<YOUR_NAME>/FFmpeg
cd FFmpeg
git remote add upstream https://github.com/FFmpeg/FFmpeg

git fetch upstream master
git fetch upstream release/4.4
git fetch upstream release/5.1
git fetch upstream release/6.0

# ************ 同步远程原始仓库的分支代码,补丁放在独立的分支里面 ****************
git branch release/4.4
git checkout release/4.4
git reset --hard upstream/release/4.4
git pull upstream release/4.4
git push upstream release/4.4

git branch release/5.1
git checkout release/5.1
git reset --hard upstream/release/5.1
git pull upstream release/5.1
git push upstream release/5.1

git branch release/6.0
git checkout release/6.0
git reset --hard upstream/release/6.0
git pull upstream release/6.0
git push upstream release/6.0

# ******** 为不同的分支打补丁 *************
git checkout release/4.4
git branch patch-avs3/v4.4
git checkout patch-avs3/v4.4
# 这里 git add 修改过的文件,然后 commit
git push origin patch-avs3/v4.4

git checkout release/5.1
git branch patch-avs3/v5.1
git checkout patch-avs3/v5.1
# 这里 git add 修改过的文件,然后 commit
git push origin patch-avs3/v5.1

git checkout release/6.0
git branch patch-avs3/v6.0
git checkout patch-avs3/v6.0
# 这里 git add 修改过的文件,然后 commit
git push origin patch-avs3/v6.0

不应该把补丁提交在原始仓库的分支上,因为这些分支很可能还会更新。这样做完后,不同版本分支的补丁分支则可以根据变化而改动。

结果就类似于这样子:https://github.com/LuoZijun/FFmpeg/branches

我的 v4.4 分支的补丁代码参考了 @xatabhk 的代码,他的代码应该是来源于这个项目,非常感谢你们的付出。

LuoZijun commented 1 year ago

这样也非常方便生成 Patch 发送给 FFmpeg

git clone https://github.com/LuoZijun/FFmpeg
cd FFmpeg

git checkout origin patch-avs3/v4.4
git format-patch -1

git checkout origin patch-avs3/v5.1
git format-patch -1

git checkout origin patch-avs3/v6.0
git format-patch -1

ls -lha *.patch
# 把这些 Patch 文件通过 邮件发送给 FFmpeg 即可。