[third_party/ffmpeg] update paths in roll scripts

This CL updates paths used in ffmpeg roll scripts. Previously, the
roll scripts assumed this structure:

    third_party/ffmpeg      fuchsia ffmpeg repo
    third_party/ffmpeg/src  chromium ffmpeg repo

We are actually using this structure:

    build/secondary/third_party/ffmpeg    fuchsia ffmpeg repo
    third_party/ffmpeg/src                chromium ffmpeg repo

The scripts have been updated accordingly.

Fixed: 114726

Test: build change, manually tested
Change-Id: If6cb330f8ea072aca58e32a824d098b566f7b67e
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/ffmpeg/+/767545
Reviewed-by: Petr Hosek <phosek@google.com>
diff --git a/README.fuchsia b/README.fuchsia
index ef45bc0..344a5de 100644
--- a/README.fuchsia
+++ b/README.fuchsia
@@ -37,7 +37,7 @@
 
 This is done in fuchsia.git like any other fuchsia change. Ffmpeg can be built
 locally along with the rest of fuchsia using instructions found in
-../../src/media/lib/ffmpeg/BUILD.gn. When changes are made to the ffmpeg files in
+//src/media/lib/ffmpeg/BUILD.gn. When changes are made to the ffmpeg files in
 fuchsia.git, the prebuilder should be checked to make sure it's still working.
 
 -- Modifying the Chromium ffmpeg repo.
@@ -50,17 +50,17 @@
 =================
 
 Configure your fuchsia build to build ffmpeg locally. See
-../../src/media/lib/ffmpeg/BUILD.gn for instructions.
+//src/media/lib/ffmpeg/BUILD.gn for instructions.
 
 Integrate the new version of Chromium's ffmpeg repo and update the tag at the
 top of this file.
 
 Make sure your path is set up to use the right yasm and clang. yasm needs to
-be installed, and clang is in ../../prebuilt/third_party/clang/linux-x64/bin.
+be installed, and clang is in //prebuilt/third_party/clang/linux-x64/bin.
 
-Make sure that sysroot is available at ../../prebuilt/third_party/sysroot/linux.
+Make sure that sysroot is available at //prebuilt/third_party/sysroot/linux.
 
-Perform the following steps in third_party/ffmpeg:
+Perform the following steps in //build/secondary/third_party/ffmpeg:
 
   # Build the ffmpeg for all profiles and architectures
   ./scripts/build_ffmpeg.py x64
diff --git a/config/default/arm64/config.h b/config/default/arm64/config.h
index cbe7e20..2d98b68 100644
--- a/config/default/arm64/config.h
+++ b/config/default/arm64/config.h
@@ -1,7 +1,7 @@
 /* Automatically generated by configure - do not modify! */
 #ifndef FFMPEG_CONFIG_H
 #define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-shared --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-decoder='theora,vp8,sbc,aptx' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio' --extra-cflags=-I/usr/local/google/home/dalesat/fuchsia/third_party/opus/include --enable-parser='vp3,vp8' --optflags='\"-O2\"' --x86asmexe=yasm --enable-pic --enable-lto --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cross-prefix=/usr/bin/x86_64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --sysroot=/usr/local/google/home/dalesat/fuchsia/third_party/ffmpeg/../../prebuilt/third_party/sysroot/linux --extra-cflags='--target=aarch64-linux-gnu' --extra-ldflags='--target=aarch64-linux-gnu' --disable-linux-perf --disable-error-resilience"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-shared --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-decoder='theora,vp8,sbc,aptx' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio' --extra-cflags=-I/usr/local/google/home/dalesat/fuchsia/third_party/opus/include --enable-parser='vp3,vp8' --optflags='\"-O2\"' --x86asmexe=yasm --enable-pic --enable-lto --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cross-prefix=/usr/bin/x86_64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --sysroot=/usr/local/google/home/dalesat/fuchsia/prebuilt/third_party/sysroot/linux --extra-cflags='--target=aarch64-linux-gnu' --extra-ldflags='--target=aarch64-linux-gnu' --disable-linux-perf --disable-error-resilience"
 #define FFMPEG_LICENSE "LGPL version 2.1 or later"
 #define CONFIG_THIS_YEAR 2022
 #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
diff --git a/config/default/x64/config.h b/config/default/x64/config.h
index eafb26b..8c77dc5 100644
--- a/config/default/x64/config.h
+++ b/config/default/x64/config.h
@@ -1,7 +1,7 @@
 /* Automatically generated by configure - do not modify! */
 #ifndef FFMPEG_CONFIG_H
 #define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-shared --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-decoder='theora,vp8,sbc,aptx' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio' --extra-cflags=-I/usr/local/google/home/dalesat/fuchsia/third_party/opus/include --enable-parser='vp3,vp8' --optflags='\"-O2\"' --x86asmexe=yasm --enable-pic --enable-lto --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cross-prefix=/usr/bin/x86_64-linux-gnu- --target-os=linux --arch=x86_64 --enable-decoder=vp9 --enable-parser=vp9 --sysroot=/usr/local/google/home/dalesat/fuchsia/third_party/ffmpeg/../../prebuilt/third_party/sysroot/linux --disable-error-resilience"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-shared --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-decoder='theora,vp8,sbc,aptx' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio' --extra-cflags=-I/usr/local/google/home/dalesat/fuchsia/third_party/opus/include --enable-parser='vp3,vp8' --optflags='\"-O2\"' --x86asmexe=yasm --enable-pic --enable-lto --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cross-prefix=/usr/bin/x86_64-linux-gnu- --target-os=linux --arch=x86_64 --enable-decoder=vp9 --enable-parser=vp9 --sysroot=/usr/local/google/home/dalesat/fuchsia/prebuilt/third_party/sysroot/linux --disable-error-resilience"
 #define FFMPEG_LICENSE "LGPL version 2.1 or later"
 #define CONFIG_THIS_YEAR 2022
 #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
diff --git a/config/max/arm64/config.h b/config/max/arm64/config.h
index 514f253..45075b6 100644
--- a/config/max/arm64/config.h
+++ b/config/max/arm64/config.h
@@ -1,7 +1,7 @@
 /* Automatically generated by configure - do not modify! */
 #ifndef FFMPEG_CONFIG_H
 #define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-shared --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-decoder='theora,vp8,sbc,aptx' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio' --extra-cflags=-I/usr/local/google/home/dalesat/fuchsia/third_party/opus/include --enable-parser='vp3,vp8' --optflags='\"-O2\"' --x86asmexe=yasm --enable-pic --enable-lto --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cross-prefix=/usr/bin/x86_64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --sysroot=/usr/local/google/home/dalesat/fuchsia/third_party/ffmpeg/../../prebuilt/third_party/sysroot/linux --extra-cflags='--target=aarch64-linux-gnu' --extra-ldflags='--target=aarch64-linux-gnu' --disable-linux-perf --enable-decoder='aac,aac_latm,h264,mp3' --enable-demuxer='aac,mp3,mov' --enable-parser='aac,aac_latm,h264,mpegaudio' --enable-decoder=mpeg4 --enable-parser='h263,mpeg4video' --enable-demuxer=avi --enable-demuxer=amr --enable-decoder='amrnb,amrwb' --enable-decoder=gsm_ms --enable-demuxer=gsm --enable-parser=gsm"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-shared --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-decoder='theora,vp8,sbc,aptx' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio' --extra-cflags=-I/usr/local/google/home/dalesat/fuchsia/third_party/opus/include --enable-parser='vp3,vp8' --optflags='\"-O2\"' --x86asmexe=yasm --enable-pic --enable-lto --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cross-prefix=/usr/bin/x86_64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --sysroot=/usr/local/google/home/dalesat/fuchsia/prebuilt/third_party/sysroot/linux --extra-cflags='--target=aarch64-linux-gnu' --extra-ldflags='--target=aarch64-linux-gnu' --disable-linux-perf --enable-decoder='aac,aac_latm,h264,mp3' --enable-demuxer='aac,mp3,mov' --enable-parser='aac,aac_latm,h264,mpegaudio' --enable-decoder=mpeg4 --enable-parser='h263,mpeg4video' --enable-demuxer=avi --enable-demuxer=amr --enable-decoder='amrnb,amrwb' --enable-decoder=gsm_ms --enable-demuxer=gsm --enable-parser=gsm"
 #define FFMPEG_LICENSE "LGPL version 2.1 or later"
 #define CONFIG_THIS_YEAR 2022
 #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
diff --git a/config/max/x64/config.h b/config/max/x64/config.h
index 9bc6e0e..38f4fd7 100644
--- a/config/max/x64/config.h
+++ b/config/max/x64/config.h
@@ -1,7 +1,7 @@
 /* Automatically generated by configure - do not modify! */
 #ifndef FFMPEG_CONFIG_H
 #define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-shared --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-decoder='theora,vp8,sbc,aptx' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio' --extra-cflags=-I/usr/local/google/home/dalesat/fuchsia/third_party/opus/include --enable-parser='vp3,vp8' --optflags='\"-O2\"' --x86asmexe=yasm --enable-pic --enable-lto --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cross-prefix=/usr/bin/x86_64-linux-gnu- --target-os=linux --arch=x86_64 --enable-decoder=vp9 --enable-parser=vp9 --sysroot=/usr/local/google/home/dalesat/fuchsia/third_party/ffmpeg/../../prebuilt/third_party/sysroot/linux --enable-decoder='aac,aac_latm,h264,mp3' --enable-demuxer='aac,mp3,mov' --enable-parser='aac,aac_latm,h264,mpegaudio' --enable-decoder=mpeg4 --enable-parser='h263,mpeg4video' --enable-demuxer=avi --enable-demuxer=amr --enable-decoder='amrnb,amrwb' --enable-decoder=gsm_ms --enable-demuxer=gsm --enable-parser=gsm"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-shared --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-decoder='theora,vp8,sbc,aptx' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio' --extra-cflags=-I/usr/local/google/home/dalesat/fuchsia/third_party/opus/include --enable-parser='vp3,vp8' --optflags='\"-O2\"' --x86asmexe=yasm --enable-pic --enable-lto --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cross-prefix=/usr/bin/x86_64-linux-gnu- --target-os=linux --arch=x86_64 --enable-decoder=vp9 --enable-parser=vp9 --sysroot=/usr/local/google/home/dalesat/fuchsia/prebuilt/third_party/sysroot/linux --enable-decoder='aac,aac_latm,h264,mp3' --enable-demuxer='aac,mp3,mov' --enable-parser='aac,aac_latm,h264,mpegaudio' --enable-decoder=mpeg4 --enable-parser='h263,mpeg4video' --enable-demuxer=avi --enable-demuxer=amr --enable-decoder='amrnb,amrwb' --enable-decoder=gsm_ms --enable-demuxer=gsm --enable-parser=gsm"
 #define FFMPEG_LICENSE "LGPL version 2.1 or later"
 #define CONFIG_THIS_YEAR 2022
 #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
diff --git a/scripts/build_ffmpeg.py b/scripts/build_ffmpeg.py
index 253bfb1..eb47714 100755
--- a/scripts/build_ffmpeg.py
+++ b/scripts/build_ffmpeg.py
@@ -16,10 +16,9 @@
 import subprocess
 import sys
 
-
 SCRIPTS_DIR = os.path.abspath(os.path.dirname(__file__))
-FFMPEG_DIR = os.path.abspath(os.path.join(SCRIPTS_DIR, '..'))
-FUCHSIA_DIR = os.path.abspath(os.path.join(FFMPEG_DIR, '..', '..'))
+FUCHSIA_DIR = os.path.abspath(os.path.join(SCRIPTS_DIR, '..', '..', '..', '..', '..'))
+FFMPEG_SRC_DIR = os.path.abspath(os.path.join(FUCHSIA_DIR, 'third_party', 'ffmpeg', 'src'))
 
 
 # These profiles select different levels of format support. The 'default'
@@ -64,7 +63,7 @@
   os.makedirs(os.path.join(config_dir, 'out'))
 
   PrintAndCheckCall(
-      [os.path.join(FFMPEG_DIR, 'src', 'configure')] + configure_flags, cwd=config_dir)
+      [os.path.join(FFMPEG_SRC_DIR, 'configure')] + configure_flags, cwd=config_dir)
 
   RewriteFile(
       os.path.join(config_dir, 'config.h'),
@@ -207,7 +206,7 @@
         '--enable-decoder=vp9',
         '--enable-parser=vp9',
         '--sysroot=' + os.path.join(
-            FFMPEG_DIR, '..', '..', 'prebuilt', 'third_party', 'sysroot', 'linux'),
+            FUCHSIA_DIR, 'prebuilt', 'third_party', 'sysroot', 'linux'),
     ])
   elif target_arch == 'arm64':
     configure_flags['Common'].extend([
@@ -218,7 +217,7 @@
         '--enable-armv8',
         '--extra-cflags=-march=armv8-a',
         '--sysroot=' + os.path.join(
-            FFMPEG_DIR, '..', '..', 'prebuilt', 'third_party', 'sysroot', 'linux'),
+            FUCHSIA_DIR, 'prebuilt', 'third_party', 'sysroot', 'linux'),
         '--extra-cflags=--target=aarch64-linux-gnu',
         '--extra-ldflags=--target=aarch64-linux-gnu',
         '--disable-linux-perf',
diff --git a/scripts/credits_updater.py b/scripts/credits_updater.py
index a792d92..f6e87ff 100644
--- a/scripts/credits_updater.py
+++ b/scripts/credits_updater.py
@@ -307,7 +307,7 @@
     print(f'\t{len(self.generated_credits.keys())} generated_credits')
     print(f'\t{len(self.difficult_files)} difficult_files files')
 
-  def WriteCredits(self):
+  def WriteCredits(self, dest_dir):
     if self.difficult_files:
       # After taking a closer look, enhance this tool to work for these or
       # add them to the white-list if they truly have no licensing header.
@@ -316,8 +316,8 @@
         print(filename)
       exit('Update script to work for these to continue generating credits')
 
-    output_path = os.path.join(self.source_dir, '..', self.output_file)
-    licence_md_path = os.path.join(self.source_dir, '..', UPSTREAM_LICENSEMD)
+    output_path = os.path.join(dest_dir, self.output_file)
+    licence_md_path = os.path.join(dest_dir, UPSTREAM_LICENSEMD)
     with open(output_path, 'w') as open_output:
       # Always write the FFmpeg overview (LICENSE.md) first.
       with open(licence_md_path) as open_license_md:
diff --git a/scripts/generate_gn.py b/scripts/generate_gn.py
index 68ce730..c19c47b 100755
--- a/scripts/generate_gn.py
+++ b/scripts/generate_gn.py
@@ -534,7 +534,7 @@
       '-s',
       '--source_dir',
       dest='source_dir',
-      default='./src',
+      default='../../../../third_party/ffmpeg/src',
       metavar='DIR',
       help='FFmpeg source directory.')
 
@@ -723,13 +723,13 @@
   with open(os.path.join('src', new_path), 'w') as new_file:
     new_file.write(content)
 
-def UpdateCredits(sources_to_check, source_dir):
+def UpdateCredits(sources_to_check, source_dir, build_dir):
   print('Updating ffmpeg credits...')
   updater = credits_updater.CreditsUpdater(source_dir)
   for source_name in sources_to_check:
     updater.ProcessFile(source_name)
   updater.PrintStats()
-  updater.WriteCredits()
+  updater.WriteCredits(build_dir)
 
 def main():
   options, _ = ParseOptions()
@@ -778,7 +778,7 @@
     for source in source_set.sources:
       GetIncludedSources(source, source_dir, sources_to_check)
 
-  UpdateCredits(sources_to_check, source_dir)
+  UpdateCredits(sources_to_check, source_dir, options.build_dir)
 
   gn_file_name = os.path.join('.', 'ffmpeg_generated.gni')
   print(f'Writing: {gn_file_name}')